/* * 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([["main-app"],{ /***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js": /*!**************************************************************************!*\ !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_base.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 */ _: () => (/* binding */ _class_private_field_loose_base)\n/* harmony export */ });\nfunction _class_private_field_loose_base(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDZ0QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvbmV4dGpzLWFwcC9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UocmVjZWl2ZXIsIHByaXZhdGVLZXkpIHtcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyZWNlaXZlciwgcHJpdmF0ZUtleSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImF0dGVtcHRlZCB0byB1c2UgcHJpdmF0ZSBmaWVsZCBvbiBub24taW5zdGFuY2VcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlY2VpdmVyO1xufVxuZXhwb3J0IHsgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js": /*!*************************************************************************!*\ !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_key.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 */ _: () => (/* binding */ _class_private_field_loose_key)\n/* harmony export */ });\nvar id = 0;\n\nfunction _class_private_field_loose_key(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQytDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL25leHRqcy1hcHAvbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBpZCA9IDA7XG5cbmZ1bmN0aW9uIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleShuYW1lKSB7XG4gICAgcmV0dXJuIFwiX19wcml2YXRlX1wiICsgaWQrKyArIFwiX1wiICsgbmFtZTtcbn1cbmV4cG9ydCB7IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleSBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js": /*!*******************************************************************!*\ !*** ./node_modules/@swc/helpers/esm/_interop_require_default.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 */ _: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDeUMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvbmV4dGpzLWFwcC9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KG9iaikge1xuICAgIHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9O1xufVxuZXhwb3J0IHsgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": /*!********************************************************************!*\ !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.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 */ _: () => (/* binding */ _interop_require_wildcard)\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLHVGQUF1Rjs7QUFFdkY7O0FBRUE7O0FBRUEsbUJBQW1CO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDMEMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvbmV4dGpzLWFwcC9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcblxuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZnVuY3Rpb24gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChvYmosIG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKCFub2RlSW50ZXJvcCAmJiBvYmogJiYgb2JqLl9fZXNNb2R1bGUpIHJldHVybiBvYmo7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvYmogIT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIHsgZGVmYXVsdDogb2JqIH07XG5cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuXG4gICAgaWYgKGNhY2hlICYmIGNhY2hlLmhhcyhvYmopKSByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG5cbiAgICB2YXIgbmV3T2JqID0geyBfX3Byb3RvX186IG51bGwgfTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIGVsc2UgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5ld09iai5kZWZhdWx0ID0gb2JqO1xuXG4gICAgaWYgKGNhY2hlKSBjYWNoZS5zZXQob2JqLCBuZXdPYmopO1xuXG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/build/deployment-id.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/build/deployment-id.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDeploymentIdQueryOrEmptyString\", ({\n enumerable: true,\n get: function() {\n return getDeploymentIdQueryOrEmptyString;\n }\n}));\nfunction getDeploymentIdQueryOrEmptyString() {\n if (false) {}\n return '';\n}\n\n//# sourceMappingURL=deployment-id.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvZGVwbG95bWVudC1pZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHFFQUFvRTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0EsUUFBUSxLQUE4QixFQUFFLEVBRW5DO0FBQ0w7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9uZXh0anMtYXBwL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvZGVwbG95bWVudC1pZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZ1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nKCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSUQpIHtcbiAgICAgICAgcmV0dXJuIGA/ZHBsPSR7cHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEfWA7XG4gICAgfVxuICAgIHJldHVybiAnJztcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVwbG95bWVudC1pZC5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/deployment-id.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/polyfill-module.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/build/polyfills/polyfill-module.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { eval(__webpack_require__.ts("\"trimStart\"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),\"trimEnd\"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),\"description\"in Symbol.prototype||Object.defineProperty(Symbol.prototype,\"description\",{configurable:!0,get:function(){var t=/\\((.*)\\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if(\"function\"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(n){return r.resolve(t()).then(function(){return n})},function(n){return r.resolve(t()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})}),Array.prototype.at||(Array.prototype.at=function(t){var r=Math.trunc(t)||0;if(r<0&&(r+=this.length),!(r<0||r>=this.length))return this[r]}),Object.hasOwn||(Object.hasOwn=function(t,r){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");return Object.prototype.hasOwnProperty.call(Object(t),r)}),\"canParse\"in URL||(URL.canParse=function(t,r){try{return!!new URL(t,r)}catch(t){return!1}});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3BvbHlmaWxsLW1vZHVsZS5qcyIsIm1hcHBpbmdzIjoiQUFBQSxtUUFBbVEsK0JBQStCLHVDQUF1QyxzQkFBc0IsNERBQTRELDZFQUE2RSx1Q0FBdUMsNEJBQTRCLG9FQUFvRSw4Q0FBOEMsZ0NBQWdDLDZCQUE2QixzQ0FBc0MsU0FBUyxFQUFFLGFBQWEsc0NBQXNDLFFBQVEsRUFBRSxFQUFFLHNEQUFzRCwwQ0FBMEMsc0JBQXNCLEdBQUcsRUFBRSxzREFBc0QsdUJBQXVCLCtEQUErRCw4Q0FBOEMsNkVBQTZFLHlEQUF5RCxnREFBZ0QsSUFBSSxxQkFBcUIsU0FBUyxVQUFVIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL25leHRqcy1hcHAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvcG9seWZpbGwtbW9kdWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidHJpbVN0YXJ0XCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltU3RhcnQ9U3RyaW5nLnByb3RvdHlwZS50cmltTGVmdCksXCJ0cmltRW5kXCJpbiBTdHJpbmcucHJvdG90eXBlfHwoU3RyaW5nLnByb3RvdHlwZS50cmltRW5kPVN0cmluZy5wcm90b3R5cGUudHJpbVJpZ2h0KSxcImRlc2NyaXB0aW9uXCJpbiBTeW1ib2wucHJvdG90eXBlfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoU3ltYm9sLnByb3RvdHlwZSxcImRlc2NyaXB0aW9uXCIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgdD0vXFwoKC4qKVxcKS8uZXhlYyh0aGlzLnRvU3RyaW5nKCkpO3JldHVybiB0P3RbMV06dm9pZCAwfX0pLEFycmF5LnByb3RvdHlwZS5mbGF0fHwoQXJyYXkucHJvdG90eXBlLmZsYXQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj10aGlzLmNvbmNhdC5hcHBseShbXSx0aGlzKSx0PjEmJnIuc29tZShBcnJheS5pc0FycmF5KT9yLmZsYXQodC0xKTpyfSxBcnJheS5wcm90b3R5cGUuZmxhdE1hcD1mdW5jdGlvbih0LHIpe3JldHVybiB0aGlzLm1hcCh0LHIpLmZsYXQoKX0pLFByb21pc2UucHJvdG90eXBlLmZpbmFsbHl8fChQcm9taXNlLnByb3RvdHlwZS5maW5hbGx5PWZ1bmN0aW9uKHQpe2lmKFwiZnVuY3Rpb25cIiE9dHlwZW9mIHQpcmV0dXJuIHRoaXMudGhlbih0LHQpO3ZhciByPXRoaXMuY29uc3RydWN0b3J8fFByb21pc2U7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gci5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiByLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgbn0pfSl9KSxPYmplY3QuZnJvbUVudHJpZXN8fChPYmplY3QuZnJvbUVudHJpZXM9ZnVuY3Rpb24odCl7cmV0dXJuIEFycmF5LmZyb20odCkucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHRbclswXV09clsxXSx0fSx7fSl9KSxBcnJheS5wcm90b3R5cGUuYXR8fChBcnJheS5wcm90b3R5cGUuYXQ9ZnVuY3Rpb24odCl7dmFyIHI9TWF0aC50cnVuYyh0KXx8MDtpZihyPDAmJihyKz10aGlzLmxlbmd0aCksIShyPDB8fHI+PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpc1tyXX0pLE9iamVjdC5oYXNPd258fChPYmplY3QuaGFzT3duPWZ1bmN0aW9uKHQscil7aWYobnVsbD09dCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNvbnZlcnQgdW5kZWZpbmVkIG9yIG51bGwgdG8gb2JqZWN0XCIpO3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoT2JqZWN0KHQpLHIpfSksXCJjYW5QYXJzZVwiaW4gVVJMfHwoVVJMLmNhblBhcnNlPWZ1bmN0aW9uKHQscil7dHJ5e3JldHVybiEhbmV3IFVSTCh0LHIpfWNhdGNoKHQpe3JldHVybiExfX0pO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/polyfill-module.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/build/polyfills/process.js ***! \***********************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nvar _global_process, _global_process1;\nmodule.exports = ((_global_process = __webpack_require__.g.process) == null ? void 0 : _global_process.env) && typeof ((_global_process1 = __webpack_require__.g.process) == null ? void 0 : _global_process1.env) === 'object' ? __webpack_require__.g.process : __webpack_require__(/*! next/dist/compiled/process */ \"(app-pages-browser)/./node_modules/next/dist/compiled/process/browser.js\");\n\n//# sourceMappingURL=process.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvcG9seWZpbGxzL3Byb2Nlc3MuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLHFDQUFxQyxxQkFBTSxpRkFBaUYscUJBQU0sa0VBQWtFLHFCQUFNLFdBQVcsbUJBQU8sQ0FBQyw0R0FBNEI7O0FBRXpQIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L0Jpb2hhemFyZFZGWF9XZWJzaXRlL25leHRqcy1hcHAvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9idWlsZC9wb2x5ZmlsbHMvcHJvY2Vzcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbnZhciBfZ2xvYmFsX3Byb2Nlc3MsIF9nbG9iYWxfcHJvY2VzczE7XG5tb2R1bGUuZXhwb3J0cyA9ICgoX2dsb2JhbF9wcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MuZW52KSAmJiB0eXBlb2YgKChfZ2xvYmFsX3Byb2Nlc3MxID0gZ2xvYmFsLnByb2Nlc3MpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsX3Byb2Nlc3MxLmVudikgPT09ICdvYmplY3QnID8gZ2xvYmFsLnByb2Nlc3MgOiByZXF1aXJlKCduZXh0L2Rpc3QvY29tcGlsZWQvcHJvY2VzcycpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcm9jZXNzLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/add-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || '';\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\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=add-base-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1iYXNlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FLZ0JBOzs7ZUFBQUE7OzsyQ0FMYztvREFDYTtBQUUzQyxNQUFNQyxXQUFZQyxNQUFrQyxJQUFlO0FBRTVELFNBQVNGLFlBQVlLLElBQVksRUFBRUMsUUFBa0I7SUFDMUQsT0FBT0MsQ0FBQUEsR0FBQUEsd0JBQUFBLDBCQUFBQSxFQUNMTCxNQUF1REksR0FDbkRELENBQUlBLEdBQ0pJLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNKLE1BQU1KO0FBRTVCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L3NyYy9jbGllbnQvYWRkLWJhc2UtcGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRQYXRoUHJlZml4IH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLXBhdGgtcHJlZml4J1xuaW1wb3J0IHsgbm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2ggfSBmcm9tICcuL25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaCdcblxuY29uc3QgYmFzZVBhdGggPSAocHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCBhcyBzdHJpbmcpIHx8ICcnXG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRCYXNlUGF0aChwYXRoOiBzdHJpbmcsIHJlcXVpcmVkPzogYm9vbGVhbik6IHN0cmluZyB7XG4gIHJldHVybiBub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaChcbiAgICBwcm9jZXNzLmVudi5fX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEggJiYgIXJlcXVpcmVkXG4gICAgICA/IHBhdGhcbiAgICAgIDogYWRkUGF0aFByZWZpeChwYXRoLCBiYXNlUGF0aClcbiAgKVxufVxuIl0sIm5hbWVzIjpbImFkZEJhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJyZXF1aXJlZCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIIiwiYWRkUGF0aFByZWZpeCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-bootstrap.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/app-bootstrap.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/**\n * Before starting the Next.js runtime and requiring any module, we need to make\n * sure the following scripts are executed in the correct order:\n * - Polyfills\n * - next/script with `beforeInteractive` strategy\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"appBootstrap\", ({\n enumerable: true,\n get: function() {\n return appBootstrap;\n }\n}));\nconst version = \"15.4.6\";\nwindow.next = {\n version,\n appDir: true\n};\nfunction loadScriptsInSequence(scripts, hydrate) {\n if (!scripts || !scripts.length) {\n return hydrate();\n }\n return scripts.reduce((promise, param)=>{\n let [src, props] = param;\n return promise.then(()=>{\n return new Promise((resolve, reject)=>{\n const el = document.createElement('script');\n if (props) {\n for(const key in props){\n if (key !== 'children') {\n el.setAttribute(key, props[key]);\n }\n }\n }\n if (src) {\n el.src = src;\n el.onload = ()=>resolve();\n el.onerror = reject;\n } else if (props) {\n el.innerHTML = props.children;\n setTimeout(resolve);\n }\n document.head.appendChild(el);\n });\n });\n }, Promise.resolve()).catch((err)=>{\n console.error(err);\n // Still try to hydrate even if there's an error.\n }).then(()=>{\n hydrate();\n });\n}\nfunction appBootstrap(hydrate) {\n loadScriptsInSequence(self.__next_s, ()=>{\n // If the static shell is being debugged, skip hydration if the\n // `__nextppronly` query is present. This is only enabled when the\n // environment variable `__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING` is\n // set to `1`. Otherwise the following is optimized out.\n if (false) {}\n hydrate();\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=app-bootstrap.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1ib290c3RyYXAuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0NBS0M7Ozs7Z0RBcURlQTs7O2VBQUFBOzs7QUFuRGhCLE1BQU1DLFVBQVVDLFFBQVFDO0FBRXhCRSxPQUFPQyxJQUFJLEdBQUc7SUFDWkw7SUFDQU0sUUFBUTtBQUNWO0FBRUEsU0FBU0Msc0JBQ1BDLE9BQXdELEVBQ3hEQyxPQUFtQjtJQUVuQixJQUFJLENBQUNELFdBQVcsQ0FBQ0EsUUFBUUUsTUFBTSxFQUFFO1FBQy9CLE9BQU9EO0lBQ1Q7SUFFQSxPQUFPRCxRQUNKRyxNQUFNLENBQUMsQ0FBQ0MsU0FBQUE7WUFBUyxDQUFDQyxLQUFLQyxNQUFNO1FBQzVCLE9BQU9GLFFBQVFHLElBQUksQ0FBQztZQUNsQixPQUFPLElBQUlDLFFBQWMsQ0FBQ0MsU0FBU0M7Z0JBQ2pDLE1BQU1DLEtBQUtDLFNBQVNDLGFBQWEsQ0FBQztnQkFFbEMsSUFBSVAsT0FBTztvQkFDVCxJQUFLLE1BQU1RLE9BQU9SLE1BQU87d0JBQ3ZCLElBQUlRLFFBQVEsWUFBWTs0QkFDdEJILEdBQUdJLFlBQVksQ0FBQ0QsS0FBS1IsS0FBSyxDQUFDUSxJQUFJO3dCQUNqQztvQkFDRjtnQkFDRjtnQkFFQSxJQUFJVCxLQUFLO29CQUNQTSxHQUFHTixHQUFHLEdBQUdBO29CQUNUTSxHQUFHSyxNQUFNLEdBQUcsSUFBTVA7b0JBQ2xCRSxHQUFHTSxPQUFPLEdBQUdQO2dCQUNmLE9BQU8sSUFBSUosT0FBTztvQkFDaEJLLEdBQUdPLFNBQVMsR0FBR1osTUFBTWEsUUFBUTtvQkFDN0JDLFdBQVdYO2dCQUNiO2dCQUVBRyxTQUFTUyxJQUFJLENBQUNDLFdBQVcsQ0FBQ1g7WUFDNUI7UUFDRjtJQUNGLEdBQUdILFFBQVFDLE9BQU8sSUFDakJjLEtBQUssQ0FBQyxDQUFDQztRQUNOQyxRQUFRQyxLQUFLLENBQUNGO0lBQ2QsaURBQWlEO0lBQ25ELEdBQ0NqQixJQUFJLENBQUM7UUFDSk47SUFDRjtBQUNKO0FBRU8sU0FBU1YsYUFBYVUsT0FBbUI7SUFDOUNGLHNCQUF1QjRCLEtBQWFDLFFBQVEsRUFBRTtRQUM1QywrREFBK0Q7UUFDL0Qsa0VBQWtFO1FBQ2xFLHVFQUF1RTtRQUN2RSx3REFBd0Q7UUFDeEQsSUFBSW5DLEtBQThELEVBQUUsRUFXbkU7UUFFRFE7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L3NyYy9jbGllbnQvYXBwLWJvb3RzdHJhcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJlZm9yZSBzdGFydGluZyB0aGUgTmV4dC5qcyBydW50aW1lIGFuZCByZXF1aXJpbmcgYW55IG1vZHVsZSwgd2UgbmVlZCB0byBtYWtlXG4gKiBzdXJlIHRoZSBmb2xsb3dpbmcgc2NyaXB0cyBhcmUgZXhlY3V0ZWQgaW4gdGhlIGNvcnJlY3Qgb3JkZXI6XG4gKiAtIFBvbHlmaWxsc1xuICogLSBuZXh0L3NjcmlwdCB3aXRoIGBiZWZvcmVJbnRlcmFjdGl2ZWAgc3RyYXRlZ3lcbiAqL1xuXG5jb25zdCB2ZXJzaW9uID0gcHJvY2Vzcy5lbnYuX19ORVhUX1ZFUlNJT05cblxud2luZG93Lm5leHQgPSB7XG4gIHZlcnNpb24sXG4gIGFwcERpcjogdHJ1ZSxcbn1cblxuZnVuY3Rpb24gbG9hZFNjcmlwdHNJblNlcXVlbmNlKFxuICBzY3JpcHRzOiBbc3JjOiBzdHJpbmcsIHByb3BzOiB7IFtwcm9wOiBzdHJpbmddOiBhbnkgfV1bXSxcbiAgaHlkcmF0ZTogKCkgPT4gdm9pZFxuKSB7XG4gIGlmICghc2NyaXB0cyB8fCAhc2NyaXB0cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gaHlkcmF0ZSgpXG4gIH1cblxuICByZXR1cm4gc2NyaXB0c1xuICAgIC5yZWR1Y2UoKHByb21pc2UsIFtzcmMsIHByb3BzXSkgPT4ge1xuICAgICAgcmV0dXJuIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKVxuXG4gICAgICAgICAgaWYgKHByb3BzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBwcm9wcykge1xuICAgICAgICAgICAgICBpZiAoa2V5ICE9PSAnY2hpbGRyZW4nKSB7XG4gICAgICAgICAgICAgICAgZWwuc2V0QXR0cmlidXRlKGtleSwgcHJvcHNba2V5XSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzcmMpIHtcbiAgICAgICAgICAgIGVsLnNyYyA9IHNyY1xuICAgICAgICAgICAgZWwub25sb2FkID0gKCkgPT4gcmVzb2x2ZSgpXG4gICAgICAgICAgICBlbC5vbmVycm9yID0gcmVqZWN0XG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wcykge1xuICAgICAgICAgICAgZWwuaW5uZXJIVE1MID0gcHJvcHMuY2hpbGRyZW5cbiAgICAgICAgICAgIHNldFRpbWVvdXQocmVzb2x2ZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGVsKVxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgICAuY2F0Y2goKGVycjogRXJyb3IpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKVxuICAgICAgLy8gU3RpbGwgdHJ5IHRvIGh5ZHJhdGUgZXZlbiBpZiB0aGVyZSdzIGFuIGVycm9yLlxuICAgIH0pXG4gICAgLnRoZW4oKCkgPT4ge1xuICAgICAgaHlkcmF0ZSgpXG4gICAgfSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcEJvb3RzdHJhcChoeWRyYXRlOiAoKSA9PiB2b2lkKSB7XG4gIGxvYWRTY3JpcHRzSW5TZXF1ZW5jZSgoc2VsZiBhcyBhbnkpLl9fbmV4dF9zLCAoKSA9PiB7XG4gICAgLy8gSWYgdGhlIHN0YXRpYyBzaGVsbCBpcyBiZWluZyBkZWJ1Z2dlZCwgc2tpcCBoeWRyYXRpb24gaWYgdGhlXG4gICAgLy8gYF9fbmV4dHBwcm9ubHlgIHF1ZXJ5IGlzIHByZXNlbnQuIFRoaXMgaXMgb25seSBlbmFibGVkIHdoZW4gdGhlXG4gICAgLy8gZW52aXJvbm1lbnQgdmFyaWFibGUgYF9fTkVYVF9FWFBFUklNRU5UQUxfU1RBVElDX1NIRUxMX0RFQlVHR0lOR2AgaXNcbiAgICAvLyBzZXQgdG8gYDFgLiBPdGhlcndpc2UgdGhlIGZvbGxvd2luZyBpcyBvcHRpbWl6ZWQgb3V0LlxuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfRVhQRVJJTUVOVEFMX1NUQVRJQ19TSEVMTF9ERUJVR0dJTkcgPT09ICcxJykge1xuICAgICAgY29uc3Qgc2VhcmNoID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKVxuICAgICAgaWYgKFxuICAgICAgICBzZWFyY2guZ2V0KCdfX25leHRwcHJvbmx5JykgPT09ICdmYWxsYmFjaycgfHxcbiAgICAgICAgc2VhcmNoLmdldCgnX19uZXh0cHByb25seScpID09PSAnMSdcbiAgICAgICkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYFNraXBwaW5nIGh5ZHJhdGlvbiBkdWUgdG8gX19uZXh0cHByb25seT0ke3NlYXJjaC5nZXQoJ19fbmV4dHBwcm9ubHknKX1gXG4gICAgICAgIClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfVxuXG4gICAgaHlkcmF0ZSgpXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiYXBwQm9vdHN0cmFwIiwidmVyc2lvbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfVkVSU0lPTiIsIndpbmRvdyIsIm5leHQiLCJhcHBEaXIiLCJsb2FkU2NyaXB0c0luU2VxdWVuY2UiLCJzY3JpcHRzIiwiaHlkcmF0ZSIsImxlbmd0aCIsInJlZHVjZSIsInByb21pc2UiLCJzcmMiLCJwcm9wcyIsInRoZW4iLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwia2V5Iiwic2V0QXR0cmlidXRlIiwib25sb2FkIiwib25lcnJvciIsImlubmVySFRNTCIsImNoaWxkcmVuIiwic2V0VGltZW91dCIsImhlYWQiLCJhcHBlbmRDaGlsZCIsImNhdGNoIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwic2VsZiIsIl9fbmV4dF9zIiwiX19ORVhUX0VYUEVSSU1FTlRBTF9TVEFUSUNfU0hFTExfREVCVUdHSU5HIiwic2VhcmNoIiwiVVJMU2VhcmNoUGFyYW1zIiwibG9jYXRpb24iLCJnZXQiLCJ3YXJuIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-bootstrap.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-build-id.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/client/app-build-id.js ***! \*******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// This gets assigned as a side-effect during app initialization. Because it\n// represents the build used to create the JS bundle, it should never change\n// after being set, so we store it in a global variable.\n//\n// When performing RSC requests, if the incoming data has a different build ID,\n// we perform an MPA navigation/refresh to load the updated build and ensure\n// that the client and server in sync.\n// Starts as an empty string. In practice, because setAppBuildId is called\n// during initialization before hydration starts, this will always get\n// reassigned to the actual build ID before it's ever needed by a navigation.\n// If for some reasons it didn't, due to a bug or race condition, then on\n// navigation the build comparision would fail and trigger an MPA navigation.\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 getAppBuildId: function() {\n return getAppBuildId;\n },\n setAppBuildId: function() {\n return setAppBuildId;\n }\n});\nlet globalBuildId = '';\nfunction setAppBuildId(buildId) {\n globalBuildId = buildId;\n}\nfunction getAppBuildId() {\n return globalBuildId;\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=app-build-id.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1idWlsZC1pZC5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUsNEVBQTRFO0FBQzVFLHdEQUF3RDtBQUN4RCxFQUFFO0FBQ0YsK0VBQStFO0FBQy9FLDRFQUE0RTtBQUM1RSxzQ0FBc0M7QUFFdEMsMEVBQTBFO0FBQzFFLHNFQUFzRTtBQUN0RSw2RUFBNkU7QUFDN0UseUVBQXlFO0FBQ3pFLDZFQUE2RTs7Ozs7Ozs7Ozs7OztJQU83REEsYUFBYTtlQUFiQTs7SUFKQUMsYUFBYTtlQUFiQTs7O0FBRmhCLElBQUlDLGdCQUF3QjtBQUVyQixTQUFTRCxjQUFjRSxPQUFlO0lBQzNDRCxnQkFBZ0JDO0FBQ2xCO0FBRU8sU0FBU0g7SUFDZCxPQUFPRTtBQUNUIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L3NyYy9jbGllbnQvYXBwLWJ1aWxkLWlkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZ2V0cyBhc3NpZ25lZCBhcyBhIHNpZGUtZWZmZWN0IGR1cmluZyBhcHAgaW5pdGlhbGl6YXRpb24uIEJlY2F1c2UgaXRcbi8vIHJlcHJlc2VudHMgdGhlIGJ1aWxkIHVzZWQgdG8gY3JlYXRlIHRoZSBKUyBidW5kbGUsIGl0IHNob3VsZCBuZXZlciBjaGFuZ2Vcbi8vIGFmdGVyIGJlaW5nIHNldCwgc28gd2Ugc3RvcmUgaXQgaW4gYSBnbG9iYWwgdmFyaWFibGUuXG4vL1xuLy8gV2hlbiBwZXJmb3JtaW5nIFJTQyByZXF1ZXN0cywgaWYgdGhlIGluY29taW5nIGRhdGEgaGFzIGEgZGlmZmVyZW50IGJ1aWxkIElELFxuLy8gd2UgcGVyZm9ybSBhbiBNUEEgbmF2aWdhdGlvbi9yZWZyZXNoIHRvIGxvYWQgdGhlIHVwZGF0ZWQgYnVpbGQgYW5kIGVuc3VyZVxuLy8gdGhhdCB0aGUgY2xpZW50IGFuZCBzZXJ2ZXIgaW4gc3luYy5cblxuLy8gU3RhcnRzIGFzIGFuIGVtcHR5IHN0cmluZy4gSW4gcHJhY3RpY2UsIGJlY2F1c2Ugc2V0QXBwQnVpbGRJZCBpcyBjYWxsZWRcbi8vIGR1cmluZyBpbml0aWFsaXphdGlvbiBiZWZvcmUgaHlkcmF0aW9uIHN0YXJ0cywgdGhpcyB3aWxsIGFsd2F5cyBnZXRcbi8vIHJlYXNzaWduZWQgdG8gdGhlIGFjdHVhbCBidWlsZCBJRCBiZWZvcmUgaXQncyBldmVyIG5lZWRlZCBieSBhIG5hdmlnYXRpb24uXG4vLyBJZiBmb3Igc29tZSByZWFzb25zIGl0IGRpZG4ndCwgZHVlIHRvIGEgYnVnIG9yIHJhY2UgY29uZGl0aW9uLCB0aGVuIG9uXG4vLyBuYXZpZ2F0aW9uIHRoZSBidWlsZCBjb21wYXJpc2lvbiB3b3VsZCBmYWlsIGFuZCB0cmlnZ2VyIGFuIE1QQSBuYXZpZ2F0aW9uLlxubGV0IGdsb2JhbEJ1aWxkSWQ6IHN0cmluZyA9ICcnXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBcHBCdWlsZElkKGJ1aWxkSWQ6IHN0cmluZykge1xuICBnbG9iYWxCdWlsZElkID0gYnVpbGRJZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXBwQnVpbGRJZCgpOiBzdHJpbmcge1xuICByZXR1cm4gZ2xvYmFsQnVpbGRJZFxufVxuIl0sIm5hbWVzIjpbImdldEFwcEJ1aWxkSWQiLCJzZXRBcHBCdWlsZElkIiwiZ2xvYmFsQnVpbGRJZCIsImJ1aWxkSWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-build-id.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/client/app-call-server.js ***! \**********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _useactionqueue = __webpack_require__(/*! ./components/use-action-queue */ \"(app-pages-browser)/./node_modules/next/dist/client/components/use-action-queue.js\");\nasync function callServer(actionId, actionArgs) {\n return new Promise((resolve, reject)=>{\n (0, _react.startTransition)(()=>{\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_SERVER_ACTION,\n actionId,\n actionArgs,\n resolve,\n reject\n });\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=app-call-server.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1jYWxsLXNlcnZlci5qcyIsIm1hcHBpbmdzIjoiOzs7OzhDQUlzQkE7OztlQUFBQTs7O21DQUpVO2dEQUNLOzRDQUNHO0FBRWpDLGVBQWVBLFdBQVdDLFFBQWdCLEVBQUVDLFVBQWlCO0lBQ2xFLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUMzQkMsQ0FBQUEsR0FBQUEsT0FBQUEsZUFBQUEsRUFBZ0I7WUFDZEMsQ0FBQUEsR0FBQUEsZ0JBQUFBLHVCQUFBQSxFQUF3QjtnQkFDdEJDLE1BQU1DLG9CQUFBQSxvQkFBb0I7Z0JBQzFCUjtnQkFDQUM7Z0JBQ0FFO2dCQUNBQztZQUNGO1FBQ0Y7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L3NyYy9jbGllbnQvYXBwLWNhbGwtc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHN0YXJ0VHJhbnNpdGlvbiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQUNUSU9OX1NFUlZFUl9BQ1RJT04gfSBmcm9tICcuL2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBkaXNwYXRjaEFwcFJvdXRlckFjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy91c2UtYWN0aW9uLXF1ZXVlJ1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FsbFNlcnZlcihhY3Rpb25JZDogc3RyaW5nLCBhY3Rpb25BcmdzOiBhbnlbXSkge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIHN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICBkaXNwYXRjaEFwcFJvdXRlckFjdGlvbih7XG4gICAgICAgIHR5cGU6IEFDVElPTl9TRVJWRVJfQUNUSU9OLFxuICAgICAgICBhY3Rpb25JZCxcbiAgICAgICAgYWN0aW9uQXJncyxcbiAgICAgICAgcmVzb2x2ZSxcbiAgICAgICAgcmVqZWN0LFxuICAgICAgfSlcbiAgICB9KVxuICB9KVxufVxuIl0sIm5hbWVzIjpbImNhbGxTZXJ2ZXIiLCJhY3Rpb25JZCIsImFjdGlvbkFyZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInN0YXJ0VHJhbnNpdGlvbiIsImRpc3BhdGNoQXBwUm91dGVyQWN0aW9uIiwidHlwZSIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-find-source-map-url.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/client/app-find-source-map-url.js ***! \******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"findSourceMapURL\", ({\n enumerable: true,\n get: function() {\n return findSourceMapURL;\n }\n}));\nconst basePath = false || '';\nconst pathname = \"\" + basePath + \"/__nextjs_source-map\";\nconst findSourceMapURL = true ? function findSourceMapURL(filename) {\n if (filename === '') {\n return null;\n }\n if (filename.startsWith(document.location.origin) && filename.includes('/_next/static')) {\n // This is a request for a client chunk. This can only happen when\n // using Turbopack. In this case, since we control how those source\n // maps are generated, we can safely assume that the sourceMappingURL\n // is relative to the filename, with an added `.map` extension. The\n // browser can just request this file, and it gets served through the\n // normal dev server, without the need to route this through\n // the `/__nextjs_source-map` dev middleware.\n return \"\" + filename + \".map\";\n }\n const url = new URL(pathname, document.location.origin);\n url.searchParams.set('filename', filename);\n return url.href;\n} : 0;\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-find-source-map-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1maW5kLXNvdXJjZS1tYXAtdXJsLmpzIiwibWFwcGluZ3MiOiI7Ozs7b0RBR2FBOzs7ZUFBQUE7OztBQUhiLE1BQU1DLFdBQVdDLE1BQWtDLElBQUk7QUFDdkQsTUFBTUcsV0FBWSxLQUFFSixXQUFTO0FBRXRCLE1BQU1ELG1CQUNYRSxLQUFvQixHQUNoQixTQUFTRixpQkFBaUJPLFFBQWdCO0lBQ3hDLElBQUlBLGFBQWEsSUFBSTtRQUNuQixPQUFPO0lBQ1Q7SUFFQSxJQUNFQSxTQUFTQyxVQUFVLENBQUNDLFNBQVNDLFFBQVEsQ0FBQ0MsTUFBTSxLQUM1Q0osU0FBU0ssUUFBUSxDQUFDLGtCQUNsQjtRQUNBLGtFQUFrRTtRQUNsRSxtRUFBbUU7UUFDbkUscUVBQXFFO1FBQ3JFLG1FQUFtRTtRQUNuRSxxRUFBcUU7UUFDckUsNERBQTREO1FBQzVELDZDQUE2QztRQUM3QyxPQUFRLEtBQUVMLFdBQVM7SUFDckI7SUFFQSxNQUFNTSxNQUFNLElBQUlDLElBQUlULFVBQVVJLFNBQVNDLFFBQVEsQ0FBQ0MsTUFBTTtJQUN0REUsSUFBSUUsWUFBWSxDQUFDQyxHQUFHLENBQUMsWUFBWVQ7SUFFakMsT0FBT00sSUFBSUksSUFBSTtBQUNqQixJQUNBQyxDQUFTQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9zcmMvY2xpZW50L2FwcC1maW5kLXNvdXJjZS1tYXAtdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCAnJ1xuY29uc3QgcGF0aG5hbWUgPSBgJHtiYXNlUGF0aH0vX19uZXh0anNfc291cmNlLW1hcGBcblxuZXhwb3J0IGNvbnN0IGZpbmRTb3VyY2VNYXBVUkwgPVxuICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50J1xuICAgID8gZnVuY3Rpb24gZmluZFNvdXJjZU1hcFVSTChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmIChmaWxlbmFtZSA9PT0gJycpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGZpbGVuYW1lLnN0YXJ0c1dpdGgoZG9jdW1lbnQubG9jYXRpb24ub3JpZ2luKSAmJlxuICAgICAgICAgIGZpbGVuYW1lLmluY2x1ZGVzKCcvX25leHQvc3RhdGljJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIHJlcXVlc3QgZm9yIGEgY2xpZW50IGNodW5rLiBUaGlzIGNhbiBvbmx5IGhhcHBlbiB3aGVuXG4gICAgICAgICAgLy8gdXNpbmcgVHVyYm9wYWNrLiBJbiB0aGlzIGNhc2UsIHNpbmNlIHdlIGNvbnRyb2wgaG93IHRob3NlIHNvdXJjZVxuICAgICAgICAgIC8vIG1hcHMgYXJlIGdlbmVyYXRlZCwgd2UgY2FuIHNhZmVseSBhc3N1bWUgdGhhdCB0aGUgc291cmNlTWFwcGluZ1VSTFxuICAgICAgICAgIC8vIGlzIHJlbGF0aXZlIHRvIHRoZSBmaWxlbmFtZSwgd2l0aCBhbiBhZGRlZCBgLm1hcGAgZXh0ZW5zaW9uLiBUaGVcbiAgICAgICAgICAvLyBicm93c2VyIGNhbiBqdXN0IHJlcXVlc3QgdGhpcyBmaWxlLCBhbmQgaXQgZ2V0cyBzZXJ2ZWQgdGhyb3VnaCB0aGVcbiAgICAgICAgICAvLyBub3JtYWwgZGV2IHNlcnZlciwgd2l0aG91dCB0aGUgbmVlZCB0byByb3V0ZSB0aGlzIHRocm91Z2hcbiAgICAgICAgICAvLyB0aGUgYC9fX25leHRqc19zb3VyY2UtbWFwYCBkZXYgbWlkZGxld2FyZS5cbiAgICAgICAgICByZXR1cm4gYCR7ZmlsZW5hbWV9Lm1hcGBcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwocGF0aG5hbWUsIGRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbilcbiAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQoJ2ZpbGVuYW1lJywgZmlsZW5hbWUpXG5cbiAgICAgICAgcmV0dXJuIHVybC5ocmVmXG4gICAgICB9XG4gICAgOiB1bmRlZmluZWRcbiJdLCJuYW1lcyI6WyJmaW5kU291cmNlTWFwVVJMIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGhuYW1lIiwiTk9ERV9FTlYiLCJmaWxlbmFtZSIsInN0YXJ0c1dpdGgiLCJkb2N1bWVudCIsImxvY2F0aW9uIiwib3JpZ2luIiwiaW5jbHVkZXMiLCJ1cmwiLCJVUkwiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJocmVmIiwidW5kZWZpbmVkIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-find-source-map-url.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-globals.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/client/app-globals.js ***! \******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// imports polyfill from `@next/polyfill-module` after build.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n__webpack_require__(/*! ../build/polyfills/polyfill-module */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/polyfill-module.js\");\n// Only setup devtools in development\nif (true) {\n __webpack_require__(/*! ../next-devtools/userspace/app/app-dev-overlay-setup */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/app-dev-overlay-setup.js\");\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=app-globals.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1nbG9iYWxzLmpzIiwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDs7Ozs7b0JBQ3REO0FBRVAscUNBQXFDO0FBQ3JDLElBQUlBLElBQW9CLEVBQW1CO0lBQ3pDRyxtQkFBT0EsQ0FBQywrSkFBc0Q7QUFDaEUiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvc3JjL2NsaWVudC9hcHAtZ2xvYmFscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnRzIHBvbHlmaWxsIGZyb20gYEBuZXh0L3BvbHlmaWxsLW1vZHVsZWAgYWZ0ZXIgYnVpbGQuXG5pbXBvcnQgJy4uL2J1aWxkL3BvbHlmaWxscy9wb2x5ZmlsbC1tb2R1bGUnXG5cbi8vIE9ubHkgc2V0dXAgZGV2dG9vbHMgaW4gZGV2ZWxvcG1lbnRcbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHJlcXVpcmUoJy4uL25leHQtZGV2dG9vbHMvdXNlcnNwYWNlL2FwcC9hcHAtZGV2LW92ZXJsYXktc2V0dXAnKSBhcyB0eXBlb2YgaW1wb3J0KCcuLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvYXBwLWRldi1vdmVybGF5LXNldHVwJylcbn1cbiJdLCJuYW1lcyI6WyJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJyZXF1aXJlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-globals.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-index.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/client/app-index.js ***! \****************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hydrate\", ({\n enumerable: true,\n get: function() {\n return hydrate;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\n__webpack_require__(/*! ./app-globals */ \"(app-pages-browser)/./node_modules/next/dist/client/app-globals.js\");\nconst _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/client.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _client1 = __webpack_require__(/*! react-server-dom-webpack/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ../shared/lib/head-manager-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js\");\nconst _onrecoverableerror = __webpack_require__(/*! ./react-client-callbacks/on-recoverable-error */ \"(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js\");\nconst _errorboundarycallbacks = __webpack_require__(/*! ./react-client-callbacks/error-boundary-callbacks */ \"(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/error-boundary-callbacks.js\");\nconst _appcallserver = __webpack_require__(/*! ./app-call-server */ \"(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\");\nconst _appfindsourcemapurl = __webpack_require__(/*! ./app-find-source-map-url */ \"(app-pages-browser)/./node_modules/next/dist/client/app-find-source-map-url.js\");\nconst _approuterinstance = __webpack_require__(/*! ./components/app-router-instance */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-instance.js\");\nconst _approuter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./components/app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\"));\nconst _createinitialrouterstate = __webpack_require__(/*! ./components/router-reducer/create-initial-router-state */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _appbuildid = __webpack_require__(/*! ./app-build-id */ \"(app-pages-browser)/./node_modules/next/dist/client/app-build-id.js\");\nconst _isbot = __webpack_require__(/*! ../shared/lib/router/utils/is-bot */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\n/// \nconst createFromReadableStream = _client1.createFromReadableStream;\nconst appElement = document;\nconst encoder = new TextEncoder();\nlet initialServerDataBuffer = undefined;\nlet initialServerDataWriter = undefined;\nlet initialServerDataLoaded = false;\nlet initialServerDataFlushed = false;\nlet initialFormStateData = null;\nfunction nextServerDataCallback(seg) {\n if (seg[0] === 0) {\n initialServerDataBuffer = [];\n } else if (seg[0] === 1) {\n if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), \"__NEXT_ERROR_CODE\", {\n value: \"E18\",\n enumerable: false,\n configurable: true\n });\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(encoder.encode(seg[1]));\n } else {\n initialServerDataBuffer.push(seg[1]);\n }\n } else if (seg[0] === 2) {\n initialFormStateData = seg[1];\n } else if (seg[0] === 3) {\n if (!initialServerDataBuffer) throw Object.defineProperty(new Error('Unexpected server data: missing bootstrap script.'), \"__NEXT_ERROR_CODE\", {\n value: \"E18\",\n enumerable: false,\n configurable: true\n });\n // Decode the base64 string back to binary data.\n const binaryString = atob(seg[1]);\n const decodedChunk = new Uint8Array(binaryString.length);\n for(var i = 0; i < binaryString.length; i++){\n decodedChunk[i] = binaryString.charCodeAt(i);\n }\n if (initialServerDataWriter) {\n initialServerDataWriter.enqueue(decodedChunk);\n } else {\n initialServerDataBuffer.push(decodedChunk);\n }\n }\n}\nfunction isStreamErrorOrUnfinished(ctr) {\n // If `desiredSize` is null, it means the stream is closed or errored. If it is lower than 0, the stream is still unfinished.\n return ctr.desiredSize === null || ctr.desiredSize < 0;\n}\n// There might be race conditions between `nextServerDataRegisterWriter` and\n// `DOMContentLoaded`. The former will be called when React starts to hydrate\n// the root, the latter will be called when the DOM is fully loaded.\n// For streaming, the former is called first due to partial hydration.\n// For non-streaming, the latter can be called first.\n// Hence, we use two variables `initialServerDataLoaded` and\n// `initialServerDataFlushed` to make sure the writer will be closed and\n// `initialServerDataBuffer` will be cleared in the right time.\nfunction nextServerDataRegisterWriter(ctr) {\n if (initialServerDataBuffer) {\n initialServerDataBuffer.forEach((val)=>{\n ctr.enqueue(typeof val === 'string' ? encoder.encode(val) : val);\n });\n if (initialServerDataLoaded && !initialServerDataFlushed) {\n if (isStreamErrorOrUnfinished(ctr)) {\n ctr.error(Object.defineProperty(new Error('The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.'), \"__NEXT_ERROR_CODE\", {\n value: \"E117\",\n enumerable: false,\n configurable: true\n }));\n } else {\n ctr.close();\n }\n initialServerDataFlushed = true;\n initialServerDataBuffer = undefined;\n }\n }\n initialServerDataWriter = ctr;\n}\n// When `DOMContentLoaded`, we can close all pending writers to finish hydration.\nconst DOMContentLoaded = function() {\n if (initialServerDataWriter && !initialServerDataFlushed) {\n initialServerDataWriter.close();\n initialServerDataFlushed = true;\n initialServerDataBuffer = undefined;\n }\n initialServerDataLoaded = true;\n};\n_c = DOMContentLoaded;\n// It's possible that the DOM is already loaded.\nif (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', DOMContentLoaded, false);\n} else {\n // Delayed in marco task to ensure it's executed later than hydration\n setTimeout(DOMContentLoaded);\n}\nconst nextServerDataLoadingGlobal = self.__next_f = self.__next_f || [];\nnextServerDataLoadingGlobal.forEach(nextServerDataCallback);\nnextServerDataLoadingGlobal.push = nextServerDataCallback;\nconst readable = new ReadableStream({\n start (controller) {\n nextServerDataRegisterWriter(controller);\n }\n});\nconst initialServerResponse = createFromReadableStream(readable, {\n callServer: _appcallserver.callServer,\n findSourceMapURL: _appfindsourcemapurl.findSourceMapURL\n});\nfunction ServerRoot(param) {\n let { pendingActionQueue } = param;\n const initialRSCPayload = (0, _react.use)(initialServerResponse);\n const actionQueue = (0, _react.use)(pendingActionQueue);\n const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuter.default, {\n gracefullyDegrade: (0, _isbot.isBot)(window.navigator.userAgent),\n actionQueue: actionQueue,\n globalErrorState: initialRSCPayload.G,\n assetPrefix: initialRSCPayload.p\n });\n if ( true && initialRSCPayload.m) {\n // We provide missing slot information in a context provider only during development\n // as we log some additional information about the missing slots in the console.\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.MissingSlotContext, {\n value: initialRSCPayload.m,\n children: router\n });\n }\n return router;\n}\n_c1 = ServerRoot;\nconst StrictModeIfEnabled = true ? _react.default.StrictMode : 0;\nfunction Root(param) {\n let { children } = param;\n if (false) {}\n return children;\n}\n_c2 = Root;\nfunction onDefaultTransitionIndicator() {\n // TODO: Compose default with user-configureable (e.g. nprogress)\n // TODO: Use React's default once we figure out hanging indicators: https://codesandbox.io/p/sandbox/charming-moon-hktkp6?file=%2Fsrc%2Findex.js%3A106%2C30\n return ()=>{};\n}\nconst reactRootOptions = {\n onDefaultTransitionIndicator: onDefaultTransitionIndicator,\n onRecoverableError: _onrecoverableerror.onRecoverableError,\n onCaughtError: _errorboundarycallbacks.onCaughtError,\n onUncaughtError: _errorboundarycallbacks.onUncaughtError\n};\nfunction hydrate(instrumentationHooks) {\n // React overrides `.then` and doesn't return a new promise chain,\n // so we wrap the action queue in a promise to ensure that its value\n // is defined when the promise resolves.\n // https://github.com/facebook/react/blob/163365a07872337e04826c4f501565d43dbd2fd4/packages/react-client/src/ReactFlightClient.js#L189-L190\n const pendingActionQueue = new Promise((resolve, reject)=>{\n initialServerResponse.then((initialRSCPayload)=>{\n // setAppBuildId should be called only once, during JS initialization\n // and before any components have hydrated.\n (0, _appbuildid.setAppBuildId)(initialRSCPayload.b);\n const initialTimestamp = Date.now();\n resolve((0, _approuterinstance.createMutableActionQueue)((0, _createinitialrouterstate.createInitialRouterState)({\n navigatedAt: initialTimestamp,\n initialFlightData: initialRSCPayload.f,\n initialCanonicalUrlParts: initialRSCPayload.c,\n initialParallelRoutes: new Map(),\n location: window.location,\n couldBeIntercepted: initialRSCPayload.i,\n postponed: initialRSCPayload.s,\n prerendered: initialRSCPayload.S\n }), instrumentationHooks));\n }, (err)=>reject(err));\n });\n const reactEl = /*#__PURE__*/ (0, _jsxruntime.jsx)(StrictModeIfEnabled, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, {\n value: {\n appDir: true\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Root, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerRoot, {\n pendingActionQueue: pendingActionQueue\n })\n })\n })\n });\n if (document.documentElement.id === '__next_error__') {\n let element = reactEl;\n // Server rendering failed, fall back to client-side rendering\n if (true) {\n const { createRootLevelDevOverlayElement } = __webpack_require__(/*! ../next-devtools/userspace/app/client-entry */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/client-entry.js\");\n // Note this won't cause hydration mismatch because we are doing CSR w/o hydration\n element = createRootLevelDevOverlayElement(element);\n }\n _client.default.createRoot(appElement, reactRootOptions).render(element);\n } else {\n _react.default.startTransition(()=>{\n _client.default.hydrateRoot(appElement, reactEl, {\n ...reactRootOptions,\n formState: initialFormStateData\n });\n });\n }\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (true) {\n const { linkGc } = __webpack_require__(/*! ./app-link-gc */ \"(app-pages-browser)/./node_modules/next/dist/client/app-link-gc.js\");\n linkGc();\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=app-index.js.map\nvar _c, _c1, _c2;\n$RefreshReg$(_c, \"DOMContentLoaded\");\n$RefreshReg$(_c1, \"ServerRoot\");\n$RefreshReg$(_c2, \"Root\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQW9PZ0JBOzs7ZUFBQUE7Ozs7OztvQkFwT1Q7NkVBQ29COzZFQUNBO3FDQUdpRDs2REFDekM7Z0RBQ0E7b0RBSTVCOzJDQUNvQjtpREFDTTsrQ0FJMUI7Z0ZBQ2U7c0RBRW1COzJEQUNOO3dDQUNMO21DQUNSO0FBRXRCLGdEQUFnRDtBQUVoRCxNQUFNQywyQkFDSkMsU0FBQUEsd0JBQStCO0FBRWpDLE1BQU1DLGFBQXFDQztBQUUzQyxNQUFNQyxVQUFVLElBQUlDO0FBRXBCLElBQUlDLDBCQUErREM7QUFDbkUsSUFBSUMsMEJBQ0ZEO0FBQ0YsSUFBSUUsMEJBQTBCO0FBQzlCLElBQUlDLDJCQUEyQjtBQUUvQixJQUFJQyx1QkFBbUM7QUFtQnZDLFNBQVNDLHVCQUF1QkMsR0FBa0I7SUFDaEQsSUFBSUEsR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHO1FBQ2hCUCwwQkFBMEIsRUFBRTtJQUM5QixPQUFPLElBQUlPLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRztRQUN2QixJQUFJLENBQUNQLHlCQUNILE1BQU0scUJBQThELENBQTlELElBQUlRLE1BQU0sc0RBQVY7bUJBQUE7d0JBQUE7MEJBQUE7UUFBNkQ7UUFFckUsSUFBSU4seUJBQXlCO1lBQzNCQSx3QkFBd0JPLE9BQU8sQ0FBQ1gsUUFBUVksTUFBTSxDQUFDSCxHQUFHLENBQUMsRUFBRTtRQUN2RCxPQUFPO1lBQ0xQLHdCQUF3QlcsSUFBSSxDQUFDSixHQUFHLENBQUMsRUFBRTtRQUNyQztJQUNGLE9BQU8sSUFBSUEsR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHO1FBQ3ZCRix1QkFBdUJFLEdBQUcsQ0FBQyxFQUFFO0lBQy9CLE9BQU8sSUFBSUEsR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHO1FBQ3ZCLElBQUksQ0FBQ1AseUJBQ0gsTUFBTSxxQkFBOEQsQ0FBOUQs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WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L3NyYy9jbGllbnQvYXBwLWluZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vYXBwLWdsb2JhbHMnXG5pbXBvcnQgUmVhY3RET01DbGllbnQgZnJvbSAncmVhY3QtZG9tL2NsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2UgfSBmcm9tICdyZWFjdCdcbi8vIFRPRE86IEV4cGxpY2l0bHkgaW1wb3J0IGZyb20gY2xpZW50LmJyb3dzZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IGNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSBhcyBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW1Ccm93c2VyIH0gZnJvbSAncmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudCdcbmltcG9ydCB7IEhlYWRNYW5hZ2VyQ29udGV4dCB9IGZyb20gJy4uL3NoYXJlZC9saWIvaGVhZC1tYW5hZ2VyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBvblJlY292ZXJhYmxlRXJyb3IgfSBmcm9tICcuL3JlYWN0LWNsaWVudC1jYWxsYmFja3Mvb24tcmVjb3ZlcmFibGUtZXJyb3InXG5pbXBvcnQge1xuICBvbkNhdWdodEVycm9yLFxuICBvblVuY2F1Z2h0RXJyb3IsXG59IGZyb20gJy4vcmVhY3QtY2xpZW50LWNhbGxiYWNrcy9lcnJvci1ib3VuZGFyeS1jYWxsYmFja3MnXG5pbXBvcnQgeyBjYWxsU2VydmVyIH0gZnJvbSAnLi9hcHAtY2FsbC1zZXJ2ZXInXG5pbXBvcnQgeyBmaW5kU291cmNlTWFwVVJMIH0gZnJvbSAnLi9hcHAtZmluZC1zb3VyY2UtbWFwLXVybCdcbmltcG9ydCB7XG4gIHR5cGUgQXBwUm91dGVyQWN0aW9uUXVldWUsXG4gIGNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSxcbn0gZnJvbSAnLi9jb21wb25lbnRzL2FwcC1yb3V0ZXItaW5zdGFuY2UnXG5pbXBvcnQgQXBwUm91dGVyIGZyb20gJy4vY29tcG9uZW50cy9hcHAtcm91dGVyJ1xuaW1wb3J0IHR5cGUgeyBJbml0aWFsUlNDUGF5bG9hZCB9IGZyb20gJy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlIH0gZnJvbSAnLi9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1pbml0aWFsLXJvdXRlci1zdGF0ZSdcbmltcG9ydCB7IE1pc3NpbmdTbG90Q29udGV4dCB9IGZyb20gJy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgc2V0QXBwQnVpbGRJZCB9IGZyb20gJy4vYXBwLWJ1aWxkLWlkJ1xuaW1wb3J0IHsgaXNCb3QgfSBmcm9tICcuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1ib3QnXG5cbi8vLyA8cmVmZXJlbmNlIHR5cGVzPVwicmVhY3QtZG9tL2V4cGVyaW1lbnRhbFwiIC8+XG5cbmNvbnN0IGNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSA9XG4gIGNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbUJyb3dzZXIgYXMgKHR5cGVvZiBpbXBvcnQoJ3JlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQuYnJvd3NlcicpKVsnY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtJ11cblxuY29uc3QgYXBwRWxlbWVudDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCA9IGRvY3VtZW50XG5cbmNvbnN0IGVuY29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKVxuXG5sZXQgaW5pdGlhbFNlcnZlckRhdGFCdWZmZXI6IChzdHJpbmcgfCBVaW50OEFycmF5KVtdIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG5sZXQgaW5pdGlhbFNlcnZlckRhdGFXcml0ZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgfCB1bmRlZmluZWQgPVxuICB1bmRlZmluZWRcbmxldCBpbml0aWFsU2VydmVyRGF0YUxvYWRlZCA9IGZhbHNlXG5sZXQgaW5pdGlhbFNlcnZlckRhdGFGbHVzaGVkID0gZmFsc2VcblxubGV0IGluaXRpYWxGb3JtU3RhdGVEYXRhOiBudWxsIHwgYW55ID0gbnVsbFxuXG50eXBlIEZsaWdodFNlZ21lbnQgPVxuICB8IFtpc0Jvb3RTdHJhcDogMF1cbiAgfCBbaXNOb3RCb290c3RyYXA6IDEsIHJlc3BvbnNlUGFydGlhbDogc3RyaW5nXVxuICB8IFtpc0Zvcm1TdGF0ZTogMiwgZm9ybVN0YXRlOiBhbnldXG4gIHwgW2lzQmluYXJ5OiAzLCByZXNwb25zZUJhc2U2NFBhcnRpYWw6IHN0cmluZ11cblxudHlwZSBOZXh0RmxpZ2h0ID0gT21pdDxBcnJheTxGbGlnaHRTZWdtZW50PiwgJ3B1c2gnPiAmIHtcbiAgcHVzaDogKHNlZzogRmxpZ2h0U2VnbWVudCkgPT4gdm9pZFxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8vIElmIHlvdSdyZSB3b3JraW5nIGluIGEgYnJvd3NlciBlbnZpcm9ubWVudFxuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBfX25leHRfZjogTmV4dEZsaWdodFxuICB9XG59XG5cbmZ1bmN0aW9uIG5leHRTZXJ2ZXJEYXRhQ2FsbGJhY2soc2VnOiBGbGlnaHRTZWdtZW50KTogdm9pZCB7XG4gIGlmIChzZWdbMF0gPT09IDApIHtcbiAgICBpbml0aWFsU2VydmVyRGF0YUJ1ZmZlciA9IFtdXG4gIH0gZWxzZSBpZiAoc2VnWzBdID09PSAxKSB7XG4gICAgaWYgKCFpbml0aWFsU2VydmVyRGF0YUJ1ZmZlcilcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LicpXG5cbiAgICBpZiAoaW5pdGlhbFNlcnZlckRhdGFXcml0ZXIpIHtcbiAgICAgIGluaXRpYWxTZXJ2ZXJEYXRhV3JpdGVyLmVucXVldWUoZW5jb2Rlci5lbmNvZGUoc2VnWzFdKSlcbiAgICB9IGVsc2Uge1xuICAgICAgaW5pdGlhbFNlcnZlckRhdGFCdWZmZXIucHVzaChzZWdbMV0pXG4gICAgfVxuICB9IGVsc2UgaWYgKHNlZ1swXSA9PT0gMikge1xuICAgIGluaXRpYWxGb3JtU3RhdGVEYXRhID0gc2VnWzFdXG4gIH0gZWxzZSBpZiAoc2VnWzBdID09PSAzKSB7XG4gICAgaWYgKCFpbml0aWFsU2VydmVyRGF0YUJ1ZmZlcilcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5leHBlY3RlZCBzZXJ2ZXIgZGF0YTogbWlzc2luZyBib290c3RyYXAgc2NyaXB0LicpXG5cbiAgICAvLyBEZWNvZGUgdGhlIGJhc2U2NCBzdHJpbmcgYmFjayB0byBiaW5hcnkgZGF0YS5cbiAgICBjb25zdCBiaW5hcnlTdHJpbmcgPSBhdG9iKHNlZ1sxXSlcbiAgICBjb25zdCBkZWNvZGVkQ2h1bmsgPSBuZXcgVWludDhBcnJheShiaW5hcnlTdHJpbmcubGVuZ3RoKVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmluYXJ5U3RyaW5nLmxlbmd0aDsgaSsrKSB7XG4gICAgICBkZWNvZGVkQ2h1bmtbaV0gPSBiaW5hcnlTdHJpbmcuY2hhckNvZGVBdChpKVxuICAgIH1cblxuICAgIGlmIChpbml0aWFsU2VydmVyRGF0YVdyaXRlcikge1xuICAgICAgaW5pdGlhbFNlcnZlckRhdGFXcml0ZXIuZW5xdWV1ZShkZWNvZGVkQ2h1bmspXG4gICAgfSBlbHNlIHtcbiAgICAgIGluaXRpYWxTZXJ2ZXJEYXRhQnVmZmVyLnB1c2goZGVjb2RlZENodW5rKVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc1N0cmVhbUVycm9yT3JVbmZpbmlzaGVkKGN0cjogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcikge1xuICAvLyBJZiBgZGVzaXJlZFNpemVgIGlzIG51bGwsIGl0IG1lYW5zIHRoZSBzdHJlYW0gaXMgY2xvc2VkIG9yIGVycm9yZWQuIElmIGl0IGlzIGxvd2VyIHRoYW4gMCwgdGhlIHN0cmVhbSBpcyBzdGlsbCB1bmZpbmlzaGVkLlxuICByZXR1cm4gY3RyLmRlc2lyZWRTaXplID09PSBudWxsIHx8IGN0ci5kZXNpcmVkU2l6ZSA8IDBcbn1cblxuLy8gVGhlcmUgbWlnaHQgYmUgcmFjZSBjb25kaXRpb25zIGJldHdlZW4gYG5leHRTZXJ2ZXJEYXRhUmVnaXN0ZXJXcml0ZXJgIGFuZFxuLy8gYERPTUNvbnRlbnRMb2FkZWRgLiBUaGUgZm9ybWVyIHdpbGwgYmUgY2FsbGVkIHdoZW4gUmVhY3Qgc3RhcnRzIHRvIGh5ZHJhdGVcbi8vIHRoZSByb290LCB0aGUgbGF0dGVyIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIERPTSBpcyBmdWxseSBsb2FkZWQuXG4vLyBGb3Igc3RyZWFtaW5nLCB0aGUgZm9ybWVyIGlzIGNhbGxlZCBmaXJzdCBkdWUgdG8gcGFydGlhbCBoeWRyYXRpb24uXG4vLyBGb3Igbm9uLXN0cmVhbWluZywgdGhlIGxhdHRlciBjYW4gYmUgY2FsbGVkIGZpcnN0LlxuLy8gSGVuY2UsIHdlIHVzZSB0d28gdmFyaWFibGVzIGBpbml0aWFsU2VydmVyRGF0YUxvYWRlZGAgYW5kXG4vLyBgaW5pdGlhbFNlcnZlckRhdGFGbHVzaGVkYCB0byBtYWtlIHN1cmUgdGhlIHdyaXRlciB3aWxsIGJlIGNsb3NlZCBhbmRcbi8vIGBpbml0aWFsU2VydmVyRGF0YUJ1ZmZlcmAgd2lsbCBiZSBjbGVhcmVkIGluIHRoZSByaWdodCB0aW1lLlxuZnVuY3Rpb24gbmV4dFNlcnZlckRhdGFSZWdpc3RlcldyaXRlcihjdHI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIpIHtcbiAgaWYgKGluaXRpYWxTZXJ2ZXJEYXRhQnVmZmVyKSB7XG4gICAgaW5pdGlhbFNlcnZlckRhdGFCdWZmZXIuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICBjdHIuZW5xdWV1ZSh0eXBlb2YgdmFsID09PSAnc3RyaW5nJyA/IGVuY29kZXIuZW5jb2RlKHZhbCkgOiB2YWwpXG4gICAgfSlcbiAgICBpZiAoaW5pdGlhbFNlcnZlckRhdGFMb2FkZWQgJiYgIWluaXRpYWxTZXJ2ZXJEYXRhRmx1c2hlZCkge1xuICAgICAgaWYgKGlzU3RyZWFtRXJyb3JPclVuZmluaXNoZWQoY3RyKSkge1xuICAgICAgICBjdHIuZXJyb3IoXG4gICAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ1RoZSBjb25uZWN0aW9uIHRvIHRoZSBwYWdlIHdhcyB1bmV4cGVjdGVkbHkgY2xvc2VkLCBwb3NzaWJseSBkdWUgdG8gdGhlIHN0b3AgYnV0dG9uIGJlaW5nIGNsaWNrZWQsIGxvc3Mgb2YgV2ktRmksIG9yIGFuIHVuc3RhYmxlIGludGVybmV0IGNvbm5lY3Rpb24uJ1xuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3RyLmNsb3NlKClcbiAgICAgIH1cbiAgICAgIGluaXRpYWxTZXJ2ZXJEYXRhRmx1c2hlZCA9IHRydWVcbiAgICAgIGluaXRpYWxTZXJ2ZXJEYXRhQnVmZmVyID0gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgaW5pdGlhbFNlcnZlckRhdGFXcml0ZXIgPSBjdHJcbn1cblxuLy8gV2hlbiBgRE9NQ29udGVudExvYWRlZGAsIHdlIGNhbiBjbG9zZSBhbGwgcGVuZGluZyB3cml0ZXJzIHRvIGZpbmlzaCBoeWRyYXRpb24uXG5jb25zdCBET01Db250ZW50TG9hZGVkID0gZnVuY3Rpb24gKCkge1xuICBpZiAoaW5pdGlhbFNlcnZlckRhdGFXcml0ZXIgJiYgIWluaXRpYWxTZXJ2ZXJEYXRhRmx1c2hlZCkge1xuICAgIGluaXRpYWxTZXJ2ZXJEYXRhV3JpdGVyLmNsb3NlKClcbiAgICBpbml0aWFsU2VydmVyRGF0YUZsdXNoZWQgPSB0cnVlXG4gICAgaW5pdGlhbFNlcnZlckRhdGFCdWZmZXIgPSB1bmRlZmluZWRcbiAgfVxuICBpbml0aWFsU2VydmVyRGF0YUxvYWRlZCA9IHRydWVcbn1cblxuLy8gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBET00gaXMgYWxyZWFkeSBsb2FkZWQuXG5pZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2xvYWRpbmcnKSB7XG4gIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBET01Db250ZW50TG9hZGVkLCBmYWxzZSlcbn0gZWxzZSB7XG4gIC8vIERlbGF5ZWQgaW4gbWFyY28gdGFzayB0byBlbnN1cmUgaXQncyBleGVjdXRlZCBsYXRlciB0aGFuIGh5ZHJhdGlvblxuICBzZXRUaW1lb3V0KERPTUNvbnRlbnRMb2FkZWQpXG59XG5cbmNvbnN0IG5leHRTZXJ2ZXJEYXRhTG9hZGluZ0dsb2JhbCA9IChzZWxmLl9fbmV4dF9mID0gc2VsZi5fX25leHRfZiB8fCBbXSlcbm5leHRTZXJ2ZXJEYXRhTG9hZGluZ0dsb2JhbC5mb3JFYWNoKG5leHRTZXJ2ZXJEYXRhQ2FsbGJhY2spXG5uZXh0U2VydmVyRGF0YUxvYWRpbmdHbG9iYWwucHVzaCA9IG5leHRTZXJ2ZXJEYXRhQ2FsbGJhY2tcblxuY29uc3QgcmVhZGFibGUgPSBuZXcgUmVhZGFibGVTdHJlYW0oe1xuICBzdGFydChjb250cm9sbGVyKSB7XG4gICAgbmV4dFNlcnZlckRhdGFSZWdpc3RlcldyaXRlcihjb250cm9sbGVyKVxuICB9LFxufSlcblxuY29uc3QgaW5pdGlhbFNlcnZlclJlc3BvbnNlID0gY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtPEluaXRpYWxSU0NQYXlsb2FkPihcbiAgcmVhZGFibGUsXG4gIHsgY2FsbFNlcnZlciwgZmluZFNvdXJjZU1hcFVSTCB9XG4pXG5cbmZ1bmN0aW9uIFNlcnZlclJvb3Qoe1xuICBwZW5kaW5nQWN0aW9uUXVldWUsXG59OiB7XG4gIHBlbmRpbmdBY3Rpb25RdWV1ZTogUHJvbWlzZTxBcHBSb3V0ZXJBY3Rpb25RdWV1ZT5cbn0pOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCBpbml0aWFsUlNDUGF5bG9hZCA9IHVzZShpbml0aWFsU2VydmVyUmVzcG9uc2UpXG4gIGNvbnN0IGFjdGlvblF1ZXVlID0gdXNlPEFwcFJvdXRlckFjdGlvblF1ZXVlPihwZW5kaW5nQWN0aW9uUXVldWUpXG5cbiAgY29uc3Qgcm91dGVyID0gKFxuICAgIDxBcHBSb3V0ZXJcbiAgICAgIGdyYWNlZnVsbHlEZWdyYWRlPXtpc0JvdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCl9XG4gICAgICBhY3Rpb25RdWV1ZT17YWN0aW9uUXVldWV9XG4gICAgICBnbG9iYWxFcnJvclN0YXRlPXtpbml0aWFsUlNDUGF5bG9hZC5HfVxuICAgICAgYXNzZXRQcmVmaXg9e2luaXRpYWxSU0NQYXlsb2FkLnB9XG4gICAgLz5cbiAgKVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJiBpbml0aWFsUlNDUGF5bG9hZC5tKSB7XG4gICAgLy8gV2UgcHJvdmlkZSBtaXNzaW5nIHNsb3QgaW5mb3JtYXRpb24gaW4gYSBjb250ZXh0IHByb3ZpZGVyIG9ubHkgZHVyaW5nIGRldmVsb3BtZW50XG4gICAgLy8gYXMgd2UgbG9nIHNvbWUgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWlzc2luZyBzbG90cyBpbiB0aGUgY29uc29sZS5cbiAgICByZXR1cm4gKFxuICAgICAgPE1pc3NpbmdTbG90Q29udGV4dCB2YWx1ZT17aW5pdGlhbFJTQ1BheWxvYWQubX0+XG4gICAgICAgIHtyb3V0ZXJ9XG4gICAgICA8L01pc3NpbmdTbG90Q29udGV4dD5cbiAgICApXG4gIH1cblxuICByZXR1cm4gcm91dGVyXG59XG5cbmNvbnN0IFN0cmljdE1vZGVJZkVuYWJsZWQgPSBwcm9jZXNzLmVudi5fX05FWFRfU1RSSUNUX01PREVfQVBQXG4gID8gUmVhY3QuU3RyaWN0TW9kZVxuICA6IFJlYWN0LkZyYWdtZW50XG5cbmZ1bmN0aW9uIFJvb3QoeyBjaGlsZHJlbiB9OiBSZWFjdC5Qcm9wc1dpdGhDaGlsZHJlbjx7fT4pIHtcbiAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgd2luZG93Ll9fTkVYVF9IWURSQVRFRCA9IHRydWVcbiAgICAgIHdpbmRvdy5fX05FWFRfSFlEUkFURURfQVQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICAgICAgd2luZG93Ll9fTkVYVF9IWURSQVRFRF9DQj8uKClcbiAgICB9LCBbXSlcbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlblxufVxuXG5mdW5jdGlvbiBvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yKCkge1xuICAvLyBUT0RPOiBDb21wb3NlIGRlZmF1bHQgd2l0aCB1c2VyLWNvbmZpZ3VyZWFibGUgKGUuZy4gbnByb2dyZXNzKVxuICAvLyBUT0RPOiBVc2UgUmVhY3QncyBkZWZhdWx0IG9uY2Ugd2UgZmlndXJlIG91dCBoYW5naW5nIGluZGljYXRvcnM6IGh0dHBzOi8vY29kZXNhbmRib3guaW8vcC9zYW5kYm94L2NoYXJtaW5nLW1vb24taGt0a3A2P2ZpbGU9JTJGc3JjJTJGaW5kZXguanMlM0ExMDYlMkMzMFxuICByZXR1cm4gKCkgPT4ge31cbn1cblxuY29uc3QgcmVhY3RSb290T3B0aW9uczogUmVhY3RET01DbGllbnQuUm9vdE9wdGlvbnMgPSB7XG4gIG9uRGVmYXVsdFRyYW5zaXRpb25JbmRpY2F0b3I6IG9uRGVmYXVsdFRyYW5zaXRpb25JbmRpY2F0b3IsXG4gIG9uUmVjb3ZlcmFibGVFcnJvcixcbiAgb25DYXVnaHRFcnJvcixcbiAgb25VbmNhdWdodEVycm9yLFxufVxuXG5leHBvcnQgdHlwZSBDbGllbnRJbnN0cnVtZW50YXRpb25Ib29rcyA9IHtcbiAgb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ/OiAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgbmF2aWdhdGlvblR5cGU6ICdwdXNoJyB8ICdyZXBsYWNlJyB8ICd0cmF2ZXJzZSdcbiAgKSA9PiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoeWRyYXRlKFxuICBpbnN0cnVtZW50YXRpb25Ib29rczogQ2xpZW50SW5zdHJ1bWVudGF0aW9uSG9va3MgfCBudWxsXG4pIHtcbiAgLy8gUmVhY3Qgb3ZlcnJpZGVzIGAudGhlbmAgYW5kIGRvZXNuJ3QgcmV0dXJuIGEgbmV3IHByb21pc2UgY2hhaW4sXG4gIC8vIHNvIHdlIHdyYXAgdGhlIGFjdGlvbiBxdWV1ZSBpbiBhIHByb21pc2UgdG8gZW5zdXJlIHRoYXQgaXRzIHZhbHVlXG4gIC8vIGlzIGRlZmluZWQgd2hlbiB0aGUgcHJvbWlzZSByZXNvbHZlcy5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2Jsb2IvMTYzMzY1YTA3ODcyMzM3ZTA0ODI2YzRmNTAxNTY1ZDQzZGJkMmZkNC9wYWNrYWdlcy9yZWFjdC1jbGllbnQvc3JjL1JlYWN0RmxpZ2h0Q2xpZW50LmpzI0wxODktTDE5MFxuICBjb25zdCBwZW5kaW5nQWN0aW9uUXVldWU6IFByb21pc2U8QXBwUm91dGVyQWN0aW9uUXVldWU+ID0gbmV3IFByb21pc2UoXG4gICAgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaW5pdGlhbFNlcnZlclJlc3BvbnNlLnRoZW4oXG4gICAgICAgIChpbml0aWFsUlNDUGF5bG9hZCkgPT4ge1xuICAgICAgICAgIC8vIHNldEFwcEJ1aWxkSWQgc2hvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2UsIGR1cmluZyBKUyBpbml0aWFsaXphdGlvblxuICAgICAgICAgIC8vIGFuZCBiZWZvcmUgYW55IGNvbXBvbmVudHMgaGF2ZSBoeWRyYXRlZC5cbiAgICAgICAgICBzZXRBcHBCdWlsZElkKGluaXRpYWxSU0NQYXlsb2FkLmIpXG5cbiAgICAgICAgICBjb25zdCBpbml0aWFsVGltZXN0YW1wID0gRGF0ZS5ub3coKVxuXG4gICAgICAgICAgcmVzb2x2ZShcbiAgICAgICAgICAgIGNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZShcbiAgICAgICAgICAgICAgY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlKHtcbiAgICAgICAgICAgICAgICBuYXZpZ2F0ZWRBdDogaW5pdGlhbFRpbWVzdGFtcCxcbiAgICAgICAgICAgICAgICBpbml0aWFsRmxpZ2h0RGF0YTogaW5pdGlhbFJTQ1BheWxvYWQuZixcbiAgICAgICAgICAgICAgICBpbml0aWFsQ2Fub25pY2FsVXJsUGFydHM6IGluaXRpYWxSU0NQYXlsb2FkLmMsXG4gICAgICAgICAgICAgICAgaW5pdGlhbFBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IHdpbmRvdy5sb2NhdGlvbixcbiAgICAgICAgICAgICAgICBjb3VsZEJlSW50ZXJjZXB0ZWQ6IGluaXRpYWxSU0NQYXlsb2FkLmksXG4gICAgICAgICAgICAgICAgcG9zdHBvbmVkOiBpbml0aWFsUlNDUGF5bG9hZC5zLFxuICAgICAgICAgICAgICAgIHByZXJlbmRlcmVkOiBpbml0aWFsUlNDUGF5bG9hZC5TLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgaW5zdHJ1bWVudGF0aW9uSG9va3NcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IEVycm9yKSA9PiByZWplY3QoZXJyKVxuICAgICAgKVxuICAgIH1cbiAgKVxuXG4gIGNvbnN0IHJlYWN0RWwgPSAoXG4gICAgPFN0cmljdE1vZGVJZkVuYWJsZWQ+XG4gICAgICA8SGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGFwcERpcjogdHJ1ZSB9fT5cbiAgICAgICAgPFJvb3Q+XG4gICAgICAgICAgPFNlcnZlclJvb3QgcGVuZGluZ0FjdGlvblF1ZXVlPXtwZW5kaW5nQWN0aW9uUXVldWV9IC8+XG4gICAgICAgIDwvUm9vdD5cbiAgICAgIDwvSGVhZE1hbmFnZXJDb250ZXh0LlByb3ZpZGVyPlxuICAgIDwvU3RyaWN0TW9kZUlmRW5hYmxlZD5cbiAgKVxuXG4gIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaWQgPT09ICdfX25leHRfZXJyb3JfXycpIHtcbiAgICBsZXQgZWxlbWVudCA9IHJlYWN0RWxcbiAgICAvLyBTZXJ2ZXIgcmVuZGVyaW5nIGZhaWxlZCwgZmFsbCBiYWNrIHRvIGNsaWVudC1zaWRlIHJlbmRlcmluZ1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBjb25zdCB7IGNyZWF0ZVJvb3RMZXZlbERldk92ZXJsYXlFbGVtZW50IH0gPVxuICAgICAgICByZXF1aXJlKCcuLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvY2xpZW50LWVudHJ5JykgYXMgdHlwZW9mIGltcG9ydCgnLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL2NsaWVudC1lbnRyeScpXG5cbiAgICAgIC8vIE5vdGUgdGhpcyB3b24ndCBjYXVzZSBoeWRyYXRpb24gbWlzbWF0Y2ggYmVjYXVzZSB3ZSBhcmUgZG9pbmcgQ1NSIHcvbyBoeWRyYXRpb25cbiAgICAgIGVsZW1lbnQgPSBjcmVhdGVSb290TGV2ZWxEZXZPdmVybGF5RWxlbWVudChlbGVtZW50KVxuICAgIH1cblxuICAgIFJlYWN0RE9NQ2xpZW50LmNyZWF0ZVJvb3QoYXBwRWxlbWVudCwgcmVhY3RSb290T3B0aW9ucykucmVuZGVyKGVsZW1lbnQpXG4gIH0gZWxzZSB7XG4gICAgUmVhY3Quc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIFJlYWN0RE9NQ2xpZW50Lmh5ZHJhdGVSb290KGFwcEVsZW1lbnQsIHJlYWN0RWwsIHtcbiAgICAgICAgLi4ucmVhY3RSb290T3B0aW9ucyxcbiAgICAgICAgZm9ybVN0YXRlOiBpbml0aWFsRm9ybVN0YXRlRGF0YSxcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8vIFRPRE8tQVBQOiBSZW1vdmUgdGhpcyBsb2dpYyB3aGVuIEZsb2F0IGhhcyBHQyBidWlsdC1pbiBpbiBkZXZlbG9wbWVudC5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25zdCB7IGxpbmtHYyB9ID1cbiAgICAgIHJlcXVpcmUoJy4vYXBwLWxpbmstZ2MnKSBhcyB0eXBlb2YgaW1wb3J0KCcuL2FwcC1saW5rLWdjJylcbiAgICBsaW5rR2MoKVxuICB9XG59XG4iXSwibmFtZXMiOlsiaHlkcmF0ZSIsImNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSIsImNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbUJyb3dzZXIiLCJhcHBFbGVtZW50IiwiZG9jdW1lbnQiLCJlbmNvZGVyIiwiVGV4dEVuY29kZXIiLCJpbml0aWFsU2VydmVyRGF0YUJ1ZmZlciIsInVuZGVmaW5lZCIsImluaXRpYWxTZXJ2ZXJEYXRhV3JpdGVyIiwiaW5pdGlhbFNlcnZlckRhdGFMb2FkZWQiLCJpbml0aWFsU2VydmVyRGF0YUZsdXNoZWQiLCJpbml0aWFsRm9ybVN0YXRlRGF0YSIsIm5leHRTZXJ2ZXJEYXRhQ2FsbGJhY2siLCJzZWciLCJFcnJvciIsImVucXVldWUiLCJlbmNvZGUiLCJwdXNoIiwiYmluYXJ5U3RyaW5nIiwiYXRvYiIsImRlY29kZWRDaHVuayIsIlVpbnQ4QXJyYXkiLCJsZW5ndGgiLCJpIiwiY2hhckNvZGVBdCIsImlzU3RyZWFtRXJyb3JPclVuZmluaXNoZWQiLCJjdHIiLCJkZXNpcmVkU2l6ZSIsIm5leHRTZXJ2ZXJEYXRhUmVnaXN0ZXJXcml0ZXIiLCJmb3JFYWNoIiwidmFsIiwiZXJyb3IiLCJjbG9zZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJyZWFkeVN0YXRlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInNldFRpbWVvdXQiLCJuZXh0U2VydmVyRGF0YUxvYWRpbmdHbG9iYWwiLCJzZWxmIiwiX19uZXh0X2YiLCJyZWFkYWJsZSIsIlJlYWRhYmxlU3RyZWFtIiwic3RhcnQiLCJjb250cm9sbGVyIiwiaW5pdGlhbFNlcnZlclJlc3BvbnNlIiwiY2FsbFNlcnZlciIsImZpbmRTb3VyY2VNYXBVUkwiLCJTZXJ2ZXJSb290IiwicGVuZGluZ0FjdGlvblF1ZXVlIiwiaW5pdGlhbFJTQ1BheWxvYWQiLCJ1c2UiLCJhY3Rpb25RdWV1ZSIsInJvdXRlciIsIkFwcFJvdXRlciIsImdyYWNlZnVsbHlEZWdyYWRlIiwiaXNCb3QiLCJ3aW5kb3ciLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJnbG9iYWxFcnJvclN0YXRlIiwiRyIsImFzc2V0UHJlZml4IiwicCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIm0iLCJNaXNzaW5nU2xvdENvbnRleHQiLCJ2YWx1ZSIsIlN0cmljdE1vZGVJZkVuYWJsZWQiLCJfX05FWFRfU1RSSUNUX01PREVfQVBQIiwiUmVhY3QiLCJTdHJpY3RNb2RlIiwiRnJhZ21lbnQiLCJSb290IiwiY2hpbGRyZW4iLCJfX05FWFRfVEVTVF9NT0RFIiwidXNlRWZmZWN0IiwiX19ORVhUX0hZRFJBVEVEIiwiX19ORVhUX0hZRFJBVEVEX0FUIiwicGVyZm9ybWFuY2UiLCJub3ciLCJfX05FWFRfSFlEUkFURURfQ0IiLCJvbkRlZmF1bHRUcmFuc2l0aW9uSW5kaWNhdG9yIiwicmVhY3RSb290T3B0aW9ucyIsIm9uUmVjb3ZlcmFibGVFcnJvciIsIm9uQ2F1Z2h0RXJyb3IiLCJvblVuY2F1Z2h0RXJyb3IiLCJpbnN0cnVtZW50YXRpb25Ib29rcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidGhlbiIsInNldEFwcEJ1aWxkSWQiLCJiIiwiaW5pdGlhbFRpbWVzdGFtcCIsIkRhdGUiLCJjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWUiLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLCJuYXZpZ2F0ZWRBdCIsImluaXRpYWxGbGlnaHREYXRhIiwiZiIsImluaXRpYWxDYW5vbmljYWxVcmxQYXJ0cyIsImMiLCJpbml0aWFsUGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJsb2NhdGlvbiIsImNvdWxkQmVJbnRlcmNlcHRlZCIsInBvc3Rwb25lZCIsInMiLCJwcmVyZW5kZXJlZCIsIlMiLCJlcnIiLCJyZWFjdEVsIiwiSGVhZE1hbmFnZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJhcHBEaXIiLCJkb2N1bWVudEVsZW1lbnQiLCJpZCIsImVsZW1lbnQiLCJjcmVhdGVSb290TGV2ZWxEZXZPdmVybGF5RWxlbWVudCIsInJlcXVpcmUiLCJSZWFjdERPTUNsaWVudCIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJzdGFydFRyYW5zaXRpb24iLCJoeWRyYXRlUm9vdCIsImZvcm1TdGF0ZSIsImxpbmtHYyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-index.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-link-gc.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/client/app-link-gc.js ***! \******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"linkGc\", ({\n enumerable: true,\n get: function() {\n return linkGc;\n }\n}));\nfunction linkGc() {\n // TODO-APP: Remove this logic when Float has GC built-in in development.\n if (true) {\n const callback = (mutationList)=>{\n for (const mutation of mutationList){\n if (mutation.type === 'childList') {\n for (const node of mutation.addedNodes){\n if ('tagName' in node && node.tagName === 'LINK') {\n var _link_dataset_precedence;\n const link = node;\n if ((_link_dataset_precedence = link.dataset.precedence) == null ? void 0 : _link_dataset_precedence.startsWith('next')) {\n const href = link.getAttribute('href');\n if (href) {\n const [resource, version] = href.split('?v=', 2);\n if (version) {\n const currentOrigin = window.location.origin;\n const allLinks = [\n ...document.querySelectorAll('link[href^=\"' + resource + '\"]'),\n // It's possible that the resource is a full URL or only pathname,\n // so we need to remove the alternative href as well.\n ...document.querySelectorAll('link[href^=\"' + (resource.startsWith(currentOrigin) ? resource.slice(currentOrigin.length) : currentOrigin + resource) + '\"]')\n ];\n for (const otherLink of allLinks){\n var _otherLink_dataset_precedence;\n if ((_otherLink_dataset_precedence = otherLink.dataset.precedence) == null ? void 0 : _otherLink_dataset_precedence.startsWith('next')) {\n const otherHref = otherLink.getAttribute('href');\n if (otherHref) {\n const [, otherVersion] = otherHref.split('?v=', 2);\n if (!otherVersion || +otherVersion < +version) {\n // Delay the removal of the stylesheet to avoid FOUC\n // caused by `@font-face` rules, as they seem to be\n // a couple of ticks delayed between the old and new\n // styles being swapped even if the font is cached.\n setTimeout(()=>{\n otherLink.remove();\n }, 5);\n const preloadLink = document.querySelector('link[rel=\"preload\"][as=\"style\"][href=\"' + otherHref + '\"]');\n if (preloadLink) {\n preloadLink.remove();\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n };\n // Create an observer instance linked to the callback function\n const observer = new MutationObserver(callback);\n observer.observe(document.head, {\n childList: true\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=app-link-gc.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1saW5rLWdjLmpzIiwibWFwcGluZ3MiOiI7Ozs7MENBQWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQTtJQUNkLHlFQUF5RTtJQUN6RSxJQUFJQyxJQUFvQixFQUFtQjtRQUN6QyxNQUFNRyxXQUFXLENBQUNDO1lBQ2hCLEtBQUssTUFBTUMsWUFBWUQsYUFBYztnQkFDbkMsSUFBSUMsU0FBU0MsSUFBSSxLQUFLLGFBQWE7b0JBQ2pDLEtBQUssTUFBTUMsUUFBUUYsU0FBU0csVUFBVSxDQUFFO3dCQUN0QyxJQUNFLGFBQWFELFFBQ1pBLEtBQXlCRSxPQUFPLEtBQUssUUFDdEM7Z0NBRUlDOzRCQURKLE1BQU1BLE9BQU9IOzRCQUNiLEtBQUlHLDJCQUFBQSxLQUFLQyxPQUFPLENBQUNDLFVBQUFBLEtBQVUsZ0JBQXZCRix5QkFBeUJHLFVBQVUsQ0FBQyxTQUFTO2dDQUMvQyxNQUFNQyxPQUFPSixLQUFLSyxZQUFZLENBQUM7Z0NBQy9CLElBQUlELE1BQU07b0NBQ1IsTUFBTSxDQUFDRSxVQUFVQyxRQUFRLEdBQUdILEtBQUtJLEtBQUssQ0FBQyxPQUFPO29DQUM5QyxJQUFJRCxTQUFTO3dDQUNYLE1BQU1FLGdCQUFnQkMsT0FBT0MsUUFBUSxDQUFDQyxNQUFNO3dDQUM1QyxNQUFNQyxXQUFXOytDQUNaQyxTQUFTQyxnQkFBZ0IsQ0FDMUIsaUJBQWlCVCxXQUFXOzRDQUU5QixrRUFBa0U7NENBQ2xFLHFEQUFxRDsrQ0FDbERRLFNBQVNDLGdCQUFnQixDQUMxQixpQkFDR1QsQ0FBQUEsU0FBU0gsVUFBVSxDQUFDTSxpQkFDakJILFNBQVNVLEtBQUssQ0FBQ1AsY0FBY1EsTUFBTSxJQUNuQ1IsZ0JBQWdCSCxRQUFBQSxDQUFPLEdBQzNCO3lDQUVMO3dDQUVELEtBQUssTUFBTVksYUFBYUwsU0FBVTtnREFDNUJLOzRDQUFKLEtBQUlBLGdDQUFBQSxVQUFVakIsT0FBTyxDQUFDQyxVQUFBQSxLQUFVLGdCQUE1QmdCLDhCQUE4QmYsVUFBVSxDQUFDLFNBQVM7Z0RBQ3BELE1BQU1nQixZQUFZRCxVQUFVYixZQUFZLENBQUM7Z0RBQ3pDLElBQUljLFdBQVc7b0RBQ2IsTUFBTSxHQUFHQyxhQUFhLEdBQUdELFVBQVVYLEtBQUssQ0FBQyxPQUFPO29EQUNoRCxJQUFJLENBQUNZLGdCQUFnQixDQUFDQSxlQUFlLENBQUNiLFNBQVM7d0RBQzdDLG9EQUFvRDt3REFDcEQsbURBQW1EO3dEQUNuRCxvREFBb0Q7d0RBQ3BELG1EQUFtRDt3REFDbkRjLFdBQVc7NERBQ1RILFVBQVVJLE1BQU07d0RBQ2xCLEdBQUc7d0RBQ0gsTUFBTUMsY0FBY1QsU0FBU1UsYUFBYSxDQUN2QywyQ0FBd0NMLFlBQVU7d0RBRXJELElBQUlJLGFBQWE7NERBQ2ZBLFlBQVlELE1BQU07d0RBQ3BCO29EQUNGO2dEQUNGOzRDQUNGO3dDQUNGO29DQUNGO2dDQUNGOzRCQUNGO3dCQUNGO29CQUNGO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLDhEQUE4RDtRQUM5RCxNQUFNRyxXQUFXLElBQUlDLGlCQUFpQmpDO1FBQ3RDZ0MsU0FBU0UsT0FBTyxDQUFDYixTQUFTYyxJQUFJLEVBQUU7WUFDOUJDLFdBQVc7UUFDYjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvc3JjL2NsaWVudC9hcHAtbGluay1nYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gbGlua0djKCkge1xuICAvLyBUT0RPLUFQUDogUmVtb3ZlIHRoaXMgbG9naWMgd2hlbiBGbG9hdCBoYXMgR0MgYnVpbHQtaW4gaW4gZGV2ZWxvcG1lbnQuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAobXV0YXRpb25MaXN0OiBNdXRhdGlvblJlY29yZFtdKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9uTGlzdCkge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2NoaWxkTGlzdCcpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgbXV0YXRpb24uYWRkZWROb2Rlcykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAndGFnTmFtZScgaW4gbm9kZSAmJlxuICAgICAgICAgICAgICAobm9kZSBhcyBIVE1MTGlua0VsZW1lbnQpLnRhZ05hbWUgPT09ICdMSU5LJ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGxpbmsgPSBub2RlIGFzIEhUTUxMaW5rRWxlbWVudFxuICAgICAgICAgICAgICBpZiAobGluay5kYXRhc2V0LnByZWNlZGVuY2U/LnN0YXJ0c1dpdGgoJ25leHQnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhyZWYgPSBsaW5rLmdldEF0dHJpYnV0ZSgnaHJlZicpXG4gICAgICAgICAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFtyZXNvdXJjZSwgdmVyc2lvbl0gPSBocmVmLnNwbGl0KCc/dj0nLCAyKVxuICAgICAgICAgICAgICAgICAgaWYgKHZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3VycmVudE9yaWdpbiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWxsTGlua3MgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdsaW5rW2hyZWZePVwiJyArIHJlc291cmNlICsgJ1wiXSdcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgcmVzb3VyY2UgaXMgYSBmdWxsIFVSTCBvciBvbmx5IHBhdGhuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBhbHRlcm5hdGl2ZSBocmVmIGFzIHdlbGwuXG4gICAgICAgICAgICAgICAgICAgICAgLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdsaW5rW2hyZWZePVwiJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChyZXNvdXJjZS5zdGFydHNXaXRoKGN1cnJlbnRPcmlnaW4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyByZXNvdXJjZS5zbGljZShjdXJyZW50T3JpZ2luLmxlbmd0aClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGN1cnJlbnRPcmlnaW4gKyByZXNvdXJjZSkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnXCJdJ1xuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIF0gYXMgSFRNTExpbmtFbGVtZW50W11cblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG90aGVyTGluayBvZiBhbGxMaW5rcykge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChvdGhlckxpbmsuZGF0YXNldC5wcmVjZWRlbmNlPy5zdGFydHNXaXRoKCduZXh0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG90aGVySHJlZiA9IG90aGVyTGluay5nZXRBdHRyaWJ1dGUoJ2hyZWYnKVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG90aGVySHJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbLCBvdGhlclZlcnNpb25dID0gb3RoZXJIcmVmLnNwbGl0KCc/dj0nLCAyKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW90aGVyVmVyc2lvbiB8fCArb3RoZXJWZXJzaW9uIDwgK3ZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEZWxheSB0aGUgcmVtb3ZhbCBvZiB0aGUgc3R5bGVzaGVldCB0byBhdm9pZCBGT1VDXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2F1c2VkIGJ5IGBAZm9udC1mYWNlYCBydWxlcywgYXMgdGhleSBzZWVtIHRvIGJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBjb3VwbGUgb2YgdGlja3MgZGVsYXllZCBiZXR3ZWVuIHRoZSBvbGQgYW5kIG5ld1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlcyBiZWluZyBzd2FwcGVkIGV2ZW4gaWYgdGhlIGZvbnQgaXMgY2FjaGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXJMaW5rLnJlbW92ZSgpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmVsb2FkTGluayA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgbGlua1tyZWw9XCJwcmVsb2FkXCJdW2FzPVwic3R5bGVcIl1baHJlZj1cIiR7b3RoZXJIcmVmfVwiXWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWxvYWRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkTGluay5yZW1vdmUoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENyZWF0ZSBhbiBvYnNlcnZlciBpbnN0YW5jZSBsaW5rZWQgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uXG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcihjYWxsYmFjaylcbiAgICBvYnNlcnZlci5vYnNlcnZlKGRvY3VtZW50LmhlYWQsIHtcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICB9KVxuICB9XG59XG4iXSwibmFtZXMiOlsibGlua0djIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY2FsbGJhY2siLCJtdXRhdGlvbkxpc3QiLCJtdXRhdGlvbiIsInR5cGUiLCJub2RlIiwiYWRkZWROb2RlcyIsInRhZ05hbWUiLCJsaW5rIiwiZGF0YXNldCIsInByZWNlZGVuY2UiLCJzdGFydHNXaXRoIiwiaHJlZiIsImdldEF0dHJpYnV0ZSIsInJlc291cmNlIiwidmVyc2lvbiIsInNwbGl0IiwiY3VycmVudE9yaWdpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwib3JpZ2luIiwiYWxsTGlua3MiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzbGljZSIsImxlbmd0aCIsIm90aGVyTGluayIsIm90aGVySHJlZiIsIm90aGVyVmVyc2lvbiIsInNldFRpbWVvdXQiLCJyZW1vdmUiLCJwcmVsb2FkTGluayIsInF1ZXJ5U2VsZWN0b3IiLCJvYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJvYnNlcnZlIiwiaGVhZCIsImNoaWxkTGlzdCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-link-gc.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-next-dev.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/client/app-next-dev.js ***! \*******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// TODO-APP: hydration warning\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n__webpack_require__(/*! ./app-webpack */ \"(app-pages-browser)/./node_modules/next/dist/client/app-webpack.js\");\nconst _nextdevtools = __webpack_require__(/*! next/dist/compiled/next-devtools */ \"(app-pages-browser)/./node_modules/next/dist/compiled/next-devtools/index.js\");\nconst _appbootstrap = __webpack_require__(/*! ./app-bootstrap */ \"(app-pages-browser)/./node_modules/next/dist/client/app-bootstrap.js\");\nconst _stitchederror = __webpack_require__(/*! ../next-devtools/userspace/app/errors/stitched-error */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js\");\nconst _onrecoverableerror = __webpack_require__(/*! ./react-client-callbacks/on-recoverable-error */ \"(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js\");\n// eslint-disable-next-line @next/internal/typechecked-require\nconst instrumentationHooks = __webpack_require__(/*! ../lib/require-instrumentation-client */ \"(app-pages-browser)/./node_modules/next/dist/lib/require-instrumentation-client.js\");\n(0, _appbootstrap.appBootstrap)(()=>{\n const { hydrate } = __webpack_require__(/*! ./app-index */ \"(app-pages-browser)/./node_modules/next/dist/client/app-index.js\");\n try {\n hydrate(instrumentationHooks);\n } finally{\n (0, _nextdevtools.renderAppDevOverlay)(_stitchederror.getComponentStack, _stitchederror.getOwnerStack, _onrecoverableerror.isRecoverableError);\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=app-next-dev.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1uZXh0LWRldi5qcyIsIm1hcHBpbmdzIjoiQUFBQSw4QkFBOEI7Ozs7O29CQUV2QjswQ0FFNkI7MENBQ1A7MkNBSXRCO2dEQUM0QjtBQUVuQyw4REFBOEQ7QUFDOUQsTUFBTUEsdUJBQXVCQyxtQkFBT0EsQ0FBQyxpSUFBdUM7QUFFNUVDLENBQUFBLEdBQUFBLGNBQUFBLFlBQUFBLEVBQWE7SUFDWCxNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHRixtQkFBT0EsQ0FBQyxxRkFBYTtJQUN6QyxJQUFJO1FBQ0ZFLFFBQVFIO0lBQ1YsU0FBVTtRQUNSSSxDQUFBQSxHQUFBQSxjQUFBQSxtQkFBQUEsRUFBb0JDLGVBQUFBLGlCQUFpQixFQUFFQyxlQUFBQSxhQUFhLEVBQUVDLG9CQUFBQSxrQkFBa0I7SUFDMUU7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9zcmMvY2xpZW50L2FwcC1uZXh0LWRldi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUT0RPLUFQUDogaHlkcmF0aW9uIHdhcm5pbmdcblxuaW1wb3J0ICcuL2FwcC13ZWJwYWNrJ1xuXG5pbXBvcnQgeyByZW5kZXJBcHBEZXZPdmVybGF5IH0gZnJvbSAnbmV4dC9kaXN0L2NvbXBpbGVkL25leHQtZGV2dG9vbHMnXG5pbXBvcnQgeyBhcHBCb290c3RyYXAgfSBmcm9tICcuL2FwcC1ib290c3RyYXAnXG5pbXBvcnQge1xuICBnZXRDb21wb25lbnRTdGFjayxcbiAgZ2V0T3duZXJTdGFjayxcbn0gZnJvbSAnLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL2Vycm9ycy9zdGl0Y2hlZC1lcnJvcidcbmltcG9ydCB7IGlzUmVjb3ZlcmFibGVFcnJvciB9IGZyb20gJy4vcmVhY3QtY2xpZW50LWNhbGxiYWNrcy9vbi1yZWNvdmVyYWJsZS1lcnJvcidcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBuZXh0L2ludGVybmFsL3R5cGVjaGVja2VkLXJlcXVpcmVcbmNvbnN0IGluc3RydW1lbnRhdGlvbkhvb2tzID0gcmVxdWlyZSgnLi4vbGliL3JlcXVpcmUtaW5zdHJ1bWVudGF0aW9uLWNsaWVudCcpXG5cbmFwcEJvb3RzdHJhcCgoKSA9PiB7XG4gIGNvbnN0IHsgaHlkcmF0ZSB9ID0gcmVxdWlyZSgnLi9hcHAtaW5kZXgnKSBhcyB0eXBlb2YgaW1wb3J0KCcuL2FwcC1pbmRleCcpXG4gIHRyeSB7XG4gICAgaHlkcmF0ZShpbnN0cnVtZW50YXRpb25Ib29rcylcbiAgfSBmaW5hbGx5IHtcbiAgICByZW5kZXJBcHBEZXZPdmVybGF5KGdldENvbXBvbmVudFN0YWNrLCBnZXRPd25lclN0YWNrLCBpc1JlY292ZXJhYmxlRXJyb3IpXG4gIH1cbn0pXG4iXSwibmFtZXMiOlsiaW5zdHJ1bWVudGF0aW9uSG9va3MiLCJyZXF1aXJlIiwiYXBwQm9vdHN0cmFwIiwiaHlkcmF0ZSIsInJlbmRlckFwcERldk92ZXJsYXkiLCJnZXRDb21wb25lbnRTdGFjayIsImdldE93bmVyU3RhY2siLCJpc1JlY292ZXJhYmxlRXJyb3IiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-next-dev.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/app-webpack.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/client/app-webpack.js ***! \******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// Override chunk URL mapping in the webpack runtime\n// https://github.com/webpack/webpack/blob/2738eebc7880835d88c727d364ad37f3ec557593/lib/RuntimeGlobals.js#L204\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _deploymentid = __webpack_require__(/*! ../build/deployment-id */ \"(app-pages-browser)/./node_modules/next/dist/build/deployment-id.js\");\nconst _encodeuripath = __webpack_require__(/*! ../shared/lib/encode-uri-path */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/encode-uri-path.js\");\n// If we have a deployment ID, we need to append it to the webpack chunk names\n// I am keeping the process check explicit so this can be statically optimized\nif (false) {} else {\n // eslint-disable-next-line no-undef\n const getChunkScriptFilename = __webpack_require__.u;\n // eslint-disable-next-line no-undef\n __webpack_require__.u = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return(// filename path.\n (0, _encodeuripath.encodeURIPath)(getChunkScriptFilename(...args)));\n };\n// We don't need to override __webpack_require__.k because we don't modify\n// the css chunk name when not using deployment id suffixes\n// WE don't need to override __webpack_require__.miniCssF because we don't modify\n// the mini css chunk name when not using deployment id suffixes\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=app-webpack.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC13ZWJwYWNrLmpzIiwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRDtBQUNwRCw4R0FBOEc7Ozs7OzBDQUU1RDsyQ0FDcEI7QUFJOUIsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxJQUFJQSxLQUE4QixFQUFFLEVBcUJuQyxNQUFNO0lBQ0wsb0NBQW9DO0lBQ3BDLE1BQU1LLHlCQUF5QkMsbUJBQW1CQSxDQUFDQyxDQUFDO0lBQ3BELG9DQUFvQztJQUNwQ0QsbUJBQW1CQSxDQUFDQyxDQUFDLEdBQUc7eUNBQUlDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1lBQUFBLElBQUFBLENBQUFBLEtBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztlQUUxQixpQkFBaUI7UUFDakJDLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWNKLDBCQUEwQkc7O0FBRTFDLDBFQUEwRTtBQUMxRSwyREFBMkQ7QUFFM0QsaUZBQWlGO0FBQ2pGLGdFQUFnRTtBQUNsRSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9zcmMvY2xpZW50L2FwcC13ZWJwYWNrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIE92ZXJyaWRlIGNodW5rIFVSTCBtYXBwaW5nIGluIHRoZSB3ZWJwYWNrIHJ1bnRpbWVcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrL3dlYnBhY2svYmxvYi8yNzM4ZWViYzc4ODA4MzVkODhjNzI3ZDM2NGFkMzdmM2VjNTU3NTkzL2xpYi9SdW50aW1lR2xvYmFscy5qcyNMMjA0XG5cbmltcG9ydCB7IGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZyB9IGZyb20gJy4uL2J1aWxkL2RlcGxveW1lbnQtaWQnXG5pbXBvcnQgeyBlbmNvZGVVUklQYXRoIH0gZnJvbSAnLi4vc2hhcmVkL2xpYi9lbmNvZGUtdXJpLXBhdGgnXG5cbmRlY2xhcmUgY29uc3QgX193ZWJwYWNrX3JlcXVpcmVfXzogYW55XG5cbi8vIElmIHdlIGhhdmUgYSBkZXBsb3ltZW50IElELCB3ZSBuZWVkIHRvIGFwcGVuZCBpdCB0byB0aGUgd2VicGFjayBjaHVuayBuYW1lc1xuLy8gSSBhbSBrZWVwaW5nIHRoZSBwcm9jZXNzIGNoZWNrIGV4cGxpY2l0IHNvIHRoaXMgY2FuIGJlIHN0YXRpY2FsbHkgb3B0aW1pemVkXG5pZiAocHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEKSB7XG4gIGNvbnN0IHN1ZmZpeCA9IGdldERlcGxveW1lbnRJZFF1ZXJ5T3JFbXB0eVN0cmluZygpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBjb25zdCBnZXRDaHVua1NjcmlwdEZpbGVuYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXy51XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBfX3dlYnBhY2tfcmVxdWlyZV9fLnUgPSAoLi4uYXJnczogYW55W10pID0+XG4gICAgLy8gV2UgZW5jb2RlIHRoZSBjaHVuayBmaWxlbmFtZSBiZWNhdXNlIG91ciBzdGF0aWMgc2VydmVyIG1hdGNoZXMgYWdhaW5zdCBhbmQgZW5jb2RlZFxuICAgIC8vIGZpbGVuYW1lIHBhdGguXG4gICAgZW5jb2RlVVJJUGF0aChnZXRDaHVua1NjcmlwdEZpbGVuYW1lKC4uLmFyZ3MpKSArIHN1ZmZpeFxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBjb25zdCBnZXRDaHVua0Nzc0ZpbGVuYW1lID0gX193ZWJwYWNrX3JlcXVpcmVfXy5rXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBfX3dlYnBhY2tfcmVxdWlyZV9fLmsgPSAoLi4uYXJnczogYW55W10pID0+XG4gICAgZ2V0Q2h1bmtDc3NGaWxlbmFtZSguLi5hcmdzKSArIHN1ZmZpeFxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBjb25zdCBnZXRNaW5pQ3NzRmlsZW5hbWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLm1pbmlDc3NGXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICBfX3dlYnBhY2tfcmVxdWlyZV9fLm1pbmlDc3NGID0gKC4uLmFyZ3M6IGFueVtdKSA9PlxuICAgIGdldE1pbmlDc3NGaWxlbmFtZSguLi5hcmdzKSArIHN1ZmZpeFxufSBlbHNlIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIGNvbnN0IGdldENodW5rU2NyaXB0RmlsZW5hbWUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fLnVcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIF9fd2VicGFja19yZXF1aXJlX18udSA9ICguLi5hcmdzOiBhbnlbXSkgPT5cbiAgICAvLyBXZSBlbmNvZGUgdGhlIGNodW5rIGZpbGVuYW1lIGJlY2F1c2Ugb3VyIHN0YXRpYyBzZXJ2ZXIgbWF0Y2hlcyBhZ2FpbnN0IGFuZCBlbmNvZGVkXG4gICAgLy8gZmlsZW5hbWUgcGF0aC5cbiAgICBlbmNvZGVVUklQYXRoKGdldENodW5rU2NyaXB0RmlsZW5hbWUoLi4uYXJncykpXG5cbiAgLy8gV2UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSBfX3dlYnBhY2tfcmVxdWlyZV9fLmsgYmVjYXVzZSB3ZSBkb24ndCBtb2RpZnlcbiAgLy8gdGhlIGNzcyBjaHVuayBuYW1lIHdoZW4gbm90IHVzaW5nIGRlcGxveW1lbnQgaWQgc3VmZml4ZXNcblxuICAvLyBXRSBkb24ndCBuZWVkIHRvIG92ZXJyaWRlIF9fd2VicGFja19yZXF1aXJlX18ubWluaUNzc0YgYmVjYXVzZSB3ZSBkb24ndCBtb2RpZnlcbiAgLy8gdGhlIG1pbmkgY3NzIGNodW5rIG5hbWUgd2hlbiBub3QgdXNpbmcgZGVwbG95bWVudCBpZCBzdWZmaXhlc1xufVxuXG5leHBvcnQge31cbiJdLCJuYW1lcyI6WyJwcm9jZXNzIiwiZW52IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwic3VmZml4IiwiZ2V0RGVwbG95bWVudElkUXVlcnlPckVtcHR5U3RyaW5nIiwiZ2V0Q2h1bmtTY3JpcHRGaWxlbmFtZSIsIl9fd2VicGFja19yZXF1aXJlX18iLCJ1IiwiYXJncyIsImVuY29kZVVSSVBhdGgiLCJnZXRDaHVua0Nzc0ZpbGVuYW1lIiwiayIsImdldE1pbmlDc3NGaWxlbmFtZSIsIm1pbmlDc3NGIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/app-webpack.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/assign-location.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/client/assign-location.js ***! \**********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"assignLocation\", ({\n enumerable: true,\n get: function() {\n return assignLocation;\n }\n}));\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nfunction assignLocation(location, url) {\n if (location.startsWith('.')) {\n const urlBase = url.origin + url.pathname;\n return new URL(// new URL('./relative', 'https://example.com/subdir').href -> 'https://example.com/relative'\n // new URL('./relative', 'https://example.com/subdir/').href -> 'https://example.com/subdir/relative'\n (urlBase.endsWith('/') ? urlBase : urlBase + '/') + location);\n }\n return new URL((0, _addbasepath.addBasePath)(location), url.href);\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=assign-location.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Fzc2lnbi1sb2NhdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVNnQkE7OztlQUFBQTs7O3lDQVRZO0FBU3JCLFNBQVNBLGVBQWVDLFFBQWdCLEVBQUVDLEdBQVE7SUFDdkQsSUFBSUQsU0FBU0UsVUFBVSxDQUFDLE1BQU07UUFDNUIsTUFBTUMsVUFBVUYsSUFBSUcsTUFBTSxHQUFHSCxJQUFJSSxRQUFRO1FBQ3pDLE9BQU8sSUFBSUMsSUFDVCw2RkFDNkY7UUFDN0YscUdBQXFHO1NBQ3BHSCxRQUFRSSxRQUFRLENBQUMsT0FBT0osVUFBVUEsVUFBVSxJQUFFLEdBQUtIO0lBRXhEO0lBRUEsT0FBTyxJQUFJTSxJQUFJRSxDQUFBQSxHQUFBQSxhQUFBQSxXQUFBQSxFQUFZUixXQUFXQyxJQUFJUSxJQUFJO0FBQ2hEIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvRGV2L3NyYy9jbGllbnQvYXNzaWduLWxvY2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEJhc2VQYXRoIH0gZnJvbSAnLi9hZGQtYmFzZS1wYXRoJ1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGNvcnJlY3RseSBhc3NpZ24gbG9jYXRpb24gdG8gVVJMXG4gKlxuICogVGhlIG1ldGhvZCB3aWxsIGFkZCBiYXNlUGF0aCwgYW5kIHdpbGwgYWxzbyBjb3JyZWN0bHkgYWRkIGxvY2F0aW9uIChpbmNsdWRpbmcgaWYgaXQgaXMgYSByZWxhdGl2ZSBwYXRoKVxuICogQHBhcmFtIGxvY2F0aW9uIExvY2F0aW9uIHRoYXQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSB1cmxcbiAqIEBwYXJhbSB1cmwgQmFzZSBVUkwgdG8gd2hpY2ggdGhlIGxvY2F0aW9uIHNob3VsZCBiZSBhc3NpZ25lZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYXNzaWduTG9jYXRpb24obG9jYXRpb246IHN0cmluZywgdXJsOiBVUkwpOiBVUkwge1xuICBpZiAobG9jYXRpb24uc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgY29uc3QgdXJsQmFzZSA9IHVybC5vcmlnaW4gKyB1cmwucGF0aG5hbWVcbiAgICByZXR1cm4gbmV3IFVSTChcbiAgICAgIC8vIEluIG9yZGVyIGZvciBhIHJlbGF0aXZlIHBhdGggdG8gYmUgYWRkZWQgdG8gdGhlIGN1cnJlbnQgdXJsIGNvcnJlY3RseSwgdGhlIGN1cnJlbnQgdXJsIG11c3QgZW5kIHdpdGggYSBzbGFzaFxuICAgICAgLy8gbmV3IFVSTCgnLi9yZWxhdGl2ZScsICdodHRwczovL2V4YW1wbGUuY29tL3N1YmRpcicpLmhyZWYgLT4gJ2h0dHBzOi8vZXhhbXBsZS5jb20vcmVsYXRpdmUnXG4gICAgICAvLyBuZXcgVVJMKCcuL3JlbGF0aXZlJywgJ2h0dHBzOi8vZXhhbXBsZS5jb20vc3ViZGlyLycpLmhyZWYgLT4gJ2h0dHBzOi8vZXhhbXBsZS5jb20vc3ViZGlyL3JlbGF0aXZlJ1xuICAgICAgKHVybEJhc2UuZW5kc1dpdGgoJy8nKSA/IHVybEJhc2UgOiB1cmxCYXNlICsgJy8nKSArIGxvY2F0aW9uXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIG5ldyBVUkwoYWRkQmFzZVBhdGgobG9jYXRpb24pLCB1cmwuaHJlZilcbn1cbiJdLCJuYW1lcyI6WyJhc3NpZ25Mb2NhdGlvbiIsImxvY2F0aW9uIiwidXJsIiwic3RhcnRzV2l0aCIsInVybEJhc2UiLCJvcmlnaW4iLCJwYXRobmFtZSIsIlVSTCIsImVuZHNXaXRoIiwiYWRkQmFzZVBhdGgiLCJocmVmIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/assign-location.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router-announcer.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-dom/index.js\");\nconst ANNOUNCER_TYPE = 'next-route-announcer';\nconst ANNOUNCER_ID = '__next-route-announcer__';\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = 'position:absolute';\n const announcer = document.createElement('div');\n announcer.ariaLive = 'assertive';\n announcer.id = ANNOUNCER_ID;\n announcer.role = 'alert';\n announcer.style.cssText = 'position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal';\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: 'open'\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)('');\n const previousTitle = (0, _react.useRef)(undefined);\n (0, _react.useEffect)(()=>{\n let currentTitle = '';\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector('h1');\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || '';\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\n_c = AppRouterAnnouncer;\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-announcer.js.map\nvar _c;\n$RefreshReg$(_c, \"AppRouterAnnouncer\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1hbm5vdW5jZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztzREE2QmdCQTs7O2VBQUFBOzs7bUNBN0I0QjtzQ0FDZjtBQUc3QixNQUFNQyxpQkFBaUI7QUFDdkIsTUFBTUMsZUFBZTtBQUVyQixTQUFTQztRQUVIQztJQURKLE1BQU1BLG9CQUFvQkMsU0FBU0MsaUJBQWlCLENBQUNMLGVBQWUsQ0FBQyxFQUFFO0lBQ3ZFLElBQUlHLHFCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSxnQ0FBQUEsa0JBQW1CRyxVQUFBQSxLQUFVLGdCQUE3QkgsOEJBQStCSSxVQUFVLENBQUMsRUFBRSxFQUFFO1FBQ2hELE9BQU9KLGtCQUFrQkcsVUFBVSxDQUFDQyxVQUFVLENBQUMsRUFBRTtJQUNuRCxPQUFPO1FBQ0wsTUFBTUMsWUFBWUosU0FBU0ssYUFBYSxDQUFDVDtRQUN6Q1EsVUFBVUUsS0FBSyxDQUFDQyxPQUFPLEdBQUc7UUFDMUIsTUFBTUMsWUFBWVIsU0FBU0ssYUFBYSxDQUFDO1FBQ3pDRyxVQUFVQyxRQUFRLEdBQUc7UUFDckJELFVBQVVFLEVBQUUsR0FBR2I7UUFDZlcsVUFBVUcsSUFBSSxHQUFHO1FBQ2pCSCxVQUFVRixLQUFLLENBQUNDLE9BQU8sR0FDckI7UUFFRix1REFBdUQ7UUFDdkQsTUFBTUssU0FBU1IsVUFBVVMsWUFBWSxDQUFDO1lBQUVDLE1BQU07UUFBTztRQUNyREYsT0FBT0csV0FBVyxDQUFDUDtRQUNuQlIsU0FBU2dCLElBQUksQ0FBQ0QsV0FBVyxDQUFDWDtRQUMxQixPQUFPSTtJQUNUO0FBQ0Y7QUFFTyw0QkFBNEIsS0FBcUM7SUFBckMsTUFBRVMsSUFBSSxFQUErQixHQUFyQztJQUNqQyxNQUFNLENBQUNDLFlBQVlDLGNBQWMsR0FBR0MsQ0FBQUEsR0FBQUEsT0FBQUEsUUFBQUEsRUFBNkI7SUFFakVDLENBQUFBLEdBQUFBLE9BQUFBLFNBQUFBLEVBQVU7UUFDUixNQUFNYixZQUFZVjtRQUNsQnFCLGNBQWNYO1FBQ2QsT0FBTztZQUNMLE1BQU1KLFlBQVlKLFNBQVNzQixvQkFBb0IsQ0FBQzFCLGVBQWUsQ0FBQyxFQUFFO1lBQ2xFLElBQUlRLGFBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFVBQVdtQixXQUFXLEVBQUU7Z0JBQzFCdkIsU0FBU2dCLElBQUksQ0FBQ1EsV0FBVyxDQUFDcEI7WUFDNUI7UUFDRjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ3FCLG1CQUFtQkMscUJBQXFCLEdBQUdOLENBQUFBLEdBQUFBLE9BQUFBLFFBQUFBLEVBQVM7SUFDM0QsTUFBTU8sZ0JBQWdCQyxDQUFBQSxHQUFBQSxPQUFBQSxNQUFBQSxFQUEyQkM7SUFFakRSLENBQUFBLEdBQUFBLE9BQUFBLFNBQUFBLEVBQVU7UUFDUixJQUFJUyxlQUFlO1FBQ25CLElBQUk5QixTQUFTK0IsS0FBSyxFQUFFO1lBQ2xCRCxlQUFlOUIsU0FBUytCLEtBQUs7UUFDL0IsT0FBTztZQUNMLE1BQU1DLGFBQWFoQyxTQUFTaUMsYUFBYSxDQUFDO1lBQzFDLElBQUlELFlBQVk7Z0JBQ2RGLGVBQWVFLFdBQVdFLFNBQVMsSUFBSUYsV0FBV0csV0FBVyxJQUFJO1lBQ25FO1FBQ0Y7UUFFQSw0RUFBNEU7UUFDNUUsaUNBQWlDO1FBQ2pDLElBQ0VSLGNBQWNTLE9BQU8sS0FBS1AsYUFDMUJGLGNBQWNTLE9BQU8sS0FBS04sY0FDMUI7WUFDQUoscUJBQXFCSTtRQUN2QjtRQUNBSCxjQUFjUyxPQUFPLEdBQUdOO0lBQzFCLEdBQUc7UUFBQ2I7S0FBSztJQUVULE9BQU9DLGFBQUFBLFdBQUFBLEdBQWFtQixDQUFBQSxHQUFBQSxVQUFBQSxZQUFBQSxFQUFhWixtQkFBbUJQLGNBQWM7QUFDcEU7S0F4Q2dCdkIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1hbm5vdW5jZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuaW1wb3J0IHR5cGUgeyBGbGlnaHRSb3V0ZXJTdGF0ZSB9IGZyb20gJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuXG5jb25zdCBBTk5PVU5DRVJfVFlQRSA9ICduZXh0LXJvdXRlLWFubm91bmNlcidcbmNvbnN0IEFOTk9VTkNFUl9JRCA9ICdfX25leHQtcm91dGUtYW5ub3VuY2VyX18nXG5cbmZ1bmN0aW9uIGdldEFubm91bmNlck5vZGUoKSB7XG4gIGNvbnN0IGV4aXN0aW5nQW5ub3VuY2VyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoQU5OT1VOQ0VSX1RZUEUpWzBdXG4gIGlmIChleGlzdGluZ0Fubm91bmNlcj8uc2hhZG93Um9vdD8uY2hpbGROb2Rlc1swXSkge1xuICAgIHJldHVybiBleGlzdGluZ0Fubm91bmNlci5zaGFkb3dSb290LmNoaWxkTm9kZXNbMF0gYXMgSFRNTEVsZW1lbnRcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KEFOTk9VTkNFUl9UWVBFKVxuICAgIGNvbnRhaW5lci5zdHlsZS5jc3NUZXh0ID0gJ3Bvc2l0aW9uOmFic29sdXRlJ1xuICAgIGNvbnN0IGFubm91bmNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpXG4gICAgYW5ub3VuY2VyLmFyaWFMaXZlID0gJ2Fzc2VydGl2ZSdcbiAgICBhbm5vdW5jZXIuaWQgPSBBTk5PVU5DRVJfSURcbiAgICBhbm5vdW5jZXIucm9sZSA9ICdhbGVydCdcbiAgICBhbm5vdW5jZXIuc3R5bGUuY3NzVGV4dCA9XG4gICAgICAncG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7d2lkdGg6MXB4O2NsaXA6cmVjdCgwIDAgMCAwKTtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3dvcmQtd3JhcDpub3JtYWwnXG5cbiAgICAvLyBVc2Ugc2hhZG93IERPTSBoZXJlIHRvIGF2b2lkIGFueSBwb3RlbnRpYWwgQ1NTIGJsZWVkXG4gICAgY29uc3Qgc2hhZG93ID0gY29udGFpbmVyLmF0dGFjaFNoYWRvdyh7IG1vZGU6ICdvcGVuJyB9KVxuICAgIHNoYWRvdy5hcHBlbmRDaGlsZChhbm5vdW5jZXIpXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250YWluZXIpXG4gICAgcmV0dXJuIGFubm91bmNlclxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBcHBSb3V0ZXJBbm5vdW5jZXIoeyB0cmVlIH06IHsgdHJlZTogRmxpZ2h0Um91dGVyU3RhdGUgfSkge1xuICBjb25zdCBbcG9ydGFsTm9kZSwgc2V0UG9ydGFsTm9kZV0gPSB1c2VTdGF0ZTxIVE1MRWxlbWVudCB8IG51bGw+KG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhbm5vdW5jZXIgPSBnZXRBbm5vdW5jZXJOb2RlKClcbiAgICBzZXRQb3J0YWxOb2RlKGFubm91bmNlcilcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoQU5OT1VOQ0VSX1RZUEUpWzBdXG4gICAgICBpZiAoY29udGFpbmVyPy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGNvbnRhaW5lcilcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IFtyb3V0ZUFubm91bmNlbWVudCwgc2V0Um91dGVBbm5vdW5jZW1lbnRdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IHByZXZpb3VzVGl0bGUgPSB1c2VSZWY8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY3VycmVudFRpdGxlID0gJydcbiAgICBpZiAoZG9jdW1lbnQudGl0bGUpIHtcbiAgICAgIGN1cnJlbnRUaXRsZSA9IGRvY3VtZW50LnRpdGxlXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHBhZ2VIZWFkZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdoMScpXG4gICAgICBpZiAocGFnZUhlYWRlcikge1xuICAgICAgICBjdXJyZW50VGl0bGUgPSBwYWdlSGVhZGVyLmlubmVyVGV4dCB8fCBwYWdlSGVhZGVyLnRleHRDb250ZW50IHx8ICcnXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT25seSBhbm5vdW5jZSB0aGUgdGl0bGUgY2hhbmdlLCBidXQgbm90IGZvciB0aGUgZmlyc3QgbG9hZCBiZWNhdXNlIHNjcmVlblxuICAgIC8vIHJlYWRlcnMgZG8gdGhhdCBhdXRvbWF0aWNhbGx5LlxuICAgIGlmIChcbiAgICAgIHByZXZpb3VzVGl0bGUuY3VycmVudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcmV2aW91c1RpdGxlLmN1cnJlbnQgIT09IGN1cnJlbnRUaXRsZVxuICAgICkge1xuICAgICAgc2V0Um91dGVBbm5vdW5jZW1lbnQoY3VycmVudFRpdGxlKVxuICAgIH1cbiAgICBwcmV2aW91c1RpdGxlLmN1cnJlbnQgPSBjdXJyZW50VGl0bGVcbiAgfSwgW3RyZWVdKVxuXG4gIHJldHVybiBwb3J0YWxOb2RlID8gY3JlYXRlUG9ydGFsKHJvdXRlQW5ub3VuY2VtZW50LCBwb3J0YWxOb2RlKSA6IG51bGxcbn1cbiJdLCJuYW1lcyI6WyJBcHBSb3V0ZXJBbm5vdW5jZXIiLCJBTk5PVU5DRVJfVFlQRSIsIkFOTk9VTkNFUl9JRCIsImdldEFubm91bmNlck5vZGUiLCJleGlzdGluZ0Fubm91bmNlciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJzaGFkb3dSb290IiwiY2hpbGROb2RlcyIsImNvbnRhaW5lciIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImNzc1RleHQiLCJhbm5vdW5jZXIiLCJhcmlhTGl2ZSIsImlkIiwicm9sZSIsInNoYWRvdyIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCJ0cmVlIiwicG9ydGFsTm9kZSIsInNldFBvcnRhbE5vZGUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaXNDb25uZWN0ZWQiLCJyZW1vdmVDaGlsZCIsInJvdXRlQW5ub3VuY2VtZW50Iiwic2V0Um91dGVBbm5vdW5jZW1lbnQiLCJwcmV2aW91c1RpdGxlIiwidXNlUmVmIiwidW5kZWZpbmVkIiwiY3VycmVudFRpdGxlIiwidGl0bGUiLCJwYWdlSGVhZGVyIiwicXVlcnlTZWxlY3RvciIsImlubmVyVGV4dCIsInRleHRDb250ZW50IiwiY3VycmVudCIsImNyZWF0ZVBvcnRhbCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router-announcer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js": /*!************************************************************************!*\ !*** ./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_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_IS_PRERENDER_HEADER: function() {\n return NEXT_IS_PRERENDER_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';\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUNhQSxhQUFhO2VBQWJBOztJQWlCQUMsY0FBYztlQUFkQTs7SUFlQUMsNEJBQTRCO2VBQTVCQTs7SUFKQUMsd0JBQXdCO2VBQXhCQTs7SUFmQUMsNEJBQTRCO2VBQTVCQTs7SUFEQUMsdUJBQXVCO2VBQXZCQTs7SUFtQkFDLHdCQUF3QjtlQUF4QkE7O0lBRkFDLDBCQUEwQjtlQUExQkE7O0lBQ0FDLDJCQUEyQjtlQUEzQkE7O0lBekJBQywyQkFBMkI7ZUFBM0JBOztJQUtBQyxtQ0FBbUM7ZUFBbkNBOztJQWlCQUMsNkJBQTZCO2VBQTdCQTs7SUF2QkFDLDZCQUE2QjtlQUE3QkE7O0lBcUJBQyxvQkFBb0I7ZUFBcEJBOztJQVhBQyxRQUFRO2VBQVJBOztJQUNBQyx1QkFBdUI7ZUFBdkJBOztJQWhCQUMsVUFBVTtlQUFWQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNaEIsZ0JBQWdCO0FBSXRCLE1BQU1ZLGdDQUFnQztBQUN0QyxNQUFNSCw4QkFBOEI7QUFLcEMsTUFBTUMsc0NBQ1g7QUFDSyxNQUFNTCwwQkFBMEI7QUFDaEMsTUFBTUQsK0JBQStCO0FBQ3JDLE1BQU1VLFdBQVc7QUFDakIsTUFBTUMsMEJBQTBCO0FBRWhDLE1BQU1kLGlCQUFpQjtJQUM1QmU7SUFDQUo7SUFDQUg7SUFDQUo7SUFDQUs7Q0FDRDtBQUVNLE1BQU1HLHVCQUF1QjtBQUU3QixNQUFNRixnQ0FBZ0M7QUFDdEMsTUFBTVIsMkJBQTJCO0FBQ2pDLE1BQU1JLDZCQUE2QjtBQUNuQyxNQUFNQyw4QkFBOEI7QUFDcEMsTUFBTUYsMkJBQTJCO0FBQ2pDLE1BQU1KLCtCQUErQiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJTQ19IRUFERVIgPSAnUlNDJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IEFDVElPTl9IRUFERVIgPSAnTmV4dC1BY3Rpb24nIGFzIGNvbnN0XG4vLyBUT0RPOiBJbnN0ZWFkIG9mIHNlbmRpbmcgdGhlIGZ1bGwgcm91dGVyIHN0YXRlLCB3ZSBvbmx5IG5lZWQgdG8gc2VuZCB0aGVcbi8vIHNlZ21lbnQgcGF0aC4gU2F2ZXMgYnl0ZXMuIFRoZW4gd2UgY291bGQgYWxzbyB1c2UgdGhpcyBmaWVsZCBmb3Igc2VnbWVudFxuLy8gcHJlZmV0Y2hlcywgd2hpY2ggYWxzbyBuZWVkIHRvIHNwZWNpZnkgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuXG5leHBvcnQgY29uc3QgTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVIgPSAnTmV4dC1Sb3V0ZXItU3RhdGUtVHJlZScgYXMgY29uc3RcbmV4cG9ydCBjb25zdCBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIgPSAnTmV4dC1Sb3V0ZXItUHJlZmV0Y2gnIGFzIGNvbnN0XG4vLyBUaGlzIGNvbnRhaW5zIHRoZSBwYXRoIHRvIHRoZSBzZWdtZW50IGJlaW5nIHByZWZldGNoZWQuXG4vLyBUT0RPOiBJZiB3ZSBjaGFuZ2UgTmV4dC1Sb3V0ZXItU3RhdGUtVHJlZSB0byBiZSBhIHNlZ21lbnQgcGF0aCwgd2UgY2FuIHVzZVxuLy8gdGhhdCBpbnN0ZWFkLiBUaGVuIE5leHQtUm91dGVyLVByZWZldGNoIGFuZCBOZXh0LVJvdXRlci1TZWdtZW50LVByZWZldGNoIGNhblxuLy8gYmUgbWVyZ2VkIGludG8gYSBzaW5nbGUgZW51bS5cbmV4cG9ydCBjb25zdCBORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUiA9XG4gICdOZXh0LVJvdXRlci1TZWdtZW50LVByZWZldGNoJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfSE1SX1JFRlJFU0hfSEVBREVSID0gJ05leHQtSE1SLVJlZnJlc2gnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9ITVJfUkVGUkVTSF9IQVNIX0NPT0tJRSA9ICdfX25leHRfaG1yX3JlZnJlc2hfaGFzaF9fJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfVVJMID0gJ05leHQtVXJsJyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IFJTQ19DT05URU5UX1RZUEVfSEVBREVSID0gJ3RleHQveC1jb21wb25lbnQnIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBGTElHSFRfSEVBREVSUyA9IFtcbiAgUlNDX0hFQURFUixcbiAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVIsXG4gIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUixcbiAgTkVYVF9ITVJfUkVGUkVTSF9IRUFERVIsXG4gIE5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSLFxuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgTkVYVF9SU0NfVU5JT05fUVVFUlkgPSAnX3JzYycgYXMgY29uc3RcblxuZXhwb3J0IGNvbnN0IE5FWFRfUk9VVEVSX1NUQUxFX1RJTUVfSEVBREVSID0gJ3gtbmV4dGpzLXN0YWxlLXRpbWUnIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSID0gJ3gtbmV4dGpzLXBvc3Rwb25lZCcgYXMgY29uc3RcbmV4cG9ydCBjb25zdCBORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUiA9ICd4LW5leHRqcy1yZXdyaXR0ZW4tcGF0aCcgYXMgY29uc3RcbmV4cG9ydCBjb25zdCBORVhUX1JFV1JJVFRFTl9RVUVSWV9IRUFERVIgPSAneC1uZXh0anMtcmV3cml0dGVuLXF1ZXJ5JyBhcyBjb25zdFxuZXhwb3J0IGNvbnN0IE5FWFRfSVNfUFJFUkVOREVSX0hFQURFUiA9ICd4LW5leHRqcy1wcmVyZW5kZXInIGFzIGNvbnN0XG5leHBvcnQgY29uc3QgTkVYVF9BQ1RJT05fTk9UX0ZPVU5EX0hFQURFUiA9ICd4LW5leHRqcy1hY3Rpb24tbm90LWZvdW5kJyBhcyBjb25zdFxuIl0sIm5hbWVzIjpbIkFDVElPTl9IRUFERVIiLCJGTElHSFRfSEVBREVSUyIsIk5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJORVhUX0hNUl9SRUZSRVNIX0hBU0hfQ09PS0lFIiwiTkVYVF9ITVJfUkVGUkVTSF9IRUFERVIiLCJORVhUX0lTX1BSRVJFTkRFUl9IRUFERVIiLCJORVhUX1JFV1JJVFRFTl9QQVRIX0hFQURFUiIsIk5FWFRfUkVXUklUVEVOX1FVRVJZX0hFQURFUiIsIk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSIiwiTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUiIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwiTkVYVF9VUkwiLCJSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiIsIlJTQ19IRUFERVIiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router-instance.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-instance.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 createMutableActionQueue: function() {\n return createMutableActionQueue;\n },\n dispatchNavigateAction: function() {\n return dispatchNavigateAction;\n },\n dispatchTraverseAction: function() {\n return dispatchTraverseAction;\n },\n getCurrentAppRouterState: function() {\n return getCurrentAppRouterState;\n },\n publicAppRouterInstance: function() {\n return publicAppRouterInstance;\n }\n});\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _routerreducer = __webpack_require__(/*! ./router-reducer/router-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _isthenable = __webpack_require__(/*! ../../shared/lib/is-thenable */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/is-thenable.js\");\nconst _segmentcache = __webpack_require__(/*! ./segment-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js\");\nconst _useactionqueue = __webpack_require__(/*! ./use-action-queue */ \"(app-pages-browser)/./node_modules/next/dist/client/components/use-action-queue.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuter = __webpack_require__(/*! ./app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./router-reducer/reducers/prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _links = __webpack_require__(/*! ./links */ \"(app-pages-browser)/./node_modules/next/dist/client/components/links.js\");\nfunction runRemainingActions(actionQueue, setState) {\n if (actionQueue.pending !== null) {\n actionQueue.pending = actionQueue.pending.next;\n if (actionQueue.pending !== null) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n runAction({\n actionQueue,\n action: actionQueue.pending,\n setState\n });\n } else {\n // No more actions are pending, check if a refresh is needed\n if (actionQueue.needsRefresh) {\n actionQueue.needsRefresh = false;\n actionQueue.dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n }, setState);\n }\n }\n }\n}\nasync function runAction(param) {\n let { actionQueue, action, setState } = param;\n const prevState = actionQueue.state;\n actionQueue.pending = action;\n const payload = action.payload;\n const actionResult = actionQueue.action(prevState, payload);\n function handleResult(nextState) {\n // if we discarded this action, the state should also be discarded\n if (action.discarded) {\n return;\n }\n actionQueue.state = nextState;\n runRemainingActions(actionQueue, setState);\n action.resolve(nextState);\n }\n // if the action is a promise, set up a callback to resolve it\n if ((0, _isthenable.isThenable)(actionResult)) {\n actionResult.then(handleResult, (err)=>{\n runRemainingActions(actionQueue, setState);\n action.reject(err);\n });\n } else {\n handleResult(actionResult);\n }\n}\nfunction dispatchAction(actionQueue, payload, setState) {\n let resolvers = {\n resolve: setState,\n reject: ()=>{}\n };\n // most of the action types are async with the exception of restore\n // it's important that restore is handled quickly since it's fired on the popstate event\n // and we don't want to add any delay on a back/forward nav\n // this only creates a promise for the async actions\n if (payload.type !== _routerreducertypes.ACTION_RESTORE) {\n // Create the promise and assign the resolvers to the object.\n const deferredPromise = new Promise((resolve, reject)=>{\n resolvers = {\n resolve,\n reject\n };\n });\n (0, _react.startTransition)(()=>{\n // we immediately notify React of the pending promise -- the resolver is attached to the action node\n // and will be called when the associated action promise resolves\n setState(deferredPromise);\n });\n }\n const newAction = {\n payload,\n next: null,\n resolve: resolvers.resolve,\n reject: resolvers.reject\n };\n // Check if the queue is empty\n if (actionQueue.pending === null) {\n // The queue is empty, so add the action and start it immediately\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE || payload.type === _routerreducertypes.ACTION_RESTORE) {\n // Navigations (including back/forward) take priority over any pending actions.\n // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately.\n actionQueue.pending.discarded = true;\n // The rest of the current queue should still execute after this navigation.\n // (Note that it can't contain any earlier navigations, because we always put those into `actionQueue.pending` by calling `runAction`)\n newAction.next = actionQueue.pending.next;\n // if the pending action was a server action, mark the queue as needing a refresh once events are processed\n if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) {\n actionQueue.needsRefresh = true;\n }\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else {\n // The queue is not empty, so add the action to the end of the queue\n // It will be started by runRemainingActions after the previous action finishes\n if (actionQueue.last !== null) {\n actionQueue.last.next = newAction;\n }\n actionQueue.last = newAction;\n }\n}\nlet globalActionQueue = null;\nfunction createMutableActionQueue(initialState, instrumentationHooks) {\n const actionQueue = {\n state: initialState,\n dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState),\n action: async (state, action)=>{\n const result = (0, _routerreducer.reducer)(state, action);\n return result;\n },\n pending: null,\n last: null,\n onRouterTransitionStart: instrumentationHooks !== null && typeof instrumentationHooks.onRouterTransitionStart === 'function' ? instrumentationHooks.onRouterTransitionStart : null\n };\n if (true) {\n // The action queue is lazily created on hydration, but after that point\n // it doesn't change. So we can store it in a global rather than pass\n // it around everywhere via props/context.\n if (globalActionQueue !== null) {\n throw Object.defineProperty(new Error('Internal Next.js Error: createMutableActionQueue was called more ' + 'than once'), \"__NEXT_ERROR_CODE\", {\n value: \"E624\",\n enumerable: false,\n configurable: true\n });\n }\n globalActionQueue = actionQueue;\n }\n return actionQueue;\n}\nfunction getCurrentAppRouterState() {\n return globalActionQueue !== null ? globalActionQueue.state : null;\n}\nfunction getAppRouterActionQueue() {\n if (globalActionQueue === null) {\n throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), \"__NEXT_ERROR_CODE\", {\n value: \"E668\",\n enumerable: false,\n configurable: true\n });\n }\n return globalActionQueue;\n}\nfunction getProfilingHookForOnNavigationStart() {\n if (globalActionQueue !== null) {\n return globalActionQueue.onRouterTransitionStart;\n }\n return null;\n}\nfunction dispatchNavigateAction(href, navigateType, shouldScroll, linkInstanceRef) {\n // TODO: This stuff could just go into the reducer. Leaving as-is for now\n // since we're about to rewrite all the router reducer stuff anyway.\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n if (false) {}\n (0, _links.setLinkForCurrentNavigation)(linkInstanceRef);\n const onRouterTransitionStart = getProfilingHookForOnNavigationStart();\n if (onRouterTransitionStart !== null) {\n onRouterTransitionStart(href, navigateType);\n }\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: (0, _approuter.isExternalURL)(url),\n locationSearch: location.search,\n shouldScroll,\n navigateType,\n allowAliasing: true\n });\n}\nfunction dispatchTraverseAction(href, tree) {\n const onRouterTransitionStart = getProfilingHookForOnNavigationStart();\n if (onRouterTransitionStart !== null) {\n onRouterTransitionStart(href, 'traverse');\n }\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(href),\n tree\n });\n}\nconst publicAppRouterInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: false ? // cache. So we don't need to dispatch an action.\n 0 : (href, options)=>{\n // Use the old prefetch implementation.\n const actionQueue = getAppRouterActionQueue();\n const url = (0, _approuter.createPrefetchURL)(href);\n if (url !== null) {\n var _options_kind;\n // The prefetch reducer doesn't actually update any state or\n // trigger a rerender. It just writes to a mutable cache. So we\n // shouldn't bother calling setState/dispatch; we can just re-run\n // the reducer directly using the current state.\n // TODO: Refactor this away from a \"reducer\" so it's\n // less confusing.\n (0, _prefetchreducer.prefetchReducer)(actionQueue.state, {\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n }\n },\n replace: (href, options)=>{\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n dispatchNavigateAction(href, 'replace', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null);\n });\n },\n push: (href, options)=>{\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n dispatchNavigateAction(href, 'push', (_options_scroll = options == null ? void 0 : options.scroll) != null ? _options_scroll : true, null);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n hmrRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_HMR_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n};\n// Exists for debugging purposes. Don't use in application code.\nif ( true && window.next) {\n window.next.router = publicAppRouterInstance;\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=app-router-instance.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1pbnN0YW5jZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUErTWdCQSx3QkFBd0I7ZUFBeEJBOztJQTBEQUMsc0JBQXNCO2VBQXRCQTs7SUErQkFDLHNCQUFzQjtlQUF0QkE7O0lBbkRBQyx3QkFBd0I7ZUFBeEJBOztJQXVFSEMsdUJBQXVCO2VBQXZCQTs7O2dEQWhUTjsyQ0FDaUI7bUNBQ1E7d0NBQ0w7MENBQzBCOzRDQUNiO3lDQUNaO3VDQUNxQjs2Q0FDakI7bUNBTStCO0FBa0MvRCxTQUFTQyxvQkFDUEMsV0FBaUMsRUFDakNDLFFBQThCO0lBRTlCLElBQUlELFlBQVlFLE9BQU8sS0FBSyxNQUFNO1FBQ2hDRixZQUFZRSxPQUFPLEdBQUdGLFlBQVlFLE9BQU8sQ0FBQ0MsSUFBSTtRQUM5QyxJQUFJSCxZQUFZRSxPQUFPLEtBQUssTUFBTTtZQUNoQyxtRUFBbUU7WUFDbkVFLFVBQVU7Z0JBQ1JKO2dCQUNBSyxRQUFRTCxZQUFZRSxPQUFPO2dCQUMzQkQ7WUFDRjtRQUNGLE9BQU87WUFDTCw0REFBNEQ7WUFDNUQsSUFBSUQsWUFBWU0sWUFBWSxFQUFFO2dCQUM1Qk4sWUFBWU0sWUFBWSxHQUFHO2dCQUMzQk4sWUFBWU8sUUFBUSxDQUNsQjtvQkFDRUMsTUFBTUMsb0JBQUFBLGNBQWM7b0JBQ3BCQyxRQUFRQyxPQUFPQyxRQUFRLENBQUNGLE1BQU07Z0JBQ2hDLEdBQ0FUO1lBRUo7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxlQUFlRyxVQUFVLEtBUXhCO0lBUndCLE1BQ3ZCSixXQUFXLEVBQ1hLLE1BQU0sRUFDTkosUUFBUSxFQUtULEdBUndCO0lBU3ZCLE1BQU1ZLFlBQVliLFlBQVljLEtBQUs7SUFFbkNkLFlBQVlFLE9BQU8sR0FBR0c7SUFFdEIsTUFBTVUsVUFBVVYsT0FBT1UsT0FBTztJQUM5QixNQUFNQyxlQUFlaEIsWUFB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QUFBQSxPQUFBQSxlQUFBQSxFQUFnQjtnQkFDMEJzQztZQUF4Q3pFLHVCQUF1QmlELE1BQU0sV0FBV3dCLENBQUFBLGtCQUFBQSxXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxRQUFTVyxNQUFBQSxLQUFNLE9BQWZYLGtCQUFtQixNQUFNO1FBQ25FO0lBQ0Y7SUFDQVksTUFBTSxDQUFDcEMsTUFBY3dCO1FBQ25CdEMsQ0FBQUEsR0FBQUEsT0FBQUEsZUFBQUEsRUFBZ0I7Z0JBQ3VCc0M7WUFBckN6RSx1QkFBdUJpRCxNQUFNLFFBQVF3QixDQUFBQSxrQkFBQUEsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU1csTUFBQUEsS0FBTSxPQUFmWCxrQkFBbUIsTUFBTTtRQUNoRTtJQUNGO0lBQ0FhLFNBQVM7UUFDUG5ELENBQUFBLEdBQUFBLE9BQUFBLGVBQUFBLEVBQWdCO1lBQ2QwQixDQUFBQSxHQUFBQSxnQkFBQUEsdUJBQXVCLEVBQUM7Z0JBQ3RCaEQsTUFBTUMsb0JBQUFBLGNBQWM7Z0JBQ3BCQyxRQUFRQyxPQUFPQyxRQUFRLENBQUNGLE1BQU07WUFDaEM7UUFDRjtJQUNGO0lBQ0F3RSxZQUFZO1FBQ1YsSUFBSS9CLEtBQW9CLEVBQW9CLEVBSTNDLE1BQU07WUFDTHJCLENBQUFBLEdBQUFBLE9BQUFBLGVBQUFBLEVBQWdCO2dCQUNkMEIsQ0FBQUEsR0FBQUEsZ0JBQUFBLHVCQUFBQSxFQUF3QjtvQkFDdEJoRCxNQUFNNEUsb0JBQUFBLGtCQUFrQjtvQkFDeEIxRSxRQUFRQyxPQUFPQyxRQUFRLENBQUNGLE1BQU07Z0JBQ2hDO1lBQ0Y7UUFDRjtJQUNGO0FBQ0Y7QUFFQSxnRUFBZ0U7QUFDaEUsSUFBSSxLQUE2QixJQUFJQyxPQUFPUixJQUFJLEVBQUU7SUFDaERRLE9BQU9SLElBQUksQ0FBQ2tGLE1BQU0sR0FBR3ZGO0FBQ3ZCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaW5zdGFuY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBBcHBSb3V0ZXJTdGF0ZSxcbiAgdHlwZSBSZWR1Y2VyQWN0aW9ucyxcbiAgdHlwZSBSZWR1Y2VyU3RhdGUsXG4gIEFDVElPTl9SRUZSRVNILFxuICBBQ1RJT05fU0VSVkVSX0FDVElPTixcbiAgQUNUSU9OX05BVklHQVRFLFxuICBBQ1RJT05fUkVTVE9SRSxcbiAgdHlwZSBOYXZpZ2F0ZUFjdGlvbixcbiAgQUNUSU9OX0hNUl9SRUZSRVNILFxuICBQcmVmZXRjaEtpbmQsXG4gIEFDVElPTl9QUkVGRVRDSCxcbn0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IHJlZHVjZXIgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyJ1xuaW1wb3J0IHsgc3RhcnRUcmFuc2l0aW9uIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBpc1RoZW5hYmxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9pcy10aGVuYWJsZSdcbmltcG9ydCB7IHByZWZldGNoIGFzIHByZWZldGNoV2l0aFNlZ21lbnRDYWNoZSB9IGZyb20gJy4vc2VnbWVudC1jYWNoZSdcbmltcG9ydCB7IGRpc3BhdGNoQXBwUm91dGVyQWN0aW9uIH0gZnJvbSAnLi91c2UtYWN0aW9uLXF1ZXVlJ1xuaW1wb3J0IHsgYWRkQmFzZVBhdGggfSBmcm9tICcuLi9hZGQtYmFzZS1wYXRoJ1xuaW1wb3J0IHsgY3JlYXRlUHJlZmV0Y2hVUkwsIGlzRXh0ZXJuYWxVUkwgfSBmcm9tICcuL2FwcC1yb3V0ZXInXG5pbXBvcnQgeyBwcmVmZXRjaFJlZHVjZXIgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXInXG5pbXBvcnQgdHlwZSB7XG4gIEFwcFJvdXRlckluc3RhbmNlLFxuICBOYXZpZ2F0ZU9wdGlvbnMsXG4gIFByZWZldGNoT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24sIHR5cGUgTGlua0luc3RhbmNlIH0gZnJvbSAnLi9saW5rcydcbmltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2xpZW50SW5zdHJ1bWVudGF0aW9uSG9va3MgfSBmcm9tICcuLi9hcHAtaW5kZXgnXG5pbXBvcnQgdHlwZSB7IEdsb2JhbEVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi9idWlsdGluL2dsb2JhbC1lcnJvcidcblxuZXhwb3J0IHR5cGUgRGlzcGF0Y2hTdGF0ZVByb21pc2UgPSBSZWFjdC5EaXNwYXRjaDxSZWR1Y2VyU3RhdGU+XG5cbmV4cG9ydCB0eXBlIEFwcFJvdXRlckFjdGlvblF1ZXVlID0ge1xuICBzdGF0ZTogQXBwUm91dGVyU3RhdGVcbiAgZGlzcGF0Y2g6IChwYXlsb2FkOiBSZWR1Y2VyQWN0aW9ucywgc2V0U3RhdGU6IERpc3BhdGNoU3RhdGVQcm9taXNlKSA9PiB2b2lkXG4gIGFjdGlvbjogKHN0YXRlOiBBcHBSb3V0ZXJTdGF0ZSwgYWN0aW9uOiBSZWR1Y2VyQWN0aW9ucykgPT4gUmVkdWNlclN0YXRlXG5cbiAgb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6XG4gICAgfCAoKHVybDogc3RyaW5nLCB0eXBlOiAncHVzaCcgfCAncmVwbGFjZScgfCAndHJhdmVyc2UnKSA9PiB2b2lkKVxuICAgIHwgbnVsbFxuXG4gIHBlbmRpbmc6IEFjdGlvblF1ZXVlTm9kZSB8IG51bGxcbiAgbmVlZHNSZWZyZXNoPzogYm9vbGVhblxuICBsYXN0OiBBY3Rpb25RdWV1ZU5vZGUgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEdsb2JhbEVycm9yU3RhdGUgPSBbXG4gIEdsb2JhbEVycm9yOiBHbG9iYWxFcnJvckNvbXBvbmVudCxcbiAgc3R5bGVzOiBSZWFjdC5SZWFjdE5vZGUsXG5dXG5cbmV4cG9ydCB0eXBlIEFjdGlvblF1ZXVlTm9kZSA9IHtcbiAgcGF5bG9hZDogUmVkdWNlckFjdGlvbnNcbiAgbmV4dDogQWN0aW9uUXVldWVOb2RlIHwgbnVsbFxuICByZXNvbHZlOiAodmFsdWU6IFJlZHVjZXJTdGF0ZSkgPT4gdm9pZFxuICByZWplY3Q6IChlcnI6IEVycm9yKSA9PiB2b2lkXG4gIGRpc2NhcmRlZD86IGJvb2xlYW5cbn1cblxuZnVuY3Rpb24gcnVuUmVtYWluaW5nQWN0aW9ucyhcbiAgYWN0aW9uUXVldWU6IEFwcFJvdXRlckFjdGlvblF1ZXVlLFxuICBzZXRTdGF0ZTogRGlzcGF0Y2hTdGF0ZVByb21pc2Vcbikge1xuICBpZiAoYWN0aW9uUXVldWUucGVuZGluZyAhPT0gbnVsbCkge1xuICAgIGFjdGlvblF1ZXVlLnBlbmRpbmcgPSBhY3Rpb25RdWV1ZS5wZW5kaW5nLm5leHRcbiAgICBpZiAoYWN0aW9uUXVldWUucGVuZGluZyAhPT0gbnVsbCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgcnVuQWN0aW9uKHtcbiAgICAgICAgYWN0aW9uUXVldWUsXG4gICAgICAgIGFjdGlvbjogYWN0aW9uUXVldWUucGVuZGluZyxcbiAgICAgICAgc2V0U3RhdGUsXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBtb3JlIGFjdGlvbnMgYXJlIHBlbmRpbmcsIGNoZWNrIGlmIGEgcmVmcmVzaCBpcyBuZWVkZWRcbiAgICAgIGlmIChhY3Rpb25RdWV1ZS5uZWVkc1JlZnJlc2gpIHtcbiAgICAgICAgYWN0aW9uUXVldWUubmVlZHNSZWZyZXNoID0gZmFsc2VcbiAgICAgICAgYWN0aW9uUXVldWUuZGlzcGF0Y2goXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogQUNUSU9OX1JFRlJFU0gsXG4gICAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXRTdGF0ZVxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bkFjdGlvbih7XG4gIGFjdGlvblF1ZXVlLFxuICBhY3Rpb24sXG4gIHNldFN0YXRlLFxufToge1xuICBhY3Rpb25RdWV1ZTogQXBwUm91dGVyQWN0aW9uUXVldWVcbiAgYWN0aW9uOiBBY3Rpb25RdWV1ZU5vZGVcbiAgc2V0U3RhdGU6IERpc3BhdGNoU3RhdGVQcm9taXNlXG59KSB7XG4gIGNvbnN0IHByZXZTdGF0ZSA9IGFjdGlvblF1ZXVlLnN0YXRlXG5cbiAgYWN0aW9uUXVldWUucGVuZGluZyA9IGFjdGlvblxuXG4gIGNvbnN0IHBheWxvYWQgPSBhY3Rpb24ucGF5bG9hZFxuICBjb25zdCBhY3Rpb25SZXN1bHQgPSBhY3Rpb25RdWV1ZS5hY3Rpb24ocHJldlN0YXRlLCBwYXlsb2FkKVxuXG4gIGZ1bmN0aW9uIGhhbmRsZVJlc3VsdChuZXh0U3RhdGU6IEFwcFJvdXRlclN0YXRlKSB7XG4gICAgLy8gaWYgd2UgZGlzY2FyZGVkIHRoaXMgYWN0aW9uLCB0aGUgc3RhdGUgc2hvdWxkIGFsc28gYmUgZGlzY2FyZGVkXG4gICAgaWYgKGFjdGlvbi5kaXNjYXJkZWQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGFjdGlvblF1ZXVlLnN0YXRlID0gbmV4dFN0YXRlXG5cbiAgICBydW5SZW1haW5pbmdBY3Rpb25zKGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSlcbiAgICBhY3Rpb24ucmVzb2x2ZShuZXh0U3RhdGUpXG4gIH1cblxuICAvLyBpZiB0aGUgYWN0aW9uIGlzIGEgcHJvbWlzZSwgc2V0IHVwIGEgY2FsbGJhY2sgdG8gcmVzb2x2ZSBpdFxuICBpZiAoaXNUaGVuYWJsZShhY3Rpb25SZXN1bHQpKSB7XG4gICAgYWN0aW9uUmVzdWx0LnRoZW4oaGFuZGxlUmVzdWx0LCAoZXJyKSA9PiB7XG4gICAgICBydW5SZW1haW5pbmdBY3Rpb25zKGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSlcbiAgICAgIGFjdGlvbi5yZWplY3QoZXJyKVxuICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgaGFuZGxlUmVzdWx0KGFjdGlvblJlc3VsdClcbiAgfVxufVxuXG5mdW5jdGlvbiBkaXNwYXRjaEFjdGlvbihcbiAgYWN0aW9uUXVldWU6IEFwcFJvdXRlckFjdGlvblF1ZXVlLFxuICBwYXlsb2FkOiBSZWR1Y2VyQWN0aW9ucyxcbiAgc2V0U3RhdGU6IERpc3BhdGNoU3RhdGVQcm9taXNlXG4pIHtcbiAgbGV0IHJlc29sdmVyczoge1xuICAgIHJlc29sdmU6ICh2YWx1ZTogUmVkdWNlclN0YXRlKSA9PiB2b2lkXG4gICAgcmVqZWN0OiAocmVhc29uOiBhbnkpID0+IHZvaWRcbiAgfSA9IHsgcmVzb2x2ZTogc2V0U3RhdGUsIHJlamVjdDogKCkgPT4ge30gfVxuXG4gIC8vIG1vc3Qgb2YgdGhlIGFjdGlvbiB0eXBlcyBhcmUgYXN5bmMgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHJlc3RvcmVcbiAgLy8gaXQncyBpbXBvcnRhbnQgdGhhdCByZXN0b3JlIGlzIGhhbmRsZWQgcXVpY2tseSBzaW5jZSBpdCdzIGZpcmVkIG9uIHRoZSBwb3BzdGF0ZSBldmVudFxuICAvLyBhbmQgd2UgZG9uJ3Qgd2FudCB0byBhZGQgYW55IGRlbGF5IG9uIGEgYmFjay9mb3J3YXJkIG5hdlxuICAvLyB0aGlzIG9ubHkgY3JlYXRlcyBhIHByb21pc2UgZm9yIHRoZSBhc3luYyBhY3Rpb25zXG4gIGlmIChwYXlsb2FkLnR5cGUgIT09IEFDVElPTl9SRVNUT1JFKSB7XG4gICAgLy8gQ3JlYXRlIHRoZSBwcm9taXNlIGFuZCBhc3NpZ24gdGhlIHJlc29sdmVycyB0byB0aGUgb2JqZWN0LlxuICAgIGNvbnN0IGRlZmVycmVkUHJvbWlzZSA9IG5ldyBQcm9taXNlPEFwcFJvdXRlclN0YXRlPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZXNvbHZlcnMgPSB7IHJlc29sdmUsIHJlamVjdCB9XG4gICAgfSlcblxuICAgIHN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICAvLyB3ZSBpbW1lZGlhdGVseSBub3RpZnkgUmVhY3Qgb2YgdGhlIHBlbmRpbmcgcHJvbWlzZSAtLSB0aGUgcmVzb2x2ZXIgaXMgYXR0YWNoZWQgdG8gdGhlIGFjdGlvbiBub2RlXG4gICAgICAvLyBhbmQgd2lsbCBiZSBjYWxsZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBhY3Rpb24gcHJvbWlzZSByZXNvbHZlc1xuICAgICAgc2V0U3RhdGUoZGVmZXJyZWRQcm9taXNlKVxuICAgIH0pXG4gIH1cblxuICBjb25zdCBuZXdBY3Rpb246IEFjdGlvblF1ZXVlTm9kZSA9IHtcbiAgICBwYXlsb2FkLFxuICAgIG5leHQ6IG51bGwsXG4gICAgcmVzb2x2ZTogcmVzb2x2ZXJzLnJlc29sdmUsXG4gICAgcmVqZWN0OiByZXNvbHZlcnMucmVqZWN0LFxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHF1ZXVlIGlzIGVtcHR5XG4gIGlmIChhY3Rpb25RdWV1ZS5wZW5kaW5nID09PSBudWxsKSB7XG4gICAgLy8gVGhlIHF1ZXVlIGlzIGVtcHR5LCBzbyBhZGQgdGhlIGFjdGlvbiBhbmQgc3RhcnQgaXQgaW1tZWRpYXRlbHlcbiAgICAvLyBNYXJrIHRoaXMgYWN0aW9uIGFzIHRoZSBsYXN0IGluIHRoZSBxdWV1ZVxuICAgIGFjdGlvblF1ZXVlLmxhc3QgPSBuZXdBY3Rpb25cblxuICAgIHJ1bkFjdGlvbih7XG4gICAgICBhY3Rpb25RdWV1ZSxcbiAgICAgIGFjdGlvbjogbmV3QWN0aW9uLFxuICAgICAgc2V0U3RhdGUsXG4gICAgfSlcbiAgfSBlbHNlIGlmIChcbiAgICBwYXlsb2FkLnR5cGUgPT09IEFDVElPTl9OQVZJR0FURSB8fFxuICAgIHBheWxvYWQudHlwZSA9PT0gQUNUSU9OX1JFU1RPUkVcbiAgKSB7XG4gICAgLy8gTmF2aWdhdGlvbnMgKGluY2x1ZGluZyBiYWNrL2ZvcndhcmQpIHRha2UgcHJpb3JpdHkgb3ZlciBhbnkgcGVuZGluZyBhY3Rpb25zLlxuICAgIC8vIE1hcmsgdGhlIHBlbmRpbmcgYWN0aW9uIGFzIGRpc2NhcmRlZCAoc28gdGhlIHN0YXRlIGlzIG5ldmVyIGFwcGxpZWQpIGFuZCBzdGFydCB0aGUgbmF2aWdhdGlvbiBhY3Rpb24gaW1tZWRpYXRlbHkuXG4gICAgYWN0aW9uUXVldWUucGVuZGluZy5kaXNjYXJkZWQgPSB0cnVlXG5cbiAgICAvLyBUaGUgcmVzdCBvZiB0aGUgY3VycmVudCBxdWV1ZSBzaG91bGQgc3RpbGwgZXhlY3V0ZSBhZnRlciB0aGlzIG5hdmlnYXRpb24uXG4gICAgLy8gKE5vdGUgdGhhdCBpdCBjYW4ndCBjb250YWluIGFueSBlYXJsaWVyIG5hdmlnYXRpb25zLCBiZWNhdXNlIHdlIGFsd2F5cyBwdXQgdGhvc2UgaW50byBgYWN0aW9uUXVldWUucGVuZGluZ2AgYnkgY2FsbGluZyBgcnVuQWN0aW9uYClcbiAgICBuZXdBY3Rpb24ubmV4dCA9IGFjdGlvblF1ZXVlLnBlbmRpbmcubmV4dFxuXG4gICAgLy8gaWYgdGhlIHBlbmRpbmcgYWN0aW9uIHdhcyBhIHNlcnZlciBhY3Rpb24sIG1hcmsgdGhlIHF1ZXVlIGFzIG5lZWRpbmcgYSByZWZyZXNoIG9uY2UgZXZlbnRzIGFyZSBwcm9jZXNzZWRcbiAgICBpZiAoYWN0aW9uUXVldWUucGVuZGluZy5wYXlsb2FkLnR5cGUgPT09IEFDVElPTl9TRVJWRVJfQUNUSU9OKSB7XG4gICAgICBhY3Rpb25RdWV1ZS5uZWVkc1JlZnJlc2ggPSB0cnVlXG4gICAgfVxuXG4gICAgcnVuQWN0aW9uKHtcbiAgICAgIGFjdGlvblF1ZXVlLFxuICAgICAgYWN0aW9uOiBuZXdBY3Rpb24sXG4gICAgICBzZXRTdGF0ZSxcbiAgICB9KVxuICB9IGVsc2Uge1xuICAgIC8vIFRoZSBxdWV1ZSBpcyBub3QgZW1wdHksIHNvIGFkZCB0aGUgYWN0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIHF1ZXVlXG4gICAgLy8gSXQgd2lsbCBiZSBzdGFydGVkIGJ5IHJ1blJlbWFpbmluZ0FjdGlvbnMgYWZ0ZXIgdGhlIHByZXZpb3VzIGFjdGlvbiBmaW5pc2hlc1xuICAgIGlmIChhY3Rpb25RdWV1ZS5sYXN0ICE9PSBudWxsKSB7XG4gICAgICBhY3Rpb25RdWV1ZS5sYXN0Lm5leHQgPSBuZXdBY3Rpb25cbiAgICB9XG4gICAgYWN0aW9uUXVldWUubGFzdCA9IG5ld0FjdGlvblxuICB9XG59XG5cbmxldCBnbG9iYWxBY3Rpb25RdWV1ZTogQXBwUm91dGVyQWN0aW9uUXVldWUgfCBudWxsID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlKFxuICBpbml0aWFsU3RhdGU6IEFwcFJvdXRlclN0YXRlLFxuICBpbnN0cnVtZW50YXRpb25Ib29rczogQ2xpZW50SW5zdHJ1bWVudGF0aW9uSG9va3MgfCBudWxsXG4pOiBBcHBSb3V0ZXJBY3Rpb25RdWV1ZSB7XG4gIGNvbnN0IGFjdGlvblF1ZXVlOiBBcHBSb3V0ZXJBY3Rpb25RdWV1ZSA9IHtcbiAgICBzdGF0ZTogaW5pdGlhbFN0YXRlLFxuICAgIGRpc3BhdGNoOiAocGF5bG9hZDogUmVkdWNlckFjdGlvbnMsIHNldFN0YXRlOiBEaXNwYXRjaFN0YXRlUHJvbWlzZSkgPT5cbiAgICAgIGRpc3BhdGNoQWN0aW9uKGFjdGlvblF1ZXVlLCBwYXlsb2FkLCBzZXRTdGF0ZSksXG4gICAgYWN0aW9uOiBhc3luYyAoc3RhdGU6IEFwcFJvdXRlclN0YXRlLCBhY3Rpb246IFJlZHVjZXJBY3Rpb25zKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSByZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfSxcbiAgICBwZW5kaW5nOiBudWxsLFxuICAgIGxhc3Q6IG51bGwsXG4gICAgb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQ6XG4gICAgICBpbnN0cnVtZW50YXRpb25Ib29rcyAhPT0gbnVsbCAmJlxuICAgICAgdHlwZW9mIGluc3RydW1lbnRhdGlvbkhvb2tzLm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0ID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gLy8gVGhpcyBwcm9maWxpbmcgaG9vayB3aWxsIGJlIGNhbGxlZCBhdCB0aGUgc3RhcnQgb2YgZXZlcnkgbmF2aWdhdGlvbi5cbiAgICAgICAgICBpbnN0cnVtZW50YXRpb25Ib29rcy5vblJvdXRlclRyYW5zaXRpb25TdGFydFxuICAgICAgICA6IG51bGwsXG4gIH1cblxuICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBUaGUgYWN0aW9uIHF1ZXVlIGlzIGxhemlseSBjcmVhdGVkIG9uIGh5ZHJhdGlvbiwgYnV0IGFmdGVyIHRoYXQgcG9pbnRcbiAgICAvLyBpdCBkb2Vzbid0IGNoYW5nZS4gU28gd2UgY2FuIHN0b3JlIGl0IGluIGEgZ2xvYmFsIHJhdGhlciB0aGFuIHBhc3NcbiAgICAvLyBpdCBhcm91bmQgZXZlcnl3aGVyZSB2aWEgcHJvcHMvY29udGV4dC5cbiAgICBpZiAoZ2xvYmFsQWN0aW9uUXVldWUgIT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0ludGVybmFsIE5leHQuanMgRXJyb3I6IGNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSB3YXMgY2FsbGVkIG1vcmUgJyArXG4gICAgICAgICAgJ3RoYW4gb25jZSdcbiAgICAgIClcbiAgICB9XG4gICAgZ2xvYmFsQWN0aW9uUXVldWUgPSBhY3Rpb25RdWV1ZVxuICB9XG5cbiAgcmV0dXJuIGFjdGlvblF1ZXVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50QXBwUm91dGVyU3RhdGUoKTogQXBwUm91dGVyU3RhdGUgfCBudWxsIHtcbiAgcmV0dXJuIGdsb2JhbEFjdGlvblF1ZXVlICE9PSBudWxsID8gZ2xvYmFsQWN0aW9uUXVldWUuc3RhdGUgOiBudWxsXG59XG5cbmZ1bmN0aW9uIGdldEFwcFJvdXRlckFjdGlvblF1ZXVlKCk6IEFwcFJvdXRlckFjdGlvblF1ZXVlIHtcbiAgaWYgKGdsb2JhbEFjdGlvblF1ZXVlID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0ludGVybmFsIE5leHQuanMgZXJyb3I6IFJvdXRlciBhY3Rpb24gZGlzcGF0Y2hlZCBiZWZvcmUgaW5pdGlhbGl6YXRpb24uJ1xuICAgIClcbiAgfVxuICByZXR1cm4gZ2xvYmFsQWN0aW9uUXVldWVcbn1cblxuZnVuY3Rpb24gZ2V0UHJvZmlsaW5nSG9va0Zvck9uTmF2aWdhdGlvblN0YXJ0KCkge1xuICBpZiAoZ2xvYmFsQWN0aW9uUXVldWUgIT09IG51bGwpIHtcbiAgICByZXR1cm4gZ2xvYmFsQWN0aW9uUXVldWUub25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnRcbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbihcbiAgaHJlZjogc3RyaW5nLFxuICBuYXZpZ2F0ZVR5cGU6IE5hdmlnYXRlQWN0aW9uWyduYXZpZ2F0ZVR5cGUnXSxcbiAgc2hvdWxkU2Nyb2xsOiBib29sZWFuLFxuICBsaW5rSW5zdGFuY2VSZWY6IExpbmtJbnN0YW5jZSB8IG51bGxcbik6IHZvaWQge1xuICAvLyBUT0RPOiBUaGlzIHN0dWZmIGNvdWxkIGp1c3QgZ28gaW50byB0aGUgcmVkdWNlci4gTGVhdmluZyBhcy1pcyBmb3Igbm93XG4gIC8vIHNpbmNlIHdlJ3JlIGFib3V0IHRvIHJld3JpdGUgYWxsIHRoZSByb3V0ZXIgcmVkdWNlciBzdHVmZiBhbnl3YXkuXG4gIGNvbnN0IHVybCA9IG5ldyBVUkwoYWRkQmFzZVBhdGgoaHJlZiksIGxvY2F0aW9uLmhyZWYpXG4gIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQVBQX05BVl9GQUlMX0hBTkRMSU5HKSB7XG4gICAgd2luZG93Lm5leHQuX19wZW5kaW5nVXJsID0gdXJsXG4gIH1cblxuICBzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24obGlua0luc3RhbmNlUmVmKVxuXG4gIGNvbnN0IG9uUm91dGVyVHJhbnNpdGlvblN0YXJ0ID0gZ2V0UHJvZmlsaW5nSG9va0Zvck9uTmF2aWdhdGlvblN0YXJ0KClcbiAgaWYgKG9uUm91dGVyVHJhbnNpdGlvblN0YXJ0ICE9PSBudWxsKSB7XG4gICAgb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQoaHJlZiwgbmF2aWdhdGVUeXBlKVxuICB9XG5cbiAgZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24oe1xuICAgIHR5cGU6IEFDVElPTl9OQVZJR0FURSxcbiAgICB1cmwsXG4gICAgaXNFeHRlcm5hbFVybDogaXNFeHRlcm5hbFVSTCh1cmwpLFxuICAgIGxvY2F0aW9uU2VhcmNoOiBsb2NhdGlvbi5zZWFyY2gsXG4gICAgc2hvdWxkU2Nyb2xsLFxuICAgIG5hdmlnYXRlVHlwZSxcbiAgICBhbGxvd0FsaWFzaW5nOiB0cnVlLFxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2hUcmF2ZXJzZUFjdGlvbihcbiAgaHJlZjogc3RyaW5nLFxuICB0cmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZSB8IHVuZGVmaW5lZFxuKSB7XG4gIGNvbnN0IG9uUm91dGVyVHJhbnNpdGlvblN0YXJ0ID0gZ2V0UHJvZmlsaW5nSG9va0Zvck9uTmF2aWdhdGlvblN0YXJ0KClcbiAgaWYgKG9uUm91dGVyVHJhbnNpdGlvblN0YXJ0ICE9PSBudWxsKSB7XG4gICAgb25Sb3V0ZXJUcmFuc2l0aW9uU3RhcnQoaHJlZiwgJ3RyYXZlcnNlJylcbiAgfVxuICBkaXNwYXRjaEFwcFJvdXRlckFjdGlvbih7XG4gICAgdHlwZTogQUNUSU9OX1JFU1RPUkUsXG4gICAgdXJsOiBuZXcgVVJMKGhyZWYpLFxuICAgIHRyZWUsXG4gIH0pXG59XG5cbi8qKlxuICogVGhlIGFwcCByb3V0ZXIgdGhhdCBpcyBleHBvc2VkIHRocm91Z2ggYHVzZVJvdXRlcmAuIFRoZXNlIGFyZSBwdWJsaWMgQVBJXG4gKiBtZXRob2RzLiBJbnRlcm5hbCBOZXh0LmpzIGNvZGUgc2hvdWxkIGNhbGwgdGhlIGxvd2VyIGxldmVsIG1ldGhvZHMgZGlyZWN0bHlcbiAqIChhbHRob3VnaCB0aGVyZSdzIGxvdHMgb2YgZXhpc3RpbmcgY29kZSB0aGF0IGRvZXNuJ3QgZG8gdGhhdCkuXG4gKi9cbmV4cG9ydCBjb25zdCBwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZTogQXBwUm91dGVySW5zdGFuY2UgPSB7XG4gIGJhY2s6ICgpID0+IHdpbmRvdy5oaXN0b3J5LmJhY2soKSxcbiAgZm9yd2FyZDogKCkgPT4gd2luZG93Lmhpc3RvcnkuZm9yd2FyZCgpLFxuICBwcmVmZXRjaDogcHJvY2Vzcy5lbnYuX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFXG4gICAgPyAvLyBVbmxpa2UgdGhlIG9sZCBpbXBsZW1lbnRhdGlvbiwgdGhlIFNlZ21lbnQgQ2FjaGUgZG9lc24ndCBzdG9yZSBpdHNcbiAgICAgIC8vIGRhdGEgaW4gdGhlIHJvdXRlciByZWR1Y2VyIHN0YXRlOyBpdCB3cml0ZXMgaW50byBhIGdsb2JhbCBtdXRhYmxlXG4gICAgICAvLyBjYWNoZS4gU28gd2UgZG9uJ3QgbmVlZCB0byBkaXNwYXRjaCBhbiBhY3Rpb24uXG4gICAgICAoaHJlZjogc3RyaW5nLCBvcHRpb25zPzogUHJlZmV0Y2hPcHRpb25zKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGlvblF1ZXVlID0gZ2V0QXBwUm91dGVyQWN0aW9uUXVldWUoKVxuICAgICAgICBwcmVmZXRjaFdpdGhTZWdtZW50Q2FjaGUoXG4gICAgICAgICAgaHJlZixcbiAgICAgICAgICBhY3Rpb25RdWV1ZS5zdGF0ZS5uZXh0VXJsLFxuICAgICAgICAgIGFjdGlvblF1ZXVlLnN0YXRlLnRyZWUsXG4gICAgICAgICAgb3B0aW9ucz8ua2luZCA9PT0gUHJlZmV0Y2hLaW5kLkZVTEwsXG4gICAgICAgICAgb3B0aW9ucz8ub25JbnZhbGlkYXRlID8/IG51bGxcbiAgICAgICAgKVxuICAgICAgfVxuICAgIDogKGhyZWY6IHN0cmluZywgb3B0aW9ucz86IFByZWZldGNoT3B0aW9ucykgPT4ge1xuICAgICAgICAvLyBVc2UgdGhlIG9sZCBwcmVmZXRjaCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgY29uc3QgYWN0aW9uUXVldWUgPSBnZXRBcHBSb3V0ZXJBY3Rpb25RdWV1ZSgpXG4gICAgICAgIGNvbnN0IHVybCA9IGNyZWF0ZVByZWZldGNoVVJMKGhyZWYpXG4gICAgICAgIGlmICh1cmwgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUaGUgcHJlZmV0Y2ggcmVkdWNlciBkb2Vzbid0IGFjdHVhbGx5IHVwZGF0ZSBhbnkgc3RhdGUgb3JcbiAgICAgICAgICAvLyB0cmlnZ2VyIGEgcmVyZW5kZXIuIEl0IGp1c3Qgd3JpdGVzIHRvIGEgbXV0YWJsZSBjYWNoZS4gU28gd2VcbiAgICAgICAgICAvLyBzaG91bGRuJ3QgYm90aGVyIGNhbGxpbmcgc2V0U3RhdGUvZGlzcGF0Y2g7IHdlIGNhbiBqdXN0IHJlLXJ1blxuICAgICAgICAgIC8vIHRoZSByZWR1Y2VyIGRpcmVjdGx5IHVzaW5nIHRoZSBjdXJyZW50IHN0YXRlLlxuICAgICAgICAgIC8vIFRPRE86IFJlZmFjdG9yIHRoaXMgYXdheSBmcm9tIGEgXCJyZWR1Y2VyXCIgc28gaXQnc1xuICAgICAgICAgIC8vIGxlc3MgY29uZnVzaW5nLlxuICAgICAgICAgIHByZWZldGNoUmVkdWNlcihhY3Rpb25RdWV1ZS5zdGF0ZSwge1xuICAgICAgICAgICAgdHlwZTogQUNUSU9OX1BSRUZFVENILFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAga2luZDogb3B0aW9ucz8ua2luZCA/PyBQcmVmZXRjaEtpbmQuRlVMTCxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9LFxuICByZXBsYWNlOiAoaHJlZjogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGVPcHRpb25zKSA9PiB7XG4gICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIGRpc3BhdGNoTmF2aWdhdGVBY3Rpb24oaHJlZiwgJ3JlcGxhY2UnLCBvcHRpb25zPy5zY3JvbGwgPz8gdHJ1ZSwgbnVsbClcbiAgICB9KVxuICB9LFxuICBwdXNoOiAoaHJlZjogc3RyaW5nLCBvcHRpb25zPzogTmF2aWdhdGVPcHRpb25zKSA9PiB7XG4gICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIGRpc3BhdGNoTmF2aWdhdGVBY3Rpb24oaHJlZiwgJ3B1c2gnLCBvcHRpb25zPy5zY3JvbGwgPz8gdHJ1ZSwgbnVsbClcbiAgICB9KVxuICB9LFxuICByZWZyZXNoOiAoKSA9PiB7XG4gICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgIGRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKHtcbiAgICAgICAgdHlwZTogQUNUSU9OX1JFRlJFU0gsXG4gICAgICAgIG9yaWdpbjogd2luZG93LmxvY2F0aW9uLm9yaWdpbixcbiAgICAgIH0pXG4gICAgfSlcbiAgfSxcbiAgaG1yUmVmcmVzaDogKCkgPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ2RldmVsb3BtZW50Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnaG1yUmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLidcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24oe1xuICAgICAgICAgIHR5cGU6IEFDVElPTl9ITVJfUkVGUkVTSCxcbiAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cbiAgfSxcbn1cblxuLy8gRXhpc3RzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIERvbid0IHVzZSBpbiBhcHBsaWNhdGlvbiBjb2RlLlxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uZXh0KSB7XG4gIHdpbmRvdy5uZXh0LnJvdXRlciA9IHB1YmxpY0FwcFJvdXRlckluc3RhbmNlXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlIiwiZGlzcGF0Y2hOYXZpZ2F0ZUFjdGlvbiIsImRpc3BhdGNoVHJhdmVyc2VBY3Rpb24iLCJnZXRDdXJyZW50QXBwUm91dGVyU3RhdGUiLCJwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSIsInJ1blJlbWFpbmluZ0FjdGlvbnMiLCJhY3Rpb25RdWV1ZSIsInNldFN0YXRlIiwicGVuZGluZyIsIm5leHQiLCJydW5BY3Rpb24iLCJhY3Rpb24iLCJuZWVkc1JlZnJlc2giLCJkaXNwYXRjaCIsInR5cGUiLCJBQ1RJT05fUkVGUkVTSCIsIm9yaWdpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwicHJldlN0YXRlIiwic3RhdGUiLCJwYXlsb2FkIiwiYWN0aW9uUmVzdWx0IiwiaGFuZGxlUmVzdWx0IiwibmV4dFN0YXRlIiwiZGlzY2FyZGVkIiwicmVzb2x2ZSIsImlzVGhlbmFibGUiLCJ0aGVuIiwiZXJyIiwicmVqZWN0IiwiZGlzcGF0Y2hBY3Rpb24iLCJyZXNvbHZlcnMiLCJBQ1RJT05fUkVTVE9SRSIsImRlZmVycmVkUHJvbWlzZSIsIlByb21pc2UiLCJzdGFydFRyYW5zaXRpb24iLCJuZXdBY3Rpb24iLCJsYXN0IiwiQUNUSU9OX05BVklHQVRFIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJnbG9iYWxBY3Rpb25RdWV1ZSIsImluaXRpYWxTdGF0ZSIsImluc3RydW1lbnRhdGlvbkhvb2tzIiwicmVzdWx0IiwicmVkdWNlciIsIm9uUm91dGVyVHJhbnNpdGlvblN0YXJ0IiwiRXJyb3IiLCJnZXRBcHBSb3V0ZXJBY3Rpb25RdWV1ZSIsImdldFByb2ZpbGluZ0hvb2tGb3JPbk5hdmlnYXRpb25TdGFydCIsImhyZWYiLCJuYXZpZ2F0ZVR5cGUiLCJzaG91bGRTY3JvbGwiLCJsaW5rSW5zdGFuY2VSZWYiLCJ1cmwiLCJVUkwiLCJhZGRCYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQVBQX05BVl9GQUlMX0hBTkRMSU5HIiwiX19wZW5kaW5nVXJsIiwic2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uIiwiZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24iLCJpc0V4dGVybmFsVXJsIiwiaXNFeHRlcm5hbFVSTCIsImxvY2F0aW9uU2VhcmNoIiwic2VhcmNoIiwiYWxsb3dBbGlhc2luZyIsInRyZWUiLCJiYWNrIiwiaGlzdG9yeSIsImZvcndhcmQiLCJwcmVmZXRjaCIsIl9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRSIsIm9wdGlvbnMiLCJwcmVmZXRjaFdpdGhTZWdtZW50Q2FjaGUiLCJuZXh0VXJsIiwia2luZCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJvbkludmFsaWRhdGUiLCJjcmVhdGVQcmVmZXRjaFVSTCIsInByZWZldGNoUmVkdWNlciIsIkFDVElPTl9QUkVGRVRDSCIsInJlcGxhY2UiLCJzY3JvbGwiLCJwdXNoIiwicmVmcmVzaCIsImhtclJlZnJlc2giLCJOT0RFX0VOViIsIkFDVElPTl9ITVJfUkVGUkVTSCIsInJvdXRlciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router-instance.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router.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 createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n createPrefetchURL: function() {\n return createPrefetchURL;\n },\n default: function() {\n return AppRouter;\n },\n isExternalURL: function() {\n return isExternalURL;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _useactionqueue = __webpack_require__(/*! ./use-action-queue */ \"(app-pages-browser)/./node_modules/next/dist/client/components/use-action-queue.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _globalerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./builtin/global-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/builtin/global-error.js\"));\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nconst _computechangedpath = __webpack_require__(/*! ./router-reducer/compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _navfailurehandler = __webpack_require__(/*! ./nav-failure-handler */ \"(app-pages-browser)/./node_modules/next/dist/client/components/nav-failure-handler.js\");\nconst _approuterinstance = __webpack_require__(/*! ./app-router-instance */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-instance.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nconst _redirecterror = __webpack_require__(/*! ./redirect-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\");\nconst _links = __webpack_require__(/*! ./links */ \"(app-pages-browser)/./node_modules/next/dist/client/components/links.js\");\nconst _gracefuldegradeboundary = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./errors/graceful-degrade-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js\"));\nconst globalMutable = {};\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction createPrefetchURL(href) {\n // Don't prefetch for bots as they don't navigate.\n if ((0, _isbot.isBot)(window.navigator.userAgent)) {\n return null;\n }\n let url;\n try {\n url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n } catch (_) {\n // TODO: Does this need to throw or can we just console.error instead? Does\n // anyone rely on this throwing? (Seems unlikely.)\n throw Object.defineProperty(new Error(\"Cannot prefetch '\" + href + \"' because it cannot be converted to a URL.\"), \"__NEXT_ERROR_CODE\", {\n value: \"E234\",\n enumerable: false,\n configurable: true\n });\n }\n // Don't prefetch during development (improves compilation performance)\n if (true) {\n return null;\n }\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return null;\n }\n return url;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState } = param;\n (0, _react.useInsertionEffect)(()=>{\n if (false) {}\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, '', canonicalUrl);\n } else {\n window.history.replaceState(historyState, '', canonicalUrl);\n }\n }, [\n appRouterState\n ]);\n (0, _react.useEffect)(()=>{\n // The Next-Url and the base tree may affect the result of a prefetch\n // task. Re-prefetch all visible links with the updated values. In most\n // cases, this will not result in any new network requests, only if\n // the prefetch result actually varies on one of these inputs.\n if (false) {}\n }, [\n appRouterState.nextUrl,\n appRouterState.tree\n ]);\n return null;\n}\n_c = HistoryUpdater;\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null,\n navigatedAt: -1\n };\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n_c1 = Head;\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n let { actionQueue, assetPrefix, globalError, gracefullyDegrade } = param;\n const state = (0, _useactionqueue.useActionQueue)(actionQueue);\n const { canonicalUrl } = state;\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, false ? 0 : window.location.href);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = state;\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: _approuterinstance.publicAppRouterInstance,\n cache,\n prefetchCache,\n tree\n };\n }, [\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined;\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener('pageshow', handlePageShow);\n return ()=>{\n window.removeEventListener('pageshow', handlePageShow);\n };\n }, []);\n (0, _react.useEffect)(()=>{\n // Ensure that any redirect errors that bubble up outside of the RedirectBoundary\n // are caught and handled by the router.\n function handleUnhandledRedirect(event) {\n const error = 'reason' in event ? event.reason : event.error;\n if ((0, _redirecterror.isRedirectError)(error)) {\n event.preventDefault();\n const url = (0, _redirect.getURLFromRedirectError)(error);\n const redirectType = (0, _redirect.getRedirectTypeFromError)(error);\n // TODO: This should access the router methods directly, rather than\n // go through the public interface.\n if (redirectType === _redirecterror.RedirectType.push) {\n _approuterinstance.publicAppRouterInstance.push(url, {});\n } else {\n _approuterinstance.publicAppRouterInstance.replace(url, {});\n }\n }\n }\n window.addEventListener('error', handleUnhandledRedirect);\n window.addEventListener('unhandledrejection', handleUnhandledRedirect);\n return ()=>{\n window.removeEventListener('error', handleUnhandledRedirect);\n window.removeEventListener('unhandledrejection', handleUnhandledRedirect);\n };\n }, []);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in . At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = state;\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location = window.location;\n if (pushRef.pendingPush) {\n location.assign(canonicalUrl);\n } else {\n location.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n // NOTE: This is intentionally using `throw` instead of `use` because we're\n // inside an externally mutable condition (pushRef.mpaNavigation), which\n // violates the rules of hooks.\n throw _unresolvedthenable.unresolvedThenable;\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n var _window_history_state;\n const href = window.location.href;\n const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE;\n (0, _react.startTransition)(()=>{\n (0, _useactionqueue.dispatchAppRouterAction)({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (event)=>{\n if (!event.state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!event.state.__NA) {\n window.location.reload();\n return;\n }\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n (0, _approuterinstance.dispatchTraverseAction)(window.location.href, event.state.__PRIVATE_NEXTJS_INTERNALS_TREE);\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener('popstate', onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener('popstate', onPopState);\n };\n }, []);\n const { cache, tree, nextUrl, focusAndScrollRef } = state;\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n // Add memoized pathParams for useParams.\n const pathParams = (0, _react.useMemo)(()=>{\n return (0, _computechangedpath.getSelectedParams)(tree);\n }, [\n tree\n ]);\n const layoutRouterContext = (0, _react.useMemo)(()=>{\n return {\n parentTree: tree,\n parentCacheNode: cache,\n parentSegmentPath: null,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl\n };\n }, [\n tree,\n cache,\n canonicalUrl\n ]);\n const globalLayoutRouterContext = (0, _react.useMemo)(()=>{\n return {\n tree,\n focusAndScrollRef,\n nextUrl\n };\n }, [\n tree,\n focusAndScrollRef,\n nextUrl\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n // In development, we apply few error boundaries and hot-reloader:\n // - DevRootHTTPAccessFallbackBoundary: avoid using navigation API like notFound() in root layout\n // - HotReloader:\n // - hot-reload the app when the code changes\n // - render dev overlay\n // - catch runtime errors and display global-error when necessary\n if (true) {\n const { DevRootHTTPAccessFallbackBoundary } = __webpack_require__(/*! ./dev-root-http-access-fallback-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js\");\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(DevRootHTTPAccessFallbackBoundary, {\n children: content\n });\n }\n const HotReloader = (__webpack_require__(/*! ../dev/hot-reloader/app/hot-reloader-app */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n globalError: globalError,\n children: content\n });\n } else {}\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: state\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(RuntimeStyles, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: pathParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: globalLayoutRouterContext,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: _approuterinstance.publicAppRouterInstance,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: layoutRouterContext,\n children: content\n })\n })\n })\n })\n })\n })\n ]\n });\n}\n_c2 = Router;\nfunction AppRouter(param) {\n let { actionQueue, globalErrorState, assetPrefix, gracefullyDegrade } = param;\n (0, _navfailurehandler.useNavFailureHandler)();\n const router = /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n actionQueue: actionQueue,\n assetPrefix: assetPrefix,\n globalError: globalErrorState,\n gracefullyDegrade: gracefullyDegrade\n });\n if (gracefullyDegrade) {\n return router;\n } else {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n // At the very top level, use the default GlobalError component as the final fallback.\n // When the app router itself fails, which means the framework itself fails, we show the default error.\n errorComponent: _globalerror.default,\n children: router\n });\n }\n}\n_c3 = AppRouter;\nconst runtimeStyles = new Set();\nlet runtimeStyleChanged = new Set();\nglobalThis._N_E_STYLE_LOAD = function(href) {\n let len = runtimeStyles.size;\n runtimeStyles.add(href);\n if (runtimeStyles.size !== len) {\n runtimeStyleChanged.forEach((cb)=>cb());\n }\n // TODO figure out how to get a promise here\n // But maybe it's not necessary as react would block rendering until it's loaded\n return Promise.resolve();\n};\nfunction RuntimeStyles() {\n _s();\n const [, forceUpdate] = _react.default.useState(0);\n const renderedStylesSize = runtimeStyles.size;\n (0, _react.useEffect)(()=>{\n const changed = ()=>forceUpdate((c)=>c + 1);\n runtimeStyleChanged.add(changed);\n if (renderedStylesSize !== runtimeStyles.size) {\n changed();\n }\n return ()=>{\n runtimeStyleChanged.delete(changed);\n };\n }, [\n renderedStylesSize,\n forceUpdate\n ]);\n const dplId = false ? 0 : '';\n return [\n ...runtimeStyles\n ].map((href, i)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"stylesheet\",\n href: \"\" + href + dplId,\n // @ts-ignore\n precedence: \"next\"\n }, i));\n}\n_s(RuntimeStyles, \"Eht7Kgdrrgt5B4LSklQ7qDPo8Aw=\");\n_c4 = RuntimeStyles;\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.js.map\nvar _c, _c1, _c2, _c3, _c4;\n$RefreshReg$(_c, \"HistoryUpdater\");\n$RefreshReg$(_c1, \"Head\");\n$RefreshReg$(_c2, \"Router\");\n$RefreshReg$(_c3, \"AppRouter\");\n$RefreshReg$(_c4, \"RuntimeStyles\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQTZJZ0JBLG9CQUFvQjtlQUFwQkE7O0lBOUVBQyxpQkFBaUI7ZUFBakJBOztJQW9maEIsT0FtQ0M7ZUFuQ3VCQzs7SUEvZlJDLGFBQWE7ZUFBYkE7Ozs7Ozs2RUE1Q1Q7MkRBS0E7Z0RBRXdCOytDQUVHOzZEQUszQjs0Q0FDaUQ7MkNBQzFCO2tGQUNDO21DQUNUO3lDQUNNO2dEQUNPOzhDQUNGOzZDQUNEO2dEQUNHOzRDQUNKO3lDQUNIO2dEQUNNOytDQUVHOytDQU05QjtzQ0FDMkQ7MkNBQ3BCO21DQUNiOzhGQUNHO0FBRXBDLE1BQU1DLGdCQUVGLENBQUM7QUFFRSxTQUFTRCxjQUFjRSxHQUFRO0lBQ3BDLE9BQU9BLElBQUlDLE1BQU0sS0FBS0MsT0FBT0MsUUFBUSxDQUFDRixNQUFNO0FBQzlDO0FBU08sU0FBU0wsa0JBQWtCUSxJQUFZO0lBQzVDLGtEQUFrRDtJQUNsRCxJQUFJQyxDQUFBQSxHQUFBQSxPQUFBQSxLQUFBQSxFQUFNSCxPQUFPSSxTQUFTLENBQUNDLFNBQVMsR0FBRztRQUNyQyxPQUFPO0lBQ1Q7SUFFQSxJQUFJUDtJQUNKLElBQUk7UUFDRkEsTUFBTSxJQUFJUSxJQUFJQyxDQUFBQSxHQUFBQSxhQUFBQSxXQUFXLEVBQUNMLE9BQU9GLE9BQU9DLFFBQVEsQ0FBQ0MsSUFBSTtJQUN2RCxFQUFFLE9BQU9NLEdBQUc7UUFDViwyRUFBMkU7UUFDM0Usa0RBQWtEO1FBQ2xELE1BQU0scUJBRUwsQ0FGSyxJQUFJQyxNQUNQLHNCQUFtQlAsT0FBSywrQ0FEckI7bUJBQUE7d0JBQUE7MEJBQUE7UUFFTjtJQUNGO0lBRUEsdUVBQXVFO0lBQ3ZFLElBQUlRLElBQW9CLEVBQW9CO1FBQzFDLE9BQU87SUFDVDtJQUVBLHFEQUFxRDtJQUNyRCxJQUFJZCxjQUFjRSxNQUFN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LEtBQUVBLE9BQU95SjtZQUNoQixhQUFhO1lBQ2JNLFlBQVc7V0FKTkg7QUFVWDs7TUE3QlNsQyIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgc3RhcnRUcmFuc2l0aW9uLFxuICB1c2VJbnNlcnRpb25FZmZlY3QsXG4gIHVzZURlZmVycmVkVmFsdWUsXG59IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQXBwUm91dGVyQ29udGV4dCxcbiAgTGF5b3V0Um91dGVyQ29udGV4dCxcbiAgR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCxcbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgdHlwZSB7IENhY2hlTm9kZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgQUNUSU9OX1JFU1RPUkUgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzJ1xuaW1wb3J0IHR5cGUgeyBBcHBSb3V0ZXJTdGF0ZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBjcmVhdGVIcmVmRnJvbVVybCB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmwnXG5pbXBvcnQge1xuICBTZWFyY2hQYXJhbXNDb250ZXh0LFxuICBQYXRobmFtZUNvbnRleHQsXG4gIFBhdGhQYXJhbXNDb250ZXh0LFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24sIHVzZUFjdGlvblF1ZXVlIH0gZnJvbSAnLi91c2UtYWN0aW9uLXF1ZXVlJ1xuaW1wb3J0IHsgRXJyb3JCb3VuZGFyeSB9IGZyb20gJy4vZXJyb3ItYm91bmRhcnknXG5pbXBvcnQgRGVmYXVsdEdsb2JhbEVycm9yIGZyb20gJy4vYnVpbHRpbi9nbG9iYWwtZXJyb3InXG5pbXBvcnQgeyBpc0JvdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdCdcbmltcG9ydCB7IGFkZEJhc2VQYXRoIH0gZnJvbSAnLi4vYWRkLWJhc2UtcGF0aCdcbmltcG9ydCB7IEFwcFJvdXRlckFubm91bmNlciB9IGZyb20gJy4vYXBwLXJvdXRlci1hbm5vdW5jZXInXG5pbXBvcnQgeyBSZWRpcmVjdEJvdW5kYXJ5IH0gZnJvbSAnLi9yZWRpcmVjdC1ib3VuZGFyeSdcbmltcG9ydCB7IGZpbmRIZWFkSW5DYWNoZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmluZC1oZWFkLWluLWNhY2hlJ1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRoZW5hYmxlIH0gZnJvbSAnLi91bnJlc29sdmVkLXRoZW5hYmxlJ1xuaW1wb3J0IHsgcmVtb3ZlQmFzZVBhdGggfSBmcm9tICcuLi9yZW1vdmUtYmFzZS1wYXRoJ1xuaW1wb3J0IHsgaGFzQmFzZVBhdGggfSBmcm9tICcuLi9oYXMtYmFzZS1wYXRoJ1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRQYXJhbXMgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL2NvbXB1dGUtY2hhbmdlZC1wYXRoJ1xuaW1wb3J0IHR5cGUgeyBGbGlnaHRSb3V0ZXJTdGF0ZSB9IGZyb20gJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHsgdXNlTmF2RmFpbHVyZUhhbmRsZXIgfSBmcm9tICcuL25hdi1mYWlsdXJlLWhhbmRsZXInXG5pbXBvcnQge1xuICBkaXNwYXRjaFRyYXZlcnNlQWN0aW9uLFxuICBwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxcbiAgdHlwZSBBcHBSb3V0ZXJBY3Rpb25RdWV1ZSxcbiAgdHlwZSBHbG9iYWxFcnJvclN0YXRlLFxufSBmcm9tICcuL2FwcC1yb3V0ZXItaW5zdGFuY2UnXG5pbXBvcnQgeyBnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IsIGdldFVSTEZyb21SZWRpcmVjdEVycm9yIH0gZnJvbSAnLi9yZWRpcmVjdCdcbmltcG9ydCB7IGlzUmVkaXJlY3RFcnJvciwgUmVkaXJlY3RUeXBlIH0gZnJvbSAnLi9yZWRpcmVjdC1lcnJvcidcbmltcG9ydCB7IHBpbmdWaXNpYmxlTGlua3MgfSBmcm9tICcuL2xpbmtzJ1xuaW1wb3J0IEdyYWNlZnVsRGVncmFkZUJvdW5kYXJ5IGZyb20gJy4vZXJyb3JzL2dyYWNlZnVsLWRlZ3JhZGUtYm91bmRhcnknXG5cbmNvbnN0IGdsb2JhbE11dGFibGU6IHtcbiAgcGVuZGluZ01wYVBhdGg/OiBzdHJpbmdcbn0gPSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHRlcm5hbFVSTCh1cmw6IFVSTCkge1xuICByZXR1cm4gdXJsLm9yaWdpbiAhPT0gd2luZG93LmxvY2F0aW9uLm9yaWdpblxufVxuXG4vKipcbiAqIEdpdmVuIGEgbGluayBocmVmLCBjb25zdHJ1Y3RzIHRoZSBVUkwgdGhhdCBzaG91bGQgYmUgcHJlZmV0Y2hlZC4gUmV0dXJucyBudWxsXG4gKiBpbiBjYXNlcyB3aGVyZSBwcmVmZXRjaGluZyBzaG91bGQgYmUgZGlzYWJsZWQsIGxpa2UgZXh0ZXJuYWwgVVJMcywgb3JcbiAqIGR1cmluZyBkZXZlbG9wbWVudC5cbiAqIEBwYXJhbSBocmVmIFRoZSBocmVmIHBhc3NlZCB0byA8TGluaz4sIHJvdXRlci5wcmVmZXRjaCgpLCBvciBzaW1pbGFyXG4gKiBAcmV0dXJucyBBIFVSTCBvYmplY3QgdG8gcHJlZmV0Y2gsIG9yIG51bGwgaWYgcHJlZmV0Y2hpbmcgc2hvdWxkIGJlIGRpc2FibGVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcmVmZXRjaFVSTChocmVmOiBzdHJpbmcpOiBVUkwgfCBudWxsIHtcbiAgLy8gRG9uJ3QgcHJlZmV0Y2ggZm9yIGJvdHMgYXMgdGhleSBkb24ndCBuYXZpZ2F0ZS5cbiAgaWYgKGlzQm90KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBsZXQgdXJsOiBVUkxcbiAgdHJ5IHtcbiAgICB1cmwgPSBuZXcgVVJMKGFkZEJhc2VQYXRoKGhyZWYpLCB3aW5kb3cubG9jYXRpb24uaHJlZilcbiAgfSBjYXRjaCAoXykge1xuICAgIC8vIFRPRE86IERvZXMgdGhpcyBuZWVkIHRvIHRocm93IG9yIGNhbiB3ZSBqdXN0IGNvbnNvbGUuZXJyb3IgaW5zdGVhZD8gRG9lc1xuICAgIC8vIGFueW9uZSByZWx5IG9uIHRoaXMgdGhyb3dpbmc/IChTZWVtcyB1bmxpa2VseS4pXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENhbm5vdCBwcmVmZXRjaCAnJHtocmVmfScgYmVjYXVzZSBpdCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgVVJMLmBcbiAgICApXG4gIH1cblxuICAvLyBEb24ndCBwcmVmZXRjaCBkdXJpbmcgZGV2ZWxvcG1lbnQgKGltcHJvdmVzIGNvbXBpbGF0aW9uIHBlcmZvcm1hbmNlKVxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gRXh0ZXJuYWwgdXJscyBjYW4ndCBiZSBwcmVmZXRjaGVkIGluIHRoZSBzYW1lIHdheS5cbiAgaWYgKGlzRXh0ZXJuYWxVUkwodXJsKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gdXJsXG59XG5cbmZ1bmN0aW9uIEhpc3RvcnlVcGRhdGVyKHtcbiAgYXBwUm91dGVyU3RhdGUsXG59OiB7XG4gIGFwcFJvdXRlclN0YXRlOiBBcHBSb3V0ZXJTdGF0ZVxufSkge1xuICB1c2VJbnNlcnRpb25FZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQVBQX05BVl9GQUlMX0hBTkRMSU5HKSB7XG4gICAgICAvLyBjbGVhciBwZW5kaW5nIFVSTCBhcyBuYXZpZ2F0aW9uIGlzIG5vIGxvbmdlclxuICAgICAgLy8gaW4gZmxpZ2h0XG4gICAgICB3aW5kb3cubmV4dC5fX3BlbmRpbmdVcmwgPSB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCB7IHRyZWUsIHB1c2hSZWYsIGNhbm9uaWNhbFVybCB9ID0gYXBwUm91dGVyU3RhdGVcbiAgICBjb25zdCBoaXN0b3J5U3RhdGUgPSB7XG4gICAgICAuLi4ocHVzaFJlZi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA/IHdpbmRvdy5oaXN0b3J5LnN0YXRlIDoge30pLFxuICAgICAgLy8gSWRlbnRpZmllciBpcyBzaG9ydGVuZWQgaW50ZW50aW9uYWxseS5cbiAgICAgIC8vIF9fTkEgaXMgdXNlZCB0byBpZGVudGlmeSBpZiB0aGUgaGlzdG9yeSBlbnRyeSBjYW4gYmUgaGFuZGxlZCBieSB0aGUgYXBwLXJvdXRlci5cbiAgICAgIC8vIF9fTiBpcyB1c2VkIHRvIGlkZW50aWZ5IGlmIHRoZSBoaXN0b3J5IGVudHJ5IGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBvbGQgcm91dGVyLlxuICAgICAgX19OQTogdHJ1ZSxcbiAgICAgIF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUU6IHRyZWUsXG4gICAgfVxuICAgIGlmIChcbiAgICAgIHB1c2hSZWYucGVuZGluZ1B1c2ggJiZcbiAgICAgIC8vIFNraXAgcHVzaGluZyBhbiBhZGRpdGlvbmFsIGhpc3RvcnkgZW50cnkgaWYgdGhlIGNhbm9uaWNhbFVybCBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCB1cmwuXG4gICAgICAvLyBUaGlzIG1pcnJvcnMgdGhlIGJyb3dzZXIgYmVoYXZpb3IgZm9yIG5vcm1hbCBuYXZpZ2F0aW9uLlxuICAgICAgY3JlYXRlSHJlZkZyb21VcmwobmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikpICE9PSBjYW5vbmljYWxVcmxcbiAgICApIHtcbiAgICAgIC8vIFRoaXMgaW50ZW50aW9uYWxseSBtdXRhdGVzIFJlYWN0IHN0YXRlLCBwdXNoUmVmIGlzIG92ZXJ3cml0dGVuIHRvIGVuc3VyZSBhZGRpdGlvbmFsIHB1c2gvcmVwbGFjZSBjYWxscyBkbyBub3QgdHJpZ2dlciBhbiBhZGRpdGlvbmFsIGhpc3RvcnkgZW50cnkuXG4gICAgICBwdXNoUmVmLnBlbmRpbmdQdXNoID0gZmFsc2VcbiAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShoaXN0b3J5U3RhdGUsICcnLCBjYW5vbmljYWxVcmwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShoaXN0b3J5U3RhdGUsICcnLCBjYW5vbmljYWxVcmwpXG4gICAgfVxuICB9LCBbYXBwUm91dGVyU3RhdGVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gVGhlIE5leHQtVXJsIGFuZCB0aGUgYmFzZSB0cmVlIG1heSBhZmZlY3QgdGhlIHJlc3VsdCBvZiBhIHByZWZldGNoXG4gICAgLy8gdGFzay4gUmUtcHJlZmV0Y2ggYWxsIHZpc2libGUgbGlua3Mgd2l0aCB0aGUgdXBkYXRlZCB2YWx1ZXMuIEluIG1vc3RcbiAgICAvLyBjYXNlcywgdGhpcyB3aWxsIG5vdCByZXN1bHQgaW4gYW55IG5ldyBuZXR3b3JrIHJlcXVlc3RzLCBvbmx5IGlmXG4gICAgLy8gdGhlIHByZWZldGNoIHJlc3VsdCBhY3R1YWxseSB2YXJpZXMgb24gb25lIG9mIHRoZXNlIGlucHV0cy5cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFKSB7XG4gICAgICBwaW5nVmlzaWJsZUxpbmtzKGFwcFJvdXRlclN0YXRlLm5leHRVcmwsIGFwcFJvdXRlclN0YXRlLnRyZWUpXG4gICAgfVxuICB9LCBbYXBwUm91dGVyU3RhdGUubmV4dFVybCwgYXBwUm91dGVyU3RhdGUudHJlZV0pXG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKCk6IENhY2hlTm9kZSB7XG4gIHJldHVybiB7XG4gICAgbGF6eURhdGE6IG51bGwsXG4gICAgcnNjOiBudWxsLFxuICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgIGhlYWQ6IG51bGwsXG4gICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgbG9hZGluZzogbnVsbCxcbiAgICBuYXZpZ2F0ZWRBdDogLTEsXG4gIH1cbn1cblxuZnVuY3Rpb24gY29weU5leHRKc0ludGVybmFsSGlzdG9yeVN0YXRlKGRhdGE6IGFueSkge1xuICBpZiAoZGF0YSA9PSBudWxsKSBkYXRhID0ge31cbiAgY29uc3QgY3VycmVudFN0YXRlID0gd2luZG93Lmhpc3Rvcnkuc3RhdGVcbiAgY29uc3QgX19OQSA9IGN1cnJlbnRTdGF0ZT8uX19OQVxuICBpZiAoX19OQSkge1xuICAgIGRhdGEuX19OQSA9IF9fTkFcbiAgfVxuICBjb25zdCBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFID1cbiAgICBjdXJyZW50U3RhdGU/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgaWYgKF9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUpIHtcbiAgICBkYXRhLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUgPSBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFXG4gIH1cblxuICByZXR1cm4gZGF0YVxufVxuXG5mdW5jdGlvbiBIZWFkKHtcbiAgaGVhZENhY2hlTm9kZSxcbn06IHtcbiAgaGVhZENhY2hlTm9kZTogQ2FjaGVOb2RlIHwgbnVsbFxufSk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hIZWFkYCwgaXQncyB0aGUgc3RhdGljYWxseSBwcmVmZXRjaGVkIGRhdGEuXG4gIC8vIFdlIHNob3VsZCB1c2UgdGhhdCBvbiBpbml0aWFsIHJlbmRlciBpbnN0ZWFkIG9mIGBoZWFkYC4gVGhlbiB3ZSdsbCBzd2l0Y2hcbiAgLy8gdG8gYGhlYWRgIHdoZW4gdGhlIGR5bmFtaWMgcmVzcG9uc2Ugc3RyZWFtcyBpbi5cbiAgY29uc3QgaGVhZCA9IGhlYWRDYWNoZU5vZGUgIT09IG51bGwgPyBoZWFkQ2FjaGVOb2RlLmhlYWQgOiBudWxsXG4gIGNvbnN0IHByZWZldGNoSGVhZCA9XG4gICAgaGVhZENhY2hlTm9kZSAhPT0gbnVsbCA/IGhlYWRDYWNoZU5vZGUucHJlZmV0Y2hIZWFkIDogbnVsbFxuXG4gIC8vIElmIG5vIHByZWZldGNoIGRhdGEgaXMgYXZhaWxhYmxlLCB0aGVuIHdlIGdvIHN0cmFpZ2h0IHRvIHJlbmRlcmluZyBgaGVhZGAuXG4gIGNvbnN0IHJlc29sdmVkUHJlZmV0Y2hSc2MgPSBwcmVmZXRjaEhlYWQgIT09IG51bGwgPyBwcmVmZXRjaEhlYWQgOiBoZWFkXG5cbiAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gIC8vIGZpbmFsIHZhbHVlcy4gVGhlIHNlY29uZCBhcmd1bWVudCBpcyByZXR1cm5lZCBvbiBpbml0aWFsIHJlbmRlciwgdGhlbiBpdFxuICAvLyByZS1yZW5kZXJzIHdpdGggdGhlIGZpcnN0IGFyZ3VtZW50LlxuICByZXR1cm4gdXNlRGVmZXJyZWRWYWx1ZShoZWFkLCByZXNvbHZlZFByZWZldGNoUnNjKVxufVxuXG4vKipcbiAqIFRoZSBnbG9iYWwgcm91dGVyIHRoYXQgd3JhcHMgdGhlIGFwcGxpY2F0aW9uIGNvbXBvbmVudHMuXG4gKi9cbmZ1bmN0aW9uIFJvdXRlcih7XG4gIGFjdGlvblF1ZXVlLFxuICBhc3NldFByZWZpeCxcbiAgZ2xvYmFsRXJyb3IsXG4gIGdyYWNlZnVsbHlEZWdyYWRlLFxufToge1xuICBhY3Rpb25RdWV1ZTogQXBwUm91dGVyQWN0aW9uUXVldWVcbiAgYXNzZXRQcmVmaXg6IHN0cmluZ1xuICBnbG9iYWxFcnJvcjogR2xvYmFsRXJyb3JTdGF0ZVxuICBncmFjZWZ1bGx5RGVncmFkZTogYm9vbGVhblxufSkge1xuICBjb25zdCBzdGF0ZSA9IHVzZUFjdGlvblF1ZXVlKGFjdGlvblF1ZXVlKVxuICBjb25zdCB7IGNhbm9uaWNhbFVybCB9ID0gc3RhdGVcbiAgLy8gQWRkIG1lbW9pemVkIHBhdGhuYW1lL3F1ZXJ5IGZvciB1c2VTZWFyY2hQYXJhbXMgYW5kIHVzZVBhdGhuYW1lLlxuICBjb25zdCB7IHNlYXJjaFBhcmFtcywgcGF0aG5hbWUgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoXG4gICAgICBjYW5vbmljYWxVcmwsXG4gICAgICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyA/ICdodHRwOi8vbicgOiB3aW5kb3cubG9jYXRpb24uaHJlZlxuICAgIClcblxuICAgIHJldHVybiB7XG4gICAgICAvLyBUaGlzIGlzIHR1cm5lZCBpbnRvIGEgcmVhZG9ubHkgY2xhc3MgaW4gYHVzZVNlYXJjaFBhcmFtc2BcbiAgICAgIHNlYXJjaFBhcmFtczogdXJsLnNlYXJjaFBhcmFtcyxcbiAgICAgIHBhdGhuYW1lOiBoYXNCYXNlUGF0aCh1cmwucGF0aG5hbWUpXG4gICAgICAgID8gcmVtb3ZlQmFzZVBhdGgodXJsLnBhdGhuYW1lKVxuICAgICAgICA6IHVybC5wYXRobmFtZSxcbiAgICB9XG4gIH0sIFtjYW5vbmljYWxVcmxdKVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgY29uc3QgeyBjYWNoZSwgcHJlZmV0Y2hDYWNoZSwgdHJlZSB9ID0gc3RhdGVcblxuICAgIC8vIFRoaXMgaG9vayBpcyBpbiBhIGNvbmRpdGlvbmFsIGJ1dCB0aGF0IGlzIG9rIGJlY2F1c2UgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCBuZXZlciBjaGFuZ2VzXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIC8vIEFkZCBgd2luZG93Lm5kYCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLlxuICAgICAgLy8gVGhpcyBpcyBub3QgbWVhbnQgZm9yIHVzZSBpbiBhcHBsaWNhdGlvbnMgYXMgY29uY3VycmVudCByZW5kZXJpbmcgd2lsbCBhZmZlY3QgdGhlIGNhY2hlL3RyZWUvcm91dGVyLlxuICAgICAgLy8gQHRzLWlnbm9yZSB0aGlzIGlzIGZvciBkZWJ1Z2dpbmdcbiAgICAgIHdpbmRvdy5uZCA9IHtcbiAgICAgICAgcm91dGVyOiBwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSxcbiAgICAgICAgY2FjaGUsXG4gICAgICAgIHByZWZldGNoQ2FjaGUsXG4gICAgICAgIHRyZWUsXG4gICAgICB9XG4gICAgfSwgW2NhY2hlLCBwcmVmZXRjaENhY2hlLCB0cmVlXSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gSWYgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUsIGl0J3MgcG9zc2libGUgdGhhdFxuICAgIC8vIHB1c2hSZWYubXBhTmF2aWdhdGlvbiBpcyB0cnVlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgYW55IHJlLXJlbmRlciBvZiB0aGlzIGNvbXBvbmVudFxuICAgIC8vIHdvdWxkIHRyaWdnZXIgdGhlIG1wYSBuYXZpZ2F0aW9uIGxvZ2ljIGFnYWluIGZyb20gdGhlIGxpbmVzIGJlbG93LlxuICAgIC8vIFRoaXMgd2lsbCByZXN0b3JlIHRoZSByb3V0ZXIgdG8gdGhlIGluaXRpYWwgc3RhdGUgaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUuXG4gICAgZnVuY3Rpb24gaGFuZGxlUGFnZVNob3coZXZlbnQ6IFBhZ2VUcmFuc2l0aW9uRXZlbnQpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIWV2ZW50LnBlcnNpc3RlZCB8fFxuICAgICAgICAhd2luZG93Lmhpc3Rvcnkuc3RhdGU/Ll9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gQ2xlYXIgdGhlIHBlbmRpbmdNcGFQYXRoIHZhbHVlIHNvIHRoYXQgYSBzdWJzZXF1ZW50IE1QQSBuYXZpZ2F0aW9uIHRvIHRoZSBzYW1lIFVSTCBjYW4gYmUgdHJpZ2dlcmVkLlxuICAgICAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpZiB0aGUgYnJvd3NlciByZXN0b3JlZCBmcm9tIGJmY2FjaGUsIHRoZSBwZW5kaW5nTXBhUGF0aCB3b3VsZCBzdGlsbCBiZSBzZXQgdG8gdGhlIHZhbHVlXG4gICAgICAvLyBvZiB0aGUgbGFzdCBNUEEgbmF2aWdhdGlvbi5cbiAgICAgIGdsb2JhbE11dGFibGUucGVuZGluZ01wYVBhdGggPSB1bmRlZmluZWRcblxuICAgICAgZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24oe1xuICAgICAgICB0eXBlOiBBQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgdXJsOiBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxcbiAgICAgICAgdHJlZTogd2luZG93Lmhpc3Rvcnkuc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VzaG93JywgaGFuZGxlUGFnZVNob3cpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BhZ2VzaG93JywgaGFuZGxlUGFnZVNob3cpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIEVuc3VyZSB0aGF0IGFueSByZWRpcmVjdCBlcnJvcnMgdGhhdCBidWJibGUgdXAgb3V0c2lkZSBvZiB0aGUgUmVkaXJlY3RCb3VuZGFyeVxuICAgIC8vIGFyZSBjYXVnaHQgYW5kIGhhbmRsZWQgYnkgdGhlIHJvdXRlci5cbiAgICBmdW5jdGlvbiBoYW5kbGVVbmhhbmRsZWRSZWRpcmVjdChcbiAgICAgIGV2ZW50OiBFcnJvckV2ZW50IHwgUHJvbWlzZVJlamVjdGlvbkV2ZW50XG4gICAgKSB7XG4gICAgICBjb25zdCBlcnJvciA9ICdyZWFzb24nIGluIGV2ZW50ID8gZXZlbnQucmVhc29uIDogZXZlbnQuZXJyb3JcbiAgICAgIGlmIChpc1JlZGlyZWN0RXJyb3IoZXJyb3IpKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgY29uc3QgdXJsID0gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IoZXJyb3IpXG4gICAgICAgIGNvbnN0IHJlZGlyZWN0VHlwZSA9IGdldFJlZGlyZWN0VHlwZUZyb21FcnJvcihlcnJvcilcbiAgICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgYWNjZXNzIHRoZSByb3V0ZXIgbWV0aG9kcyBkaXJlY3RseSwgcmF0aGVyIHRoYW5cbiAgICAgICAgLy8gZ28gdGhyb3VnaCB0aGUgcHVibGljIGludGVyZmFjZS5cbiAgICAgICAgaWYgKHJlZGlyZWN0VHlwZSA9PT0gUmVkaXJlY3RUeXBlLnB1c2gpIHtcbiAgICAgICAgICBwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZS5wdXNoKHVybCwge30pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHVibGljQXBwUm91dGVySW5zdGFuY2UucmVwbGFjZSh1cmwsIHt9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVVuaGFuZGxlZFJlZGlyZWN0KVxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCBoYW5kbGVVbmhhbmRsZWRSZWRpcmVjdClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVVbmhhbmRsZWRSZWRpcmVjdClcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd1bmhhbmRsZWRyZWplY3Rpb24nLCBoYW5kbGVVbmhhbmRsZWRSZWRpcmVjdClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8vIFdoZW4gbXBhTmF2aWdhdGlvbiBmbGFnIGlzIHNldCBkbyBhIGhhcmQgbmF2aWdhdGlvbiB0byB0aGUgbmV3IHVybC5cbiAgLy8gSW5maW5pdGVseSBzdXNwZW5kIGJlY2F1c2Ugd2UgZG9uJ3QgYWN0dWFsbHkgd2FudCB0byByZXJlbmRlciBhbnkgY2hpbGRcbiAgLy8gY29tcG9uZW50cyB3aXRoIHRoZSBuZXcgVVJMIGFuZCBhbnkgZW50YW5nbGVkIHN0YXRlIHVwZGF0ZXMgc2hvdWxkbid0XG4gIC8vIGNvbW1pdCBlaXRoZXIgKGVnOiB1c2VUcmFuc2l0aW9uIGlzUGVuZGluZyBzaG91bGQgc3RheSB0cnVlIHVudGlsIHRoZSBwYWdlXG4gIC8vIHVubG9hZHMpLlxuICAvL1xuICAvLyBUaGlzIGlzIGEgc2lkZSBlZmZlY3QgaW4gcmVuZGVyLiBEb24ndCB0cnkgdGhpcyBhdCBob21lLCBraWRzLiBJdCdzXG4gIC8vIHByb2JhYmx5IHNhZmUgYmVjYXVzZSB3ZSBrbm93IHRoaXMgaXMgYSBzaW5nbGV0b24gY29tcG9uZW50IGFuZCBpdCdzIG5ldmVyXG4gIC8vIGluIDxPZmZzY3JlZW4+LiBBdCBsZWFzdCBJIGhvcGUgc28uIChJdCB3aWxsIHJ1biB0d2ljZSBpbiBkZXYgc3RyaWN0IG1vZGUsXG4gIC8vIGJ1dCB0aGF0J3MuLi4gZmluZT8pXG4gIGNvbnN0IHsgcHVzaFJlZiB9ID0gc3RhdGVcbiAgaWYgKHB1c2hSZWYubXBhTmF2aWdhdGlvbikge1xuICAgIC8vIGlmIHRoZXJlJ3MgYSByZS1yZW5kZXIsIHdlIGRvbid0IHdhbnQgdG8gdHJpZ2dlciBhbm90aGVyIHJlZGlyZWN0IGlmIG9uZSBpcyBhbHJlYWR5IGluIGZsaWdodCB0byB0aGUgc2FtZSBVUkxcbiAgICBpZiAoZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCAhPT0gY2Fub25pY2FsVXJsKSB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvblxuICAgICAgaWYgKHB1c2hSZWYucGVuZGluZ1B1c2gpIHtcbiAgICAgICAgbG9jYXRpb24uYXNzaWduKGNhbm9uaWNhbFVybClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvY2F0aW9uLnJlcGxhY2UoY2Fub25pY2FsVXJsKVxuICAgICAgfVxuXG4gICAgICBnbG9iYWxNdXRhYmxlLnBlbmRpbmdNcGFQYXRoID0gY2Fub25pY2FsVXJsXG4gICAgfVxuICAgIC8vIFRPRE8tQVBQOiBTaG91bGQgd2UgbGlzdGVuIHRvIG5hdmlnYXRlZXJyb3IgaGVyZSB0byBjYXRjaCBmYWlsZWRcbiAgICAvLyBuYXZpZ2F0aW9ucyBzb21laG93PyBBbmQgc2hvdWxkIHdlIGNhbGwgd2luZG93LnN0b3AoKSBpZiBhIFNQQSBuYXZpZ2F0aW9uXG4gICAgLy8gc2hvdWxkIGludGVycnVwdCBhbiBNUEEgb25lP1xuICAgIC8vIE5PVEU6IFRoaXMgaXMgaW50ZW50aW9uYWxseSB1c2luZyBgdGhyb3dgIGluc3RlYWQgb2YgYHVzZWAgYmVjYXVzZSB3ZSdyZVxuICAgIC8vIGluc2lkZSBhbiBleHRlcm5hbGx5IG11dGFibGUgY29uZGl0aW9uIChwdXNoUmVmLm1wYU5hdmlnYXRpb24pLCB3aGljaFxuICAgIC8vIHZpb2xhdGVzIHRoZSBydWxlcyBvZiBob29rcy5cbiAgICB0aHJvdyB1bnJlc29sdmVkVGhlbmFibGVcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxQdXNoU3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSlcbiAgICBjb25zdCBvcmlnaW5hbFJlcGxhY2VTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZS5iaW5kKFxuICAgICAgd2luZG93Lmhpc3RvcnlcbiAgICApXG5cbiAgICAvLyBFbnN1cmUgdGhlIGNhbm9uaWNhbCBVUkwgaW4gdGhlIE5leHQuanMgUm91dGVyIGlzIHVwZGF0ZWQgd2hlbiB0aGUgVVJMIGlzIGNoYW5nZWQgc28gdGhhdCBgdXNlUGF0aG5hbWVgIGFuZCBgdXNlU2VhcmNoUGFyYW1zYCBob2xkIHRoZSBwdXNoZWQgdmFsdWVzLlxuICAgIGNvbnN0IGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSA9IChcbiAgICAgIHVybDogc3RyaW5nIHwgVVJMIHwgbnVsbCB8IHVuZGVmaW5lZFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmXG4gICAgICBjb25zdCB0cmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZSB8IHVuZGVmaW5lZCA9XG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnN0YXRlPy5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFXG5cbiAgICAgIHN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICAgIGRpc3BhdGNoQXBwUm91dGVyQWN0aW9uKHtcbiAgICAgICAgICB0eXBlOiBBQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICB1cmw6IG5ldyBVUkwodXJsID8/IGhyZWYsIGhyZWYpLFxuICAgICAgICAgIHRyZWUsXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGNoIHB1c2hTdGF0ZSB0byBlbnN1cmUgZXh0ZXJuYWwgY2hhbmdlcyB0byB0aGUgaGlzdG9yeSBhcmUgcmVmbGVjdGVkIGluIHRoZSBOZXh0LmpzIFJvdXRlci5cbiAgICAgKiBFbnN1cmVzIE5leHQuanMgaW50ZXJuYWwgaGlzdG9yeSBzdGF0ZSBpcyBjb3BpZWQgdG8gdGhlIG5ldyBoaXN0b3J5IGVudHJ5LlxuICAgICAqIEVuc3VyZXMgdXNlUGF0aG5hbWUgYW5kIHVzZVNlYXJjaFBhcmFtcyBob2xkIHRoZSBuZXdseSBwcm92aWRlZCB1cmwuXG4gICAgICovXG4gICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlID0gZnVuY3Rpb24gcHVzaFN0YXRlKFxuICAgICAgZGF0YTogYW55LFxuICAgICAgX3VudXNlZDogc3RyaW5nLFxuICAgICAgdXJsPzogc3RyaW5nIHwgVVJMIHwgbnVsbFxuICAgICk6IHZvaWQge1xuICAgICAgLy8gQXZvaWQgYSBsb29wIHdoZW4gTmV4dC5qcyBpbnRlcm5hbHMgdHJpZ2dlciBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlXG4gICAgICBpZiAoZGF0YT8uX19OQSB8fCBkYXRhPy5fTikge1xuICAgICAgICByZXR1cm4gb3JpZ2luYWxQdXNoU3RhdGUoZGF0YSwgX3VudXNlZCwgdXJsKVxuICAgICAgfVxuXG4gICAgICBkYXRhID0gY29weU5leHRKc0ludGVybmFsSGlzdG9yeVN0YXRlKGRhdGEpXG5cbiAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlKHVybClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9yaWdpbmFsUHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRjaCByZXBsYWNlU3RhdGUgdG8gZW5zdXJlIGV4dGVybmFsIGNoYW5nZXMgdG8gdGhlIGhpc3RvcnkgYXJlIHJlZmxlY3RlZCBpbiB0aGUgTmV4dC5qcyBSb3V0ZXIuXG4gICAgICogRW5zdXJlcyBOZXh0LmpzIGludGVybmFsIGhpc3Rvcnkgc3RhdGUgaXMgY29waWVkIHRvIHRoZSBuZXcgaGlzdG9yeSBlbnRyeS5cbiAgICAgKiBFbnN1cmVzIHVzZVBhdGhuYW1lIGFuZCB1c2VTZWFyY2hQYXJhbXMgaG9sZCB0aGUgbmV3bHkgcHJvdmlkZWQgdXJsLlxuICAgICAqL1xuICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSA9IGZ1bmN0aW9uIHJlcGxhY2VTdGF0ZShcbiAgICAgIGRhdGE6IGFueSxcbiAgICAgIF91bnVzZWQ6IHN0cmluZyxcbiAgICAgIHVybD86IHN0cmluZyB8IFVSTCB8IG51bGxcbiAgICApOiB2b2lkIHtcbiAgICAgIC8vIEF2b2lkIGEgbG9vcCB3aGVuIE5leHQuanMgaW50ZXJuYWxzIHRyaWdnZXIgcHVzaFN0YXRlL3JlcGxhY2VTdGF0ZVxuICAgICAgaWYgKGRhdGE/Ll9fTkEgfHwgZGF0YT8uX04pIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsUmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybClcbiAgICAgIH1cbiAgICAgIGRhdGEgPSBjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUoZGF0YSlcblxuICAgICAgaWYgKHVybCkge1xuICAgICAgICBhcHBseVVybEZyb21IaXN0b3J5UHVzaFJlcGxhY2UodXJsKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9yaWdpbmFsUmVwbGFjZVN0YXRlKGRhdGEsIF91bnVzZWQsIHVybClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGUgcG9wc3RhdGUgZXZlbnQsIHRoaXMgaXMgdXNlZCB0byBoYW5kbGUgYmFjay9mb3J3YXJkIGluIHRoZSBicm93c2VyLlxuICAgICAqIEJ5IGRlZmF1bHQgZGlzcGF0Y2hlcyBBQ1RJT05fUkVTVE9SRSwgaG93ZXZlciBpZiB0aGUgaGlzdG9yeSBlbnRyeSB3YXMgbm90IHB1c2hlZC9yZXBsYWNlZCBieSBhcHAtcm91dGVyIGl0IHdpbGwgcmVsb2FkIHRoZSBwYWdlLlxuICAgICAqIFRoYXQgY2FzZSBjYW4gaGFwcGVuIHdoZW4gdGhlIG9sZCByb3V0ZXIgaW5qZWN0ZWQgdGhlIGhpc3RvcnkgZW50cnkuXG4gICAgICovXG4gICAgY29uc3Qgb25Qb3BTdGF0ZSA9IChldmVudDogUG9wU3RhdGVFdmVudCkgPT4ge1xuICAgICAgaWYgKCFldmVudC5zdGF0ZSkge1xuICAgICAgICAvLyBUT0RPLUFQUDogdGhpcyBjYXNlIG9ubHkgaGFwcGVucyB3aGVuIHB1c2hTdGF0ZS9yZXBsYWNlU3RhdGUgd2FzIGNhbGxlZCBvdXRzaWRlIG9mIE5leHQuanMuIEl0IHNob3VsZCBwcm9iYWJseSByZWxvYWQgdGhlIHBhZ2UgaW4gdGhpcyBjYXNlLlxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gVGhpcyBjYXNlIGhhcHBlbnMgd2hlbiB0aGUgaGlzdG9yeSBlbnRyeSB3YXMgcHVzaGVkIGJ5IHRoZSBgcGFnZXNgIHJvdXRlci5cbiAgICAgIGlmICghZXZlbnQuc3RhdGUuX19OQSkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIC8vIFRPRE8tQVBQOiBJZGVhbGx5IHRoZSBiYWNrIGJ1dHRvbiBzaG91bGQgbm90IHVzZSBzdGFydFRyYW5zaXRpb24gYXMgaXQgc2hvdWxkIGFwcGx5IHRoZSB1cGRhdGVzIHN5bmNocm9ub3VzbHlcbiAgICAgIC8vIFdpdGhvdXQgc3RhcnRUcmFuc2l0aW9uIHdvcmtzIGlmIHRoZSBjYWNoZSBpcyB0aGVyZSBmb3IgdGhpcyBwYXRoXG4gICAgICBzdGFydFRyYW5zaXRpb24oKCkgPT4ge1xuICAgICAgICBkaXNwYXRjaFRyYXZlcnNlQWN0aW9uKFxuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgICAgICAgIGV2ZW50LnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICAvLyBSZWdpc3RlciBwb3BzdGF0ZSBldmVudCB0byBjYWxsIG9uUG9wc3RhdGUuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgb25Qb3BTdGF0ZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlID0gb3JpZ2luYWxQdXNoU3RhdGVcbiAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSA9IG9yaWdpbmFsUmVwbGFjZVN0YXRlXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCBvblBvcFN0YXRlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgeyBjYWNoZSwgdHJlZSwgbmV4dFVybCwgZm9jdXNBbmRTY3JvbGxSZWYgfSA9IHN0YXRlXG5cbiAgY29uc3QgbWF0Y2hpbmdIZWFkID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZpbmRIZWFkSW5DYWNoZShjYWNoZSwgdHJlZVsxXSlcbiAgfSwgW2NhY2hlLCB0cmVlXSlcblxuICAvLyBBZGQgbWVtb2l6ZWQgcGF0aFBhcmFtcyBmb3IgdXNlUGFyYW1zLlxuICBjb25zdCBwYXRoUGFyYW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGdldFNlbGVjdGVkUGFyYW1zKHRyZWUpXG4gIH0sIFt0cmVlXSlcblxuICBjb25zdCBsYXlvdXRSb3V0ZXJDb250ZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhcmVudFRyZWU6IHRyZWUsXG4gICAgICBwYXJlbnRDYWNoZU5vZGU6IGNhY2hlLFxuICAgICAgcGFyZW50U2VnbWVudFBhdGg6IG51bGwsXG4gICAgICAvLyBSb290IG5vZGUgYWx3YXlzIGhhcyBgdXJsYFxuICAgICAgLy8gUHJvdmlkZWQgaW4gQXBwVHJlZUNvbnRleHQgdG8gZW5zdXJlIGl0IGNhbiBiZSBvdmVyd3JpdHRlbiBpbiBsYXlvdXQtcm91dGVyXG4gICAgICB1cmw6IGNhbm9uaWNhbFVybCxcbiAgICB9XG4gIH0sIFt0cmVlLCBjYWNoZSwgY2Fub25pY2FsVXJsXSlcblxuICBjb25zdCBnbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRyZWUsXG4gICAgICBmb2N1c0FuZFNjcm9sbFJlZixcbiAgICAgIG5leHRVcmwsXG4gICAgfVxuICB9LCBbdHJlZSwgZm9jdXNBbmRTY3JvbGxSZWYsIG5leHRVcmxdKVxuXG4gIGxldCBoZWFkXG4gIGlmIChtYXRjaGluZ0hlYWQgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgaGVhZCBpcyB3cmFwcGVkIGluIGFuIGV4dHJhIGNvbXBvbmVudCBzbyB3ZSBjYW4gdXNlXG4gICAgLy8gYHVzZURlZmVycmVkVmFsdWVgIHRvIHN3YXAgYmV0d2VlbiB0aGUgcHJlZmV0Y2hlZCBhbmQgZmluYWwgdmVyc2lvbnMgb2ZcbiAgICAvLyB0aGUgaGVhZC4gKFRoaXMgaXMgd2hhdCBMYXlvdXRSb3V0ZXIgZG9lcyBmb3Igc2VnbWVudCBkYXRhLCB0b28uKVxuICAgIC8vXG4gICAgLy8gVGhlIGBrZXlgIGlzIHVzZWQgdG8gcmVtb3VudCB0aGUgY29tcG9uZW50IHdoZW5ldmVyIHRoZSBoZWFkIG1vdmVzIHRvXG4gICAgLy8gYSBkaWZmZXJlbnQgc2VnbWVudC5cbiAgICBjb25zdCBbaGVhZENhY2hlTm9kZSwgaGVhZEtleV0gPSBtYXRjaGluZ0hlYWRcbiAgICBoZWFkID0gPEhlYWQga2V5PXtoZWFkS2V5fSBoZWFkQ2FjaGVOb2RlPXtoZWFkQ2FjaGVOb2RlfSAvPlxuICB9IGVsc2Uge1xuICAgIGhlYWQgPSBudWxsXG4gIH1cblxuICBsZXQgY29udGVudCA9IChcbiAgICA8UmVkaXJlY3RCb3VuZGFyeT5cbiAgICAgIHtoZWFkfVxuICAgICAge2NhY2hlLnJzY31cbiAgICAgIDxBcHBSb3V0ZXJBbm5vdW5jZXIgdHJlZT17dHJlZX0gLz5cbiAgICA8L1JlZGlyZWN0Qm91bmRhcnk+XG4gIClcblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIC8vIEluIGRldmVsb3BtZW50LCB3ZSBhcHBseSBmZXcgZXJyb3IgYm91bmRhcmllcyBhbmQgaG90LXJlbG9hZGVyOlxuICAgIC8vIC0gRGV2Um9vdEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5OiBhdm9pZCB1c2luZyBuYXZpZ2F0aW9uIEFQSSBsaWtlIG5vdEZvdW5kKCkgaW4gcm9vdCBsYXlvdXRcbiAgICAvLyAtIEhvdFJlbG9hZGVyOlxuICAgIC8vICAtIGhvdC1yZWxvYWQgdGhlIGFwcCB3aGVuIHRoZSBjb2RlIGNoYW5nZXNcbiAgICAvLyAgLSByZW5kZXIgZGV2IG92ZXJsYXlcbiAgICAvLyAgLSBjYXRjaCBydW50aW1lIGVycm9ycyBhbmQgZGlzcGxheSBnbG9iYWwtZXJyb3Igd2hlbiBuZWNlc3NhcnlcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnN0IHsgRGV2Um9vdEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5IH0gPVxuICAgICAgICByZXF1aXJlKCcuL2Rldi1yb290LWh0dHAtYWNjZXNzLWZhbGxiYWNrLWJvdW5kYXJ5JykgYXMgdHlwZW9mIGltcG9ydCgnLi9kZXYtcm9vdC1odHRwLWFjY2Vzcy1mYWxsYmFjay1ib3VuZGFyeScpXG4gICAgICBjb250ZW50ID0gKFxuICAgICAgICA8RGV2Um9vdEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5PlxuICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICA8L0RldlJvb3RIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeT5cbiAgICAgIClcbiAgICB9XG4gICAgY29uc3QgSG90UmVsb2FkZXI6IHR5cGVvZiBpbXBvcnQoJy4uL2Rldi9ob3QtcmVsb2FkZXIvYXBwL2hvdC1yZWxvYWRlci1hcHAnKS5kZWZhdWx0ID1cbiAgICAgIChcbiAgICAgICAgcmVxdWlyZSgnLi4vZGV2L2hvdC1yZWxvYWRlci9hcHAvaG90LXJlbG9hZGVyLWFwcCcpIGFzIHR5cGVvZiBpbXBvcnQoJy4uL2Rldi9ob3QtcmVsb2FkZXIvYXBwL2hvdC1yZWxvYWRlci1hcHAnKVxuICAgICAgKS5kZWZhdWx0XG5cbiAgICBjb250ZW50ID0gKFxuICAgICAgPEhvdFJlbG9hZGVyIGFzc2V0UHJlZml4PXthc3NldFByZWZpeH0gZ2xvYmFsRXJyb3I9e2dsb2JhbEVycm9yfT5cbiAgICAgICAge2NvbnRlbnR9XG4gICAgICA8L0hvdFJlbG9hZGVyPlxuICAgIClcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBncmFjZWZ1bGx5IGRlZ3JhZGluZyBpcyBhcHBsaWVkIGluIHByb2R1Y3Rpb24sXG4gICAgLy8gbGVhdmUgdGhlIGFwcCBhcyBpdCBpcyByYXRoZXIgdGhhbiBjYXVnaHQgYnkgR2xvYmFsRXJyb3IgYm91bmRhcnkuXG4gICAgaWYgKGdyYWNlZnVsbHlEZWdyYWRlKSB7XG4gICAgICBjb250ZW50ID0gPEdyYWNlZnVsRGVncmFkZUJvdW5kYXJ5Pntjb250ZW50fTwvR3JhY2VmdWxEZWdyYWRlQm91bmRhcnk+XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRlbnQgPSAoXG4gICAgICAgIDxFcnJvckJvdW5kYXJ5XG4gICAgICAgICAgZXJyb3JDb21wb25lbnQ9e2dsb2JhbEVycm9yWzBdfVxuICAgICAgICAgIGVycm9yU3R5bGVzPXtnbG9iYWxFcnJvclsxXX1cbiAgICAgICAgPlxuICAgICAgICAgIHtjb250ZW50fVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEhpc3RvcnlVcGRhdGVyIGFwcFJvdXRlclN0YXRlPXtzdGF0ZX0gLz5cbiAgICAgIDxSdW50aW1lU3R5bGVzIC8+XG4gICAgICA8UGF0aFBhcmFtc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3BhdGhQYXJhbXN9PlxuICAgICAgICA8UGF0aG5hbWVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtwYXRobmFtZX0+XG4gICAgICAgICAgPFNlYXJjaFBhcmFtc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3NlYXJjaFBhcmFtc30+XG4gICAgICAgICAgICA8R2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlclxuICAgICAgICAgICAgICB2YWx1ZT17Z2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgey8qIFRPRE86IFdlIHNob3VsZCBiZSBhYmxlIHRvIHJlbW92ZSB0aGlzIGNvbnRleHQuIHVzZVJvdXRlclxuICAgICAgICAgICAgICAgICAgc2hvdWxkIGltcG9ydCBmcm9tIGFwcC1yb3V0ZXItaW5zdGFuY2UgaW5zdGVhZC4gSXQncyBvbmx5XG4gICAgICAgICAgICAgICAgICBuZWNlc3NhcnkgYmVjYXVzZSB1c2VSb3V0ZXIgaXMgc2hhcmVkIGJldHdlZW4gUGFnZXMgYW5kXG4gICAgICAgICAgICAgICAgICBBcHAgUm91dGVyLiBXZSBzaG91bGQgZm9yayB0aGF0IG1vZHVsZSwgdGhlbiByZW1vdmUgdGhpc1xuICAgICAgICAgICAgICAgICAgY29udGV4dCBwcm92aWRlci4gKi99XG4gICAgICAgICAgICAgIDxBcHBSb3V0ZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZX0+XG4gICAgICAgICAgICAgICAgPExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2xheW91dFJvdXRlckNvbnRleHR9PlxuICAgICAgICAgICAgICAgICAge2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgPC9MYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgICAgICA8L0FwcFJvdXRlckNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgICA8L0dsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgICAgPC9TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICA8L1BhdGhuYW1lQ29udGV4dC5Qcm92aWRlcj5cbiAgICAgIDwvUGF0aFBhcmFtc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXBwUm91dGVyKHtcbiAgYWN0aW9uUXVldWUsXG4gIGdsb2JhbEVycm9yU3RhdGUsXG4gIGFzc2V0UHJlZml4LFxuICBncmFjZWZ1bGx5RGVncmFkZSxcbn06IHtcbiAgYWN0aW9uUXVldWU6IEFwcFJvdXRlckFjdGlvblF1ZXVlXG4gIGdsb2JhbEVycm9yU3RhdGU6IEdsb2JhbEVycm9yU3RhdGVcbiAgYXNzZXRQcmVmaXg6IHN0cmluZ1xuICBncmFjZWZ1bGx5RGVncmFkZTogYm9vbGVhblxufSkge1xuICB1c2VOYXZGYWlsdXJlSGFuZGxlcigpXG5cbiAgY29uc3Qgcm91dGVyID0gKFxuICAgIDxSb3V0ZXJcbiAgICAgIGFjdGlvblF1ZXVlPXthY3Rpb25RdWV1ZX1cbiAgICAgIGFzc2V0UHJlZml4PXthc3NldFByZWZpeH1cbiAgICAgIGdsb2JhbEVycm9yPXtnbG9iYWxFcnJvclN0YXRlfVxuICAgICAgZ3JhY2VmdWxseURlZ3JhZGU9e2dyYWNlZnVsbHlEZWdyYWRlfVxuICAgIC8+XG4gIClcblxuICBpZiAoZ3JhY2VmdWxseURlZ3JhZGUpIHtcbiAgICByZXR1cm4gcm91dGVyXG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxFcnJvckJvdW5kYXJ5XG4gICAgICAgIC8vIEF0IHRoZSB2ZXJ5IHRvcCBsZXZlbCwgdXNlIHRoZSBkZWZhdWx0IEdsb2JhbEVycm9yIGNvbXBvbmVudCBhcyB0aGUgZmluYWwgZmFsbGJhY2suXG4gICAgICAgIC8vIFdoZW4gdGhlIGFwcCByb3V0ZXIgaXRzZWxmIGZhaWxzLCB3aGljaCBtZWFucyB0aGUgZnJhbWV3b3JrIGl0c2VsZiBmYWlscywgd2Ugc2hvdyB0aGUgZGVmYXVsdCBlcnJvci5cbiAgICAgICAgZXJyb3JDb21wb25lbnQ9e0RlZmF1bHRHbG9iYWxFcnJvcn1cbiAgICAgID5cbiAgICAgICAge3JvdXRlcn1cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICApXG4gIH1cbn1cblxuY29uc3QgcnVudGltZVN0eWxlcyA9IG5ldyBTZXQ8c3RyaW5nPigpXG5sZXQgcnVudGltZVN0eWxlQ2hhbmdlZCA9IG5ldyBTZXQ8KCkgPT4gdm9pZD4oKVxuXG5nbG9iYWxUaGlzLl9OX0VfU1RZTEVfTE9BRCA9IGZ1bmN0aW9uIChocmVmOiBzdHJpbmcpIHtcbiAgbGV0IGxlbiA9IHJ1bnRpbWVTdHlsZXMuc2l6ZVxuICBydW50aW1lU3R5bGVzLmFkZChocmVmKVxuICBpZiAocnVudGltZVN0eWxlcy5zaXplICE9PSBsZW4pIHtcbiAgICBydW50aW1lU3R5bGVDaGFuZ2VkLmZvckVhY2goKGNiKSA9PiBjYigpKVxuICB9XG4gIC8vIFRPRE8gZmlndXJlIG91dCBob3cgdG8gZ2V0IGEgcHJvbWlzZSBoZXJlXG4gIC8vIEJ1dCBtYXliZSBpdCdzIG5vdCBuZWNlc3NhcnkgYXMgcmVhY3Qgd291bGQgYmxvY2sgcmVuZGVyaW5nIHVudGlsIGl0J3MgbG9hZGVkXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxufVxuXG5mdW5jdGlvbiBSdW50aW1lU3R5bGVzKCkge1xuICBjb25zdCBbLCBmb3JjZVVwZGF0ZV0gPSBSZWFjdC51c2VTdGF0ZSgwKVxuICBjb25zdCByZW5kZXJlZFN0eWxlc1NpemUgPSBydW50aW1lU3R5bGVzLnNpemVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjaGFuZ2VkID0gKCkgPT4gZm9yY2VVcGRhdGUoKGMpID0+IGMgKyAxKVxuICAgIHJ1bnRpbWVTdHlsZUNoYW5nZWQuYWRkKGNoYW5nZWQpXG4gICAgaWYgKHJlbmRlcmVkU3R5bGVzU2l6ZSAhPT0gcnVudGltZVN0eWxlcy5zaXplKSB7XG4gICAgICBjaGFuZ2VkKClcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHJ1bnRpbWVTdHlsZUNoYW5nZWQuZGVsZXRlKGNoYW5nZWQpXG4gICAgfVxuICB9LCBbcmVuZGVyZWRTdHlsZXNTaXplLCBmb3JjZVVwZGF0ZV0pXG5cbiAgY29uc3QgZHBsSWQgPSBwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSURcbiAgICA/IGA/ZHBsPSR7cHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEfWBcbiAgICA6ICcnXG4gIHJldHVybiBbLi4ucnVudGltZVN0eWxlc10ubWFwKChocmVmLCBpKSA9PiAoXG4gICAgPGxpbmtcbiAgICAgIGtleT17aX1cbiAgICAgIHJlbD1cInN0eWxlc2hlZXRcIlxuICAgICAgaHJlZj17YCR7aHJlZn0ke2RwbElkfWB9XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBwcmVjZWRlbmNlPVwibmV4dFwiXG4gICAgICAvLyBUT0RPIGZpZ3VyZSBvdXQgY3Jvc3NPcmlnaW4gYW5kIG5vbmNlXG4gICAgICAvLyBjcm9zc09yaWdpbj17VE9ET31cbiAgICAgIC8vIG5vbmNlPXtUT0RPfVxuICAgIC8+XG4gICkpXG59XG4iXSwibmFtZXMiOlsiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJjcmVhdGVQcmVmZXRjaFVSTCIsIkFwcFJvdXRlciIsImlzRXh0ZXJuYWxVUkwiLCJnbG9iYWxNdXRhYmxlIiwidXJsIiwib3JpZ2luIiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwiaXNCb3QiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJVUkwiLCJhZGRCYXNlUGF0aCIsIl8iLCJFcnJvciIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsIkhpc3RvcnlVcGRhdGVyIiwiYXBwUm91dGVyU3RhdGUiLCJ1c2VJbnNlcnRpb25FZmZlY3QiLCJfX05FWFRfQVBQX05BVl9GQUlMX0hBTkRMSU5HIiwibmV4dCIsIl9fcGVuZGluZ1VybCIsInVuZGVmaW5lZCIsInRyZWUiLCJwdXNoUmVmIiwiY2Fub25pY2FsVXJsIiwiaGlzdG9yeVN0YXRlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJoaXN0b3J5Iiwic3RhdGUiLCJfX05BIiwiX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSIsInBlbmRpbmdQdXNoIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJwdXNoU3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJfX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEUiLCJwaW5nVmlzaWJsZUxpbmtzIiwibmV4dFVybCIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwicGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJsb2FkaW5nIiwibmF2aWdhdGVkQXQiLCJjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUiLCJkYXRhIiwiY3VycmVudFN0YXRlIiwiSGVhZCIsImhlYWRDYWNoZU5vZGUiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsIlJvdXRlciIsImFjdGlvblF1ZXVlIiwiYXNzZXRQcmVmaXgiLCJnbG9iYWxFcnJvciIsImdyYWNlZnVsbHlEZWdyYWRlIiwidXNlQWN0aW9uUXVldWUiLCJzZWFyY2hQYXJhbXMiLCJwYXRobmFtZSIsInVzZU1lbW8iLCJoYXNCYXNlUGF0aCIsInJlbW92ZUJhc2VQYXRoIiwiY2FjaGUiLCJwcmVmZXRjaENhY2hlIiwibmQiLCJyb3V0ZXIiLCJwdWJsaWNBcHBSb3V0ZXJJbnN0YW5jZSIsImhhbmRsZVBhZ2VTaG93IiwiZXZlbnQiLCJwZXJzaXN0ZWQiLCJwZW5kaW5nTXBhUGF0aCIsImRpc3BhdGNoQXBwUm91dGVyQWN0aW9uIiwidHlwZSIsIkFDVElPTl9SRVNUT1JFIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVVbmhhbmRsZWRSZWRpcmVjdCIsImVycm9yIiwicmVhc29uIiwiaXNSZWRpcmVjdEVycm9yIiwicHJldmVudERlZmF1bHQiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsInJlZGlyZWN0VHlwZSIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsIlJlZGlyZWN0VHlwZSIsInB1c2giLCJyZXBsYWNlIiwibXBhTmF2aWdhdGlvbiIsImFzc2lnbiIsInVucmVzb2x2ZWRUaGVuYWJsZSIsIm9yaWdpbmFsUHVzaFN0YXRlIiwiYmluZCIsIm9yaWdpbmFsUmVwbGFjZVN0YXRlIiwiYXBwbHlVcmxGcm9tSGlzdG9yeVB1c2hSZXBsYWNlIiwic3RhcnRUcmFuc2l0aW9uIiwiX3VudXNlZCIsIl9OIiwib25Qb3BTdGF0ZSIsInJlbG9hZCIsImRpc3BhdGNoVHJhdmVyc2VBY3Rpb24iLCJmb2N1c0FuZFNjcm9sbFJlZiIsIm1hdGNoaW5nSGVhZCIsImZpbmRIZWFkSW5DYWNoZSIsInBhdGhQYXJhbXMiLCJnZXRTZWxlY3RlZFBhcmFtcyIsImxheW91dFJvdXRlckNvbnRleHQiLCJwYXJlbnRUcmVlIiwicGFyZW50Q2FjaGVOb2RlIiwicGFyZW50U2VnbWVudFBhdGgiLCJnbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiaGVhZEtleSIsImNvbnRlbnQiLCJSZWRpcmVjdEJvdW5kYXJ5IiwiQXBwUm91dGVyQW5ub3VuY2VyIiwiRGV2Um9vdEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5IiwicmVxdWlyZSIsIkhvdFJlbG9hZGVyIiwiZGVmYXVsdCIsIkdyYWNlZnVsRGVncmFkZUJvdW5kYXJ5IiwiRXJyb3JCb3VuZGFyeSIsImVycm9yQ29tcG9uZW50IiwiZXJyb3JTdHlsZXMiLCJSdW50aW1lU3R5bGVzIiwiUGF0aFBhcmFtc0NvbnRleHQiLCJQcm92aWRlciIsInZhbHVlIiwiUGF0aG5hbWVDb250ZXh0IiwiU2VhcmNoUGFyYW1zQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJBcHBSb3V0ZXJDb250ZXh0IiwiTGF5b3V0Um91dGVyQ29udGV4dCIsImdsb2JhbEVycm9yU3RhdGUiLCJ1c2VOYXZGYWlsdXJlSGFuZGxlciIsIkRlZmF1bHRHbG9iYWxFcnJvciIsInJ1bnRpbWVTdHlsZXMiLCJTZXQiLCJydW50aW1lU3R5bGVDaGFuZ2VkIiwiZ2xvYmFsVGhpcyIsIl9OX0VfU1RZTEVfTE9BRCIsImxlbiIsInNpemUiLCJhZGQiLCJmb3JFYWNoIiwiY2IiLCJQcm9taXNlIiwicmVzb2x2ZSIsImZvcmNlVXBkYXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsInJlbmRlcmVkU3R5bGVzU2l6ZSIsImNoYW5nZWQiLCJjIiwiZGVsZXRlIiwiZHBsSWQiLCJORVhUX0RFUExPWU1FTlRfSUQiLCJtYXAiLCJpIiwibGluayIsInJlbCIsInByZWNlZGVuY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/builtin/global-error.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/builtin/global-error.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _handleisrerror = __webpack_require__(/*! ../handle-isr-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/handle-isr-error.js\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: '100vh',\n textAlign: 'center',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n },\n text: {\n fontSize: '14px',\n fontWeight: 400,\n lineHeight: '28px',\n margin: '0 8px'\n }\n};\nfunction DefaultGlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_handleisrerror.HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"h2\", {\n style: styles.text,\n children: [\n \"Application error: a \",\n digest ? 'server' : 'client',\n \"-side exception has occurred while loading \",\n window.location.hostname,\n \" (see the\",\n ' ',\n digest ? 'server logs' : 'browser console',\n \" for more information).\"\n ]\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\n_c = DefaultGlobalError;\nconst _default = DefaultGlobalError;\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=global-error.js.map\nvar _c;\n$RefreshReg$(_c, \"DefaultGlobalError\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYnVpbHRpbi9nbG9iYWwtZXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FvREE7OztlQUFBOzs7OzRDQWxEK0I7QUFFL0IsTUFBTUEsU0FBUztJQUNiQyxPQUFPO1FBQ0wsMEZBQTBGO1FBQzFGQyxZQUNFO1FBQ0ZDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDbEI7SUFDQUMsTUFBTTtRQUNKQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsWUFBWTtRQUNaQyxRQUFRO0lBQ1Y7QUFDRjtBQUtBLDRCQUE0QixLQUF5QjtJQUF6QixNQUFFWixLQUFLLEVBQWtCLEdBQXpCO0lBQzFCLE1BQU1jLFNBQTZCZCxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFPYyxNQUFNO0lBQ2hELHFCQUNFLHNCQUFDQyxRQUFBQTtRQUFLQyxJQUFHOzswQkFDUCxxQkFBQ0MsUUFBQUEsQ0FBQUE7MEJBQ0Qsc0JBQUNDLFFBQUFBOztrQ0FDQyxxQkFBQ0MsZ0JBQUFBLGNBQWM7d0JBQUNuQixPQUFPQTs7a0NBQ3ZCLHFCQUFDb0IsT0FBQUE7d0JBQUlDLE9BQU90QixPQUFPQyxLQUFLO2tDQUN0QixvQ0FBQ29CLE9BQUFBOzs4Q0FDQyxzQkFBQ0UsTUFBQUE7b0NBQUdELE9BQU90QixPQUFPUyxJQUFJOzt3Q0FBRTt3Q0FDQU0sU0FBUyxXQUFXO3dDQUFTO3dDQUN2QlMsT0FBT0MsUUFBUSxDQUFDQyxRQUFRO3dDQUFDO3dDQUFVO3dDQUM5RFgsU0FBUyxnQkFBZ0I7d0NBQWtCOzs7Z0NBRzdDQSxTQUFBQSxXQUFBQSxHQUFTLHFCQUFDWSxLQUFBQTtvQ0FBRUwsT0FBT3RCLE9BQU9TLElBQUk7OENBQUksYUFBVU07cUNBQWdCOzs7Ozs7OztBQU16RTtLQXJCU0Q7TUF5QlQsV0FBZUEiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9idWlsdGluL2dsb2JhbC1lcnJvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IEhhbmRsZUlTUkVycm9yIH0gZnJvbSAnLi4vaGFuZGxlLWlzci1lcnJvcidcblxuY29uc3Qgc3R5bGVzID0ge1xuICBlcnJvcjoge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9ibG9iL21haW4vbW9kZXJuLW5vcm1hbGl6ZS5jc3MjTDM4LUw1MlxuICAgIGZvbnRGYW1pbHk6XG4gICAgICAnc3lzdGVtLXVpLFwiU2Vnb2UgVUlcIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIicsXG4gICAgaGVpZ2h0OiAnMTAwdmgnLFxuICAgIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgfSxcbiAgdGV4dDoge1xuICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgZm9udFdlaWdodDogNDAwLFxuICAgIGxpbmVIZWlnaHQ6ICcyOHB4JyxcbiAgICBtYXJnaW46ICcwIDhweCcsXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEdsb2JhbEVycm9yQ29tcG9uZW50ID0gUmVhY3QuQ29tcG9uZW50VHlwZTx7XG4gIGVycm9yOiBhbnlcbn0+XG5mdW5jdGlvbiBEZWZhdWx0R2xvYmFsRXJyb3IoeyBlcnJvciB9OiB7IGVycm9yOiBhbnkgfSkge1xuICBjb25zdCBkaWdlc3Q6IHN0cmluZyB8IHVuZGVmaW5lZCA9IGVycm9yPy5kaWdlc3RcbiAgcmV0dXJuIChcbiAgICA8aHRtbCBpZD1cIl9fbmV4dF9lcnJvcl9fXCI+XG4gICAgICA8aGVhZD48L2hlYWQ+XG4gICAgICA8Ym9keT5cbiAgICAgICAgPEhhbmRsZUlTUkVycm9yIGVycm9yPXtlcnJvcn0gLz5cbiAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmVycm9yfT5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGgyIHN0eWxlPXtzdHlsZXMudGV4dH0+XG4gICAgICAgICAgICAgIEFwcGxpY2F0aW9uIGVycm9yOiBhIHtkaWdlc3QgPyAnc2VydmVyJyA6ICdjbGllbnQnfS1zaWRlIGV4Y2VwdGlvblxuICAgICAgICAgICAgICBoYXMgb2NjdXJyZWQgd2hpbGUgbG9hZGluZyB7d2luZG93LmxvY2F0aW9uLmhvc3RuYW1lfSAoc2VlIHRoZXsnICd9XG4gICAgICAgICAgICAgIHtkaWdlc3QgPyAnc2VydmVyIGxvZ3MnIDogJ2Jyb3dzZXIgY29uc29sZSd9IGZvciBtb3JlXG4gICAgICAgICAgICAgIGluZm9ybWF0aW9uKS5cbiAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICB7ZGlnZXN0ID8gPHAgc3R5bGU9e3N0eWxlcy50ZXh0fT57YERpZ2VzdDogJHtkaWdlc3R9YH08L3A+IDogbnVsbH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2JvZHk+XG4gICAgPC9odG1sPlxuICApXG59XG5cbi8vIEV4cG9ydGVkIHNvIHRoYXQgdGhlIGltcG9ydCBzaWduYXR1cmUgaW4gdGhlIGxvYWRlcnMgY2FuIGJlIGlkZW50aWNhbCB0byB1c2VyXG4vLyBzdXBwbGllZCBjdXN0b20gZ2xvYmFsIGVycm9yIHNpZ25hdHVyZXMuXG5leHBvcnQgZGVmYXVsdCBEZWZhdWx0R2xvYmFsRXJyb3JcbiJdLCJuYW1lcyI6WyJzdHlsZXMiLCJlcnJvciIsImZvbnRGYW1pbHkiLCJoZWlnaHQiLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInRleHQiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0IiwibWFyZ2luIiwiRGVmYXVsdEdsb2JhbEVycm9yIiwiZGlnZXN0IiwiaHRtbCIsImlkIiwiaGVhZCIsImJvZHkiLCJIYW5kbGVJU1JFcnJvciIsImRpdiIsInN0eWxlIiwiaDIiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhvc3RuYW1lIiwicCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/builtin/global-error.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \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 DevRootHTTPAccessFallbackBoundary: function() {\n return DevRootHTTPAccessFallbackBoundary;\n },\n bailOnRootNotFound: function() {\n return bailOnRootNotFound;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _errorboundary = __webpack_require__(/*! ./http-access-fallback/error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\");\nfunction bailOnRootNotFound() {\n throw Object.defineProperty(new Error('notFound() is not allowed to use in root layout'), \"__NEXT_ERROR_CODE\", {\n value: \"E192\",\n enumerable: false,\n configurable: true\n });\n}\nfunction NotAllowedRootHTTPFallbackError() {\n bailOnRootNotFound();\n return null;\n}\n_c = NotAllowedRootHTTPFallbackError;\nfunction DevRootHTTPAccessFallbackBoundary(param) {\n let { children } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.HTTPAccessFallbackBoundary, {\n notFound: /*#__PURE__*/ (0, _jsxruntime.jsx)(NotAllowedRootHTTPFallbackError, {}),\n children: children\n });\n}\n_c1 = DevRootHTTPAccessFallbackBoundary;\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=dev-root-http-access-fallback-boundary.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"NotAllowedRootHTTPFallbackError\");\n$RefreshReg$(_c1, \"DevRootHTTPAccessFallbackBoundary\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZGV2LXJvb3QtaHR0cC1hY2Nlc3MtZmFsbGJhY2stYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZWdCQSxpQ0FBaUM7ZUFBakNBOztJQVRBQyxrQkFBa0I7ZUFBbEJBOzs7Ozs0RUFKRTsyQ0FDeUI7QUFHcEMsU0FBU0E7SUFDZCxNQUFNLHFCQUE0RCxDQUE1RCxJQUFJQyxNQUFNLG9EQUFWO2VBQUE7b0JBQUE7c0JBQUE7SUFBMkQ7QUFDbkU7QUFFQTtJQUNFRDtJQUNBLE9BQU87QUFDVDtLQUhTRTtBQUtGLDJDQUEyQyxLQUlqRDtJQUppRCxNQUNoREMsUUFBUSxFQUdULEdBSmlEO0lBS2hELHFCQUNFLHFCQUFDQyxlQUFBQSwwQkFBMEI7UUFBQ0MsVUFBQUEsV0FBQUEsR0FBVSxxQkFBQ0gsaUNBQUFBLENBQUFBO2tCQUNwQ0M7O0FBR1A7TUFWZ0JKIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL2Rldi1yb290LWh0dHAtYWNjZXNzLWZhbGxiYWNrLWJvdW5kYXJ5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkgfSBmcm9tICcuL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5J1xuXG4vLyBUT0RPOiBlcnJvciBvbiB1c2luZyBmb3JiaWRkZW4gYW5kIHVuYXV0aG9yaXplZCBpbiByb290IGxheW91dFxuZXhwb3J0IGZ1bmN0aW9uIGJhaWxPblJvb3ROb3RGb3VuZCgpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdub3RGb3VuZCgpIGlzIG5vdCBhbGxvd2VkIHRvIHVzZSBpbiByb290IGxheW91dCcpXG59XG5cbmZ1bmN0aW9uIE5vdEFsbG93ZWRSb290SFRUUEZhbGxiYWNrRXJyb3IoKSB7XG4gIGJhaWxPblJvb3ROb3RGb3VuZCgpXG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBEZXZSb290SFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkoe1xuICBjaGlsZHJlbixcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICByZXR1cm4gKFxuICAgIDxIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSBub3RGb3VuZD17PE5vdEFsbG93ZWRSb290SFRUUEZhbGxiYWNrRXJyb3IgLz59PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnk+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJEZXZSb290SFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkiLCJiYWlsT25Sb290Tm90Rm91bmQiLCJFcnJvciIsIk5vdEFsbG93ZWRSb290SFRUUEZhbGxiYWNrRXJyb3IiLCJjaGlsZHJlbiIsIkhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5Iiwibm90Rm91bmQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/dev-root-http-access-fallback-boundary.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/error-boundary.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \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 ErrorBoundary: function() {\n return ErrorBoundary;\n },\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _navigationuntracked = __webpack_require__(/*! ./navigation-untracked */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation-untracked.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _navfailurehandler = __webpack_require__(/*! ./nav-failure-handler */ \"(app-pages-browser)/./node_modules/next/dist/client/components/nav-failure-handler.js\");\nconst _handleisrerror = __webpack_require__(/*! ./handle-isr-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/handle-isr-error.js\");\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n const { error } = state;\n // if we encounter an error while\n // a navigation is pending we shouldn't render\n // the error boundary and instead should fallback\n // to a hard navigation to attempt recovering\n if (false) {}\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version.\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_handleisrerror.HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props), this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n // When we're rendering the missing params shell, this will return null. This\n // is because we won't be rendering any not found boundaries or error\n // boundaries for the missing params shell. When this runs on the client\n // (where these errors can occur), we will get the correct pathname.\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\n_c = ErrorBoundary;\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=error-boundary.js.map\nvar _c;\n$RefreshReg$(_c, \"ErrorBoundary\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBMEhnQkEsYUFBYTtlQUFiQTs7SUExRkhDLG9CQUFvQjtlQUFwQkE7Ozs7OzRFQTlCbUI7aURBQ0s7K0NBQ0g7K0NBQ0M7NENBQ0o7QUEwQnhCLE1BQU1BLDZCQUE2QkMsT0FBQUEsT0FBSyxDQUFDQyxTQUFTO0lBU3ZELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUFFO1FBQzVDLElBQUlDLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBQUEsRUFBa0JELFFBQVE7WUFDNUIsK0RBQStEO1lBQy9ELDRHQUE0RztZQUM1RyxNQUFNQTtRQUNSO1FBRUEsT0FBTztZQUFFQTtRQUFNO0lBQ2pCO0lBRUEsT0FBT0UseUJBQ0xDLEtBQWdDLEVBQ2hDQyxLQUFnQyxFQUNFO1FBQ2xDLE1BQU0sRUFBRUosS0FBSyxFQUFFLEdBQUdJO1FBRWxCLGlDQUFpQztRQUNqQyw4Q0FBOEM7UUFDOUMsaURBQWlEO1FBQ2pELDZDQUE2QztRQUM3QyxJQUFJQyxLQUF3QyxFQUFFLEVBUTdDO1FBRUQ7Ozs7O0tBS0MsR0FDRCxJQUFJRixNQUFNTyxRQUFRLEtBQUtOLE1BQU1LLGdCQUFnQixJQUFJTCxNQUFNSixLQUFLLEVBQUU7WUFDNUQsT0FBTztnQkFDTEEsT0FBTztnQkFDUFMsa0JBQWtCTixNQUFNTyxRQUFRO1lBQ2xDO1FBQ0Y7UUFDQSxPQUFPO1lBQ0xWLE9BQU9JLE1BQU1KLEtBQUs7WUFDbEJTLGtCQUFrQk4sTUFBTU8sUUFBUTtRQUNsQztJQUNGO0lBTUEseUlBQXlJO0lBQ3pJQyxTQUEwQjtRQUN4QixJQUFJLElBQUksQ0FBQ1AsS0FBSyxDQUFDSixLQUFLLEVBQUU7WUFDcEIscUJBQ0U7O2tDQUNFLHFCQUFDWSxnQkFBQUEsY0FBYzt3QkFBQ1osT0FBTyxJQUFJLENBQUNJLEtBQUssQ0FBQ0osS0FBSzs7b0JBQ3RDLElBQUksQ0FBQ0csS0FBSyxDQUFDVSxXQUFXO29CQUN0QixJQUFJLENBQUNWLEtBQUssQ0FBQ1csWUFBWTtrQ0FDeEIscUJBQUNDLElBQUksQ0FBQ1osS0FBSyxDQUFDYSxjQUFjO3dCQUN4QmhCLE9BQU8sSUFBSSxDQUFDSSxLQUFLLENBQUNKLEtBQUs7d0JBQ3ZCaUIsT0FBTyxJQUFJLENBQUNBLEtBQUs7Ozs7UUFJekI7UUFFQSxPQUFPLElBQUksQ0FBQ2QsS0FBSyxDQUFDZSxRQUFRO0lBQzVCO0lBMUVBQyxZQUFZaEIsS0FBZ0MsQ0FBRTtRQUM1QyxLQUFLLENBQUNBLFFBQUFBLElBQUFBLENBb0RSYyxLQUFBQSxHQUFRO1lBQ04sSUFBSSxDQUFDRyxRQUFRLENBQUM7Z0JBQUVwQixPQUFPO1lBQUs7UUFDOUI7UUFyREUsSUFBSSxDQUFDSSxLQUFLLEdBQUc7WUFBRUosT0FBTztZQUFNUyxrQkFBa0IsSUFBSSxDQUFDTixLQUFLLENBQUNPLFFBQVE7UUFBQztJQUNwRTtBQXdFRjtBQVdPLHVCQUF1QixLQU83QjtJQVA2QixNQUM1Qk0sY0FBYyxFQUNkSCxXQUFXLEVBQ1hDLFlBQVksRUFDWkksUUFBUSxFQUdULEdBUDZCO0lBUTVCLDZFQUE2RTtJQUM3RSxxRUFBcUU7SUFDckUsd0VBQXdFO0lBQ3hFLG9FQUFvRTtJQUNwRSxNQUFNUixXQUFXVyxDQUFBQSxHQUFBQSxxQkFBQUEsb0JBQUFBO0lBQ2pCLElBQUlMLGdCQUFnQjtRQUNsQixxQkFDRSxxQkFBQ3BCLHNCQUFBQTtZQUNDYyxVQUFVQTtZQUNWTSxnQkFBZ0JBO1lBQ2hCSCxhQUFhQTtZQUNiQyxjQUFjQTtzQkFFYkk7O0lBR1A7SUFFQSxxQkFBTztrQkFBR0E7O0FBQ1o7S0EzQmdCdkIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVVudHJhY2tlZFBhdGhuYW1lIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXVudHJhY2tlZCdcbmltcG9ydCB7IGlzTmV4dFJvdXRlckVycm9yIH0gZnJvbSAnLi9pcy1uZXh0LXJvdXRlci1lcnJvcidcbmltcG9ydCB7IGhhbmRsZUhhcmROYXZFcnJvciB9IGZyb20gJy4vbmF2LWZhaWx1cmUtaGFuZGxlcidcbmltcG9ydCB7IEhhbmRsZUlTUkVycm9yIH0gZnJvbSAnLi9oYW5kbGUtaXNyLWVycm9yJ1xuXG5leHBvcnQgdHlwZSBFcnJvckNvbXBvbmVudCA9IFJlYWN0LkNvbXBvbmVudFR5cGU8e1xuICBlcnJvcjogRXJyb3JcbiAgLy8gZ2xvYmFsLWVycm9yLCB0aGVyZSdzIG5vIGByZXNldGAgZnVuY3Rpb247XG4gIC8vIHJlZ3VsYXIgZXJyb3IgYm91bmRhcnksIHRoZXJlJ3MgYSBgcmVzZXRgIGZ1bmN0aW9uLlxuICByZXNldD86ICgpID0+IHZvaWRcbn0+XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXJyb3JCb3VuZGFyeVByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbiAgZXJyb3JDb21wb25lbnQ6IEVycm9yQ29tcG9uZW50IHwgdW5kZWZpbmVkXG4gIGVycm9yU3R5bGVzPzogUmVhY3QuUmVhY3ROb2RlIHwgdW5kZWZpbmVkXG4gIGVycm9yU2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZSB8IHVuZGVmaW5lZFxufVxuXG5pbnRlcmZhY2UgRXJyb3JCb3VuZGFyeUhhbmRsZXJQcm9wcyBleHRlbmRzIEVycm9yQm91bmRhcnlQcm9wcyB7XG4gIHBhdGhuYW1lOiBzdHJpbmcgfCBudWxsXG4gIGVycm9yQ29tcG9uZW50OiBFcnJvckNvbXBvbmVudFxufVxuXG5pbnRlcmZhY2UgRXJyb3JCb3VuZGFyeUhhbmRsZXJTdGF0ZSB7XG4gIGVycm9yOiBFcnJvciB8IG51bGxcbiAgcHJldmlvdXNQYXRobmFtZTogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3JCb3VuZGFyeUhhbmRsZXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XG4gIEVycm9yQm91bmRhcnlIYW5kbGVyUHJvcHMsXG4gIEVycm9yQm91bmRhcnlIYW5kbGVyU3RhdGVcbj4ge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRXJyb3JCb3VuZGFyeUhhbmRsZXJQcm9wcykge1xuICAgIHN1cGVyKHByb3BzKVxuICAgIHRoaXMuc3RhdGUgPSB7IGVycm9yOiBudWxsLCBwcmV2aW91c1BhdGhuYW1lOiB0aGlzLnByb3BzLnBhdGhuYW1lIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gICAgaWYgKGlzTmV4dFJvdXRlckVycm9yKGVycm9yKSkge1xuICAgICAgLy8gUmUtdGhyb3cgaWYgYW4gZXhwZWN0ZWQgaW50ZXJuYWwgTmV4dC5qcyByb3V0ZXIgZXJyb3Igb2NjdXJzXG4gICAgICAvLyB0aGlzIG1lYW5zIGl0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IGEgZGlmZmVyZW50IGJvdW5kYXJ5IChzdWNoIGFzIGEgTm90Rm91bmQgYm91bmRhcnkgaW4gYSBwYXJlbnQgc2VnbWVudClcbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZXJyb3IgfVxuICB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhcbiAgICBwcm9wczogRXJyb3JCb3VuZGFyeUhhbmRsZXJQcm9wcyxcbiAgICBzdGF0ZTogRXJyb3JCb3VuZGFyeUhhbmRsZXJTdGF0ZVxuICApOiBFcnJvckJvdW5kYXJ5SGFuZGxlclN0YXRlIHwgbnVsbCB7XG4gICAgY29uc3QgeyBlcnJvciB9ID0gc3RhdGVcblxuICAgIC8vIGlmIHdlIGVuY291bnRlciBhbiBlcnJvciB3aGlsZVxuICAgIC8vIGEgbmF2aWdhdGlvbiBpcyBwZW5kaW5nIHdlIHNob3VsZG4ndCByZW5kZXJcbiAgICAvLyB0aGUgZXJyb3IgYm91bmRhcnkgYW5kIGluc3RlYWQgc2hvdWxkIGZhbGxiYWNrXG4gICAgLy8gdG8gYSBoYXJkIG5hdmlnYXRpb24gdG8gYXR0ZW1wdCByZWNvdmVyaW5nXG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9BUFBfTkFWX0ZBSUxfSEFORExJTkcpIHtcbiAgICAgIGlmIChlcnJvciAmJiBoYW5kbGVIYXJkTmF2RXJyb3IoZXJyb3IpKSB7XG4gICAgICAgIC8vIGNsZWFyIGVycm9yIHNvIHdlIGRvbid0IHJlbmRlciBhbnl0aGluZ1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXG4gICAgICogQXBwcm9hY2ggb2Ygc2V0U3RhdGUgaW4gcmVuZGVyIGlzIHNhZmUgYXMgaXQgY2hlY2tzIHRoZSBwcmV2aW91cyBwYXRobmFtZSBhbmQgdGhlbiBvdmVycmlkZXNcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcbiAgICAgKi9cbiAgICBpZiAocHJvcHMucGF0aG5hbWUgIT09IHN0YXRlLnByZXZpb3VzUGF0aG5hbWUgJiYgc3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGVycm9yOiBzdGF0ZS5lcnJvcixcbiAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lLFxuICAgIH1cbiAgfVxuXG4gIHJlc2V0ID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBlcnJvcjogbnVsbCB9KVxuICB9XG5cbiAgLy8gRXhwbGljaXQgdHlwZSBpcyBuZWVkZWQgdG8gYXZvaWQgdGhlIGdlbmVyYXRlZCBgLmQudHNgIGhhdmluZyBhIHdpZGUgcmV0dXJuIHR5cGUgdGhhdCBjb3VsZCBiZSBzcGVjaWZpYyB0byB0aGUgYEB0eXBlcy9yZWFjdGAgdmVyc2lvbi5cbiAgcmVuZGVyKCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgaWYgKHRoaXMuc3RhdGUuZXJyb3IpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPEhhbmRsZUlTUkVycm9yIGVycm9yPXt0aGlzLnN0YXRlLmVycm9yfSAvPlxuICAgICAgICAgIHt0aGlzLnByb3BzLmVycm9yU3R5bGVzfVxuICAgICAgICAgIHt0aGlzLnByb3BzLmVycm9yU2NyaXB0c31cbiAgICAgICAgICA8dGhpcy5wcm9wcy5lcnJvckNvbXBvbmVudFxuICAgICAgICAgICAgZXJyb3I9e3RoaXMuc3RhdGUuZXJyb3J9XG4gICAgICAgICAgICByZXNldD17dGhpcy5yZXNldH1cbiAgICAgICAgICAvPlxuICAgICAgICA8Lz5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlblxuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyBlcnJvcnMgdGhyb3VnaCBgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yYC5cbiAqIFJlbmRlcnMgdGhlIHByb3ZpZGVkIGVycm9yIGNvbXBvbmVudCBhbmQgcHJvdmlkZXMgYSB3YXkgdG8gYHJlc2V0YCB0aGUgZXJyb3IgYm91bmRhcnkgc3RhdGUuXG4gKi9cblxuLyoqXG4gKiBSZW5kZXJzIGVycm9yIGJvdW5kYXJ5IHdpdGggdGhlIHByb3ZpZGVkIFwiZXJyb3JDb21wb25lbnRcIiBwcm9wZXJ0eSBhcyB0aGUgZmFsbGJhY2suXG4gKiBJZiBubyBcImVycm9yQ29tcG9uZW50XCIgcHJvcGVydHkgaXMgcHJvdmlkZWQgaXQgcmVuZGVycyB0aGUgY2hpbGRyZW4gd2l0aG91dCBhbiBlcnJvciBib3VuZGFyeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIEVycm9yQm91bmRhcnkoe1xuICBlcnJvckNvbXBvbmVudCxcbiAgZXJyb3JTdHlsZXMsXG4gIGVycm9yU2NyaXB0cyxcbiAgY2hpbGRyZW4sXG59OiBFcnJvckJvdW5kYXJ5UHJvcHMgJiB7XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGVcbn0pOiBKU1guRWxlbWVudCB7XG4gIC8vIFdoZW4gd2UncmUgcmVuZGVyaW5nIHRoZSBtaXNzaW5nIHBhcmFtcyBzaGVsbCwgdGhpcyB3aWxsIHJldHVybiBudWxsLiBUaGlzXG4gIC8vIGlzIGJlY2F1c2Ugd2Ugd29uJ3QgYmUgcmVuZGVyaW5nIGFueSBub3QgZm91bmQgYm91bmRhcmllcyBvciBlcnJvclxuICAvLyBib3VuZGFyaWVzIGZvciB0aGUgbWlzc2luZyBwYXJhbXMgc2hlbGwuIFdoZW4gdGhpcyBydW5zIG9uIHRoZSBjbGllbnRcbiAgLy8gKHdoZXJlIHRoZXNlIGVycm9ycyBjYW4gb2NjdXIpLCB3ZSB3aWxsIGdldCB0aGUgY29ycmVjdCBwYXRobmFtZS5cbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VVbnRyYWNrZWRQYXRobmFtZSgpXG4gIGlmIChlcnJvckNvbXBvbmVudCkge1xuICAgIHJldHVybiAoXG4gICAgICA8RXJyb3JCb3VuZGFyeUhhbmRsZXJcbiAgICAgICAgcGF0aG5hbWU9e3BhdGhuYW1lfVxuICAgICAgICBlcnJvckNvbXBvbmVudD17ZXJyb3JDb21wb25lbnR9XG4gICAgICAgIGVycm9yU3R5bGVzPXtlcnJvclN0eWxlc31cbiAgICAgICAgZXJyb3JTY3JpcHRzPXtlcnJvclNjcmlwdHN9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvRXJyb3JCb3VuZGFyeUhhbmRsZXI+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPlxufVxuIl0sIm5hbWVzIjpbIkVycm9yQm91bmRhcnkiLCJFcnJvckJvdW5kYXJ5SGFuZGxlciIsIlJlYWN0IiwiQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJpc05leHRSb3V0ZXJFcnJvciIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInByb3BzIiwic3RhdGUiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0FQUF9OQVZfRkFJTF9IQU5ETElORyIsImhhbmRsZUhhcmROYXZFcnJvciIsInByZXZpb3VzUGF0aG5hbWUiLCJwYXRobmFtZSIsInJlbmRlciIsIkhhbmRsZUlTUkVycm9yIiwiZXJyb3JTdHlsZXMiLCJlcnJvclNjcmlwdHMiLCJ0aGlzIiwiZXJyb3JDb21wb25lbnQiLCJyZXNldCIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiLCJzZXRTdGF0ZSIsInVzZVVudHJhY2tlZFBhdGhuYW1lIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js ***! \**************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \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 GracefulDegradeBoundary: function() {\n return GracefulDegradeBoundary;\n },\n default: function() {\n return _default;\n }\n});\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nfunction getDomNodeAttributes(node) {\n const result = {};\n for(let i = 0; i < node.attributes.length; i++){\n const attr = node.attributes[i];\n result[attr.name] = attr.value;\n }\n return result;\n}\nclass GracefulDegradeBoundary extends _react.Component {\n static getDerivedStateFromError(_) {\n return {\n hasError: true\n };\n }\n componentDidMount() {\n const htmlNode = this.htmlRef.current;\n if (this.state.hasError && htmlNode) {\n // Reapply the cached HTML attributes to the root element\n Object.entries(this.htmlAttributes).forEach((param)=>{\n let [key, value] = param;\n htmlNode.setAttribute(key, value);\n });\n }\n }\n render() {\n const { hasError } = this.state;\n // Cache the root HTML content on the first render\n if ( true && !this.rootHtml) {\n this.rootHtml = document.documentElement.innerHTML;\n this.htmlAttributes = getDomNodeAttributes(document.documentElement);\n }\n if (hasError) {\n // Render the current HTML content without hydration\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"html\", {\n ref: this.htmlRef,\n suppressHydrationWarning: true,\n dangerouslySetInnerHTML: {\n __html: this.rootHtml\n }\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n hasError: false\n };\n this.rootHtml = '';\n this.htmlAttributes = {};\n this.htmlRef = /*#__PURE__*/ (0, _react.createRef)();\n }\n}\nconst _default = GracefulDegradeBoundary;\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=graceful-degrade-boundary.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3JzL2dyYWNlZnVsLWRlZ3JhZGUtYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBcUJhQSx1QkFBdUI7ZUFBdkJBOztJQXVEYixPQUFzQztlQUF0Qzs7OzttQ0ExRXFEO0FBVXJELFNBQVNDLHFCQUFxQkMsSUFBaUI7SUFDN0MsTUFBTUMsU0FBaUMsQ0FBQztJQUN4QyxJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSUYsS0FBS0csVUFBVSxDQUFDQyxNQUFNLEVBQUVGLElBQUs7UUFDL0MsTUFBTUcsT0FBT0wsS0FBS0csVUFBVSxDQUFDRCxFQUFFO1FBQy9CRCxNQUFNLENBQUNJLEtBQUtDLElBQUksQ0FBQyxHQUFHRCxLQUFLRSxLQUFLO0lBQ2hDO0lBQ0EsT0FBT047QUFDVDtBQUVPLE1BQU1ILGdDQUFnQ1UsT0FBQUEsU0FBUztJQWdCcEQsT0FBT0MseUJBQXlCQyxDQUFVLEVBQXNCO1FBQzlELE9BQU87WUFBRUMsVUFBVTtRQUFLO0lBQzFCO0lBRUFDLG9CQUFvQjtRQUNsQixNQUFNQyxXQUFXLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyxPQUFPO1FBQ3JDLElBQUksSUFBSSxDQUFDQyxLQUFLLENBQUNMLFFBQVEsSUFBSUUsVUFBVTtZQUNuQyx5REFBeUQ7WUFDekRJLE9BQU9DLE9BQU8sQ0FBQyxJQUFJLENBQUNDLGNBQWMsRUFBRUMsT0FBTyxDQUFDO29CQUFDLENBQUNDLEtBQUtkLE1BQU07Z0JBQ3ZETSxTQUFTUyxZQUFZLENBQUNELEtBQUtkO1lBQzdCO1FBQ0Y7SUFDRjtJQUVBZ0IsU0FBUztRQUNQLE1BQU0sRUFBRVosUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDSyxLQUFLO1FBQy9CLGtEQUFrRDtRQUNsRCxJQUFJLEtBQTZCLElBQUksQ0FBQyxJQUFJLENBQUNTLFFBQVEsRUFBRTtZQUNuRCxJQUFJLENBQUNBLFFBQVEsR0FBR0MsU0FBU0MsZUFBZSxDQUFDQyxTQUFTO1lBQ2xELElBQUksQ0FBQ1QsY0FBYyxHQUFHcEIscUJBQXFCMkIsU0FBU0MsZUFBZTtRQUNyRTtRQUVBLElBQUloQixVQUFVO1lBQ1osb0RBQW9EO1lBQ3BELHFCQUNFLHFCQUFDa0IsUUFBQUE7Z0JBQ0NDLEtBQUssSUFBSSxDQUFDaEIsT0FBTztnQkFDakJpQix3QkFBd0I7Z0JBQ3hCQyx5QkFBeUI7b0JBQ3ZCQyxRQUFRLElBQUksQ0FBQ1IsUUFBUTtnQkFDdkI7O1FBR047UUFFQSxPQUFPLElBQUksQ0FBQ1MsS0FBSyxDQUFDQyxRQUFRO0lBQzVCO0lBNUNBQyxZQUFZRixLQUF5QixDQUFFO1FBQ3JDLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNsQixLQUFLLEdBQUc7WUFBRUwsVUFBVTtRQUFNO1FBQy9CLElBQUksQ0FBQ2MsUUFBUSxHQUFHO1FBQ2hCLElBQUksQ0FBQ04sY0FBYyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDTCxPQUFPLGlCQUFHdUIsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBQUE7SUFDakI7QUF1Q0Y7TUFFQSxXQUFldkMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9lcnJvcnMvZ3JhY2VmdWwtZGVncmFkZS1ib3VuZGFyeS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IENvbXBvbmVudCwgY3JlYXRlUmVmLCB0eXBlIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuXG5pbnRlcmZhY2UgRXJyb3JCb3VuZGFyeVByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZVxufVxuXG5pbnRlcmZhY2UgRXJyb3JCb3VuZGFyeVN0YXRlIHtcbiAgaGFzRXJyb3I6IGJvb2xlYW5cbn1cblxuZnVuY3Rpb24gZ2V0RG9tTm9kZUF0dHJpYnV0ZXMobm9kZTogSFRNTEVsZW1lbnQpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge31cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLmF0dHJpYnV0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBhdHRyID0gbm9kZS5hdHRyaWJ1dGVzW2ldXG4gICAgcmVzdWx0W2F0dHIubmFtZV0gPSBhdHRyLnZhbHVlXG4gIH1cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgY2xhc3MgR3JhY2VmdWxEZWdyYWRlQm91bmRhcnkgZXh0ZW5kcyBDb21wb25lbnQ8XG4gIEVycm9yQm91bmRhcnlQcm9wcyxcbiAgRXJyb3JCb3VuZGFyeVN0YXRlXG4+IHtcbiAgcHJpdmF0ZSByb290SHRtbDogc3RyaW5nXG4gIHByaXZhdGUgaHRtbEF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgcHJpdmF0ZSBodG1sUmVmOiBSZWFjdC5SZWZPYmplY3Q8SFRNTEh0bWxFbGVtZW50IHwgbnVsbD5cblxuICBjb25zdHJ1Y3Rvcihwcm9wczogRXJyb3JCb3VuZGFyeVByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gICAgdGhpcy5zdGF0ZSA9IHsgaGFzRXJyb3I6IGZhbHNlIH1cbiAgICB0aGlzLnJvb3RIdG1sID0gJydcbiAgICB0aGlzLmh0bWxBdHRyaWJ1dGVzID0ge31cbiAgICB0aGlzLmh0bWxSZWYgPSBjcmVhdGVSZWY8SFRNTEh0bWxFbGVtZW50PigpXG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKF86IHVua25vd24pOiBFcnJvckJvdW5kYXJ5U3RhdGUge1xuICAgIHJldHVybiB7IGhhc0Vycm9yOiB0cnVlIH1cbiAgfVxuXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgIGNvbnN0IGh0bWxOb2RlID0gdGhpcy5odG1sUmVmLmN1cnJlbnRcbiAgICBpZiAodGhpcy5zdGF0ZS5oYXNFcnJvciAmJiBodG1sTm9kZSkge1xuICAgICAgLy8gUmVhcHBseSB0aGUgY2FjaGVkIEhUTUwgYXR0cmlidXRlcyB0byB0aGUgcm9vdCBlbGVtZW50XG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLmh0bWxBdHRyaWJ1dGVzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaHRtbE5vZGUuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGhhc0Vycm9yIH0gPSB0aGlzLnN0YXRlXG4gICAgLy8gQ2FjaGUgdGhlIHJvb3QgSFRNTCBjb250ZW50IG9uIHRoZSBmaXJzdCByZW5kZXJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgIXRoaXMucm9vdEh0bWwpIHtcbiAgICAgIHRoaXMucm9vdEh0bWwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MXG4gICAgICB0aGlzLmh0bWxBdHRyaWJ1dGVzID0gZ2V0RG9tTm9kZUF0dHJpYnV0ZXMoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KVxuICAgIH1cblxuICAgIGlmIChoYXNFcnJvcikge1xuICAgICAgLy8gUmVuZGVyIHRoZSBjdXJyZW50IEhUTUwgY29udGVudCB3aXRob3V0IGh5ZHJhdGlvblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGh0bWxcbiAgICAgICAgICByZWY9e3RoaXMuaHRtbFJlZn1cbiAgICAgICAgICBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmdcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiB0aGlzLnJvb3RIdG1sLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW5cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBHcmFjZWZ1bERlZ3JhZGVCb3VuZGFyeVxuIl0sIm5hbWVzIjpbIkdyYWNlZnVsRGVncmFkZUJvdW5kYXJ5IiwiZ2V0RG9tTm9kZUF0dHJpYnV0ZXMiLCJub2RlIiwicmVzdWx0IiwiaSIsImF0dHJpYnV0ZXMiLCJsZW5ndGgiLCJhdHRyIiwibmFtZSIsInZhbHVlIiwiQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiXyIsImhhc0Vycm9yIiwiY29tcG9uZW50RGlkTW91bnQiLCJodG1sTm9kZSIsImh0bWxSZWYiLCJjdXJyZW50Iiwic3RhdGUiLCJPYmplY3QiLCJlbnRyaWVzIiwiaHRtbEF0dHJpYnV0ZXMiLCJmb3JFYWNoIiwia2V5Iiwic2V0QXR0cmlidXRlIiwicmVuZGVyIiwid2luZG93Iiwicm9vdEh0bWwiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImlubmVySFRNTCIsImh0bWwiLCJyZWYiLCJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsInByb3BzIiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsImNyZWF0ZVJlZiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/errors/graceful-degrade-boundary.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/forbidden.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/client/components/forbidden.js ***! \***************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"forbidden\", ({\n enumerable: true,\n get: function() {\n return forbidden;\n }\n}));\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback/http-access-fallback */ \"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\n// TODO: Add `forbidden` docs\n/**\n * @experimental\n * This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden)\n * within a route segment as well as inject a tag.\n *\n * `forbidden()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * Read more: [Next.js Docs: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden)\n */ const DIGEST = \"\" + _httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE + \";403\";\nfunction forbidden() {\n if (true) {\n throw Object.defineProperty(new Error(\"`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled.\"), \"__NEXT_ERROR_CODE\", {\n value: \"E488\",\n enumerable: false,\n configurable: true\n });\n }\n // eslint-disable-next-line no-throw-literal\n const error = Object.defineProperty(new Error(DIGEST), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.digest = DIGEST;\n throw error;\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=forbidden.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBcUJnQkE7OztlQUFBQTs7O2dEQWxCVDtBQUVQLDZCQUE2QjtBQUM3Qjs7Ozs7Ozs7Ozs7Q0FXQyxHQUVELE1BQU1DLFNBQVUsS0FBRUMsb0JBQUFBLDhCQUE4QixHQUFDO0FBRTFDLFNBQVNGO0lBQ2QsSUFBSSxJQUFnRCxFQUFFO1FBQ3BELE1BQU0scUJBRUwsQ0FGSyxJQUFJTSxNQUNQLGdIQURHO21CQUFBO3dCQUFBOzBCQUFBO1FBRU47SUFDRjtJQUVBLDRDQUE0QztJQUM1QyxNQUFNQyxRQUFRLHFCQUFpQixDQUFqQixJQUFJRCxNQUFNTCxTQUFWO2VBQUE7b0JBQUE7c0JBQUE7SUFBZ0I7SUFDNUJNLE1BQWtDQyxNQUFNLEdBQUdQO0lBQzdDLE1BQU1NO0FBQ1IiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvZm9yYmlkZGVuLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERSxcbiAgdHlwZSBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcixcbn0gZnJvbSAnLi9odHRwLWFjY2Vzcy1mYWxsYmFjay9odHRwLWFjY2Vzcy1mYWxsYmFjaydcblxuLy8gVE9ETzogQWRkIGBmb3JiaWRkZW5gIGRvY3Ncbi8qKlxuICogQGV4cGVyaW1lbnRhbFxuICogVGhpcyBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIHJlbmRlciB0aGUgW2ZvcmJpZGRlbi5qcyBmaWxlXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9maWxlLWNvbnZlbnRpb25zL2ZvcmJpZGRlbilcbiAqIHdpdGhpbiBhIHJvdXRlIHNlZ21lbnQgYXMgd2VsbCBhcyBpbmplY3QgYSB0YWcuXG4gKlxuICogYGZvcmJpZGRlbigpYCBjYW4gYmUgdXNlZCBpblxuICogW1NlcnZlciBDb21wb25lbnRzXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yZW5kZXJpbmcvc2VydmVyLWNvbXBvbmVudHMpLFxuICogW1JvdXRlIEhhbmRsZXJzXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3JvdXRlLWhhbmRsZXJzKSwgYW5kXG4gKiBbU2VydmVyIEFjdGlvbnNdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2RhdGEtZmV0Y2hpbmcvc2VydmVyLWFjdGlvbnMtYW5kLW11dGF0aW9ucykuXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBEb2NzOiBgZm9yYmlkZGVuYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL2ZvcmJpZGRlbilcbiAqL1xuXG5jb25zdCBESUdFU1QgPSBgJHtIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREV9OzQwM2BcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmJpZGRlbigpOiBuZXZlciB7XG4gIGlmICghcHJvY2Vzcy5lbnYuX19ORVhUX0VYUEVSSU1FTlRBTF9BVVRIX0lOVEVSUlVQVFMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgXFxgZm9yYmlkZGVuKClcXGAgaXMgZXhwZXJpbWVudGFsIGFuZCBvbmx5IGFsbG93ZWQgdG8gYmUgZW5hYmxlZCB3aGVuIFxcYGV4cGVyaW1lbnRhbC5hdXRoSW50ZXJydXB0c1xcYCBpcyBlbmFibGVkLmBcbiAgICApXG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGhyb3ctbGl0ZXJhbFxuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihESUdFU1QpIGFzIEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yXG4gIDsoZXJyb3IgYXMgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpLmRpZ2VzdCA9IERJR0VTVFxuICB0aHJvdyBlcnJvclxufVxuIl0sIm5hbWVzIjpbImZvcmJpZGRlbiIsIkRJR0VTVCIsIkhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfRVhQRVJJTUVOVEFMX0FVVEhfSU5URVJSVVBUUyIsIkVycm9yIiwiZXJyb3IiLCJkaWdlc3QiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/forbidden.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/handle-isr-error.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/client/components/handle-isr-error.js ***! \**********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HandleISRError\", ({\n enumerable: true,\n get: function() {\n return HandleISRError;\n }\n}));\nconst workAsyncStorage = false ? 0 : undefined;\nfunction HandleISRError(param) {\n let { error } = param;\n if (workAsyncStorage) {\n const store = workAsyncStorage.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n }\n return null;\n}\n_c = HandleISRError;\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=handle-isr-error.js.map\nvar _c;\n$RefreshReg$(_c, \"HandleISRError\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaGFuZGxlLWlzci1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O2tEQVVnQkE7OztlQUFBQTs7O0FBVmhCLE1BQU1DLG1CQUNKLE1BQTZCLEdBRXZCRSxDQUNnQixHQUNsQkM7QUFLQyx3QkFBd0IsS0FBeUI7SUFBekIsTUFBRUMsS0FBSyxFQUFrQixHQUF6QjtJQUM3QixJQUFJSixrQkFBa0I7UUFDcEIsTUFBTUssUUFBUUwsaUJBQWlCTSxRQUFRO1FBQ3ZDLElBQUlELENBQUFBLFNBQUFBLE9BQUFBLEtBQUFBLElBQUFBLE1BQU9FLFlBQUFBLE1BQWdCRixTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFPRyxrQkFBQUEsR0FBb0I7WUFDcERDLFFBQVFMLEtBQUssQ0FBQ0E7WUFDZCxNQUFNQTtRQUNSO0lBQ0Y7SUFFQSxPQUFPO0FBQ1Q7S0FWZ0JMIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL2hhbmRsZS1pc3ItZXJyb3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHdvcmtBc3luY1N0b3JhZ2UgPVxuICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJ1xuICAgID8gKFxuICAgICAgICByZXF1aXJlKCcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwnKSBhcyB0eXBlb2YgaW1wb3J0KCcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci93b3JrLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWwnKVxuICAgICAgKS53b3JrQXN5bmNTdG9yYWdlXG4gICAgOiB1bmRlZmluZWRcblxuLy8gaWYgd2UgYXJlIHJldmFsaWRhdGluZyB3ZSB3YW50IHRvIHJlLXRocm93IHRoZSBlcnJvciBzbyB0aGVcbi8vIGZ1bmN0aW9uIGNyYXNoZXMgc28gd2UgY2FuIG1haW50YWluIG91ciBwcmV2aW91cyBjYWNoZVxuLy8gaW5zdGVhZCBvZiBjYWNoaW5nIHRoZSBlcnJvciBwYWdlXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlSVNSRXJyb3IoeyBlcnJvciB9OiB7IGVycm9yOiBhbnkgfSkge1xuICBpZiAod29ya0FzeW5jU3RvcmFnZSkge1xuICAgIGNvbnN0IHN0b3JlID0gd29ya0FzeW5jU3RvcmFnZS5nZXRTdG9yZSgpXG4gICAgaWYgKHN0b3JlPy5pc1JldmFsaWRhdGUgfHwgc3RvcmU/LmlzU3RhdGljR2VuZXJhdGlvbikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnJvcilcbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJIYW5kbGVJU1JFcnJvciIsIndvcmtBc3luY1N0b3JhZ2UiLCJ3aW5kb3ciLCJyZXF1aXJlIiwidW5kZWZpbmVkIiwiZXJyb3IiLCJzdG9yZSIsImdldFN0b3JlIiwiaXNSZXZhbGlkYXRlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiY29uc29sZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/handle-isr-error.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HTTPAccessFallbackBoundary\", ({\n enumerable: true,\n get: function() {\n return HTTPAccessFallbackBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _navigationuntracked = __webpack_require__(/*! ../navigation-untracked */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation-untracked.js\");\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback */ \"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\nconst _warnonce = __webpack_require__(/*! ../../../shared/lib/utils/warn-once */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nclass HTTPAccessFallbackErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && this.props.missingSlots && this.props.missingSlots.size > 0 && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has('children')) {\n let warningMessage = 'No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n' + 'Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n';\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(', ');\n warningMessage += 'Missing slots: ' + formattedSlots;\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _httpaccessfallback.isHTTPAccessFallbackError)(error)) {\n const httpStatus = (0, _httpaccessfallback.getAccessFallbackHTTPStatus)(error);\n return {\n triggeredStatus: httpStatus\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.triggeredStatus) {\n return {\n triggeredStatus: undefined,\n previousPathname: props.pathname\n };\n }\n return {\n triggeredStatus: state.triggeredStatus,\n previousPathname: props.pathname\n };\n }\n render() {\n const { notFound, forbidden, unauthorized, children } = this.props;\n const { triggeredStatus } = this.state;\n const errorComponents = {\n [_httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND]: notFound,\n [_httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN]: forbidden,\n [_httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized\n };\n if (triggeredStatus) {\n const isNotFound = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.NOT_FOUND && notFound;\n const isForbidden = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.FORBIDDEN && forbidden;\n const isUnauthorized = triggeredStatus === _httpaccessfallback.HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized;\n // If there's no matched boundary in this layer, keep throwing the error by rendering the children\n if (!(isNotFound || isForbidden || isUnauthorized)) {\n return children;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"boundary-next-error\",\n content: (0, _httpaccessfallback.getAccessFallbackErrorTypeByStatus)(triggeredStatus)\n }),\n errorComponents[triggeredStatus]\n ]\n });\n }\n return children;\n }\n constructor(props){\n super(props);\n this.state = {\n triggeredStatus: undefined,\n previousPathname: props.pathname\n };\n }\n}\nfunction HTTPAccessFallbackBoundary(param) {\n let { notFound, forbidden, unauthorized, children } = param;\n // When we're rendering the missing params shell, this will return null. This\n // is because we won't be rendering any not found boundaries or error\n // boundaries for the missing params shell. When this runs on the client\n // (where these error can occur), we will get the correct pathname.\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n const hasErrorFallback = !!(notFound || forbidden || unauthorized);\n if (hasErrorFallback) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HTTPAccessFallbackErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n forbidden: forbidden,\n unauthorized: unauthorized,\n missingSlots: missingSlots,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\n_c = HTTPAccessFallbackBoundary;\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=error-boundary.js.map\nvar _c;\n$RefreshReg$(_c, \"HTTPAccessFallbackBoundary\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaHR0cC1hY2Nlc3MtZmFsbGJhY2svZXJyb3ItYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4REF1SmdCQTs7O2VBQUFBOzs7Ozs2RUExSWtCO2lEQUNHO2dEQU05QjtzQ0FDa0I7MkRBQ1U7QUFxQm5DLE1BQU1DLHdDQUF3Q0MsT0FBQUEsT0FBSyxDQUFDQyxTQUFTO0lBWTNEQyxvQkFBMEI7UUFDeEIsSUFwQ0csS0FxQ21CLElBQ3BCLElBQUksQ0FBQ0ksS0FBSyxDQUFDQyxZQUFZLElBQ3ZCLElBQUksQ0FBQ0QsS0FBSyxDQUFDQyxZQUFZLENBQUNDLElBQUksR0FBRyxLQUMvQiw0RUFBNEU7UUFDNUUsQ0FBQyxJQUFJLENBQUNGLEtBQUssQ0FBQ0MsWUFBWSxDQUFDRSxHQUFHLENBQUMsYUFDN0I7WUFDQSxJQUFJQyxpQkFDRiw0SEFDQTtZQUVGLE1BQU1DLGlCQUFpQkMsTUFBTUMsSUFBSSxDQUFDLElBQUksQ0FBQ1AsS0FBSyxDQUFDQyxZQUFZLEVBQ3RETyxJQUFJLENBQUMsQ0FBQ0MsR0FBR0MsSUFBTUQsRUFBRUUsYUFBYSxDQUFDRCxJQUMvQkUsR0FBRyxDQUFDLENBQUNDLE9BQVUsTUFBR0EsTUFDbEJDLElBQUksQ0FBQztZQUVSVixrQkFBa0Isb0JBQW9CQztZQUV0Q1UsQ0FBQUEsR0FBQUEsVUFBQUEsUUFBQUEsRUFBU1g7UUFDWDtJQUNGO0lBRUEsT0FBT1kseUJBQXlCQyxLQUFVLEVBQUU7UUFDMUMsSUFBSUMsQ0FBQUEsR0FBQUEsb0JBQUFBLHlCQUFBQSxFQUEwQkQsUUFBUTtZQUNwQyxNQUFNRSxhQUFhQyxDQUFBQSxHQUFBQSxvQkFBQUEsMkJBQUFBLEVBQTRCSDtZQUMvQyxPQUFPO2dCQUNMSSxpQkFBaUJGO1lBQ25CO1FBQ0Y7UUFDQSxtQ0FBbUM7UUFDbkMsTUFBTUY7SUFDUjtJQUVBLE9BQU9LLHlCQUNMdEIsS0FBMkMsRUFDM0N1QixLQUE4QixFQUNFO1FBQ2hDOzs7OztLQUtDLEdBQ0QsSUFBSXZCLE1BQU13QixRQUFRLEtBQUtELE1BQU1FLGdCQUFnQixJQUFJRixNQUFNRixlQUFlLEVBQUU7WUFDdEUsT0FBTztnQkFDTEEsaUJBQWlCSztnQkFDakJELGtCQUFrQnpCLE1BQU13QixRQUFRO1lBQ2xDO1FBQ0Y7UUFDQSxPQUFPO1lBQ0xILGlCQUFpQkUsTUFBTUYsZUFBZTtZQUN0Q0ksa0JBQWtCekIsTUFBTXdCLFFBQVE7UUFDbEM7SUFDRjtJQUVBRyxTQUFTO1FBQ1AsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsWUFBWSxFQUFFQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMvQixLQUFLO1FBQ2xFLE1BQU0sRUFBRXFCLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQ0UsS0FBSztRQUN0QyxNQUFNUyxrQkFBa0I7WUFDdEIsQ0FBQ0Msb0JBQUFBLHFCQUFxQixDQUFDQyxTQUFTLENBQUMsRUFBRU47WUFDbkMsQ0FBQ0ssb0JBQUFBLHFCQUFxQixDQUFDRSxTQUFTLENBQUMsRUFBRU47WUFDbkMsQ0FBQ0ksb0JBQUFBLHFCQUFxQixDQUFDRyxZQUFZLENBQUMsRUFBRU47UUFDeEM7UUFFQSxJQUFJVCxpQkFBaUI7WUFDbkIsTUFBTWdCLGFBQ0poQixvQkFBb0JZLG9CQUFBQSxxQkFBcUIsQ0FBQ0MsU0FBUyxJQUFJTjtZQUN6RCxNQUFNVSxjQUNKakIsb0JBQW9CWSxvQkFBQUEscUJBQXFCLENBQUNFLFNBQVMsSUFBSU47WUFDekQsTUFBTVUsaUJBQ0psQixvQkFBb0JZLG9CQUFBQSxxQkFBcUIsQ0FBQ0csWUFBWSxJQUFJTjtZQUU1RCxrR0FBa0c7WUFDbEcsSUFBSSxDQUFFTyxDQUFBQSxjQUFjQyxlQUFlQyxjQUFBQSxDQUFhLEVBQUk7Z0JBQ2xELE9BQU9SO1lBQ1Q7WUFFQSxxQkFDRTs7a0NBQ0UscUJBQUNTLFFBQUFBO3dCQUFLQyxNQUFLO3dCQUFTQyxTQUFROztvQkFuSC9CLEtBb0gwQyxJQUFiLGNBQ3hCLHFCQUFDRixRQUFBQTt3QkFDQ0MsTUFBSzt3QkFDTEMsU0FBU0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtDQUFBQSxFQUFtQ3RCOztvQkFHL0NXLGVBQWUsQ0FBQ1gsZ0JBQWdCOzs7UUFHdkM7UUFFQSxPQUFPVTtJQUNUO0lBckdBYSxZQUFZNUMsS0FBMkMsQ0FBRTtRQUN2RCxLQUFLLENBQUNBO1FBQ04sSUFBSSxDQUFDdUIsS0FBSyxHQUFHO1lBQ1hGLGlCQUFpQks7WUFDakJELGtCQUFrQnpCLE1BQU13QixRQUFRO1FBQ2xDO0lBQ0Y7QUFnR0Y7QUFFTyxvQ0FBb0MsS0FLVDtJQUxTLE1BQ3pDSSxRQUFRLEVBQ1JDLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxRQUFRLEVBQ3dCLEdBTFM7SUFNekMsNkVBQTZFO0lBQzdFLHFFQUFxRTtJQUNyRSx3RUFBd0U7SUFDeEUsbUVBQW1FO0lBQ25FLE1BQU1QLFdBQVdxQixDQUFBQSxHQUFBQSxxQkFBQUEsb0JBQUFBO0lBQ2pCLE1BQU01QyxlQUFlNkMsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MsK0JBQUFBLGtCQUFrQjtJQUNsRCxNQUFNQyxtQkFBbUIsQ0FBQyxDQUFFcEIsQ0FBQUEsWUFBWUMsYUFBYUMsWUFBQUEsQ0FBVztJQUVoRSxJQUFJa0Isa0JBQWtCO1FBQ3BCLE9BQ0UsV0FERixHQUNFLHFCQUFDdkQsaUNBQUFBO1lBQ0MrQixVQUFVQTtZQUNWSSxVQUFVQTtZQUNWQyxXQUFXQTtZQUNYQyxjQUFjQTtZQUNkN0IsY0FBY0E7c0JBRWI4Qjs7SUFHUDtJQUVBLHFCQUFPO2tCQUFHQTs7QUFDWjtLQTdCZ0J2QyIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2Vycm9yLWJvdW5kYXJ5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuLyoqXG4gKiBIVFRQQWNjZXNzRmFsbGJhY2tCb3VuZGFyeSBpcyBhIGJvdW5kYXJ5IHRoYXQgY2F0Y2hlcyBlcnJvcnMgYW5kIHJlbmRlcnMgYVxuICogZmFsbGJhY2sgY29tcG9uZW50IGZvciBIVFRQIGVycm9ycy5cbiAqXG4gKiBJdCByZWNlaXZlcyB0aGUgc3RhdHVzIGNvZGUsIGFuZCBkZXRlcm1pbmUgaWYgaXQgc2hvdWxkIHJlbmRlciBmYWxsYmFja3MgZm9yIGZldyBIVFRQIDR4eCBlcnJvcnMuXG4gKlxuICogZS5nLiA0MDRcbiAqIDQwNCByZXByZXNlbnRzIG5vdCBmb3VuZCwgYW5kIHRoZSBmYWxsYmFjayBjb21wb25lbnQgcGFpciBjb250YWlucyB0aGUgY29tcG9uZW50IGFuZCBpdHMgc3R5bGVzLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVW50cmFja2VkUGF0aG5hbWUgfSBmcm9tICcuLi9uYXZpZ2F0aW9uLXVudHJhY2tlZCdcbmltcG9ydCB7XG4gIEhUVFBBY2Nlc3NFcnJvclN0YXR1cyxcbiAgZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzLFxuICBnZXRBY2Nlc3NGYWxsYmFja0Vycm9yVHlwZUJ5U3RhdHVzLFxuICBpc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yLFxufSBmcm9tICcuL2h0dHAtYWNjZXNzLWZhbGxiYWNrJ1xuaW1wb3J0IHsgd2Fybk9uY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZSdcbmltcG9ydCB7IE1pc3NpbmdTbG90Q29udGV4dCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuXG5pbnRlcmZhY2UgSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnlQcm9wcyB7XG4gIG5vdEZvdW5kPzogUmVhY3QuUmVhY3ROb2RlXG4gIGZvcmJpZGRlbj86IFJlYWN0LlJlYWN0Tm9kZVxuICB1bmF1dGhvcml6ZWQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZVxuICBtaXNzaW5nU2xvdHM/OiBTZXQ8c3RyaW5nPlxufVxuXG5pbnRlcmZhY2UgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeVByb3BzXG4gIGV4dGVuZHMgSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnlQcm9wcyB7XG4gIHBhdGhuYW1lOiBzdHJpbmcgfCBudWxsXG4gIG1pc3NpbmdTbG90cz86IFNldDxzdHJpbmc+XG59XG5cbmludGVyZmFjZSBIVFRQQWNjZXNzQm91bmRhcnlTdGF0ZSB7XG4gIHRyaWdnZXJlZFN0YXR1czogbnVtYmVyIHwgdW5kZWZpbmVkXG4gIHByZXZpb3VzUGF0aG5hbWU6IHN0cmluZyB8IG51bGxcbn1cblxuY2xhc3MgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeVByb3BzLFxuICBIVFRQQWNjZXNzQm91bmRhcnlTdGF0ZVxuPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5UHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcylcbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgdHJpZ2dlcmVkU3RhdHVzOiB1bmRlZmluZWQsXG4gICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZSxcbiAgICB9XG4gIH1cblxuICBjb21wb25lbnREaWRDYXRjaCgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyAmJlxuICAgICAgdGhpcy5wcm9wcy5taXNzaW5nU2xvdHMgJiZcbiAgICAgIHRoaXMucHJvcHMubWlzc2luZ1Nsb3RzLnNpemUgPiAwICYmXG4gICAgICAvLyBBIG1pc3NpbmcgY2hpbGRyZW4gc2xvdCBpcyB0aGUgdHlwaWNhbCBub3QtZm91bmQgY2FzZSwgc28gbm8gbmVlZCB0byB3YXJuXG4gICAgICAhdGhpcy5wcm9wcy5taXNzaW5nU2xvdHMuaGFzKCdjaGlsZHJlbicpXG4gICAgKSB7XG4gICAgICBsZXQgd2FybmluZ01lc3NhZ2UgPVxuICAgICAgICAnTm8gZGVmYXVsdCBjb21wb25lbnQgd2FzIGZvdW5kIGZvciBhIHBhcmFsbGVsIHJvdXRlIHJlbmRlcmVkIG9uIHRoaXMgcGFnZS4gRmFsbGluZyBiYWNrIHRvIG5lYXJlc3QgTm90Rm91bmQgYm91bmRhcnkuXFxuJyArXG4gICAgICAgICdMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3BhcmFsbGVsLXJvdXRlcyNkZWZhdWx0anNcXG5cXG4nXG5cbiAgICAgIGNvbnN0IGZvcm1hdHRlZFNsb3RzID0gQXJyYXkuZnJvbSh0aGlzLnByb3BzLm1pc3NpbmdTbG90cylcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEubG9jYWxlQ29tcGFyZShiKSlcbiAgICAgICAgLm1hcCgoc2xvdCkgPT4gYEAke3Nsb3R9YClcbiAgICAgICAgLmpvaW4oJywgJylcblxuICAgICAgd2FybmluZ01lc3NhZ2UgKz0gJ01pc3Npbmcgc2xvdHM6ICcgKyBmb3JtYXR0ZWRTbG90c1xuXG4gICAgICB3YXJuT25jZSh3YXJuaW5nTWVzc2FnZSlcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICBpZiAoaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcihlcnJvcikpIHtcbiAgICAgIGNvbnN0IGh0dHBTdGF0dXMgPSBnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXMoZXJyb3IpXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmlnZ2VyZWRTdGF0dXM6IGh0dHBTdGF0dXMsXG4gICAgICB9XG4gICAgfVxuICAgIC8vIFJlLXRocm93IGlmIGVycm9yIGlzIG5vdCBmb3IgNDA0XG4gICAgdGhyb3cgZXJyb3JcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMoXG4gICAgcHJvcHM6IEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlQcm9wcyxcbiAgICBzdGF0ZTogSFRUUEFjY2Vzc0JvdW5kYXJ5U3RhdGVcbiAgKTogSFRUUEFjY2Vzc0JvdW5kYXJ5U3RhdGUgfCBudWxsIHtcbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIHJlc2V0IG9mIHRoZSBlcnJvciBib3VuZGFyeSB3aGVuIGEgbmF2aWdhdGlvbiBoYXBwZW5zLlxuICAgICAqIEVuc3VyZXMgdGhlIGVycm9yIGJvdW5kYXJ5IGRvZXMgbm90IHN0YXkgZW5hYmxlZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZS5cbiAgICAgKiBBcHByb2FjaCBvZiBzZXRTdGF0ZSBpbiByZW5kZXIgaXMgc2FmZSBhcyBpdCBjaGVja3MgdGhlIHByZXZpb3VzIHBhdGhuYW1lIGFuZCB0aGVuIG92ZXJyaWRlc1xuICAgICAqIGl0IGFzIG91dGxpbmVkIGluIGh0dHBzOi8vcmVhY3QuZGV2L3JlZmVyZW5jZS9yZWFjdC91c2VTdGF0ZSNzdG9yaW5nLWluZm9ybWF0aW9uLWZyb20tcHJldmlvdXMtcmVuZGVyc1xuICAgICAqL1xuICAgIGlmIChwcm9wcy5wYXRobmFtZSAhPT0gc3RhdGUucHJldmlvdXNQYXRobmFtZSAmJiBzdGF0ZS50cmlnZ2VyZWRTdGF0dXMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyaWdnZXJlZFN0YXR1czogdW5kZWZpbmVkLFxuICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHRyaWdnZXJlZFN0YXR1czogc3RhdGUudHJpZ2dlcmVkU3RhdHVzLFxuICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWUsXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgbm90Rm91bmQsIGZvcmJpZGRlbiwgdW5hdXRob3JpemVkLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHsgdHJpZ2dlcmVkU3RhdHVzIH0gPSB0aGlzLnN0YXRlXG4gICAgY29uc3QgZXJyb3JDb21wb25lbnRzID0ge1xuICAgICAgW0hUVFBBY2Nlc3NFcnJvclN0YXR1cy5OT1RfRk9VTkRdOiBub3RGb3VuZCxcbiAgICAgIFtIVFRQQWNjZXNzRXJyb3JTdGF0dXMuRk9SQklEREVOXTogZm9yYmlkZGVuLFxuICAgICAgW0hUVFBBY2Nlc3NFcnJvclN0YXR1cy5VTkFVVEhPUklaRURdOiB1bmF1dGhvcml6ZWQsXG4gICAgfVxuXG4gICAgaWYgKHRyaWdnZXJlZFN0YXR1cykge1xuICAgICAgY29uc3QgaXNOb3RGb3VuZCA9XG4gICAgICAgIHRyaWdnZXJlZFN0YXR1cyA9PT0gSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLk5PVF9GT1VORCAmJiBub3RGb3VuZFxuICAgICAgY29uc3QgaXNGb3JiaWRkZW4gPVxuICAgICAgICB0cmlnZ2VyZWRTdGF0dXMgPT09IEhUVFBBY2Nlc3NFcnJvclN0YXR1cy5GT1JCSURERU4gJiYgZm9yYmlkZGVuXG4gICAgICBjb25zdCBpc1VuYXV0aG9yaXplZCA9XG4gICAgICAgIHRyaWdnZXJlZFN0YXR1cyA9PT0gSFRUUEFjY2Vzc0Vycm9yU3RhdHVzLlVOQVVUSE9SSVpFRCAmJiB1bmF1dGhvcml6ZWRcblxuICAgICAgLy8gSWYgdGhlcmUncyBubyBtYXRjaGVkIGJvdW5kYXJ5IGluIHRoaXMgbGF5ZXIsIGtlZXAgdGhyb3dpbmcgdGhlIGVycm9yIGJ5IHJlbmRlcmluZyB0aGUgY2hpbGRyZW5cbiAgICAgIGlmICghKGlzTm90Rm91bmQgfHwgaXNGb3JiaWRkZW4gfHwgaXNVbmF1dGhvcml6ZWQpKSB7XG4gICAgICAgIHJldHVybiBjaGlsZHJlblxuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxtZXRhIG5hbWU9XCJyb2JvdHNcIiBjb250ZW50PVwibm9pbmRleFwiIC8+XG4gICAgICAgICAge3Byb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIChcbiAgICAgICAgICAgIDxtZXRhXG4gICAgICAgICAgICAgIG5hbWU9XCJib3VuZGFyeS1uZXh0LWVycm9yXCJcbiAgICAgICAgICAgICAgY29udGVudD17Z2V0QWNjZXNzRmFsbGJhY2tFcnJvclR5cGVCeVN0YXR1cyh0cmlnZ2VyZWRTdGF0dXMpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtlcnJvckNvbXBvbmVudHNbdHJpZ2dlcmVkU3RhdHVzXX1cbiAgICAgICAgPC8+XG4gICAgICApXG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkcmVuXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5KHtcbiAgbm90Rm91bmQsXG4gIGZvcmJpZGRlbixcbiAgdW5hdXRob3JpemVkLFxuICBjaGlsZHJlbixcbn06IEhUVFBBY2Nlc3NGYWxsYmFja0JvdW5kYXJ5UHJvcHMpIHtcbiAgLy8gV2hlbiB3ZSdyZSByZW5kZXJpbmcgdGhlIG1pc3NpbmcgcGFyYW1zIHNoZWxsLCB0aGlzIHdpbGwgcmV0dXJuIG51bGwuIFRoaXNcbiAgLy8gaXMgYmVjYXVzZSB3ZSB3b24ndCBiZSByZW5kZXJpbmcgYW55IG5vdCBmb3VuZCBib3VuZGFyaWVzIG9yIGVycm9yXG4gIC8vIGJvdW5kYXJpZXMgZm9yIHRoZSBtaXNzaW5nIHBhcmFtcyBzaGVsbC4gV2hlbiB0aGlzIHJ1bnMgb24gdGhlIGNsaWVudFxuICAvLyAod2hlcmUgdGhlc2UgZXJyb3IgY2FuIG9jY3VyKSwgd2Ugd2lsbCBnZXQgdGhlIGNvcnJlY3QgcGF0aG5hbWUuXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlVW50cmFja2VkUGF0aG5hbWUoKVxuICBjb25zdCBtaXNzaW5nU2xvdHMgPSB1c2VDb250ZXh0KE1pc3NpbmdTbG90Q29udGV4dClcbiAgY29uc3QgaGFzRXJyb3JGYWxsYmFjayA9ICEhKG5vdEZvdW5kIHx8IGZvcmJpZGRlbiB8fCB1bmF1dGhvcml6ZWQpXG5cbiAgaWYgKGhhc0Vycm9yRmFsbGJhY2spIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yQm91bmRhcnlcbiAgICAgICAgcGF0aG5hbWU9e3BhdGhuYW1lfVxuICAgICAgICBub3RGb3VuZD17bm90Rm91bmR9XG4gICAgICAgIGZvcmJpZGRlbj17Zm9yYmlkZGVufVxuICAgICAgICB1bmF1dGhvcml6ZWQ9e3VuYXV0aG9yaXplZH1cbiAgICAgICAgbWlzc2luZ1Nsb3RzPXttaXNzaW5nU2xvdHN9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JCb3VuZGFyeT5cbiAgICApXG4gIH1cblxuICByZXR1cm4gPD57Y2hpbGRyZW59PC8+XG59XG4iXSwibmFtZXMiOlsiSFRUUEFjY2Vzc0ZhbGxiYWNrQm91bmRhcnkiLCJIVFRQQWNjZXNzRmFsbGJhY2tFcnJvckJvdW5kYXJ5IiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb21wb25lbnREaWRDYXRjaCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInByb3BzIiwibWlzc2luZ1Nsb3RzIiwic2l6ZSIsImhhcyIsIndhcm5pbmdNZXNzYWdlIiwiZm9ybWF0dGVkU2xvdHMiLCJBcnJheSIsImZyb20iLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwibWFwIiwic2xvdCIsImpvaW4iLCJ3YXJuT25jZSIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwiaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvciIsImh0dHBTdGF0dXMiLCJnZXRBY2Nlc3NGYWxsYmFja0hUVFBTdGF0dXMiLCJ0cmlnZ2VyZWRTdGF0dXMiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJzdGF0ZSIsInBhdGhuYW1lIiwicHJldmlvdXNQYXRobmFtZSIsInVuZGVmaW5lZCIsInJlbmRlciIsIm5vdEZvdW5kIiwiZm9yYmlkZGVuIiwidW5hdXRob3JpemVkIiwiY2hpbGRyZW4iLCJlcnJvckNvbXBvbmVudHMiLCJIVFRQQWNjZXNzRXJyb3JTdGF0dXMiLCJOT1RfRk9VTkQiLCJGT1JCSURERU4iLCJVTkFVVEhPUklaRUQiLCJpc05vdEZvdW5kIiwiaXNGb3JiaWRkZW4iLCJpc1VuYXV0aG9yaXplZCIsIm1ldGEiLCJuYW1lIiwiY29udGVudCIsImdldEFjY2Vzc0ZhbGxiYWNrRXJyb3JUeXBlQnlTdGF0dXMiLCJjb25zdHJ1Y3RvciIsInVzZVVudHJhY2tlZFBhdGhuYW1lIiwidXNlQ29udGV4dCIsIk1pc3NpbmdTbG90Q29udGV4dCIsImhhc0Vycm9yRmFsbGJhY2siXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/error-boundary.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.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 HTTPAccessErrorStatus: function() {\n return HTTPAccessErrorStatus;\n },\n HTTP_ERROR_FALLBACK_ERROR_CODE: function() {\n return HTTP_ERROR_FALLBACK_ERROR_CODE;\n },\n getAccessFallbackErrorTypeByStatus: function() {\n return getAccessFallbackErrorTypeByStatus;\n },\n getAccessFallbackHTTPStatus: function() {\n return getAccessFallbackHTTPStatus;\n },\n isHTTPAccessFallbackError: function() {\n return isHTTPAccessFallbackError;\n }\n});\nconst HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401\n};\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus));\nconst HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK';\nfunction isHTTPAccessFallbackError(error) {\n if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') {\n return false;\n }\n const [prefix, httpStatus] = error.digest.split(';');\n return prefix === HTTP_ERROR_FALLBACK_ERROR_CODE && ALLOWED_CODES.has(Number(httpStatus));\n}\nfunction getAccessFallbackHTTPStatus(error) {\n const httpStatus = error.digest.split(';')[1];\n return Number(httpStatus);\n}\nfunction getAccessFallbackErrorTypeByStatus(status) {\n switch(status){\n case 401:\n return 'unauthorized';\n case 403:\n return 'forbidden';\n case 404:\n return 'not-found';\n default:\n return;\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=http-access-fallback.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaHR0cC1hY2Nlc3MtZmFsbGJhY2svaHR0cC1hY2Nlc3MtZmFsbGJhY2suanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBQWFBLHFCQUFxQjtlQUFyQkE7O0lBUUFDLDhCQUE4QjtlQUE5QkE7O0lBdUNHQyxrQ0FBa0M7ZUFBbENBOztJQVBBQywyQkFBMkI7ZUFBM0JBOztJQW5CQUMseUJBQXlCO2VBQXpCQTs7O0FBckJULE1BQU1KLHdCQUF3QjtJQUNuQ0ssV0FBVztJQUNYQyxXQUFXO0lBQ1hDLGNBQWM7QUFDaEI7QUFFQSxNQUFNQyxnQkFBZ0IsSUFBSUMsSUFBSUMsT0FBT0MsTUFBTSxDQUFDWDtBQUVyQyxNQUFNQyxpQ0FBaUM7QUFhdkMsU0FBU0csMEJBQ2RRLEtBQWM7SUFFZCxJQUNFLE9BQU9BLFVBQVUsWUFDakJBLFVBQVUsUUFDVixDQUFFLGFBQVlBLEtBQUFBLENBQUksSUFDbEIsT0FBT0EsTUFBTUMsTUFBTSxLQUFLLFVBQ3hCO1FBQ0EsT0FBTztJQUNUO0lBQ0EsTUFBTSxDQUFDQyxRQUFRQyxXQUFXLEdBQUdILE1BQU1DLE1BQU0sQ0FBQ0csS0FBSyxDQUFDO0lBRWhELE9BQ0VGLFdBQVdiLGtDQUNYTyxjQUFjUyxHQUFHLENBQUNDLE9BQU9IO0FBRTdCO0FBRU8sU0FBU1osNEJBQ2RTLEtBQThCO0lBRTlCLE1BQU1HLGFBQWFILE1BQU1DLE1BQU0sQ0FBQ0csS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO0lBQzdDLE9BQU9FLE9BQU9IO0FBQ2hCO0FBRU8sU0FBU2IsbUNBQ2RpQixNQUFjO0lBRWQsT0FBUUE7UUFDTixLQUFLO1lBQ0gsT0FBTztRQUNULEtBQUs7WUFDSCxPQUFPO1FBQ1QsS0FBSztZQUNILE9BQU87UUFDVDtZQUNFO0lBQ0o7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL2h0dHAtYWNjZXNzLWZhbGxiYWNrL2h0dHAtYWNjZXNzLWZhbGxiYWNrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBIVFRQQWNjZXNzRXJyb3JTdGF0dXMgPSB7XG4gIE5PVF9GT1VORDogNDA0LFxuICBGT1JCSURERU46IDQwMyxcbiAgVU5BVVRIT1JJWkVEOiA0MDEsXG59XG5cbmNvbnN0IEFMTE9XRURfQ09ERVMgPSBuZXcgU2V0KE9iamVjdC52YWx1ZXMoSFRUUEFjY2Vzc0Vycm9yU3RhdHVzKSlcblxuZXhwb3J0IGNvbnN0IEhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERSA9ICdORVhUX0hUVFBfRVJST1JfRkFMTEJBQ0snXG5cbmV4cG9ydCB0eXBlIEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yID0gRXJyb3IgJiB7XG4gIGRpZ2VzdDogYCR7dHlwZW9mIEhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07JHtzdHJpbmd9YFxufVxuXG4vKipcbiAqIENoZWNrcyBhbiBlcnJvciB0byBkZXRlcm1pbmUgaWYgaXQncyBhbiBlcnJvciBnZW5lcmF0ZWQgYnlcbiAqIHRoZSBIVFRQIG5hdmlnYXRpb24gQVBJcyBgbm90Rm91bmQoKWAsIGBmb3JiaWRkZW4oKWAgb3IgYHVuYXV0aG9yaXplZCgpYC5cbiAqXG4gKiBAcGFyYW0gZXJyb3IgdGhlIGVycm9yIHRoYXQgbWF5IHJlZmVyZW5jZSBhIEhUVFAgYWNjZXNzIGVycm9yXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBlcnJvciBpcyBhIEhUVFAgYWNjZXNzIGVycm9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0hUVFBBY2Nlc3NGYWxsYmFja0Vycm9yKFxuICBlcnJvcjogdW5rbm93blxuKTogZXJyb3IgaXMgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3Ige1xuICBpZiAoXG4gICAgdHlwZW9mIGVycm9yICE9PSAnb2JqZWN0JyB8fFxuICAgIGVycm9yID09PSBudWxsIHx8XG4gICAgISgnZGlnZXN0JyBpbiBlcnJvcikgfHxcbiAgICB0eXBlb2YgZXJyb3IuZGlnZXN0ICE9PSAnc3RyaW5nJ1xuICApIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjb25zdCBbcHJlZml4LCBodHRwU3RhdHVzXSA9IGVycm9yLmRpZ2VzdC5zcGxpdCgnOycpXG5cbiAgcmV0dXJuIChcbiAgICBwcmVmaXggPT09IEhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERSAmJlxuICAgIEFMTE9XRURfQ09ERVMuaGFzKE51bWJlcihodHRwU3RhdHVzKSlcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzKFxuICBlcnJvcjogSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3Jcbik6IG51bWJlciB7XG4gIGNvbnN0IGh0dHBTdGF0dXMgPSBlcnJvci5kaWdlc3Quc3BsaXQoJzsnKVsxXVxuICByZXR1cm4gTnVtYmVyKGh0dHBTdGF0dXMpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBY2Nlc3NGYWxsYmFja0Vycm9yVHlwZUJ5U3RhdHVzKFxuICBzdGF0dXM6IG51bWJlclxuKTogJ25vdC1mb3VuZCcgfCAnZm9yYmlkZGVuJyB8ICd1bmF1dGhvcml6ZWQnIHwgdW5kZWZpbmVkIHtcbiAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICBjYXNlIDQwMTpcbiAgICAgIHJldHVybiAndW5hdXRob3JpemVkJ1xuICAgIGNhc2UgNDAzOlxuICAgICAgcmV0dXJuICdmb3JiaWRkZW4nXG4gICAgY2FzZSA0MDQ6XG4gICAgICByZXR1cm4gJ25vdC1mb3VuZCdcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJIVFRQQWNjZXNzRXJyb3JTdGF0dXMiLCJIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUiLCJnZXRBY2Nlc3NGYWxsYmFja0Vycm9yVHlwZUJ5U3RhdHVzIiwiZ2V0QWNjZXNzRmFsbGJhY2tIVFRQU3RhdHVzIiwiaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvciIsIk5PVF9GT1VORCIsIkZPUkJJRERFTiIsIlVOQVVUSE9SSVpFRCIsIkFMTE9XRURfQ09ERVMiLCJTZXQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJlcnJvciIsImRpZ2VzdCIsInByZWZpeCIsImh0dHBTdGF0dXMiLCJzcGxpdCIsImhhcyIsIk51bWJlciIsInN0YXR1cyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback/http-access-fallback */ \"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\nconst _redirecterror = __webpack_require__(/*! ./redirect-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\");\nfunction isNextRouterError(error) {\n return (0, _redirecterror.isRedirectError)(error) || (0, _httpaccessfallback.isHTTPAccessFallbackError)(error);\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=is-next-router-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaXMtbmV4dC1yb3V0ZXItZXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7OztxREFXZ0JBOzs7ZUFBQUE7OztnREFSVDsyQ0FDNkM7QUFPN0MsU0FBU0Esa0JBQ2RDLEtBQWM7SUFFZCxPQUFPQyxDQUFBQSxHQUFBQSxlQUFBQSxlQUFBQSxFQUFnQkQsVUFBVUUsQ0FBQUEsR0FBQUEsb0JBQUFBLHlCQUFBQSxFQUEwQkY7QUFDN0QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvaXMtbmV4dC1yb3V0ZXItZXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcixcbiAgdHlwZSBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcixcbn0gZnJvbSAnLi9odHRwLWFjY2Vzcy1mYWxsYmFjay9odHRwLWFjY2Vzcy1mYWxsYmFjaydcbmltcG9ydCB7IGlzUmVkaXJlY3RFcnJvciwgdHlwZSBSZWRpcmVjdEVycm9yIH0gZnJvbSAnLi9yZWRpcmVjdC1lcnJvcidcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGVycm9yIGlzIGEgbmF2aWdhdGlvbiBzaWduYWwgZXJyb3IuIFRoZXNlIGVycm9ycyBhcmVcbiAqIHRocm93biBieSB1c2VyIGNvZGUgdG8gcGVyZm9ybSBuYXZpZ2F0aW9uIG9wZXJhdGlvbnMgYW5kIGludGVycnVwdCB0aGUgUmVhY3RcbiAqIHJlbmRlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmV4dFJvdXRlckVycm9yKFxuICBlcnJvcjogdW5rbm93blxuKTogZXJyb3IgaXMgUmVkaXJlY3RFcnJvciB8IEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yIHtcbiAgcmV0dXJuIGlzUmVkaXJlY3RFcnJvcihlcnJvcikgfHwgaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcihlcnJvcilcbn1cbiJdLCJuYW1lcyI6WyJpc05leHRSb3V0ZXJFcnJvciIsImVycm9yIiwiaXNSZWRpcmVjdEVycm9yIiwiaXNIVFRQQWNjZXNzRmFsbGJhY2tFcnJvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/links.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/client/components/links.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 IDLE_LINK_STATUS: function() {\n return IDLE_LINK_STATUS;\n },\n PENDING_LINK_STATUS: function() {\n return PENDING_LINK_STATUS;\n },\n mountFormInstance: function() {\n return mountFormInstance;\n },\n mountLinkInstance: function() {\n return mountLinkInstance;\n },\n onLinkVisibilityChanged: function() {\n return onLinkVisibilityChanged;\n },\n onNavigationIntent: function() {\n return onNavigationIntent;\n },\n pingVisibleLinks: function() {\n return pingVisibleLinks;\n },\n setLinkForCurrentNavigation: function() {\n return setLinkForCurrentNavigation;\n },\n unmountLinkForCurrentNavigation: function() {\n return unmountLinkForCurrentNavigation;\n },\n unmountPrefetchableInstance: function() {\n return unmountPrefetchableInstance;\n }\n});\nconst _approuterinstance = __webpack_require__(/*! ./app-router-instance */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-instance.js\");\nconst _approuter = __webpack_require__(/*! ./app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _segmentcache = __webpack_require__(/*! ./segment-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n// Tracks the most recently navigated link instance. When null, indicates\n// the current navigation was not initiated by a link click.\nlet linkForMostRecentNavigation = null;\nconst PENDING_LINK_STATUS = {\n pending: true\n};\nconst IDLE_LINK_STATUS = {\n pending: false\n};\nfunction setLinkForCurrentNavigation(link) {\n (0, _react.startTransition)(()=>{\n linkForMostRecentNavigation == null ? void 0 : linkForMostRecentNavigation.setOptimisticLinkStatus(IDLE_LINK_STATUS);\n link == null ? void 0 : link.setOptimisticLinkStatus(PENDING_LINK_STATUS);\n linkForMostRecentNavigation = link;\n });\n}\nfunction unmountLinkForCurrentNavigation(link) {\n if (linkForMostRecentNavigation === link) {\n linkForMostRecentNavigation = null;\n }\n}\n// Use a WeakMap to associate a Link instance with its DOM element. This is\n// used by the IntersectionObserver to track the link's visibility.\nconst prefetchable = typeof WeakMap === 'function' ? new WeakMap() : new Map();\n// A Set of the currently visible links. We re-prefetch visible links after a\n// cache invalidation, or when the current URL changes. It's a separate data\n// structure from the WeakMap above because only the visible links need to\n// be enumerated.\nconst prefetchableAndVisible = new Set();\n// A single IntersectionObserver instance shared by all components.\nconst observer = typeof IntersectionObserver === 'function' ? new IntersectionObserver(handleIntersect, {\n rootMargin: '200px'\n}) : null;\nfunction observeVisibility(element, instance) {\n const existingInstance = prefetchable.get(element);\n if (existingInstance !== undefined) {\n // This shouldn't happen because each component should have its own\n // anchor tag instance, but it's defensive coding to avoid a memory leak in\n // case there's a logical error somewhere else.\n unmountPrefetchableInstance(element);\n }\n // Only track prefetchable links that have a valid prefetch URL\n prefetchable.set(element, instance);\n if (observer !== null) {\n observer.observe(element);\n }\n}\nfunction coercePrefetchableUrl(href) {\n try {\n return (0, _approuter.createPrefetchURL)(href);\n } catch (e) {\n // createPrefetchURL sometimes throws an error if an invalid URL is\n // provided, though I'm not sure if it's actually necessary.\n // TODO: Consider removing the throw from the inner function, or change it\n // to reportError. Or maybe the error isn't even necessary for automatic\n // prefetches, just navigations.\n const reportErrorFn = typeof reportError === 'function' ? reportError : console.error;\n reportErrorFn(\"Cannot prefetch '\" + href + \"' because it cannot be converted to a URL.\");\n return null;\n }\n}\nfunction mountLinkInstance(element, href, router, kind, prefetchEnabled, setOptimisticLinkStatus) {\n if (prefetchEnabled) {\n const prefetchURL = coercePrefetchableUrl(href);\n if (prefetchURL !== null) {\n const instance = {\n router,\n kind,\n isVisible: false,\n prefetchTask: null,\n prefetchHref: prefetchURL.href,\n setOptimisticLinkStatus\n };\n // We only observe the link's visibility if it's prefetchable. For\n // example, this excludes links to external URLs.\n observeVisibility(element, instance);\n return instance;\n }\n }\n // If the link is not prefetchable, we still create an instance so we can\n // track its optimistic state (i.e. useLinkStatus).\n const instance = {\n router,\n kind,\n isVisible: false,\n prefetchTask: null,\n prefetchHref: null,\n setOptimisticLinkStatus\n };\n return instance;\n}\nfunction mountFormInstance(element, href, router, kind) {\n const prefetchURL = coercePrefetchableUrl(href);\n if (prefetchURL === null) {\n // This href is not prefetchable, so we don't track it.\n // TODO: We currently observe/unobserve a form every time its href changes.\n // For Links, this isn't a big deal because the href doesn't usually change,\n // but for forms it's extremely common. We should optimize this.\n return;\n }\n const instance = {\n router,\n kind,\n isVisible: false,\n prefetchTask: null,\n prefetchHref: prefetchURL.href,\n setOptimisticLinkStatus: null\n };\n observeVisibility(element, instance);\n}\nfunction unmountPrefetchableInstance(element) {\n const instance = prefetchable.get(element);\n if (instance !== undefined) {\n prefetchable.delete(element);\n prefetchableAndVisible.delete(instance);\n const prefetchTask = instance.prefetchTask;\n if (prefetchTask !== null) {\n (0, _segmentcache.cancelPrefetchTask)(prefetchTask);\n }\n }\n if (observer !== null) {\n observer.unobserve(element);\n }\n}\nfunction handleIntersect(entries) {\n for (const entry of entries){\n // Some extremely old browsers or polyfills don't reliably support\n // isIntersecting so we check intersectionRatio instead. (Do we care? Not\n // really. But whatever this is fine.)\n const isVisible = entry.intersectionRatio > 0;\n onLinkVisibilityChanged(entry.target, isVisible);\n }\n}\nfunction onLinkVisibilityChanged(element, isVisible) {\n if (true) {\n // Prefetching on viewport is disabled in development for performance\n // reasons, because it requires compiling the target page.\n // TODO: Investigate re-enabling this.\n return;\n }\n const instance = prefetchable.get(element);\n if (instance === undefined) {\n return;\n }\n instance.isVisible = isVisible;\n if (isVisible) {\n prefetchableAndVisible.add(instance);\n } else {\n prefetchableAndVisible.delete(instance);\n }\n rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Default);\n}\nfunction onNavigationIntent(element, unstable_upgradeToDynamicPrefetch) {\n const instance = prefetchable.get(element);\n if (instance === undefined) {\n return;\n }\n // Prefetch the link on hover/touchstart.\n if (instance !== undefined) {\n if (false) {}\n rescheduleLinkPrefetch(instance, _segmentcache.PrefetchPriority.Intent);\n }\n}\nfunction rescheduleLinkPrefetch(instance, priority) {\n const existingPrefetchTask = instance.prefetchTask;\n if (!instance.isVisible) {\n // Cancel any in-progress prefetch task. (If it already finished then this\n // is a no-op.)\n if (existingPrefetchTask !== null) {\n (0, _segmentcache.cancelPrefetchTask)(existingPrefetchTask);\n }\n // We don't need to reset the prefetchTask to null upon cancellation; an\n // old task object can be rescheduled with reschedulePrefetchTask. This is a\n // micro-optimization but also makes the code simpler (don't need to\n // worry about whether an old task object is stale).\n return;\n }\n if (true) {\n // The old prefetch implementation does not have different priority levels.\n // Just schedule a new prefetch task.\n prefetchWithOldCacheImplementation(instance);\n return;\n }\n const appRouterState = (0, _approuterinstance.getCurrentAppRouterState)();\n if (appRouterState !== null) {\n const treeAtTimeOfPrefetch = appRouterState.tree;\n if (existingPrefetchTask === null) {\n // Initiate a prefetch task.\n const nextUrl = appRouterState.nextUrl;\n const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl);\n instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, treeAtTimeOfPrefetch, instance.kind === _routerreducertypes.PrefetchKind.FULL, priority, null);\n } else {\n // We already have an old task object that we can reschedule. This is\n // effectively the same as canceling the old task and creating a new one.\n (0, _segmentcache.reschedulePrefetchTask)(existingPrefetchTask, treeAtTimeOfPrefetch, instance.kind === _routerreducertypes.PrefetchKind.FULL, priority);\n }\n }\n}\nfunction pingVisibleLinks(nextUrl, tree) {\n // For each currently visible link, cancel the existing prefetch task (if it\n // exists) and schedule a new one. This is effectively the same as if all the\n // visible links left and then re-entered the viewport.\n //\n // This is called when the Next-Url or the base tree changes, since those\n // may affect the result of a prefetch task. It's also called after a\n // cache invalidation.\n for (const instance of prefetchableAndVisible){\n const task = instance.prefetchTask;\n if (task !== null && !(0, _segmentcache.isPrefetchTaskDirty)(task, nextUrl, tree)) {\n continue;\n }\n // Something changed. Cancel the existing prefetch task and schedule a\n // new one.\n if (task !== null) {\n (0, _segmentcache.cancelPrefetchTask)(task);\n }\n const cacheKey = (0, _segmentcache.createCacheKey)(instance.prefetchHref, nextUrl);\n instance.prefetchTask = (0, _segmentcache.schedulePrefetchTask)(cacheKey, tree, instance.kind === _routerreducertypes.PrefetchKind.FULL, _segmentcache.PrefetchPriority.Default, null);\n }\n}\nfunction prefetchWithOldCacheImplementation(instance) {\n // This is the path used when the Segment Cache is not enabled.\n if (false) {}\n const doPrefetch = async ()=>{\n // note that `appRouter.prefetch()` is currently sync,\n // so we have to wrap this call in an async function to be able to catch() errors below.\n return instance.router.prefetch(instance.prefetchHref, {\n kind: instance.kind\n });\n };\n // Prefetch the page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n doPrefetch().catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\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=links.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbGlua3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBK0RhQSxnQkFBZ0I7ZUFBaEJBOztJQUhBQyxtQkFBbUI7ZUFBbkJBOztJQW9IR0MsaUJBQWlCO2VBQWpCQTs7SUF0Q0FDLGlCQUFpQjtlQUFqQkE7O0lBd0ZBQyx1QkFBdUI7ZUFBdkJBOztJQXNCQUMsa0JBQWtCO2VBQWxCQTs7SUEwRUFDLGdCQUFnQjtlQUFoQkE7O0lBN1BBQywyQkFBMkI7ZUFBM0JBOztJQVNBQywrQkFBK0I7ZUFBL0JBOztJQTJIQUMsMkJBQTJCO2VBQTNCQTs7OytDQXZNeUI7dUNBQ1A7Z0RBQ0w7MENBQ087bUNBU0o7QUF5Q2hDLHlFQUF5RTtBQUN6RSw0REFBNEQ7QUFDNUQsSUFBSUMsOEJBQW1EO0FBR2hELE1BQU1ULHNCQUFzQjtJQUFFVSxTQUFTO0FBQUs7QUFHNUMsTUFBTVgsbUJBQW1CO0lBQUVXLFNBQVM7QUFBTTtBQU0xQyxTQUFTSiw0QkFBNEJLLElBQXlCO0lBQ25FQyxDQUFBQSxHQUFBQSxPQUFBQSxlQUFBQSxFQUFnQjtRQUNkSCwrQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsNEJBQTZCSSx1QkFBdUIsQ0FBQ2Q7UUFDckRZLFFBQUFBLE9BQUFBLEtBQUFBLElBQUFBLEtBQU1FLHVCQUF1QixDQUFDYjtRQUM5QlMsOEJBQThCRTtJQUNoQztBQUNGO0FBR08sU0FBU0osZ0NBQWdDSSxJQUFrQjtJQUNoRSxJQUFJRixnQ0FBZ0NFLE1BQU07UUFDeENGLDhCQUE4QjtJQUNoQztBQUNGO0FBRUEsMkVBQTJFO0FBQzNFLG1FQUFtRTtBQUNuRSxNQUFNSyxlQUdKLE9BQU9DLFlBQVksYUFBYSxJQUFJQSxZQUFZLElBQUlDO0FBRXRELDZFQUE2RTtBQUM3RSw0RUFBNEU7QUFDNUUsMEVBQTBFO0FBQzFFLGlCQUFpQjtBQUNqQixNQUFNQyx5QkFBb0QsSUFBSUM7QUFFOUQsMEVBQTBFO0FBQzFFLE1BQU1DLFdBQ0osT0FBT0MseUJBQXlCLGFBQzVCLElBQUlBLHFCQUFxQkMsaUJBQWlCO0lBQ3hDQyxZQUFZO0FBQ2QsS0FDQTtBQUVOLFNBQVNDLGtCQUFrQkMsT0FBZ0IsRUFBRUMsUUFBOEI7SUFDekUsTUFBTUMsbUJBQW1CWixhQUFhYSxHQUFHLENBQUNIO0lBQzFDLElBQUlFLHFCQUFxQkUsV0FBVztRQUNsQywwRUFBMEU7UUFDMUUsMkVBQTJFO1FBQzNFLCtDQUErQztRQUMvQ3BCLDRCQUE0QmdCO0lBQzlCO0lBQ0EsK0RBQStEO0lBQy9EVixhQUFhZSxHQUFHLENBQUNMLFNBQVNDO0lBQzFCLElBQUlOLGFBQWEsTUFBTTtRQUNyQkEsU0FBU1csT0FBTyxDQUFDTjtJQUNuQjtBQUNGO0FBRUEsU0FBU08sc0JBQXNCQyxJQUFZO0lBQ3pDLElBQUk7UUFDRixPQUFPQyxDQUFBQSxHQUFBQSxXQUFBQSxpQkFBQUEsRUFBa0JEO0lBQzNCLEVBQUUsVUFBTTtRQUNOLG1FQUFtRTtRQUNuRSw0REFBNEQ7UUFDNUQsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxnQ0FBZ0M7UUFDaEMsTUFBTUUsZ0JBQ0osT0FBT0MsZ0JBQWdCLGFBQWFBLGNBQWNDLFFBQVFDLEtBQUs7UUFDakVILGNBQ0csc0JBQW1CRixPQUFLO1FBRTNCLE9BQU87SUFDVDtBQUNGO0FBRU8sU0FBUzlCLGtCQUNkc0IsT0FBb0IsRUFDcEJRLElBQVksRUFDWk0sTUFBeUIsRUFDekJDLElBQTJDLEVBQzNDQyxlQUF3QixFQUN4QjNCLHVCQUErRDtJQUUvRCxJQUFJMkIsaUJBQWlCO1FBQ25CLE1BQU1DLGNBQWNWLHNCQUFzQkM7UUFDMUMsSUFBSVMsZ0JBQWdCLE1BQU07WUFDeEIsTUFBTWhCLFdBQXFDO2dCQUN6Q2E7Z0JBQ0FDO2dCQUNBRyxXQUFXO2dCQUNYQyxjQUFjO2dCQUNkQyxjQUFjSCxZQUFZVCxJQUFJO2dCQUM5Qm5CO1lBQ0Y7WUFDQSxrRUFBa0U7WUFDbEUsaURBQWlEO1lBQ2pEVSxrQkFBa0JDLFNBQVNDO1lBQzNCLE9BQU9BO1FBQ1Q7SUFDRjtJQUNBLHlFQUF5RTtJQUN6RSxtREFBbUQ7SUFDbkQsTUFBTUEsV0FBd0M7UUFDNUNhO1FBQ0FDO1FBQ0FHLFdBQVc7UUFDWEMsY0FBYztRQUNkQyxjQUFjO1FBQ2QvQjtJQUNGO0lBQ0EsT0FBT1k7QUFDVDtBQUVPLFNBQVN4QixrQkFDZHVCLE9BQXdCLEVBQ3hCUSxJQUFZLEVBQ1pNLE1BQXlCLEVBQ3pCQyxJQUEyQztJQUUzQyxNQUFNRSxjQUFjVixzQkFBc0JDO0lBQzFDLElBQUlTLGdCQUFnQixNQUFNO1FBQ3hCLHVEQUF1RDtRQUN2RCwyRUFBMkU7UUFDM0UsNEVBQTRFO1FBQzVFLGdFQUFnRTtRQUNoRTtJQUNGO0lBQ0EsTUFBTWhCLFdBQXlCO1FBQzdCYTtRQUNBQztRQUNBRyxXQUFXO1FBQ1hDLGNBQWM7UUFDZEMsY0FBY0gsWUFBWVQsSUFBSTtRQUM5Qm5CLHlCQUF5QjtJQUMzQjtJQUNBVSxrQkFBa0JDLFNBQVNDO0FBQzdCO0FBRU8sU0FBU2pCLDRCQUE0QmdCLE9BQWdCO0lBQzFELE1BQU1DLFdBQVdYLGFBQWFhLEdBQUcsQ0FBQ0g7SUFDbEMsSUFBSUMsYUFBYUcsV0FBVztRQUMxQmQsYUFBYStCLE1BQU0sQ0FBQ3JCO1FBQ3BCUCx1QkFBdUI0QixNQUFNLENBQUNwQjtRQUM5QixNQUFNa0IsZUFBZWxCLFNBQVNrQixZQUFZO1FBQzFDLElBQUlBLGlCQUFpQixNQUFNO1lBQ3pCRyxDQUFBQSxHQUFBQSxjQUFBQSxrQkFBa0IsRUFBQ0g7UUFDckI7SUFDRjtJQUNBLElBQUl4QixhQUFhLE1BQU07UUFDckJBLFNBQVM0QixTQUFTLENBQUN2QjtJQUNyQjtBQUNGO0FBRUEsU0FBU0gsZ0JBQWdCMkIsT0FBeUM7SUFDaEUsS0FBSyxNQUFNQyxTQUFTRCxRQUFTO1FBQzNCLGtFQUFrRTtRQUNsRSx5RUFBeUU7UUFDekUsc0NBQXNDO1FBQ3RDLE1BQU1OLFlBQVlPLE1BQU1DLGlCQUFpQixHQUFHO1FBQzVDL0Msd0JBQXdCOEMsTUFBTUUsTUFBTSxFQUF1QlQ7SUFDN0Q7QUFDRjtBQUVPLFNBQVN2Qyx3QkFBd0JxQixPQUFnQixFQUFFa0IsU0FBa0I7SUFDMUUsSUFBSVUsSUFBb0IsRUFBbUI7UUFDekMscUVBQXFFO1FBQ3JFLDBEQUEwRDtRQUMxRCxzQ0FBc0M7UUFDdEM7SUFDRjtJQUVBLE1BQU0zQixXQUFXWCxhQUFhYSxHQUFHLENBQUNIO0lBQ2xDLElBQUlDLGFBQWFHLFdBQVc7UUFDMUI7SUFDRjtJQUVBSCxTQUFTaUIsU0FBUyxHQUFHQTtJQUNyQixJQUFJQSxXQUFXO1FBQ2J6Qix1QkFBdUJzQyxHQUFHLENBQUM5QjtJQUM3QixPQUFPO1FBQ0xSLHVCQUF1QjRCLE1BQU0sQ0FBQ3BCO0lBQ2hDO0lBQ0ErQix1QkFBdUIvQixVQUFVZ0MsY0FBQUEsZ0JBQWdCLENBQUNDLE9BQU87QUFDM0Q7QUFFTyxTQUFTdEQsbUJBQ2RvQixPQUF3QyxFQUN4Q21DLGlDQUEwQztJQUUxQyxNQUFNbEMsV0FBV1gsYUFBYWEsR0FBRyxDQUFDSDtJQUNsQyxJQUFJQyxhQUFhRyxXQUFXO1FBQzFCO0lBQ0Y7SUFDQSx5Q0FBeUM7SUFDekMsSUFBSUgsYUFBYUcsV0FBVztRQUMxQixJQUNFd0IsS0FDaUNPLEVBQ2pDLEVBR0Q7UUFDREgsdUJBQXVCL0IsVUFBVWdDLGNBQUFBLGdCQUFnQixDQUFDTSxNQUFNO0lBQzFEO0FBQ0Y7QUFFQSxTQUFTUCx1QkFDUC9CLFFBQThCLEVBQzlCdUMsUUFBNEQ7SUFFNUQsTUFBTUMsdUJBQXVCeEMsU0FBU2tCLFlBQVk7SUFFbEQsSUFBSSxDQUFDbEIsU0FBU2lCLFNBQVMsRUFBRTtRQUN2QiwwRUFBMEU7UUFDMUUsZUFBZTtRQUNmLElBQUl1Qix5QkFBeUIsTUFBTTtZQUNqQ25CLENBQUFBLEdBQUFBLGNBQUFBLGtCQUFrQixFQUFDbUI7UUFDckI7UUFDQSx3RUFBd0U7UUFDeEUsNEVBQTRFO1FBQzVFLG9FQUFvRTtRQUNwRSxvREFBb0Q7UUFDcEQ7SUFDRjtJQUVBLElBQUksSUFBd0MsRUFBRTtRQUM1QywyRUFBMkU7UUFDM0UscUNBQXFDO1FBQ3JDRSxtQ0FBbUMxQztRQUNuQztJQUNGO0lBRUEsTUFBTTJDLGlCQUFpQkMsQ0FBQUEsR0FBQUEsbUJBQUFBLHdCQUFBQTtJQUN2QixJQUFJRCxtQkFBbUIsTUFBTTtRQUMzQixNQUFNRSx1QkFBdUJGLGVBQWVHLElBQUk7UUFDaEQsSUFBSU4seUJBQXlCLE1BQU07WUFDakMsNEJBQTRCO1lBQzVCLE1BQU1PLFVBQVVKLGVBQWVJLE9BQU87WUFDdEMsTUFBTUMsV0FBV0MsQ0FBQUEsR0FBQUEsY0FBQUEsY0FBQUEsRUFBZWpELFNBQVNtQixZQUFZLEVBQUU0QjtZQUN2RC9DLFNBQVNrQixZQUFZLEdBQUdnQyxDQUFBQSxHQUFBQSxjQUFBQSxvQkFBMkIsRUFDakRGLFVBQ0FILHNCQUNBN0MsU0FBU2MsSUFBSSxLQUFLc0Isb0JBQUFBLFlBQVksQ0FBQ0MsSUFBSSxFQUNuQ0UsVUFDQTtRQUVKLE9BQU87WUFDTCxxRUFBcUU7WUFDckUseUVBQXlFO1lBQ3pFWSxDQUFBQSxHQUFBQSxjQUFBQSxzQkFBQUEsRUFDRVgsc0JBQ0FLLHNCQUNBN0MsU0FBU2MsSUFBSSxLQUFLc0Isb0JBQUFBLFlBQVksQ0FBQ0MsSUFBSSxFQUNuQ0U7UUFFSjtJQUNGO0FBQ0Y7QUFFTyxTQUFTM0QsaUJBQ2RtRSxPQUFzQixFQUN0QkQsSUFBdUI7SUFFdkIsNEVBQTRFO0lBQzVFLDZFQUE2RTtJQUM3RSx1REFBdUQ7SUFDdkQsRUFBRTtJQUNGLHlFQUF5RTtJQUN6RSxxRUFBcUU7SUFDckUsc0JBQXNCO0lBQ3RCLEtBQUssTUFBTTlDLFlBQVlSLHVCQUF3QjtRQUM3QyxNQUFNNEQsT0FBT3BELFNBQVNrQixZQUFZO1FBQ2xDLElBQUlrQyxTQUFTLFFBQVEsQ0FBQ0MsQ0FBQUEsR0FBQUEsY0FBQUEsbUJBQUFBLEVBQW9CRCxNQUFNTCxTQUFTRCxPQUFPO1lBRzlEO1FBQ0Y7UUFDQSxzRUFBc0U7UUFDdEUsV0FBVztRQUNYLElBQUlNLFNBQVMsTUFBTTtZQUNqQi9CLENBQUFBLEdBQUFBLGNBQUFBLGtCQUFBQSxFQUFtQitCO1FBQ3JCO1FBQ0EsTUFBTUosV0FBV0MsQ0FBQUEsR0FBQUEsY0FBQUEsY0FBQUEsRUFBZWpELFNBQVNtQixZQUFZLEVBQUU0QjtRQUN2RC9DLFNBQVNrQixZQUFZLEdBQUdnQyxDQUFBQSxHQUFBQSxjQUFBQSxvQkFBQUEsRUFDdEJGLFVBQ0FGLE1BQ0E5QyxTQUFTYyxJQUFJLEtBQUtzQixvQkFBQUEsWUFBWSxDQUFDQyxJQUFJLEVBQ25DTCxjQUFBQSxnQkFBZ0IsQ0FBQ0MsT0FBTyxFQUN4QjtJQUVKO0FBQ0Y7QUFFQSxTQUFTUyxtQ0FBbUMxQyxRQUE4QjtJQUN4RSwrREFBK0Q7SUFDL0QsSUFBSSxLQUE2QixFQUFFLEVBRWxDO0lBRUQsTUFBTXVELGFBQWE7UUFDakIsc0RBQXNEO1FBQ3RELHdGQUF3RjtRQUN4RixPQUFPdkQsU0FBU2EsTUFBTSxDQUFDMkMsUUFBUSxDQUFDeEQsU0FBU21CLFlBQVksRUFBRTtZQUNyREwsTUFBTWQsU0FBU2MsSUFBSTtRQUNyQjtJQUNGO0lBRUEsa0RBQWtEO0lBQ2xELDBEQUEwRDtJQUMxRCxzREFBc0Q7SUFDdEQseURBQXlEO0lBQ3pEeUMsYUFBYUUsS0FBSyxDQUFDLENBQUNDO1FBQ2xCLElBQUkvQixJQUFvQixFQUFtQjtZQUN6QyxxQ0FBcUM7WUFDckMsTUFBTStCO1FBQ1I7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL2xpbmtzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgQXBwUm91dGVySW5zdGFuY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IGdldEN1cnJlbnRBcHBSb3V0ZXJTdGF0ZSB9IGZyb20gJy4vYXBwLXJvdXRlci1pbnN0YW5jZSdcbmltcG9ydCB7IGNyZWF0ZVByZWZldGNoVVJMIH0gZnJvbSAnLi9hcHAtcm91dGVyJ1xuaW1wb3J0IHsgUHJlZmV0Y2hLaW5kIH0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IGlzUHJlZmV0Y2hUYXNrRGlydHkgfSBmcm9tICcuL3NlZ21lbnQtY2FjaGUnXG5pbXBvcnQgeyBjcmVhdGVDYWNoZUtleSB9IGZyb20gJy4vc2VnbWVudC1jYWNoZSdcbmltcG9ydCB7XG4gIHR5cGUgUHJlZmV0Y2hUYXNrLFxuICBQcmVmZXRjaFByaW9yaXR5LFxuICBzY2hlZHVsZVByZWZldGNoVGFzayBhcyBzY2hlZHVsZVNlZ21lbnRQcmVmZXRjaFRhc2ssXG4gIGNhbmNlbFByZWZldGNoVGFzayxcbiAgcmVzY2hlZHVsZVByZWZldGNoVGFzayxcbn0gZnJvbSAnLi9zZWdtZW50LWNhY2hlJ1xuaW1wb3J0IHsgc3RhcnRUcmFuc2l0aW9uIH0gZnJvbSAncmVhY3QnXG5cbnR5cGUgTGlua0VsZW1lbnQgPSBIVE1MQW5jaG9yRWxlbWVudCB8IFNWR0FFbGVtZW50XG5cbnR5cGUgRWxlbWVudCA9IExpbmtFbGVtZW50IHwgSFRNTEZvcm1FbGVtZW50XG5cbi8vIFByb3BlcnRpZXMgdGhhdCBhcmUgc2hhcmVkIGJldHdlZW4gTGluayBhbmQgRm9ybSBpbnN0YW5jZXMuIFdlIHVzZSB0aGUgc2FtZVxuLy8gc2hhcGUgZm9yIGJvdGggdG8gcHJldmVudCBhIHBvbHltb3JwaGljIGRlLW9wdCBpbiB0aGUgVk0uXG50eXBlIExpbmtPckZvcm1JbnN0YW5jZVNoYXJlZCA9IHtcbiAgcm91dGVyOiBBcHBSb3V0ZXJJbnN0YW5jZVxuICBraW5kOiBQcmVmZXRjaEtpbmQuQVVUTyB8IFByZWZldGNoS2luZC5GVUxMXG5cbiAgaXNWaXNpYmxlOiBib29sZWFuXG5cbiAgLy8gVGhlIG1vc3QgcmVjZW50bHkgaW5pdGlhdGVkIHByZWZldGNoIHRhc2suIEl0IG1heSBvciBtYXkgbm90IGhhdmVcbiAgLy8gYWxyZWFkeSBjb21wbGV0ZWQuIFRoZSBzYW1lIHByZWZldGNoIHRhc2sgb2JqZWN0IGNhbiBiZSByZXVzZWQgYWNyb3NzXG4gIC8vIG11bHRpcGxlIHByZWZldGNoZXMgb2YgdGhlIHNhbWUgbGluay5cbiAgcHJlZmV0Y2hUYXNrOiBQcmVmZXRjaFRhc2sgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEZvcm1JbnN0YW5jZSA9IExpbmtPckZvcm1JbnN0YW5jZVNoYXJlZCAmIHtcbiAgcHJlZmV0Y2hIcmVmOiBzdHJpbmdcbiAgc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6IG51bGxcbn1cblxudHlwZSBQcmVmZXRjaGFibGVMaW5rSW5zdGFuY2UgPSBMaW5rT3JGb3JtSW5zdGFuY2VTaGFyZWQgJiB7XG4gIHByZWZldGNoSHJlZjogc3RyaW5nXG4gIHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOiAoc3RhdHVzOiB7IHBlbmRpbmc6IGJvb2xlYW4gfSkgPT4gdm9pZFxufVxuXG50eXBlIE5vblByZWZldGNoYWJsZUxpbmtJbnN0YW5jZSA9IExpbmtPckZvcm1JbnN0YW5jZVNoYXJlZCAmIHtcbiAgcHJlZmV0Y2hIcmVmOiBudWxsXG4gIHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOiAoc3RhdHVzOiB7IHBlbmRpbmc6IGJvb2xlYW4gfSkgPT4gdm9pZFxufVxuXG50eXBlIFByZWZldGNoYWJsZUluc3RhbmNlID0gUHJlZmV0Y2hhYmxlTGlua0luc3RhbmNlIHwgRm9ybUluc3RhbmNlXG5cbmV4cG9ydCB0eXBlIExpbmtJbnN0YW5jZSA9XG4gIHwgUHJlZmV0Y2hhYmxlTGlua0luc3RhbmNlXG4gIHwgTm9uUHJlZmV0Y2hhYmxlTGlua0luc3RhbmNlXG5cbi8vIFRyYWNrcyB0aGUgbW9zdCByZWNlbnRseSBuYXZpZ2F0ZWQgbGluayBpbnN0YW5jZS4gV2hlbiBudWxsLCBpbmRpY2F0ZXNcbi8vIHRoZSBjdXJyZW50IG5hdmlnYXRpb24gd2FzIG5vdCBpbml0aWF0ZWQgYnkgYSBsaW5rIGNsaWNrLlxubGV0IGxpbmtGb3JNb3N0UmVjZW50TmF2aWdhdGlvbjogTGlua0luc3RhbmNlIHwgbnVsbCA9IG51bGxcblxuLy8gU3RhdHVzIG9iamVjdCBpbmRpY2F0aW5nIGxpbmsgaXMgcGVuZGluZ1xuZXhwb3J0IGNvbnN0IFBFTkRJTkdfTElOS19TVEFUVVMgPSB7IHBlbmRpbmc6IHRydWUgfVxuXG4vLyBTdGF0dXMgb2JqZWN0IGluZGljYXRpbmcgbGluayBpcyBpZGxlXG5leHBvcnQgY29uc3QgSURMRV9MSU5LX1NUQVRVUyA9IHsgcGVuZGluZzogZmFsc2UgfVxuXG4vLyBVcGRhdGVzIHRoZSBsb2FkaW5nIHN0YXRlIHdoZW4gbmF2aWdhdGluZyBiZXR3ZWVuIGxpbmtzXG4vLyAtIFJlc2V0cyB0aGUgcHJldmlvdXMgbGluaydzIGxvYWRpbmcgc3RhdGVcbi8vIC0gU2V0cyB0aGUgbmV3IGxpbmsncyBsb2FkaW5nIHN0YXRlXG4vLyAtIFVwZGF0ZXMgdHJhY2tpbmcgb2YgY3VycmVudCBuYXZpZ2F0aW9uXG5leHBvcnQgZnVuY3Rpb24gc2V0TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uKGxpbms6IExpbmtJbnN0YW5jZSB8IG51bGwpIHtcbiAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICBsaW5rRm9yTW9zdFJlY2VudE5hdmlnYXRpb24/LnNldE9wdGltaXN0aWNMaW5rU3RhdHVzKElETEVfTElOS19TVEFUVVMpXG4gICAgbGluaz8uc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXMoUEVORElOR19MSU5LX1NUQVRVUylcbiAgICBsaW5rRm9yTW9zdFJlY2VudE5hdmlnYXRpb24gPSBsaW5rXG4gIH0pXG59XG5cbi8vIFVubW91bnRzIHRoZSBjdXJyZW50IGxpbmsgaW5zdGFuY2UgZnJvbSBuYXZpZ2F0aW9uIHRyYWNraW5nXG5leHBvcnQgZnVuY3Rpb24gdW5tb3VudExpbmtGb3JDdXJyZW50TmF2aWdhdGlvbihsaW5rOiBMaW5rSW5zdGFuY2UpIHtcbiAgaWYgKGxpbmtGb3JNb3N0UmVjZW50TmF2aWdhdGlvbiA9PT0gbGluaykge1xuICAgIGxpbmtGb3JNb3N0UmVjZW50TmF2aWdhdGlvbiA9IG51bGxcbiAgfVxufVxuXG4vLyBVc2UgYSBXZWFrTWFwIHRvIGFzc29jaWF0ZSBhIExpbmsgaW5zdGFuY2Ugd2l0aCBpdHMgRE9NIGVsZW1lbnQuIFRoaXMgaXNcbi8vIHVzZWQgYnkgdGhlIEludGVyc2VjdGlvbk9ic2VydmVyIHRvIHRyYWNrIHRoZSBsaW5rJ3MgdmlzaWJpbGl0eS5cbmNvbnN0IHByZWZldGNoYWJsZTpcbiAgfCBXZWFrTWFwPEVsZW1lbnQsIFByZWZldGNoYWJsZUluc3RhbmNlPlxuICB8IE1hcDxFbGVtZW50LCBQcmVmZXRjaGFibGVJbnN0YW5jZT4gPVxuICB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IG5ldyBXZWFrTWFwKCkgOiBuZXcgTWFwKClcblxuLy8gQSBTZXQgb2YgdGhlIGN1cnJlbnRseSB2aXNpYmxlIGxpbmtzLiBXZSByZS1wcmVmZXRjaCB2aXNpYmxlIGxpbmtzIGFmdGVyIGFcbi8vIGNhY2hlIGludmFsaWRhdGlvbiwgb3Igd2hlbiB0aGUgY3VycmVudCBVUkwgY2hhbmdlcy4gSXQncyBhIHNlcGFyYXRlIGRhdGFcbi8vIHN0cnVjdHVyZSBmcm9tIHRoZSBXZWFrTWFwIGFib3ZlIGJlY2F1c2Ugb25seSB0aGUgdmlzaWJsZSBsaW5rcyBuZWVkIHRvXG4vLyBiZSBlbnVtZXJhdGVkLlxuY29uc3QgcHJlZmV0Y2hhYmxlQW5kVmlzaWJsZTogU2V0PFByZWZldGNoYWJsZUluc3RhbmNlPiA9IG5ldyBTZXQoKVxuXG4vLyBBIHNpbmdsZSBJbnRlcnNlY3Rpb25PYnNlcnZlciBpbnN0YW5jZSBzaGFyZWQgYnkgYWxsIDxMaW5rPiBjb21wb25lbnRzLlxuY29uc3Qgb2JzZXJ2ZXI6IEludGVyc2VjdGlvbk9ic2VydmVyIHwgbnVsbCA9XG4gIHR5cGVvZiBJbnRlcnNlY3Rpb25PYnNlcnZlciA9PT0gJ2Z1bmN0aW9uJ1xuICAgID8gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGhhbmRsZUludGVyc2VjdCwge1xuICAgICAgICByb290TWFyZ2luOiAnMjAwcHgnLFxuICAgICAgfSlcbiAgICA6IG51bGxcblxuZnVuY3Rpb24gb2JzZXJ2ZVZpc2liaWxpdHkoZWxlbWVudDogRWxlbWVudCwgaW5zdGFuY2U6IFByZWZldGNoYWJsZUluc3RhbmNlKSB7XG4gIGNvbnN0IGV4aXN0aW5nSW5zdGFuY2UgPSBwcmVmZXRjaGFibGUuZ2V0KGVsZW1lbnQpXG4gIGlmIChleGlzdGluZ0luc3RhbmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4gYmVjYXVzZSBlYWNoIDxMaW5rPiBjb21wb25lbnQgc2hvdWxkIGhhdmUgaXRzIG93blxuICAgIC8vIGFuY2hvciB0YWcgaW5zdGFuY2UsIGJ1dCBpdCdzIGRlZmVuc2l2ZSBjb2RpbmcgdG8gYXZvaWQgYSBtZW1vcnkgbGVhayBpblxuICAgIC8vIGNhc2UgdGhlcmUncyBhIGxvZ2ljYWwgZXJyb3Igc29tZXdoZXJlIGVsc2UuXG4gICAgdW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKGVsZW1lbnQpXG4gIH1cbiAgLy8gT25seSB0cmFjayBwcmVmZXRjaGFibGUgbGlua3MgdGhhdCBoYXZlIGEgdmFsaWQgcHJlZmV0Y2ggVVJMXG4gIHByZWZldGNoYWJsZS5zZXQoZWxlbWVudCwgaW5zdGFuY2UpXG4gIGlmIChvYnNlcnZlciAhPT0gbnVsbCkge1xuICAgIG9ic2VydmVyLm9ic2VydmUoZWxlbWVudClcbiAgfVxufVxuXG5mdW5jdGlvbiBjb2VyY2VQcmVmZXRjaGFibGVVcmwoaHJlZjogc3RyaW5nKTogVVJMIHwgbnVsbCB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGNyZWF0ZVByZWZldGNoVVJMKGhyZWYpXG4gIH0gY2F0Y2gge1xuICAgIC8vIGNyZWF0ZVByZWZldGNoVVJMIHNvbWV0aW1lcyB0aHJvd3MgYW4gZXJyb3IgaWYgYW4gaW52YWxpZCBVUkwgaXNcbiAgICAvLyBwcm92aWRlZCwgdGhvdWdoIEknbSBub3Qgc3VyZSBpZiBpdCdzIGFjdHVhbGx5IG5lY2Vzc2FyeS5cbiAgICAvLyBUT0RPOiBDb25zaWRlciByZW1vdmluZyB0aGUgdGhyb3cgZnJvbSB0aGUgaW5uZXIgZnVuY3Rpb24sIG9yIGNoYW5nZSBpdFxuICAgIC8vIHRvIHJlcG9ydEVycm9yLiBPciBtYXliZSB0aGUgZXJyb3IgaXNuJ3QgZXZlbiBuZWNlc3NhcnkgZm9yIGF1dG9tYXRpY1xuICAgIC8vIHByZWZldGNoZXMsIGp1c3QgbmF2aWdhdGlvbnMuXG4gICAgY29uc3QgcmVwb3J0RXJyb3JGbiA9XG4gICAgICB0eXBlb2YgcmVwb3J0RXJyb3IgPT09ICdmdW5jdGlvbicgPyByZXBvcnRFcnJvciA6IGNvbnNvbGUuZXJyb3JcbiAgICByZXBvcnRFcnJvckZuKFxuICAgICAgYENhbm5vdCBwcmVmZXRjaCAnJHtocmVmfScgYmVjYXVzZSBpdCBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgVVJMLmBcbiAgICApXG4gICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbW91bnRMaW5rSW5zdGFuY2UoXG4gIGVsZW1lbnQ6IExpbmtFbGVtZW50LFxuICBocmVmOiBzdHJpbmcsXG4gIHJvdXRlcjogQXBwUm91dGVySW5zdGFuY2UsXG4gIGtpbmQ6IFByZWZldGNoS2luZC5BVVRPIHwgUHJlZmV0Y2hLaW5kLkZVTEwsXG4gIHByZWZldGNoRW5hYmxlZDogYm9vbGVhbixcbiAgc2V0T3B0aW1pc3RpY0xpbmtTdGF0dXM6IChzdGF0dXM6IHsgcGVuZGluZzogYm9vbGVhbiB9KSA9PiB2b2lkXG4pOiBMaW5rSW5zdGFuY2Uge1xuICBpZiAocHJlZmV0Y2hFbmFibGVkKSB7XG4gICAgY29uc3QgcHJlZmV0Y2hVUkwgPSBjb2VyY2VQcmVmZXRjaGFibGVVcmwoaHJlZilcbiAgICBpZiAocHJlZmV0Y2hVUkwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGluc3RhbmNlOiBQcmVmZXRjaGFibGVMaW5rSW5zdGFuY2UgPSB7XG4gICAgICAgIHJvdXRlcixcbiAgICAgICAga2luZCxcbiAgICAgICAgaXNWaXNpYmxlOiBmYWxzZSxcbiAgICAgICAgcHJlZmV0Y2hUYXNrOiBudWxsLFxuICAgICAgICBwcmVmZXRjaEhyZWY6IHByZWZldGNoVVJMLmhyZWYsXG4gICAgICAgIHNldE9wdGltaXN0aWNMaW5rU3RhdHVzLFxuICAgICAgfVxuICAgICAgLy8gV2Ugb25seSBvYnNlcnZlIHRoZSBsaW5rJ3MgdmlzaWJpbGl0eSBpZiBpdCdzIHByZWZldGNoYWJsZS4gRm9yXG4gICAgICAvLyBleGFtcGxlLCB0aGlzIGV4Y2x1ZGVzIGxpbmtzIHRvIGV4dGVybmFsIFVSTHMuXG4gICAgICBvYnNlcnZlVmlzaWJpbGl0eShlbGVtZW50LCBpbnN0YW5jZSlcbiAgICAgIHJldHVybiBpbnN0YW5jZVxuICAgIH1cbiAgfVxuICAvLyBJZiB0aGUgbGluayBpcyBub3QgcHJlZmV0Y2hhYmxlLCB3ZSBzdGlsbCBjcmVhdGUgYW4gaW5zdGFuY2Ugc28gd2UgY2FuXG4gIC8vIHRyYWNrIGl0cyBvcHRpbWlzdGljIHN0YXRlIChpLmUuIHVzZUxpbmtTdGF0dXMpLlxuICBjb25zdCBpbnN0YW5jZTogTm9uUHJlZmV0Y2hhYmxlTGlua0luc3RhbmNlID0ge1xuICAgIHJvdXRlcixcbiAgICBraW5kLFxuICAgIGlzVmlzaWJsZTogZmFsc2UsXG4gICAgcHJlZmV0Y2hUYXNrOiBudWxsLFxuICAgIHByZWZldGNoSHJlZjogbnVsbCxcbiAgICBzZXRPcHRpbWlzdGljTGlua1N0YXR1cyxcbiAgfVxuICByZXR1cm4gaW5zdGFuY2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1vdW50Rm9ybUluc3RhbmNlKFxuICBlbGVtZW50OiBIVE1MRm9ybUVsZW1lbnQsXG4gIGhyZWY6IHN0cmluZyxcbiAgcm91dGVyOiBBcHBSb3V0ZXJJbnN0YW5jZSxcbiAga2luZDogUHJlZmV0Y2hLaW5kLkFVVE8gfCBQcmVmZXRjaEtpbmQuRlVMTFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZWZldGNoVVJMID0gY29lcmNlUHJlZmV0Y2hhYmxlVXJsKGhyZWYpXG4gIGlmIChwcmVmZXRjaFVSTCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaHJlZiBpcyBub3QgcHJlZmV0Y2hhYmxlLCBzbyB3ZSBkb24ndCB0cmFjayBpdC5cbiAgICAvLyBUT0RPOiBXZSBjdXJyZW50bHkgb2JzZXJ2ZS91bm9ic2VydmUgYSBmb3JtIGV2ZXJ5IHRpbWUgaXRzIGhyZWYgY2hhbmdlcy5cbiAgICAvLyBGb3IgTGlua3MsIHRoaXMgaXNuJ3QgYSBiaWcgZGVhbCBiZWNhdXNlIHRoZSBocmVmIGRvZXNuJ3QgdXN1YWxseSBjaGFuZ2UsXG4gICAgLy8gYnV0IGZvciBmb3JtcyBpdCdzIGV4dHJlbWVseSBjb21tb24uIFdlIHNob3VsZCBvcHRpbWl6ZSB0aGlzLlxuICAgIHJldHVyblxuICB9XG4gIGNvbnN0IGluc3RhbmNlOiBGb3JtSW5zdGFuY2UgPSB7XG4gICAgcm91dGVyLFxuICAgIGtpbmQsXG4gICAgaXNWaXNpYmxlOiBmYWxzZSxcbiAgICBwcmVmZXRjaFRhc2s6IG51bGwsXG4gICAgcHJlZmV0Y2hIcmVmOiBwcmVmZXRjaFVSTC5ocmVmLFxuICAgIHNldE9wdGltaXN0aWNMaW5rU3RhdHVzOiBudWxsLFxuICB9XG4gIG9ic2VydmVWaXNpYmlsaXR5KGVsZW1lbnQsIGluc3RhbmNlKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlKGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgY29uc3QgaW5zdGFuY2UgPSBwcmVmZXRjaGFibGUuZ2V0KGVsZW1lbnQpXG4gIGlmIChpbnN0YW5jZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcHJlZmV0Y2hhYmxlLmRlbGV0ZShlbGVtZW50KVxuICAgIHByZWZldGNoYWJsZUFuZFZpc2libGUuZGVsZXRlKGluc3RhbmNlKVxuICAgIGNvbnN0IHByZWZldGNoVGFzayA9IGluc3RhbmNlLnByZWZldGNoVGFza1xuICAgIGlmIChwcmVmZXRjaFRhc2sgIT09IG51bGwpIHtcbiAgICAgIGNhbmNlbFByZWZldGNoVGFzayhwcmVmZXRjaFRhc2spXG4gICAgfVxuICB9XG4gIGlmIChvYnNlcnZlciAhPT0gbnVsbCkge1xuICAgIG9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KVxuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUludGVyc2VjdChlbnRyaWVzOiBBcnJheTxJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5Pikge1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAvLyBTb21lIGV4dHJlbWVseSBvbGQgYnJvd3NlcnMgb3IgcG9seWZpbGxzIGRvbid0IHJlbGlhYmx5IHN1cHBvcnRcbiAgICAvLyBpc0ludGVyc2VjdGluZyBzbyB3ZSBjaGVjayBpbnRlcnNlY3Rpb25SYXRpbyBpbnN0ZWFkLiAoRG8gd2UgY2FyZT8gTm90XG4gICAgLy8gcmVhbGx5LiBCdXQgd2hhdGV2ZXIgdGhpcyBpcyBmaW5lLilcbiAgICBjb25zdCBpc1Zpc2libGUgPSBlbnRyeS5pbnRlcnNlY3Rpb25SYXRpbyA+IDBcbiAgICBvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZChlbnRyeS50YXJnZXQgYXMgSFRNTEFuY2hvckVsZW1lbnQsIGlzVmlzaWJsZSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25MaW5rVmlzaWJpbGl0eUNoYW5nZWQoZWxlbWVudDogRWxlbWVudCwgaXNWaXNpYmxlOiBib29sZWFuKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgLy8gUHJlZmV0Y2hpbmcgb24gdmlld3BvcnQgaXMgZGlzYWJsZWQgaW4gZGV2ZWxvcG1lbnQgZm9yIHBlcmZvcm1hbmNlXG4gICAgLy8gcmVhc29ucywgYmVjYXVzZSBpdCByZXF1aXJlcyBjb21waWxpbmcgdGhlIHRhcmdldCBwYWdlLlxuICAgIC8vIFRPRE86IEludmVzdGlnYXRlIHJlLWVuYWJsaW5nIHRoaXMuXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBpbnN0YW5jZSA9IHByZWZldGNoYWJsZS5nZXQoZWxlbWVudClcbiAgaWYgKGluc3RhbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGluc3RhbmNlLmlzVmlzaWJsZSA9IGlzVmlzaWJsZVxuICBpZiAoaXNWaXNpYmxlKSB7XG4gICAgcHJlZmV0Y2hhYmxlQW5kVmlzaWJsZS5hZGQoaW5zdGFuY2UpXG4gIH0gZWxzZSB7XG4gICAgcHJlZmV0Y2hhYmxlQW5kVmlzaWJsZS5kZWxldGUoaW5zdGFuY2UpXG4gIH1cbiAgcmVzY2hlZHVsZUxpbmtQcmVmZXRjaChpbnN0YW5jZSwgUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25OYXZpZ2F0aW9uSW50ZW50KFxuICBlbGVtZW50OiBIVE1MQW5jaG9yRWxlbWVudCB8IFNWR0FFbGVtZW50LFxuICB1bnN0YWJsZV91cGdyYWRlVG9EeW5hbWljUHJlZmV0Y2g6IGJvb2xlYW5cbikge1xuICBjb25zdCBpbnN0YW5jZSA9IHByZWZldGNoYWJsZS5nZXQoZWxlbWVudClcbiAgaWYgKGluc3RhbmNlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm5cbiAgfVxuICAvLyBQcmVmZXRjaCB0aGUgbGluayBvbiBob3Zlci90b3VjaHN0YXJ0LlxuICBpZiAoaW5zdGFuY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Ll9fTkVYVF9EWU5BTUlDX09OX0hPVkVSICYmXG4gICAgICB1bnN0YWJsZV91cGdyYWRlVG9EeW5hbWljUHJlZmV0Y2hcbiAgICApIHtcbiAgICAgIC8vIFN3aXRjaCB0byBhIGZ1bGwsIGR5bmFtaWMgcHJlZmV0Y2hcbiAgICAgIGluc3RhbmNlLmtpbmQgPSBQcmVmZXRjaEtpbmQuRlVMTFxuICAgIH1cbiAgICByZXNjaGVkdWxlTGlua1ByZWZldGNoKGluc3RhbmNlLCBQcmVmZXRjaFByaW9yaXR5LkludGVudClcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNjaGVkdWxlTGlua1ByZWZldGNoKFxuICBpbnN0YW5jZTogUHJlZmV0Y2hhYmxlSW5zdGFuY2UsXG4gIHByaW9yaXR5OiBQcmVmZXRjaFByaW9yaXR5LkRlZmF1bHQgfCBQcmVmZXRjaFByaW9yaXR5LkludGVudFxuKSB7XG4gIGNvbnN0IGV4aXN0aW5nUHJlZmV0Y2hUYXNrID0gaW5zdGFuY2UucHJlZmV0Y2hUYXNrXG5cbiAgaWYgKCFpbnN0YW5jZS5pc1Zpc2libGUpIHtcbiAgICAvLyBDYW5jZWwgYW55IGluLXByb2dyZXNzIHByZWZldGNoIHRhc2suIChJZiBpdCBhbHJlYWR5IGZpbmlzaGVkIHRoZW4gdGhpc1xuICAgIC8vIGlzIGEgbm8tb3AuKVxuICAgIGlmIChleGlzdGluZ1ByZWZldGNoVGFzayAhPT0gbnVsbCkge1xuICAgICAgY2FuY2VsUHJlZmV0Y2hUYXNrKGV4aXN0aW5nUHJlZmV0Y2hUYXNrKVxuICAgIH1cbiAgICAvLyBXZSBkb24ndCBuZWVkIHRvIHJlc2V0IHRoZSBwcmVmZXRjaFRhc2sgdG8gbnVsbCB1cG9uIGNhbmNlbGxhdGlvbjsgYW5cbiAgICAvLyBvbGQgdGFzayBvYmplY3QgY2FuIGJlIHJlc2NoZWR1bGVkIHdpdGggcmVzY2hlZHVsZVByZWZldGNoVGFzay4gVGhpcyBpcyBhXG4gICAgLy8gbWljcm8tb3B0aW1pemF0aW9uIGJ1dCBhbHNvIG1ha2VzIHRoZSBjb2RlIHNpbXBsZXIgKGRvbid0IG5lZWQgdG9cbiAgICAvLyB3b3JyeSBhYm91dCB3aGV0aGVyIGFuIG9sZCB0YXNrIG9iamVjdCBpcyBzdGFsZSkuXG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAoIXByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRSkge1xuICAgIC8vIFRoZSBvbGQgcHJlZmV0Y2ggaW1wbGVtZW50YXRpb24gZG9lcyBub3QgaGF2ZSBkaWZmZXJlbnQgcHJpb3JpdHkgbGV2ZWxzLlxuICAgIC8vIEp1c3Qgc2NoZWR1bGUgYSBuZXcgcHJlZmV0Y2ggdGFzay5cbiAgICBwcmVmZXRjaFdpdGhPbGRDYWNoZUltcGxlbWVudGF0aW9uKGluc3RhbmNlKVxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgYXBwUm91dGVyU3RhdGUgPSBnZXRDdXJyZW50QXBwUm91dGVyU3RhdGUoKVxuICBpZiAoYXBwUm91dGVyU3RhdGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0cmVlQXRUaW1lT2ZQcmVmZXRjaCA9IGFwcFJvdXRlclN0YXRlLnRyZWVcbiAgICBpZiAoZXhpc3RpbmdQcmVmZXRjaFRhc2sgPT09IG51bGwpIHtcbiAgICAgIC8vIEluaXRpYXRlIGEgcHJlZmV0Y2ggdGFzay5cbiAgICAgIGNvbnN0IG5leHRVcmwgPSBhcHBSb3V0ZXJTdGF0ZS5uZXh0VXJsXG4gICAgICBjb25zdCBjYWNoZUtleSA9IGNyZWF0ZUNhY2hlS2V5KGluc3RhbmNlLnByZWZldGNoSHJlZiwgbmV4dFVybClcbiAgICAgIGluc3RhbmNlLnByZWZldGNoVGFzayA9IHNjaGVkdWxlU2VnbWVudFByZWZldGNoVGFzayhcbiAgICAgICAgY2FjaGVLZXksXG4gICAgICAgIHRyZWVBdFRpbWVPZlByZWZldGNoLFxuICAgICAgICBpbnN0YW5jZS5raW5kID09PSBQcmVmZXRjaEtpbmQuRlVMTCxcbiAgICAgICAgcHJpb3JpdHksXG4gICAgICAgIG51bGxcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIGFuIG9sZCB0YXNrIG9iamVjdCB0aGF0IHdlIGNhbiByZXNjaGVkdWxlLiBUaGlzIGlzXG4gICAgICAvLyBlZmZlY3RpdmVseSB0aGUgc2FtZSBhcyBjYW5jZWxpbmcgdGhlIG9sZCB0YXNrIGFuZCBjcmVhdGluZyBhIG5ldyBvbmUuXG4gICAgICByZXNjaGVkdWxlUHJlZmV0Y2hUYXNrKFxuICAgICAgICBleGlzdGluZ1ByZWZldGNoVGFzayxcbiAgICAgICAgdHJlZUF0VGltZU9mUHJlZmV0Y2gsXG4gICAgICAgIGluc3RhbmNlLmtpbmQgPT09IFByZWZldGNoS2luZC5GVUxMLFxuICAgICAgICBwcmlvcml0eVxuICAgICAgKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGluZ1Zpc2libGVMaW5rcyhcbiAgbmV4dFVybDogc3RyaW5nIHwgbnVsbCxcbiAgdHJlZTogRmxpZ2h0Um91dGVyU3RhdGVcbikge1xuICAvLyBGb3IgZWFjaCBjdXJyZW50bHkgdmlzaWJsZSBsaW5rLCBjYW5jZWwgdGhlIGV4aXN0aW5nIHByZWZldGNoIHRhc2sgKGlmIGl0XG4gIC8vIGV4aXN0cykgYW5kIHNjaGVkdWxlIGEgbmV3IG9uZS4gVGhpcyBpcyBlZmZlY3RpdmVseSB0aGUgc2FtZSBhcyBpZiBhbGwgdGhlXG4gIC8vIHZpc2libGUgbGlua3MgbGVmdCBhbmQgdGhlbiByZS1lbnRlcmVkIHRoZSB2aWV3cG9ydC5cbiAgLy9cbiAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiB0aGUgTmV4dC1Vcmwgb3IgdGhlIGJhc2UgdHJlZSBjaGFuZ2VzLCBzaW5jZSB0aG9zZVxuICAvLyBtYXkgYWZmZWN0IHRoZSByZXN1bHQgb2YgYSBwcmVmZXRjaCB0YXNrLiBJdCdzIGFsc28gY2FsbGVkIGFmdGVyIGFcbiAgLy8gY2FjaGUgaW52YWxpZGF0aW9uLlxuICBmb3IgKGNvbnN0IGluc3RhbmNlIG9mIHByZWZldGNoYWJsZUFuZFZpc2libGUpIHtcbiAgICBjb25zdCB0YXNrID0gaW5zdGFuY2UucHJlZmV0Y2hUYXNrXG4gICAgaWYgKHRhc2sgIT09IG51bGwgJiYgIWlzUHJlZmV0Y2hUYXNrRGlydHkodGFzaywgbmV4dFVybCwgdHJlZSkpIHtcbiAgICAgIC8vIFRoZSBjYWNoZSBoYXMgbm90IGJlZW4gaW52YWxpZGF0ZWQsIGFuZCBub25lIG9mIHRoZSBpbnB1dHMgaGF2ZVxuICAgICAgLy8gY2hhbmdlZC4gQmFpbCBvdXQuXG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICAvLyBTb21ldGhpbmcgY2hhbmdlZC4gQ2FuY2VsIHRoZSBleGlzdGluZyBwcmVmZXRjaCB0YXNrIGFuZCBzY2hlZHVsZSBhXG4gICAgLy8gbmV3IG9uZS5cbiAgICBpZiAodGFzayAhPT0gbnVsbCkge1xuICAgICAgY2FuY2VsUHJlZmV0Y2hUYXNrKHRhc2spXG4gICAgfVxuICAgIGNvbnN0IGNhY2hlS2V5ID0gY3JlYXRlQ2FjaGVLZXkoaW5zdGFuY2UucHJlZmV0Y2hIcmVmLCBuZXh0VXJsKVxuICAgIGluc3RhbmNlLnByZWZldGNoVGFzayA9IHNjaGVkdWxlU2VnbWVudFByZWZldGNoVGFzayhcbiAgICAgIGNhY2hlS2V5LFxuICAgICAgdHJlZSxcbiAgICAgIGluc3RhbmNlLmtpbmQgPT09IFByZWZldGNoS2luZC5GVUxMLFxuICAgICAgUHJlZmV0Y2hQcmlvcml0eS5EZWZhdWx0LFxuICAgICAgbnVsbFxuICAgIClcbiAgfVxufVxuXG5mdW5jdGlvbiBwcmVmZXRjaFdpdGhPbGRDYWNoZUltcGxlbWVudGF0aW9uKGluc3RhbmNlOiBQcmVmZXRjaGFibGVJbnN0YW5jZSkge1xuICAvLyBUaGlzIGlzIHRoZSBwYXRoIHVzZWQgd2hlbiB0aGUgU2VnbWVudCBDYWNoZSBpcyBub3QgZW5hYmxlZC5cbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBkb1ByZWZldGNoID0gYXN5bmMgKCkgPT4ge1xuICAgIC8vIG5vdGUgdGhhdCBgYXBwUm91dGVyLnByZWZldGNoKClgIGlzIGN1cnJlbnRseSBzeW5jLFxuICAgIC8vIHNvIHdlIGhhdmUgdG8gd3JhcCB0aGlzIGNhbGwgaW4gYW4gYXN5bmMgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBjYXRjaCgpIGVycm9ycyBiZWxvdy5cbiAgICByZXR1cm4gaW5zdGFuY2Uucm91dGVyLnByZWZldGNoKGluc3RhbmNlLnByZWZldGNoSHJlZiwge1xuICAgICAga2luZDogaW5zdGFuY2Uua2luZCxcbiAgICB9KVxuICB9XG5cbiAgLy8gUHJlZmV0Y2ggdGhlIHBhZ2UgaWYgYXNrZWQgKG9ubHkgaW4gdGhlIGNsaWVudClcbiAgLy8gV2UgbmVlZCB0byBoYW5kbGUgYSBwcmVmZXRjaCBlcnJvciBoZXJlIHNpbmNlIHdlIG1heSBiZVxuICAvLyBsb2FkaW5nIHdpdGggcHJpb3JpdHkgd2hpY2ggY2FuIHJlamVjdCBidXQgd2UgZG9uJ3RcbiAgLy8gd2FudCB0byBmb3JjZSBuYXZpZ2F0aW9uIHNpbmNlIHRoaXMgaXMgb25seSBhIHByZWZldGNoXG4gIGRvUHJlZmV0Y2goKS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIC8vIHJldGhyb3cgdG8gc2hvdyBpbnZhbGlkIFVSTCBlcnJvcnNcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJJRExFX0xJTktfU1RBVFVTIiwiUEVORElOR19MSU5LX1NUQVRVUyIsIm1vdW50Rm9ybUluc3RhbmNlIiwibW91bnRMaW5rSW5zdGFuY2UiLCJvbkxpbmtWaXNpYmlsaXR5Q2hhbmdlZCIsIm9uTmF2aWdhdGlvbkludGVudCIsInBpbmdWaXNpYmxlTGlua3MiLCJzZXRMaW5rRm9yQ3VycmVudE5hdmlnYXRpb24iLCJ1bm1vdW50TGlua0ZvckN1cnJlbnROYXZpZ2F0aW9uIiwidW5tb3VudFByZWZldGNoYWJsZUluc3RhbmNlIiwibGlua0Zvck1vc3RSZWNlbnROYXZpZ2F0aW9uIiwicGVuZGluZyIsImxpbmsiLCJzdGFydFRyYW5zaXRpb24iLCJzZXRPcHRpbWlzdGljTGlua1N0YXR1cyIsInByZWZldGNoYWJsZSIsIldlYWtNYXAiLCJNYXAiLCJwcmVmZXRjaGFibGVBbmRWaXNpYmxlIiwiU2V0Iiwib2JzZXJ2ZXIiLCJJbnRlcnNlY3Rpb25PYnNlcnZlciIsImhhbmRsZUludGVyc2VjdCIsInJvb3RNYXJnaW4iLCJvYnNlcnZlVmlzaWJpbGl0eSIsImVsZW1lbnQiLCJpbnN0YW5jZSIsImV4aXN0aW5nSW5zdGFuY2UiLCJnZXQiLCJ1bmRlZmluZWQiLCJzZXQiLCJvYnNlcnZlIiwiY29lcmNlUHJlZmV0Y2hhYmxlVXJsIiwiaHJlZiIsImNyZWF0ZVByZWZldGNoVVJMIiwicmVwb3J0RXJyb3JGbiIsInJlcG9ydEVycm9yIiwiY29uc29sZSIsImVycm9yIiwicm91dGVyIiwia2luZCIsInByZWZldGNoRW5hYmxlZCIsInByZWZldGNoVVJMIiwiaXNWaXNpYmxlIiwicHJlZmV0Y2hUYXNrIiwicHJlZmV0Y2hIcmVmIiwiZGVsZXRlIiwiY2FuY2VsUHJlZmV0Y2hUYXNrIiwidW5vYnNlcnZlIiwiZW50cmllcyIsImVudHJ5IiwiaW50ZXJzZWN0aW9uUmF0aW8iLCJ0YXJnZXQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJhZGQiLCJyZXNjaGVkdWxlTGlua1ByZWZldGNoIiwiUHJlZmV0Y2hQcmlvcml0eSIsIkRlZmF1bHQiLCJ1bnN0YWJsZV91cGdyYWRlVG9EeW5hbWljUHJlZmV0Y2giLCJfX05FWFRfRFlOQU1JQ19PTl9IT1ZFUiIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJJbnRlbnQiLCJwcmlvcml0eSIsImV4aXN0aW5nUHJlZmV0Y2hUYXNrIiwiX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFIiwicHJlZmV0Y2hXaXRoT2xkQ2FjaGVJbXBsZW1lbnRhdGlvbiIsImFwcFJvdXRlclN0YXRlIiwiZ2V0Q3VycmVudEFwcFJvdXRlclN0YXRlIiwidHJlZUF0VGltZU9mUHJlZmV0Y2giLCJ0cmVlIiwibmV4dFVybCIsImNhY2hlS2V5IiwiY3JlYXRlQ2FjaGVLZXkiLCJzY2hlZHVsZVNlZ21lbnRQcmVmZXRjaFRhc2siLCJyZXNjaGVkdWxlUHJlZmV0Y2hUYXNrIiwidGFzayIsImlzUHJlZmV0Y2hUYXNrRGlydHkiLCJ3aW5kb3ciLCJkb1ByZWZldGNoIiwicHJlZmV0Y2giLCJjYXRjaCIsImVyciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/links.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/match-segments.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"matchSegment\", ({\n enumerable: true,\n get: function() {\n return matchSegment;\n }\n}));\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === 'string') {\n if (typeof segment === 'string') {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === 'string') {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\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=match-segments.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbWF0Y2gtc2VnbWVudHMuanMiLCJtYXBwaW5ncyI6Ijs7OztnREFFYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsZUFBZSxDQUMxQkMsaUJBQ0FDO0lBRUEsb0NBQW9DO0lBQ3BDLElBQUksT0FBT0Qsb0JBQW9CLFVBQVU7UUFDdkMsSUFBSSxPQUFPQyxZQUFZLFVBQVU7WUFDL0Isd0NBQXdDO1lBQ3hDLE9BQU9ELG9CQUFvQkM7UUFDN0I7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQixPQUFPO0lBQ1Q7SUFDQSxPQUFPRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRSxJQUFJRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRTtBQUMvRSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9tYXRjaC1zZWdtZW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlZ21lbnQgfSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcblxuZXhwb3J0IGNvbnN0IG1hdGNoU2VnbWVudCA9IChcbiAgZXhpc3RpbmdTZWdtZW50OiBTZWdtZW50LFxuICBzZWdtZW50OiBTZWdtZW50XG4pOiBib29sZWFuID0+IHtcbiAgLy8gc2VnbWVudCBpcyBlaXRoZXIgQXJyYXkgb3Igc3RyaW5nXG4gIGlmICh0eXBlb2YgZXhpc3RpbmdTZWdtZW50ID09PSAnc3RyaW5nJykge1xuICAgIGlmICh0eXBlb2Ygc2VnbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIENvbW1vbiBjYXNlOiBzZWdtZW50IGlzIGp1c3QgYSBzdHJpbmdcbiAgICAgIHJldHVybiBleGlzdGluZ1NlZ21lbnQgPT09IHNlZ21lbnRcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBpZiAodHlwZW9mIHNlZ21lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGV4aXN0aW5nU2VnbWVudFswXSA9PT0gc2VnbWVudFswXSAmJiBleGlzdGluZ1NlZ21lbnRbMV0gPT09IHNlZ21lbnRbMV1cbn1cbiJdLCJuYW1lcyI6WyJtYXRjaFNlZ21lbnQiLCJleGlzdGluZ1NlZ21lbnQiLCJzZWdtZW50Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/nav-failure-handler.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/client/components/nav-failure-handler.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 handleHardNavError: function() {\n return handleHardNavError;\n },\n useNavFailureHandler: function() {\n return useNavFailureHandler;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nfunction handleHardNavError(error) {\n if (error && \"object\" !== 'undefined' && window.next.__pendingUrl && (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== (0, _createhreffromurl.createHrefFromUrl)(window.next.__pendingUrl)) {\n console.error(\"Error occurred during navigation, falling back to hard navigation\", error);\n window.location.href = window.next.__pendingUrl.toString();\n return true;\n }\n return false;\n}\nfunction useNavFailureHandler() {\n if (false) {}\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=nav-failure-handler.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2LWZhaWx1cmUtaGFuZGxlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFHZ0JBLGtCQUFrQjtlQUFsQkE7O0lBa0JBQyxvQkFBb0I7ZUFBcEJBOzs7bUNBckJVOytDQUNRO0FBRTNCLFNBQVNELG1CQUFtQkUsS0FBYztJQUMvQyxJQUNFQSxTQUNBLE9BQU9DLE1BQVcsZUFDbEJBLE9BQU9DLElBQUksQ0FBQ0MsWUFBWSxJQUN4QkMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFBQSxFQUFrQixJQUFJQyxJQUFJSixPQUFPSyxRQUFRLENBQUNDLElBQUksT0FDNUNILENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBQUEsRUFBa0JILE9BQU9DLElBQUksQ0FBQ0MsWUFBWSxHQUM1QztRQUNBSyxRQUFRUixLQUFLLENBQ1YscUVBQ0RBO1FBRUZDLE9BQU9LLFFBQVEsQ0FBQ0MsSUFBSSxHQUFHTixPQUFPQyxJQUFJLENBQUNDLFlBQVksQ0FBQ00sUUFBUTtRQUN4RCxPQUFPO0lBQ1Q7SUFDQSxPQUFPO0FBQ1Q7QUFFTyxTQUFTVjtJQUNkLElBQUlXLEtBQXdDLEVBQUUsRUF1QjdDO0FBQ0giLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvbmF2LWZhaWx1cmUtaGFuZGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZUhyZWZGcm9tVXJsIH0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaHJlZi1mcm9tLXVybCdcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUhhcmROYXZFcnJvcihlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAoXG4gICAgZXJyb3IgJiZcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybCAmJlxuICAgIGNyZWF0ZUhyZWZGcm9tVXJsKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSAhPT1cbiAgICAgIGNyZWF0ZUhyZWZGcm9tVXJsKHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybClcbiAgKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBFcnJvciBvY2N1cnJlZCBkdXJpbmcgbmF2aWdhdGlvbiwgZmFsbGluZyBiYWNrIHRvIGhhcmQgbmF2aWdhdGlvbmAsXG4gICAgICBlcnJvclxuICAgIClcbiAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5uZXh0Ll9fcGVuZGluZ1VybC50b1N0cmluZygpXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZU5hdkZhaWx1cmVIYW5kbGVyKCkge1xuICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0FQUF9OQVZfRkFJTF9IQU5ETElORykge1xuICAgIC8vIHRoaXMgaWYgaXMgb25seSBmb3IgRENFIG9mIHRoZSBmZWF0dXJlIGZsYWcgbm90IGNvbmRpdGlvbmFsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IHVuY2F1Z2h0RXhjZXB0aW9uSGFuZGxlciA9IChcbiAgICAgICAgZXZ0OiBFcnJvckV2ZW50IHwgUHJvbWlzZVJlamVjdGlvbkV2ZW50XG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSAncmVhc29uJyBpbiBldnQgPyBldnQucmVhc29uIDogZXZ0LmVycm9yXG4gICAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdW5oYW5kbGVkIGV4Y2VwdGlvbi9yZWplY3Rpb24gZHVyaW5nXG4gICAgICAgIC8vIGEgbmF2aWdhdGlvbiB3ZSBmYWxsIGJhY2sgdG8gYSBoYXJkIG5hdmlnYXRpb24gdG9cbiAgICAgICAgLy8gYXR0ZW1wdCByZWNvdmVyaW5nIHRvIGEgZ29vZCBzdGF0ZVxuICAgICAgICBoYW5kbGVIYXJkTmF2RXJyb3IoZXJyb3IpXG4gICAgICB9XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndW5oYW5kbGVkcmVqZWN0aW9uJywgdW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyKVxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyKVxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgdW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyKVxuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAndW5oYW5kbGVkcmVqZWN0aW9uJyxcbiAgICAgICAgICB1bmNhdWdodEV4Y2VwdGlvbkhhbmRsZXJcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH0sIFtdKVxuICB9XG59XG4iXSwibmFtZXMiOlsiaGFuZGxlSGFyZE5hdkVycm9yIiwidXNlTmF2RmFpbHVyZUhhbmRsZXIiLCJlcnJvciIsIndpbmRvdyIsIm5leHQiLCJfX3BlbmRpbmdVcmwiLCJjcmVhdGVIcmVmRnJvbVVybCIsIlVSTCIsImxvY2F0aW9uIiwiaHJlZiIsImNvbnNvbGUiLCJ0b1N0cmluZyIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQVBQX05BVl9GQUlMX0hBTkRMSU5HIiwidXNlRWZmZWN0IiwidW5jYXVnaHRFeGNlcHRpb25IYW5kbGVyIiwiZXZ0IiwicmVhc29uIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/nav-failure-handler.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/navigation-untracked.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation-untracked.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useUntrackedPathname\", ({\n enumerable: true,\n get: function() {\n return useUntrackedPathname;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\n/**\n * This checks to see if the current render has any unknown route parameters.\n * It's used to trigger a different render path in the error boundary.\n *\n * @returns true if there are any unknown route parameters, false otherwise\n */ function hasFallbackRouteParams() {\n if (false) {}\n return false;\n}\nfunction useUntrackedPathname() {\n // If there are any unknown route parameters we would typically throw\n // an error, but this internal method allows us to return a null value instead\n // for components that do not propagate the pathname to the static shell (like\n // the error boundary).\n if (hasFallbackRouteParams()) {\n return null;\n }\n // This shouldn't cause any issues related to conditional rendering because\n // the environment will be consistent for the render.\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\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=navigation-untracked.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi11bnRyYWNrZWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3REFzQ2dCQTs7O2VBQUFBOzs7bUNBdENXOzZEQUNLO0FBRWhDOzs7OztDQUtDLEdBQ0QsU0FBU0M7SUFDUCxJQUFJLEtBQTZCLEVBQUUsRUFZbEM7SUFFRCxPQUFPO0FBQ1Q7QUFhTyxTQUFTRDtJQUNkLHFFQUFxRTtJQUNyRSw4RUFBOEU7SUFDOUUsOEVBQThFO0lBQzlFLHVCQUF1QjtJQUN2QixJQUFJQywwQkFBMEI7UUFDNUIsT0FBTztJQUNUO0lBRUEsMkVBQTJFO0lBQzNFLHFEQUFxRDtJQUNyRCxzREFBc0Q7SUFDdEQsT0FBT1EsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MsaUNBQUFBLGVBQWU7QUFDbkMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi11bnRyYWNrZWQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgUGF0aG5hbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dC5zaGFyZWQtcnVudGltZSdcblxuLyoqXG4gKiBUaGlzIGNoZWNrcyB0byBzZWUgaWYgdGhlIGN1cnJlbnQgcmVuZGVyIGhhcyBhbnkgdW5rbm93biByb3V0ZSBwYXJhbWV0ZXJzLlxuICogSXQncyB1c2VkIHRvIHRyaWdnZXIgYSBkaWZmZXJlbnQgcmVuZGVyIHBhdGggaW4gdGhlIGVycm9yIGJvdW5kYXJ5LlxuICpcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlcmUgYXJlIGFueSB1bmtub3duIHJvdXRlIHBhcmFtZXRlcnMsIGZhbHNlIG90aGVyd2lzZVxuICovXG5mdW5jdGlvbiBoYXNGYWxsYmFja1JvdXRlUGFyYW1zKCkge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBjbGllbnQgYnVuZGxlLlxuICAgIGNvbnN0IHsgd29ya0FzeW5jU3RvcmFnZSB9ID1cbiAgICAgIHJlcXVpcmUoJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3dvcmstYXN5bmMtc3RvcmFnZS5leHRlcm5hbCcpIGFzIHR5cGVvZiBpbXBvcnQoJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3dvcmstYXN5bmMtc3RvcmFnZS5leHRlcm5hbCcpXG5cbiAgICBjb25zdCB3b3JrU3RvcmUgPSB3b3JrQXN5bmNTdG9yYWdlLmdldFN0b3JlKClcbiAgICBpZiAoIXdvcmtTdG9yZSkgcmV0dXJuIGZhbHNlXG5cbiAgICBjb25zdCB7IGZhbGxiYWNrUm91dGVQYXJhbXMgfSA9IHdvcmtTdG9yZVxuICAgIGlmICghZmFsbGJhY2tSb3V0ZVBhcmFtcyB8fCBmYWxsYmFja1JvdXRlUGFyYW1zLnNpemUgPT09IDApIHJldHVybiBmYWxzZVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG4vKipcbiAqIFRoaXMgcmV0dXJucyBhIGBudWxsYCB2YWx1ZSBpZiB0aGVyZSBhcmUgYW55IHVua25vd24gcm91dGUgcGFyYW1ldGVycywgYW5kXG4gKiBvdGhlcndpc2UgcmV0dXJucyB0aGUgcGF0aG5hbWUgZnJvbSB0aGUgY29udGV4dC4gVGhpcyBpcyBhbiBhbHRlcm5hdGl2ZSB0b1xuICogYHVzZVBhdGhuYW1lYCB0aGF0IGlzIHVzZWQgaW4gdGhlIGVycm9yIGJvdW5kYXJ5IHRvIGF2b2lkIHJlbmRlcmluZyB0aGVcbiAqIGVycm9yIGJvdW5kYXJ5IHdoZW4gdGhlcmUgYXJlIHVua25vd24gcm91dGUgcGFyYW1ldGVycy4gVGhpcyBkb2Vzbid0IHRocm93XG4gKiB3aGVuIGFjY2Vzc2VkIHdpdGggdW5rbm93biByb3V0ZSBwYXJhbWV0ZXJzLlxuICpcbiAqIEByZXR1cm5zXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VVbnRyYWNrZWRQYXRobmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgLy8gSWYgdGhlcmUgYXJlIGFueSB1bmtub3duIHJvdXRlIHBhcmFtZXRlcnMgd2Ugd291bGQgdHlwaWNhbGx5IHRocm93XG4gIC8vIGFuIGVycm9yLCBidXQgdGhpcyBpbnRlcm5hbCBtZXRob2QgYWxsb3dzIHVzIHRvIHJldHVybiBhIG51bGwgdmFsdWUgaW5zdGVhZFxuICAvLyBmb3IgY29tcG9uZW50cyB0aGF0IGRvIG5vdCBwcm9wYWdhdGUgdGhlIHBhdGhuYW1lIHRvIHRoZSBzdGF0aWMgc2hlbGwgKGxpa2VcbiAgLy8gdGhlIGVycm9yIGJvdW5kYXJ5KS5cbiAgaWYgKGhhc0ZhbGxiYWNrUm91dGVQYXJhbXMoKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICAvLyBUaGlzIHNob3VsZG4ndCBjYXVzZSBhbnkgaXNzdWVzIHJlbGF0ZWQgdG8gY29uZGl0aW9uYWwgcmVuZGVyaW5nIGJlY2F1c2VcbiAgLy8gdGhlIGVudmlyb25tZW50IHdpbGwgYmUgY29uc2lzdGVudCBmb3IgdGhlIHJlbmRlci5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gIHJldHVybiB1c2VDb250ZXh0KFBhdGhuYW1lQ29udGV4dClcbn1cbiJdLCJuYW1lcyI6WyJ1c2VVbnRyYWNrZWRQYXRobmFtZSIsImhhc0ZhbGxiYWNrUm91dGVQYXJhbXMiLCJ3aW5kb3ciLCJ3b3JrQXN5bmNTdG9yYWdlIiwicmVxdWlyZSIsIndvcmtTdG9yZSIsImdldFN0b3JlIiwiZmFsbGJhY2tSb3V0ZVBhcmFtcyIsInNpemUiLCJ1c2VDb250ZXh0IiwiUGF0aG5hbWVDb250ZXh0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/navigation-untracked.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nvar _s = $RefreshSig$(), _s1 = $RefreshSig$(), _s2 = $RefreshSig$(), _s3 = $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 ReadonlyURLSearchParams: function() {\n return _navigationreactserver.ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _navigationreactserver.RedirectType;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n forbidden: function() {\n return _navigationreactserver.forbidden;\n },\n notFound: function() {\n return _navigationreactserver.notFound;\n },\n permanentRedirect: function() {\n return _navigationreactserver.permanentRedirect;\n },\n redirect: function() {\n return _navigationreactserver.redirect;\n },\n unauthorized: function() {\n return _navigationreactserver.unauthorized;\n },\n unstable_rethrow: function() {\n return _navigationreactserver.unstable_rethrow;\n },\n useParams: function() {\n return useParams;\n },\n usePathname: function() {\n return usePathname;\n },\n useRouter: function() {\n return useRouter;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _navigationreactserver = __webpack_require__(/*! ./navigation.react-server */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.react-server.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js\");\nconst useDynamicRouteParams = false ? 0 : undefined;\nfunction useSearchParams() {\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new _navigationreactserver.ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (false) {}\n return readonlySearchParams;\n}\nfunction usePathname() {\n _s();\n useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('usePathname()');\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\n_s(usePathname, \"rJhb7jJF4Q92igNmh5lAnMUEkkY=\", false, function() {\n return [\n useDynamicRouteParams\n ];\n});\nfunction useRouter() {\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw Object.defineProperty(new Error('invariant expected app router to be mounted'), \"__NEXT_ERROR_CODE\", {\n value: \"E238\",\n enumerable: false,\n configurable: true\n });\n }\n return router;\n}\nfunction useParams() {\n _s1();\n useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useParams()');\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n}\n_s1(useParams, \"rJhb7jJF4Q92igNmh5lAnMUEkkY=\", false, function() {\n return [\n useDynamicRouteParams\n ];\n});\n/** Get the canonical parameters from the current level to the leaf node. */ // Client components API\nfunction getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n let segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\nfunction useSelectedLayoutSegments(parallelRouteKey) {\n _s2();\n if (parallelRouteKey === void 0) parallelRouteKey = 'children';\n useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegments()');\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null;\n return getSelectedLayoutSegmentPath(context.parentTree, parallelRouteKey);\n}\n_s2(useSelectedLayoutSegments, \"rJhb7jJF4Q92igNmh5lAnMUEkkY=\", false, function() {\n return [\n useDynamicRouteParams\n ];\n});\nfunction useSelectedLayoutSegment(parallelRouteKey) {\n _s3();\n if (parallelRouteKey === void 0) parallelRouteKey = 'children';\n useDynamicRouteParams == null ? void 0 : useDynamicRouteParams('useSelectedLayoutSegment()');\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null;\n }\n const selectedLayoutSegment = parallelRouteKey === 'children' ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;\n}\n_s3(useSelectedLayoutSegment, \"GQkIYFIXjatgPrznv5JwL5TXjn8=\", false, function() {\n return [\n useDynamicRouteParams,\n useSelectedLayoutSegments\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=navigation.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQTBSRUEsdUJBQXVCO2VBQXZCQSx1QkFBQUEsdUJBQXVCOztJQUR2QkMsWUFBWTtlQUFaQSx1QkFBQUEsWUFBWTs7SUFwTFpDLHlCQUF5QjtlQUF6QkEsaUNBQUFBLHlCQUF5Qjs7SUFnTHpCQyxTQUFTO2VBQVRBLHVCQUFBQSxTQUFTOztJQURUQyxRQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQUlSQyxpQkFBaUI7ZUFBakJBLHVCQUFBQSxpQkFBaUI7O0lBRGpCQyxRQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQURSQyxZQUFZO2VBQVpBLHVCQUFBQSxZQUFZOztJQUtaQyxnQkFBZ0I7ZUFBaEJBLHVCQUFBQSxnQkFBZ0I7O0lBcElGQyxTQUFTO2VBQVRBOztJQTVEQUMsV0FBVztlQUFYQTs7SUFpQ0FDLFNBQVM7ZUFBVEE7O0lBOUVBQyxlQUFlO2VBQWZBOztJQTZNQUMsd0JBQXdCO2VBQXhCQTs7SUEvQkFDLHlCQUF5QjtlQUF6QkE7O0lBdEhkQyxxQkFBcUI7ZUFBckJBLGlDQUFBQSxxQkFBcUI7OzttQ0FuR2E7MkRBSzdCOzZEQUtBOzZDQUN5QjtxQ0FDc0I7bURBQ2Q7NkRBdUZqQztBQXJGUCxNQUFNQyx3QkFDSixNQUE2QixHQUV2QkUsQ0FDcUIsR0FDdkJDO0FBdUJDLFNBQVNQO0lBQ2QsTUFBTVEsZUFBZUMsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBQUEsRUFBV0MsaUNBQUFBLG1CQUFtQjtJQUVuRCw4REFBOEQ7SUFDOUQsMEVBQTBFO0lBQzFFLGtCQUFrQjtJQUNsQixNQUFNQyx1QkFBdUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQUFBLEVBQVE7UUFDbkMsSUFBSSxDQUFDSixjQUFjO1lBQ2pCLHlFQUF5RTtZQUN6RSxhQUFhO1lBQ2IsT0FBTztRQUNUO1FBRUEsT0FB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LE9BQ0FEO0FBQ047SUFyQmdCdkM7O1FBR2RHO1FBRStCRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgUGFyYW1zIH0gZnJvbSAnLi4vLi4vc2VydmVyL3JlcXVlc3QvcGFyYW1zJ1xuXG5pbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBBcHBSb3V0ZXJDb250ZXh0LFxuICBMYXlvdXRSb3V0ZXJDb250ZXh0LFxuICB0eXBlIEFwcFJvdXRlckluc3RhbmNlLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7XG4gIFNlYXJjaFBhcmFtc0NvbnRleHQsXG4gIFBhdGhuYW1lQ29udGV4dCxcbiAgUGF0aFBhcmFtc0NvbnRleHQsXG59IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvaG9va3MtY2xpZW50LWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBnZXRTZWdtZW50VmFsdWUgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlJ1xuaW1wb3J0IHsgUEFHRV9TRUdNRU5UX0tFWSwgREVGQVVMVF9TRUdNRU5UX0tFWSB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudCdcbmltcG9ydCB7IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi9uYXZpZ2F0aW9uLnJlYWN0LXNlcnZlcidcblxuY29uc3QgdXNlRHluYW1pY1JvdXRlUGFyYW1zID1cbiAgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCdcbiAgICA/IChcbiAgICAgICAgcmVxdWlyZSgnLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvZHluYW1pYy1yZW5kZXJpbmcnKSBhcyB0eXBlb2YgaW1wb3J0KCcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci9keW5hbWljLXJlbmRlcmluZycpXG4gICAgICApLnVzZUR5bmFtaWNSb3V0ZVBhcmFtc1xuICAgIDogdW5kZWZpbmVkXG5cbi8qKlxuICogQSBbQ2xpZW50IENvbXBvbmVudF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL2NsaWVudC1jb21wb25lbnRzKSBob29rXG4gKiB0aGF0IGxldHMgeW91ICpyZWFkKiB0aGUgY3VycmVudCBVUkwncyBzZWFyY2ggcGFyYW1ldGVycy5cbiAqXG4gKiBMZWFybiBtb3JlIGFib3V0IFtgVVJMU2VhcmNoUGFyYW1zYCBvbiBNRE5dKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9VUkxTZWFyY2hQYXJhbXMpXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBcInVzZSBjbGllbnRcIlxuICogaW1wb3J0IHsgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuICpcbiAqIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBhZ2UoKSB7XG4gKiAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHVzZVNlYXJjaFBhcmFtcygpXG4gKiAgIHNlYXJjaFBhcmFtcy5nZXQoJ2ZvbycpIC8vIHJldHVybnMgJ2Jhcicgd2hlbiA/Zm9vPWJhclxuICogICAvLyAuLi5cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFJlYWQgbW9yZTogW05leHQuanMgRG9jczogYHVzZVNlYXJjaFBhcmFtc2BdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcylcbiAqL1xuLy8gQ2xpZW50IGNvbXBvbmVudHMgQVBJXG5leHBvcnQgZnVuY3Rpb24gdXNlU2VhcmNoUGFyYW1zKCk6IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIHtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdXNlQ29udGV4dChTZWFyY2hQYXJhbXNDb250ZXh0KVxuXG4gIC8vIEluIHRoZSBjYXNlIHdoZXJlIHRoaXMgaXMgYG51bGxgLCB0aGUgY29tcGF0IHR5cGVzIGFkZGVkIGluXG4gIC8vIGBuZXh0LWVudi5kLnRzYCB3aWxsIGFkZCBhIG5ldyBvdmVybG9hZCB0aGF0IGNoYW5nZXMgdGhlIHJldHVybiB0eXBlIHRvXG4gIC8vIGluY2x1ZGUgYG51bGxgLlxuICBjb25zdCByZWFkb25seVNlYXJjaFBhcmFtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghc2VhcmNoUGFyYW1zKSB7XG4gICAgICAvLyBXaGVuIHRoZSByb3V0ZXIgaXMgbm90IHJlYWR5IGluIHBhZ2VzLCB3ZSB3b24ndCBoYXZlIHRoZSBzZWFyY2ggcGFyYW1zXG4gICAgICAvLyBhdmFpbGFibGUuXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKVxuICB9LCBbc2VhcmNoUGFyYW1zXSkgYXMgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNcblxuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBjbGllbnQgYnVuZGxlLlxuICAgIGNvbnN0IHsgYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIH0gPVxuICAgICAgcmVxdWlyZSgnLi9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmcnKSBhcyB0eXBlb2YgaW1wb3J0KCcuL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZycpXG4gICAgLy8gVE9ETy1BUFA6IGhhbmRsZSBkeW5hbWljID0gJ2ZvcmNlLXN0YXRpYycgaGVyZSBhbmQgb24gdGhlIGNsaWVudFxuICAgIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZygndXNlU2VhcmNoUGFyYW1zKCknKVxuICB9XG5cbiAgcmV0dXJuIHJlYWRvbmx5U2VhcmNoUGFyYW1zXG59XG5cbi8qKlxuICogQSBbQ2xpZW50IENvbXBvbmVudF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL2NsaWVudC1jb21wb25lbnRzKSBob29rXG4gKiB0aGF0IGxldHMgeW91IHJlYWQgdGhlIGN1cnJlbnQgVVJMJ3MgcGF0aG5hbWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBcInVzZSBjbGllbnRcIlxuICogaW1wb3J0IHsgdXNlUGF0aG5hbWUgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG4gKlxuICogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGFnZSgpIHtcbiAqICBjb25zdCBwYXRobmFtZSA9IHVzZVBhdGhuYW1lKCkgLy8gcmV0dXJucyBcIi9kYXNoYm9hcmRcIiBvbiAvZGFzaGJvYXJkP2Zvbz1iYXJcbiAqICAvLyAuLi5cbiAqIH1cbiAqIGBgYFxuICpcbiAqIFJlYWQgbW9yZTogW05leHQuanMgRG9jczogYHVzZVBhdGhuYW1lYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1wYXRobmFtZSlcbiAqL1xuLy8gQ2xpZW50IGNvbXBvbmVudHMgQVBJXG5leHBvcnQgZnVuY3Rpb24gdXNlUGF0aG5hbWUoKTogc3RyaW5nIHtcbiAgdXNlRHluYW1pY1JvdXRlUGFyYW1zPy4oJ3VzZVBhdGhuYW1lKCknKVxuXG4gIC8vIEluIHRoZSBjYXNlIHdoZXJlIHRoaXMgaXMgYG51bGxgLCB0aGUgY29tcGF0IHR5cGVzIGFkZGVkIGluIGBuZXh0LWVudi5kLnRzYFxuICAvLyB3aWxsIGFkZCBhIG5ldyBvdmVybG9hZCB0aGF0IGNoYW5nZXMgdGhlIHJldHVybiB0eXBlIHRvIGluY2x1ZGUgYG51bGxgLlxuICByZXR1cm4gdXNlQ29udGV4dChQYXRobmFtZUNvbnRleHQpIGFzIHN0cmluZ1xufVxuXG4vLyBDbGllbnQgY29tcG9uZW50cyBBUElcbmV4cG9ydCB7XG4gIFNlcnZlckluc2VydGVkSFRNTENvbnRleHQsXG4gIHVzZVNlcnZlckluc2VydGVkSFRNTCxcbn0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5zaGFyZWQtcnVudGltZSdcblxuLyoqXG4gKlxuICogVGhpcyBob29rIGFsbG93cyB5b3UgdG8gcHJvZ3JhbW1hdGljYWxseSBjaGFuZ2Ugcm91dGVzIGluc2lkZSBbQ2xpZW50IENvbXBvbmVudF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL2NsaWVudC1jb21wb25lbnRzKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIFwidXNlIGNsaWVudFwiXG4gKiBpbXBvcnQgeyB1c2VSb3V0ZXIgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG4gKlxuICogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUGFnZSgpIHtcbiAqICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuICogIC8vIC4uLlxuICogIHJvdXRlci5wdXNoKCcvZGFzaGJvYXJkJykgLy8gTmF2aWdhdGUgdG8gL2Rhc2hib2FyZFxuICogfVxuICogYGBgXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBEb2NzOiBgdXNlUm91dGVyYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1yb3V0ZXIpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVJvdXRlcigpOiBBcHBSb3V0ZXJJbnN0YW5jZSB7XG4gIGNvbnN0IHJvdXRlciA9IHVzZUNvbnRleHQoQXBwUm91dGVyQ29udGV4dClcbiAgaWYgKHJvdXRlciA9PT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52YXJpYW50IGV4cGVjdGVkIGFwcCByb3V0ZXIgdG8gYmUgbW91bnRlZCcpXG4gIH1cblxuICByZXR1cm4gcm91dGVyXG59XG5cbi8qKlxuICogQSBbQ2xpZW50IENvbXBvbmVudF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL2NsaWVudC1jb21wb25lbnRzKSBob29rXG4gKiB0aGF0IGxldHMgeW91IHJlYWQgYSByb3V0ZSdzIGR5bmFtaWMgcGFyYW1zIGZpbGxlZCBpbiBieSB0aGUgY3VycmVudCBVUkwuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBcInVzZSBjbGllbnRcIlxuICogaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAnbmV4dC9uYXZpZ2F0aW9uJ1xuICpcbiAqIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFBhZ2UoKSB7XG4gKiAgIC8vIG9uIC9kYXNoYm9hcmQvW3RlYW1dIHdoZXJlIHBhdGhuYW1lIGlzIC9kYXNoYm9hcmQvbmV4dGpzXG4gKiAgIGNvbnN0IHsgdGVhbSB9ID0gdXNlUGFyYW1zKCkgLy8gdGVhbSA9PT0gXCJuZXh0anNcIlxuICogfVxuICogYGBgXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBEb2NzOiBgdXNlUGFyYW1zYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1wYXJhbXMpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVBhcmFtczxUIGV4dGVuZHMgUGFyYW1zID0gUGFyYW1zPigpOiBUIHtcbiAgdXNlRHluYW1pY1JvdXRlUGFyYW1zPy4oJ3VzZVBhcmFtcygpJylcblxuICByZXR1cm4gdXNlQ29udGV4dChQYXRoUGFyYW1zQ29udGV4dCkgYXMgVFxufVxuXG4vKiogR2V0IHRoZSBjYW5vbmljYWwgcGFyYW1ldGVycyBmcm9tIHRoZSBjdXJyZW50IGxldmVsIHRvIHRoZSBsZWFmIG5vZGUuICovXG4vLyBDbGllbnQgY29tcG9uZW50cyBBUElcbmZ1bmN0aW9uIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgoXG4gIHRyZWU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBwYXJhbGxlbFJvdXRlS2V5OiBzdHJpbmcsXG4gIGZpcnN0ID0gdHJ1ZSxcbiAgc2VnbWVudFBhdGg6IHN0cmluZ1tdID0gW11cbik6IHN0cmluZ1tdIHtcbiAgbGV0IG5vZGU6IEZsaWdodFJvdXRlclN0YXRlXG4gIGlmIChmaXJzdCkge1xuICAgIC8vIFVzZSB0aGUgcHJvdmlkZWQgcGFyYWxsZWwgcm91dGUga2V5IG9uIHRoZSBmaXJzdCBwYXJhbGxlbCByb3V0ZVxuICAgIG5vZGUgPSB0cmVlWzFdW3BhcmFsbGVsUm91dGVLZXldXG4gIH0gZWxzZSB7XG4gICAgLy8gQWZ0ZXIgZmlyc3QgcGFyYWxsZWwgcm91dGUgcHJlZmVyIGNoaWxkcmVuLCBpZiB0aGVyZSdzIG5vIGNoaWxkcmVuIHBpY2sgdGhlIGZpcnN0IHBhcmFsbGVsIHJvdXRlLlxuICAgIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gdHJlZVsxXVxuICAgIG5vZGUgPSBwYXJhbGxlbFJvdXRlcy5jaGlsZHJlbiA/PyBPYmplY3QudmFsdWVzKHBhcmFsbGVsUm91dGVzKVswXVxuICB9XG5cbiAgaWYgKCFub2RlKSByZXR1cm4gc2VnbWVudFBhdGhcbiAgY29uc3Qgc2VnbWVudCA9IG5vZGVbMF1cblxuICBsZXQgc2VnbWVudFZhbHVlID0gZ2V0U2VnbWVudFZhbHVlKHNlZ21lbnQpXG5cbiAgaWYgKCFzZWdtZW50VmFsdWUgfHwgc2VnbWVudFZhbHVlLnN0YXJ0c1dpdGgoUEFHRV9TRUdNRU5UX0tFWSkpIHtcbiAgICByZXR1cm4gc2VnbWVudFBhdGhcbiAgfVxuXG4gIHNlZ21lbnRQYXRoLnB1c2goc2VnbWVudFZhbHVlKVxuXG4gIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKFxuICAgIG5vZGUsXG4gICAgcGFyYWxsZWxSb3V0ZUtleSxcbiAgICBmYWxzZSxcbiAgICBzZWdtZW50UGF0aFxuICApXG59XG5cbi8qKlxuICogQSBbQ2xpZW50IENvbXBvbmVudF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL2NsaWVudC1jb21wb25lbnRzKSBob29rXG4gKiB0aGF0IGxldHMgeW91IHJlYWQgdGhlIGFjdGl2ZSByb3V0ZSBzZWdtZW50cyAqKmJlbG93KiogdGhlIExheW91dCBpdCBpcyBjYWxsZWQgZnJvbS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqICd1c2UgY2xpZW50J1xuICpcbiAqIGltcG9ydCB7IHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMgfSBmcm9tICduZXh0L25hdmlnYXRpb24nXG4gKlxuICogZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRXhhbXBsZUNsaWVudENvbXBvbmVudCgpIHtcbiAqICAgY29uc3Qgc2VnbWVudHMgPSB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzKClcbiAqXG4gKiAgIHJldHVybiAoXG4gKiAgICAgPHVsPlxuICogICAgICAge3NlZ21lbnRzLm1hcCgoc2VnbWVudCwgaW5kZXgpID0+IChcbiAqICAgICAgICAgPGxpIGtleT17aW5kZXh9PntzZWdtZW50fTwvbGk+XG4gKiAgICAgICApKX1cbiAqICAgICA8L3VsPlxuICogICApXG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzYF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1zZWxlY3RlZC1sYXlvdXQtc2VnbWVudHMpXG4gKi9cbi8vIENsaWVudCBjb21wb25lbnRzIEFQSVxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoXG4gIHBhcmFsbGVsUm91dGVLZXk6IHN0cmluZyA9ICdjaGlsZHJlbidcbik6IHN0cmluZ1tdIHtcbiAgdXNlRHluYW1pY1JvdXRlUGFyYW1zPy4oJ3VzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMoKScpXG5cbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTGF5b3V0Um91dGVyQ29udGV4dClcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBUaGlzIG9ubHkgaGFwcGVucyBpbiBgcGFnZXNgLiBUeXBlIGlzIG92ZXJ3cml0dGVuIGluIG5hdmlnYXRpb24uZC50c1xuICBpZiAoIWNvbnRleHQpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIGdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgoY29udGV4dC5wYXJlbnRUcmVlLCBwYXJhbGxlbFJvdXRlS2V5KVxufVxuXG4vKipcbiAqIEEgW0NsaWVudCBDb21wb25lbnRdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3JlbmRlcmluZy9jbGllbnQtY29tcG9uZW50cykgaG9va1xuICogdGhhdCBsZXRzIHlvdSByZWFkIHRoZSBhY3RpdmUgcm91dGUgc2VnbWVudCAqKm9uZSBsZXZlbCBiZWxvdyoqIHRoZSBMYXlvdXQgaXQgaXMgY2FsbGVkIGZyb20uXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiAndXNlIGNsaWVudCdcbiAqIGltcG9ydCB7IHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCB9IGZyb20gJ25leHQvbmF2aWdhdGlvbidcbiAqXG4gKiBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFeGFtcGxlQ2xpZW50Q29tcG9uZW50KCkge1xuICogICBjb25zdCBzZWdtZW50ID0gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KClcbiAqXG4gKiAgIHJldHVybiA8cD5BY3RpdmUgc2VnbWVudDoge3NlZ21lbnR9PC9wPlxuICogfVxuICogYGBgXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBEb2NzOiBgdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50YF0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1zZWxlY3RlZC1sYXlvdXQtc2VnbWVudClcbiAqL1xuLy8gQ2xpZW50IGNvbXBvbmVudHMgQVBJXG5leHBvcnQgZnVuY3Rpb24gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KFxuICBwYXJhbGxlbFJvdXRlS2V5OiBzdHJpbmcgPSAnY2hpbGRyZW4nXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgdXNlRHluYW1pY1JvdXRlUGFyYW1zPy4oJ3VzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCgpJylcblxuICBjb25zdCBzZWxlY3RlZExheW91dFNlZ21lbnRzID0gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cyhwYXJhbGxlbFJvdXRlS2V5KVxuXG4gIGlmICghc2VsZWN0ZWRMYXlvdXRTZWdtZW50cyB8fCBzZWxlY3RlZExheW91dFNlZ21lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZExheW91dFNlZ21lbnQgPVxuICAgIHBhcmFsbGVsUm91dGVLZXkgPT09ICdjaGlsZHJlbidcbiAgICAgID8gc2VsZWN0ZWRMYXlvdXRTZWdtZW50c1swXVxuICAgICAgOiBzZWxlY3RlZExheW91dFNlZ21lbnRzW3NlbGVjdGVkTGF5b3V0U2VnbWVudHMubGVuZ3RoIC0gMV1cblxuICAvLyBpZiB0aGUgZGVmYXVsdCBzbG90IGlzIHNob3dpbmcsIHdlIHJldHVybiBudWxsIHNpbmNlIGl0J3Mgbm90IHRlY2huaWNhbGx5IFwic2VsZWN0ZWRcIiAoaXQncyBhIGZhbGxiYWNrKVxuICAvLyBhbmQgcmV0dXJuaW5nIGFuIGludGVybmFsIHZhbHVlIGxpa2UgYF9fREVGQVVMVF9fYCB3b3VsZCBiZSBjb25mdXNpbmcuXG4gIHJldHVybiBzZWxlY3RlZExheW91dFNlZ21lbnQgPT09IERFRkFVTFRfU0VHTUVOVF9LRVlcbiAgICA/IG51bGxcbiAgICA6IHNlbGVjdGVkTGF5b3V0U2VnbWVudFxufVxuXG4vLyBTaGFyZWQgY29tcG9uZW50cyBBUElzXG5leHBvcnQge1xuICBub3RGb3VuZCxcbiAgZm9yYmlkZGVuLFxuICB1bmF1dGhvcml6ZWQsXG4gIHJlZGlyZWN0LFxuICBwZXJtYW5lbnRSZWRpcmVjdCxcbiAgUmVkaXJlY3RUeXBlLFxuICBSZWFkb25seVVSTFNlYXJjaFBhcmFtcyxcbiAgdW5zdGFibGVfcmV0aHJvdyxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uLnJlYWN0LXNlcnZlcidcbiJdLCJuYW1lcyI6WyJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsIlJlZGlyZWN0VHlwZSIsIlNlcnZlckluc2VydGVkSFRNTENvbnRleHQiLCJmb3JiaWRkZW4iLCJub3RGb3VuZCIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJ1bmF1dGhvcml6ZWQiLCJ1bnN0YWJsZV9yZXRocm93IiwidXNlUGFyYW1zIiwidXNlUGF0aG5hbWUiLCJ1c2VSb3V0ZXIiLCJ1c2VTZWFyY2hQYXJhbXMiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnQiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzIiwidXNlU2VydmVySW5zZXJ0ZWRIVE1MIiwidXNlRHluYW1pY1JvdXRlUGFyYW1zIiwid2luZG93IiwicmVxdWlyZSIsInVuZGVmaW5lZCIsInNlYXJjaFBhcmFtcyIsInVzZUNvbnRleHQiLCJTZWFyY2hQYXJhbXNDb250ZXh0IiwicmVhZG9ubHlTZWFyY2hQYXJhbXMiLCJ1c2VNZW1vIiwiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwiUGF0aG5hbWVDb250ZXh0Iiwicm91dGVyIiwiQXBwUm91dGVyQ29udGV4dCIsIkVycm9yIiwiUGF0aFBhcmFtc0NvbnRleHQiLCJnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoIiwidHJlZSIsInBhcmFsbGVsUm91dGVLZXkiLCJmaXJzdCIsInNlZ21lbnRQYXRoIiwibm9kZSIsInBhcmFsbGVsUm91dGVzIiwiY2hpbGRyZW4iLCJPYmplY3QiLCJ2YWx1ZXMiLCJzZWdtZW50Iiwic2VnbWVudFZhbHVlIiwiZ2V0U2VnbWVudFZhbHVlIiwic3RhcnRzV2l0aCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJwdXNoIiwiY29udGV4dCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJwYXJlbnRUcmVlIiwic2VsZWN0ZWRMYXlvdXRTZWdtZW50cyIsImxlbmd0aCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudCIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/navigation.react-server.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation.react-server.js ***! \*****************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/** @internal */ \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 ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _redirecterror.RedirectType;\n },\n forbidden: function() {\n return _forbidden.forbidden;\n },\n notFound: function() {\n return _notfound.notFound;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n redirect: function() {\n return _redirect.redirect;\n },\n unauthorized: function() {\n return _unauthorized.unauthorized;\n },\n unstable_rethrow: function() {\n return _unstablerethrow.unstable_rethrow;\n }\n});\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nconst _redirecterror = __webpack_require__(/*! ./redirect-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js\");\nconst _forbidden = __webpack_require__(/*! ./forbidden */ \"(app-pages-browser)/./node_modules/next/dist/client/components/forbidden.js\");\nconst _unauthorized = __webpack_require__(/*! ./unauthorized */ \"(app-pages-browser)/./node_modules/next/dist/client/components/unauthorized.js\");\nconst _unstablerethrow = __webpack_require__(/*! ./unstable-rethrow */ \"(app-pages-browser)/./node_modules/next/dist/client/components/unstable-rethrow.js\");\nclass ReadonlyURLSearchParamsError extends Error {\n constructor(){\n super('Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams');\n }\n}\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {\n throw new ReadonlyURLSearchParamsError();\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=navigation.react-server.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5yZWFjdC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsY0FBYzs7Ozs7Ozs7Ozs7O0lBa0NMQSx1QkFBdUI7ZUFBdkJBOztJQUxBQyxZQUFZO2VBQVpBLGVBQUFBLFlBQVk7O0lBRVpDLFNBQVM7ZUFBVEEsV0FBQUEsU0FBUzs7SUFEVEMsUUFBUTtlQUFSQSxVQUFBQSxRQUFROztJQUZFQyxpQkFBaUI7ZUFBakJBLFVBQUFBLGlCQUFpQjs7SUFBM0JDLFFBQVE7ZUFBUkEsVUFBQUEsUUFBUTs7SUFJUkMsWUFBWTtlQUFaQSxjQUFBQSxZQUFZOztJQUNaQyxnQkFBZ0I7ZUFBaEJBLGlCQUFBQSxnQkFBZ0I7OztzQ0FMbUI7MkNBQ2Y7c0NBQ0o7dUNBQ0M7MENBQ0c7NkNBQ0k7QUFoQ2pDLE1BQU1DLHFDQUFxQ0M7SUFDekNDLGFBQWM7UUFDWixLQUFLLENBQ0g7SUFFSjtBQUNGO0FBRUEsTUFBTVYsZ0NBQWdDVztJQUNwQyx3S0FBd0ssR0FDeEtDLFNBQVM7UUFDUCxNQUFNLElBQUlKO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtLLFNBQVM7UUFDUCxNQUFNLElBQUlMO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtNLE1BQU07UUFDSixNQUFNLElBQUlOO0lBQ1o7SUFDQSx3S0FBd0ssR0FDeEtPLE9BQU87UUFDTCxNQUFNLElBQUlQO0lBQ1o7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uLnJlYWN0LXNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGludGVybmFsICovXG5jbGFzcyBSZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcihcbiAgICAgICdNZXRob2QgdW5hdmFpbGFibGUgb24gYFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zYC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXNlYXJjaC1wYXJhbXMjdXBkYXRpbmctc2VhcmNocGFyYW1zJ1xuICAgIClcbiAgfVxufVxuXG5jbGFzcyBSZWFkb25seVVSTFNlYXJjaFBhcmFtcyBleHRlbmRzIFVSTFNlYXJjaFBhcmFtcyB7XG4gIC8qKiBAZGVwcmVjYXRlZCBNZXRob2QgdW5hdmFpbGFibGUgb24gYFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zYC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXNlYXJjaC1wYXJhbXMjdXBkYXRpbmctc2VhcmNocGFyYW1zICovXG4gIGFwcGVuZCgpIHtcbiAgICB0aHJvdyBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpXG4gIH1cbiAgLyoqIEBkZXByZWNhdGVkIE1ldGhvZCB1bmF2YWlsYWJsZSBvbiBgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNgLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy91c2Utc2VhcmNoLXBhcmFtcyN1cGRhdGluZy1zZWFyY2hwYXJhbXMgKi9cbiAgZGVsZXRlKCkge1xuICAgIHRocm93IG5ldyBSZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKClcbiAgfVxuICAvKiogQGRlcHJlY2F0ZWQgTWV0aG9kIHVuYXZhaWxhYmxlIG9uIGBSZWFkb25seVVSTFNlYXJjaFBhcmFtc2AuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZnVuY3Rpb25zL3VzZS1zZWFyY2gtcGFyYW1zI3VwZGF0aW5nLXNlYXJjaHBhcmFtcyAqL1xuICBzZXQoKSB7XG4gICAgdGhyb3cgbmV3IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKVxuICB9XG4gIC8qKiBAZGVwcmVjYXRlZCBNZXRob2QgdW5hdmFpbGFibGUgb24gYFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zYC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdXNlLXNlYXJjaC1wYXJhbXMjdXBkYXRpbmctc2VhcmNocGFyYW1zICovXG4gIHNvcnQoKSB7XG4gICAgdGhyb3cgbmV3IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKVxuICB9XG59XG5cbmV4cG9ydCB7IHJlZGlyZWN0LCBwZXJtYW5lbnRSZWRpcmVjdCB9IGZyb20gJy4vcmVkaXJlY3QnXG5leHBvcnQgeyBSZWRpcmVjdFR5cGUgfSBmcm9tICcuL3JlZGlyZWN0LWVycm9yJ1xuZXhwb3J0IHsgbm90Rm91bmQgfSBmcm9tICcuL25vdC1mb3VuZCdcbmV4cG9ydCB7IGZvcmJpZGRlbiB9IGZyb20gJy4vZm9yYmlkZGVuJ1xuZXhwb3J0IHsgdW5hdXRob3JpemVkIH0gZnJvbSAnLi91bmF1dGhvcml6ZWQnXG5leHBvcnQgeyB1bnN0YWJsZV9yZXRocm93IH0gZnJvbSAnLi91bnN0YWJsZS1yZXRocm93J1xuZXhwb3J0IHsgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMgfVxuIl0sIm5hbWVzIjpbIlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIiwiUmVkaXJlY3RUeXBlIiwiZm9yYmlkZGVuIiwibm90Rm91bmQiLCJwZXJtYW5lbnRSZWRpcmVjdCIsInJlZGlyZWN0IiwidW5hdXRob3JpemVkIiwidW5zdGFibGVfcmV0aHJvdyIsIlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiZGVsZXRlIiwic2V0Iiwic29ydCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/navigation.react-server.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found.js ***! \***************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"notFound\", ({\n enumerable: true,\n get: function() {\n return notFound;\n }\n}));\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback/http-access-fallback */ \"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\n/**\n * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)\n * within a route segment as well as inject a tag.\n *\n * `notFound()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a `` meta tag and set the status code to 404.\n * - In a Route Handler or Server Action, it will serve a 404 to the caller.\n *\n * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)\n */ const DIGEST = \"\" + _httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE + \";404\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = Object.defineProperty(new Error(DIGEST), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.digest = DIGEST;\n throw error;\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=not-found.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLmpzIiwibWFwcGluZ3MiOiI7Ozs7NENBc0JnQkE7OztlQUFBQTs7O2dEQW5CVDtBQUVQOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FFRCxNQUFNQyxTQUFVLEtBQUVDLG9CQUFBQSw4QkFBOEIsR0FBQztBQUUxQyxTQUFTRjtJQUNkLDRDQUE0QztJQUM1QyxNQUFNRyxRQUFRLHFCQUFpQixDQUFqQixJQUFJQyxNQUFNSCxTQUFWO2VBQUE7b0JBQUE7c0JBQUE7SUFBZ0I7SUFDNUJFLE1BQWtDRSxNQUFNLEdBQUdKO0lBRTdDLE1BQU1FO0FBQ1IiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEhUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERSxcbiAgdHlwZSBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcixcbn0gZnJvbSAnLi9odHRwLWFjY2Vzcy1mYWxsYmFjay9odHRwLWFjY2Vzcy1mYWxsYmFjaydcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyB5b3UgdG8gcmVuZGVyIHRoZSBbbm90LWZvdW5kLmpzIGZpbGVdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2ZpbGUtY29udmVudGlvbnMvbm90LWZvdW5kKVxuICogd2l0aGluIGEgcm91dGUgc2VnbWVudCBhcyB3ZWxsIGFzIGluamVjdCBhIHRhZy5cbiAqXG4gKiBgbm90Rm91bmQoKWAgY2FuIGJlIHVzZWQgaW5cbiAqIFtTZXJ2ZXIgQ29tcG9uZW50c10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3NlcnZlci1jb21wb25lbnRzKSxcbiAqIFtSb3V0ZSBIYW5kbGVyc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9yb3V0ZS1oYW5kbGVycyksIGFuZFxuICogW1NlcnZlciBBY3Rpb25zXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL3NlcnZlci1hY3Rpb25zLWFuZC1tdXRhdGlvbnMpLlxuICpcbiAqIC0gSW4gYSBTZXJ2ZXIgQ29tcG9uZW50LCB0aGlzIHdpbGwgaW5zZXJ0IGEgYDxtZXRhIG5hbWU9XCJyb2JvdHNcIiBjb250ZW50PVwibm9pbmRleFwiIC8+YCBtZXRhIHRhZyBhbmQgc2V0IHRoZSBzdGF0dXMgY29kZSB0byA0MDQuXG4gKiAtIEluIGEgUm91dGUgSGFuZGxlciBvciBTZXJ2ZXIgQWN0aW9uLCBpdCB3aWxsIHNlcnZlIGEgNDA0IHRvIHRoZSBjYWxsZXIuXG4gKlxuICogUmVhZCBtb3JlOiBbTmV4dC5qcyBEb2NzOiBgbm90Rm91bmRgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvbm90LWZvdW5kKVxuICovXG5cbmNvbnN0IERJR0VTVCA9IGAke0hUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDA0YFxuXG5leHBvcnQgZnVuY3Rpb24gbm90Rm91bmQoKTogbmV2ZXIge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdGhyb3ctbGl0ZXJhbFxuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihESUdFU1QpIGFzIEhUVFBBY2Nlc3NGYWxsYmFja0Vycm9yXG4gIDsoZXJyb3IgYXMgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IpLmRpZ2VzdCA9IERJR0VTVFxuXG4gIHRocm93IGVycm9yXG59XG4iXSwibmFtZXMiOlsibm90Rm91bmQiLCJESUdFU1QiLCJIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUiLCJlcnJvciIsIkVycm9yIiwiZGlnZXN0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/not-found.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/promise-queue.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/promise-queue.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\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=promise-queue.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcHJvbWlzZS1xdWV1ZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7QUFLQTs7OztnREFDYUE7OztlQUFBQTs7Ozs7SUFDWCxxRkFDQSxpRkFDQSxtRUFtREE7QUF0REssTUFBTUE7SUFjWEMsUUFBV0MsU0FBMkIsRUFBYztRQUNsRCxJQUFJQztRQUNKLElBQUlDO1FBRUosTUFBTUMsY0FBYyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1lBQ3hDTCxjQUFjSTtZQUNkSCxhQUFhSTtRQUNmO1FBRUEsTUFBTUMsT0FBTztZQUNYLElBQUk7Z0JBQ0Ysc0NBQUksRUFBQztnQkFDTCxNQUFNQyxTQUFTLE1BQU1SO2dCQUNyQkMsWUFBWU87WUFDZCxFQUFFLE9BQU9DLE9BQU87Z0JBQ2RQLFdBQVdPO1lBQ2IsU0FBVTtnQkFDUixzQ0FBSSxFQUFDO2dCQUNMLHNDQUFJLEVBQUM7WUFDUDtRQUNGO1FBRUEsTUFBTUMsZ0JBQWdCO1lBQUVWLFdBQVdHO1lBQWFJO1FBQUs7UUFDckQsZ0RBQWdEO1FBQ2hELHNDQUFJLEVBQUMsZ0JBQU9JLElBQUksQ0FBQ0Q7UUFDakIsc0NBQUksRUFBQztRQUVMLE9BQU9QO0lBQ1Q7SUFFQVMsS0FBS1osU0FBdUIsRUFBRTtRQUM1QixNQUFNYSxRQUFRLHNDQUFJLEVBQUMsZ0JBQU9DLFNBQVMsQ0FBQyxDQUFDQyxPQUFTQSxLQUFLZixTQUFTLEtBQUtBO1FBRWpFLElBQUlhLFFBQVEsQ0FBQyxHQUFHO1lBQ2QsTUFBTUcsYUFBYSxzQ0FBSSxFQUFDLGdCQUFPQyxNQUFNLENBQUNKLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDbEQsc0NBQUksRUFBQyxnQkFBT0ssT0FBTyxDQUFDRjtZQUNwQixzQ0FBSSxFQUFDLDRCQUFhO1FBQ3BCO0lBQ0Y7SUE1Q0FHLFlBQVlDLGlCQUFpQixDQUFDLENBQUU7UUE4Q2hDO21CQUFBOztRQXJEQTs7bUJBQUE7O1FBQ0E7O21CQUFBOztRQUNBOzttQkFBQTs7UUFNRSxzQ0FBSSxFQUFDLG9DQUFrQkE7UUFDdkIsc0NBQUksRUFBQyxnQ0FBZ0I7UUFDckIsc0NBQUksRUFBQyxrQkFBUyxFQUFFO0lBQ2xCO0FBa0RGO0FBUkUscUJBQWFDLE1BQWM7SUFBZEEsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBUztJQUNwQixJQUNHLHVDQUFJLEVBQUMsZ0NBQWdCLHNDQUFJLEVBQUMscUNBQW1CQSxNQUFBQSxDQUFLLElBQ25ELHNDQUFJLEVBQUMsZ0JBQU9DLE1BQU0sR0FBRyxHQUNyQjtZQUNBO1NBQUEscUZBQUksRUFBQyxnQkFBT0MsS0FBSyx1QkFBakIsNkNBQXFCaEIsSUFBSTtJQUMzQjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBUaGlzIGlzIGEgc2ltcGxlIHByb21pc2UgcXVldWUgdGhhdCBhbGxvd3MgeW91IHRvIGxpbWl0IHRoZSBudW1iZXIgb2YgY29uY3VycmVudCBwcm9taXNlc1xuICAgIHRoYXQgYXJlIHJ1bm5pbmcgYXQgYW55IGdpdmVuIHRpbWUuIEl0J3MgdXNlZCB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnRcbiAgICBwcmVmZXRjaCByZXF1ZXN0cyB0aGF0IGFyZSBiZWluZyBtYWRlIHRvIHRoZSBzZXJ2ZXIgYnV0IGNvdWxkIGJlIHVzZWQgZm9yIG90aGVyXG4gICAgdGhpbmdzIGFzIHdlbGwuXG4qL1xuZXhwb3J0IGNsYXNzIFByb21pc2VRdWV1ZSB7XG4gICNtYXhDb25jdXJyZW5jeTogbnVtYmVyXG4gICNydW5uaW5nQ291bnQ6IG51bWJlclxuICAjcXVldWU6IEFycmF5PHtcbiAgICBwcm9taXNlRm46IFByb21pc2U8YW55PlxuICAgIHRhc2s6ICgpID0+IHZvaWRcbiAgfT5cblxuICBjb25zdHJ1Y3RvcihtYXhDb25jdXJyZW5jeSA9IDUpIHtcbiAgICB0aGlzLiNtYXhDb25jdXJyZW5jeSA9IG1heENvbmN1cnJlbmN5XG4gICAgdGhpcy4jcnVubmluZ0NvdW50ID0gMFxuICAgIHRoaXMuI3F1ZXVlID0gW11cbiAgfVxuXG4gIGVucXVldWU8VD4ocHJvbWlzZUZuOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgbGV0IHRhc2tSZXNvbHZlOiAodmFsdWU6IFQgfCBQcm9taXNlTGlrZTxUPikgPT4gdm9pZFxuICAgIGxldCB0YXNrUmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkXG5cbiAgICBjb25zdCB0YXNrUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRhc2tSZXNvbHZlID0gcmVzb2x2ZVxuICAgICAgdGFza1JlamVjdCA9IHJlamVjdFxuICAgIH0pIGFzIFByb21pc2U8VD5cblxuICAgIGNvbnN0IHRhc2sgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLiNydW5uaW5nQ291bnQrK1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwcm9taXNlRm4oKVxuICAgICAgICB0YXNrUmVzb2x2ZShyZXN1bHQpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0YXNrUmVqZWN0KGVycm9yKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy4jcnVubmluZ0NvdW50LS1cbiAgICAgICAgdGhpcy4jcHJvY2Vzc05leHQoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGVucXVldWVSZXN1bHQgPSB7IHByb21pc2VGbjogdGFza1Byb21pc2UsIHRhc2sgfVxuICAgIC8vIHdvbmRlciBpZiB3ZSBzaG91bGQgdGFrZSBhIExJRk8gYXBwcm9hY2ggaGVyZVxuICAgIHRoaXMuI3F1ZXVlLnB1c2goZW5xdWV1ZVJlc3VsdClcbiAgICB0aGlzLiNwcm9jZXNzTmV4dCgpXG5cbiAgICByZXR1cm4gdGFza1Byb21pc2VcbiAgfVxuXG4gIGJ1bXAocHJvbWlzZUZuOiBQcm9taXNlPGFueT4pIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuI3F1ZXVlLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5wcm9taXNlRm4gPT09IHByb21pc2VGbilcblxuICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICBjb25zdCBidW1wZWRJdGVtID0gdGhpcy4jcXVldWUuc3BsaWNlKGluZGV4LCAxKVswXVxuICAgICAgdGhpcy4jcXVldWUudW5zaGlmdChidW1wZWRJdGVtKVxuICAgICAgdGhpcy4jcHJvY2Vzc05leHQodHJ1ZSlcbiAgICB9XG4gIH1cblxuICAjcHJvY2Vzc05leHQoZm9yY2VkID0gZmFsc2UpIHtcbiAgICBpZiAoXG4gICAgICAodGhpcy4jcnVubmluZ0NvdW50IDwgdGhpcy4jbWF4Q29uY3VycmVuY3kgfHwgZm9yY2VkKSAmJlxuICAgICAgdGhpcy4jcXVldWUubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgdGhpcy4jcXVldWUuc2hpZnQoKT8udGFzaygpXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiUHJvbWlzZVF1ZXVlIiwiZW5xdWV1ZSIsInByb21pc2VGbiIsInRhc2tSZXNvbHZlIiwidGFza1JlamVjdCIsInRhc2tQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJ0YXNrIiwicmVzdWx0IiwiZXJyb3IiLCJlbnF1ZXVlUmVzdWx0IiwicHVzaCIsImJ1bXAiLCJpbmRleCIsImZpbmRJbmRleCIsIml0ZW0iLCJidW1wZWRJdGVtIiwic3BsaWNlIiwidW5zaGlmdCIsImNvbnN0cnVjdG9yIiwibWF4Q29uY3VycmVuY3kiLCJmb3JjZWQiLCJsZW5ndGgiLCJzaGlmdCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/promise-queue.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-boundary.js ***! \***********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \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 RedirectBoundary: function() {\n return RedirectBoundary;\n },\n RedirectErrorBoundary: function() {\n return RedirectErrorBoundary;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nconst _redirecterror = __webpack_require__(/*! ./redirect-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\");\nfunction HandleRedirect(param) {\n let { redirect, reset, redirectType } = param;\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n _react.default.startTransition(()=>{\n if (redirectType === _redirecterror.RedirectType.push) {\n router.push(redirect, {});\n } else {\n router.replace(redirect, {});\n }\n reset();\n });\n }, [\n redirect,\n redirectType,\n reset,\n router\n ]);\n return null;\n}\n_c = HandleRedirect;\nclass RedirectErrorBoundary extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _redirecterror.isRedirectError)(error)) {\n const url = (0, _redirect.getURLFromRedirectError)(error);\n const redirectType = (0, _redirect.getRedirectTypeFromError)(error);\n return {\n redirect: url,\n redirectType\n };\n }\n // Re-throw if error is not for redirect\n throw error;\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific to the `@types/react` version.\n render() {\n const { redirect, redirectType } = this.state;\n if (redirect !== null && redirectType !== null) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, {\n redirect: redirect,\n redirectType: redirectType,\n reset: ()=>this.setState({\n redirect: null\n })\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n redirect: null,\n redirectType: null\n };\n }\n}\nfunction RedirectBoundary(param) {\n let { children } = param;\n const router = (0, _navigation.useRouter)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, {\n router: router,\n children: children\n });\n}\n_c1 = RedirectBoundary;\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=redirect-boundary.js.map\nvar _c, _c1;\n$RefreshReg$(_c, \"HandleRedirect\");\n$RefreshReg$(_c1, \"RedirectBoundary\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QtYm91bmRhcnkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBeUVnQkEsZ0JBQWdCO2VBQWhCQTs7SUFwQ0hDLHFCQUFxQjtlQUFyQkE7Ozs7OzZFQXBDb0I7d0NBRVA7c0NBQ3dDOzJDQUNwQjtBQU85Qyx3QkFBd0IsS0FRdkI7SUFSdUIsTUFDdEJFLFFBQVEsRUFDUkMsS0FBSyxFQUNMQyxZQUFZLEVBS2IsR0FSdUI7SUFTdEIsTUFBTUMsU0FBU0MsQ0FBQUEsR0FBQUEsWUFBQUEsU0FBQUE7SUFFZkMsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBQUEsRUFBVTtRQUNSQyxPQUFBQSxPQUFLLENBQUNDLGVBQWUsQ0FBQztZQUNwQixJQUFJTCxpQkFBaUJNLGVBQUFBLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO2dCQUN0Q04sT0FBT00sSUFBSSxDQUFDVCxVQUFVLENBQUM7WUFDekIsT0FBTztnQkFDTEcsT0FBT08sT0FBTyxDQUFDVixVQUFVLENBQUM7WUFDNUI7WUFDQUM7UUFDRjtJQUNGLEdBQUc7UUFBQ0Q7UUFBVUU7UUFBY0Q7UUFBT0U7S0FBTztJQUUxQyxPQUFPO0FBQ1Q7S0F2QlNKO0FBeUJGLE1BQU1ELDhCQUE4QlEsT0FBQUEsT0FBSyxDQUFDSyxTQUFTO0lBU3hELE9BQU9DLHlCQUF5QkMsS0FBVSxFQUFFO1FBQzFDLElBQUlDLENBQUFBLEdBQUFBLGVBQUFBLGVBQWUsRUFBQ0QsUUFBUTtZQUMxQixNQUFNRSxNQUFNQyxDQUFBQSxHQUFBQSxVQUFBQSx1QkFBQUEsRUFBd0JIO1lBQ3BDLE1BQU1YLGVBQWVlLENBQUFBLEdBQUFBLFVBQUFBLHdCQUFBQSxFQUF5Qko7WUFDOUMsT0FBTztnQkFBRWIsVUFBVWU7Z0JBQUtiO1lBQWE7UUFDdkM7UUFDQSx3Q0FBd0M7UUFDeEMsTUFBTVc7SUFDUjtJQUVBLHlJQUF5STtJQUN6SUssU0FBMEI7UUFDeEIsTUFBTSxFQUFFbEIsUUFBUSxFQUFFRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUNpQixLQUFLO1FBQzdDLElBQUluQixhQUFhLFFBQVFFLGlCQUFpQixNQUFNO1lBQzlDLHFCQUNFLHFCQUFDSCxnQkFBQUE7Z0JBQ0NDLFVBQVVBO2dCQUNWRSxjQUFjQTtnQkFDZEQsT0FBTyxJQUFNLElBQUksQ0FBQ21CLFFBQVEsQ0FBQzt3QkFBRXBCLFVBQVU7b0JBQUs7O1FBR2xEO1FBRUEsT0FBTyxJQUFJLENBQUNxQixLQUFLLENBQUNDLFFBQVE7SUFDNUI7SUE3QkFDLFlBQVlGLEtBQTRCLENBQUU7UUFDeEMsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0YsS0FBSyxHQUFHO1lBQUVuQixVQUFVO1lBQU1FLGNBQWM7UUFBSztJQUNwRDtBQTJCRjtBQUVPLDBCQUEwQixLQUEyQztJQUEzQyxNQUFFb0IsUUFBUSxFQUFpQyxHQUEzQztJQUMvQixNQUFNbkIsU0FBU0MsQ0FBQUEsR0FBQUEsWUFBQUEsU0FBQUE7SUFDZixxQkFDRSxxQkFBQ04sdUJBQUFBO1FBQXNCSyxRQUFRQTtrQkFBU21COztBQUU1QztNQUxnQnpCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgQXBwUm91dGVySW5zdGFuY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJy4vbmF2aWdhdGlvbidcbmltcG9ydCB7IGdldFJlZGlyZWN0VHlwZUZyb21FcnJvciwgZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IgfSBmcm9tICcuL3JlZGlyZWN0J1xuaW1wb3J0IHsgUmVkaXJlY3RUeXBlLCBpc1JlZGlyZWN0RXJyb3IgfSBmcm9tICcuL3JlZGlyZWN0LWVycm9yJ1xuXG5pbnRlcmZhY2UgUmVkaXJlY3RCb3VuZGFyeVByb3BzIHtcbiAgcm91dGVyOiBBcHBSb3V0ZXJJbnN0YW5jZVxuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmZ1bmN0aW9uIEhhbmRsZVJlZGlyZWN0KHtcbiAgcmVkaXJlY3QsXG4gIHJlc2V0LFxuICByZWRpcmVjdFR5cGUsXG59OiB7XG4gIHJlZGlyZWN0OiBzdHJpbmdcbiAgcmVkaXJlY3RUeXBlOiBSZWRpcmVjdFR5cGVcbiAgcmVzZXQ6ICgpID0+IHZvaWRcbn0pIHtcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIFJlYWN0LnN0YXJ0VHJhbnNpdGlvbigoKSA9PiB7XG4gICAgICBpZiAocmVkaXJlY3RUeXBlID09PSBSZWRpcmVjdFR5cGUucHVzaCkge1xuICAgICAgICByb3V0ZXIucHVzaChyZWRpcmVjdCwge30pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByb3V0ZXIucmVwbGFjZShyZWRpcmVjdCwge30pXG4gICAgICB9XG4gICAgICByZXNldCgpXG4gICAgfSlcbiAgfSwgW3JlZGlyZWN0LCByZWRpcmVjdFR5cGUsIHJlc2V0LCByb3V0ZXJdKVxuXG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBjbGFzcyBSZWRpcmVjdEVycm9yQm91bmRhcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XG4gIFJlZGlyZWN0Qm91bmRhcnlQcm9wcyxcbiAgeyByZWRpcmVjdDogc3RyaW5nIHwgbnVsbDsgcmVkaXJlY3RUeXBlOiBSZWRpcmVjdFR5cGUgfCBudWxsIH1cbj4ge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogUmVkaXJlY3RCb3VuZGFyeVByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpXG4gICAgdGhpcy5zdGF0ZSA9IHsgcmVkaXJlY3Q6IG51bGwsIHJlZGlyZWN0VHlwZTogbnVsbCB9XG4gIH1cblxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICBpZiAoaXNSZWRpcmVjdEVycm9yKGVycm9yKSkge1xuICAgICAgY29uc3QgdXJsID0gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IoZXJyb3IpXG4gICAgICBjb25zdCByZWRpcmVjdFR5cGUgPSBnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IoZXJyb3IpXG4gICAgICByZXR1cm4geyByZWRpcmVjdDogdXJsLCByZWRpcmVjdFR5cGUgfVxuICAgIH1cbiAgICAvLyBSZS10aHJvdyBpZiBlcnJvciBpcyBub3QgZm9yIHJlZGlyZWN0XG4gICAgdGhyb3cgZXJyb3JcbiAgfVxuXG4gIC8vIEV4cGxpY2l0IHR5cGUgaXMgbmVlZGVkIHRvIGF2b2lkIHRoZSBnZW5lcmF0ZWQgYC5kLnRzYCBoYXZpbmcgYSB3aWRlIHJldHVybiB0eXBlIHRoYXQgY291bGQgYmUgc3BlY2lmaWMgdG8gdGhlIGBAdHlwZXMvcmVhY3RgIHZlcnNpb24uXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgcmVkaXJlY3QsIHJlZGlyZWN0VHlwZSB9ID0gdGhpcy5zdGF0ZVxuICAgIGlmIChyZWRpcmVjdCAhPT0gbnVsbCAmJiByZWRpcmVjdFR5cGUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxIYW5kbGVSZWRpcmVjdFxuICAgICAgICAgIHJlZGlyZWN0PXtyZWRpcmVjdH1cbiAgICAgICAgICByZWRpcmVjdFR5cGU9e3JlZGlyZWN0VHlwZX1cbiAgICAgICAgICByZXNldD17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHJlZGlyZWN0OiBudWxsIH0pfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlZGlyZWN0Qm91bmRhcnkoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuICByZXR1cm4gKFxuICAgIDxSZWRpcmVjdEVycm9yQm91bmRhcnkgcm91dGVyPXtyb3V0ZXJ9PntjaGlsZHJlbn08L1JlZGlyZWN0RXJyb3JCb3VuZGFyeT5cbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJlZGlyZWN0Qm91bmRhcnkiLCJSZWRpcmVjdEVycm9yQm91bmRhcnkiLCJIYW5kbGVSZWRpcmVjdCIsInJlZGlyZWN0IiwicmVzZXQiLCJyZWRpcmVjdFR5cGUiLCJyb3V0ZXIiLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJSZWFjdCIsInN0YXJ0VHJhbnNpdGlvbiIsIlJlZGlyZWN0VHlwZSIsInB1c2giLCJyZXBsYWNlIiwiQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJpc1JlZGlyZWN0RXJyb3IiLCJ1cmwiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsImdldFJlZGlyZWN0VHlwZUZyb21FcnJvciIsInJlbmRlciIsInN0YXRlIiwic2V0U3RhdGUiLCJwcm9wcyIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-boundary.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-error.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 REDIRECT_ERROR_CODE: function() {\n return REDIRECT_ERROR_CODE;\n },\n RedirectType: function() {\n return RedirectType;\n },\n isRedirectError: function() {\n return isRedirectError;\n }\n});\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst REDIRECT_ERROR_CODE = 'NEXT_REDIRECT';\nvar RedirectType = /*#__PURE__*/ function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n return RedirectType;\n}({});\nfunction isRedirectError(error) {\n if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') {\n return false;\n }\n const digest = error.digest.split(';');\n const [errorCode, type] = digest;\n const destination = digest.slice(2, -2).join(';');\n const status = digest.at(-2);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === 'replace' || type === 'push') && typeof destination === 'string' && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;\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=redirect-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QtZXJyb3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBRWFBLG1CQUFtQjtlQUFuQkE7O0lBRURDLFlBQVk7ZUFBWkE7O0lBZ0JJQyxlQUFlO2VBQWZBOzs7Z0RBcEJtQjtBQUU1QixNQUFNRixzQkFBc0I7QUFFNUIsSUFBS0MsZUFBQUEsV0FBQUEsR0FBQUEsU0FBQUEsWUFBQUE7OztXQUFBQTs7QUFnQkwsU0FBU0MsZ0JBQWdCQyxLQUFjO0lBQzVDLElBQ0UsT0FBT0EsVUFBVSxZQUNqQkEsVUFBVSxRQUNWLENBQUUsYUFBWUEsS0FBQUEsQ0FBSSxJQUNsQixPQUFPQSxNQUFNQyxNQUFNLEtBQUssVUFDeEI7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxNQUFNQSxTQUFTRCxNQUFNQyxNQUFNLENBQUNDLEtBQUssQ0FBQztJQUNsQyxNQUFNLENBQUNDLFdBQVdDLEtBQUssR0FBR0g7SUFDMUIsTUFBTUksY0FBY0osT0FBT0ssS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHQyxJQUFJLENBQUM7SUFDN0MsTUFBTUMsU0FBU1AsT0FBT1EsRUFBRSxDQUFDLENBQUM7SUFFMUIsTUFBTUMsYUFBYUMsT0FBT0g7SUFFMUIsT0FDRUwsY0FBY04sdUJBQ2JPLENBQUFBLFNBQVMsYUFBYUEsU0FBUyxPQUFLLElBQ3JDLE9BQU9DLGdCQUFnQixZQUN2QixDQUFDTyxNQUFNRixlQUNQQSxjQUFjRyxvQkFBQUEsa0JBQWtCO0FBRXBDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWVycm9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZGlyZWN0U3RhdHVzQ29kZSB9IGZyb20gJy4vcmVkaXJlY3Qtc3RhdHVzLWNvZGUnXG5cbmV4cG9ydCBjb25zdCBSRURJUkVDVF9FUlJPUl9DT0RFID0gJ05FWFRfUkVESVJFQ1QnXG5cbmV4cG9ydCBlbnVtIFJlZGlyZWN0VHlwZSB7XG4gIHB1c2ggPSAncHVzaCcsXG4gIHJlcGxhY2UgPSAncmVwbGFjZScsXG59XG5cbmV4cG9ydCB0eXBlIFJlZGlyZWN0RXJyb3IgPSBFcnJvciAmIHtcbiAgZGlnZXN0OiBgJHt0eXBlb2YgUkVESVJFQ1RfRVJST1JfQ09ERX07JHtSZWRpcmVjdFR5cGV9OyR7c3RyaW5nfTske1JlZGlyZWN0U3RhdHVzQ29kZX07YFxufVxuXG4vKipcbiAqIENoZWNrcyBhbiBlcnJvciB0byBkZXRlcm1pbmUgaWYgaXQncyBhbiBlcnJvciBnZW5lcmF0ZWQgYnkgdGhlXG4gKiBgcmVkaXJlY3QodXJsKWAgaGVscGVyLlxuICpcbiAqIEBwYXJhbSBlcnJvciB0aGUgZXJyb3IgdGhhdCBtYXkgcmVmZXJlbmNlIGEgcmVkaXJlY3QgZXJyb3JcbiAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGVycm9yIGlzIGEgcmVkaXJlY3QgZXJyb3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUmVkaXJlY3RFcnJvcihlcnJvcjogdW5rbm93bik6IGVycm9yIGlzIFJlZGlyZWN0RXJyb3Ige1xuICBpZiAoXG4gICAgdHlwZW9mIGVycm9yICE9PSAnb2JqZWN0JyB8fFxuICAgIGVycm9yID09PSBudWxsIHx8XG4gICAgISgnZGlnZXN0JyBpbiBlcnJvcikgfHxcbiAgICB0eXBlb2YgZXJyb3IuZGlnZXN0ICE9PSAnc3RyaW5nJ1xuICApIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGRpZ2VzdCA9IGVycm9yLmRpZ2VzdC5zcGxpdCgnOycpXG4gIGNvbnN0IFtlcnJvckNvZGUsIHR5cGVdID0gZGlnZXN0XG4gIGNvbnN0IGRlc3RpbmF0aW9uID0gZGlnZXN0LnNsaWNlKDIsIC0yKS5qb2luKCc7JylcbiAgY29uc3Qgc3RhdHVzID0gZGlnZXN0LmF0KC0yKVxuXG4gIGNvbnN0IHN0YXR1c0NvZGUgPSBOdW1iZXIoc3RhdHVzKVxuXG4gIHJldHVybiAoXG4gICAgZXJyb3JDb2RlID09PSBSRURJUkVDVF9FUlJPUl9DT0RFICYmXG4gICAgKHR5cGUgPT09ICdyZXBsYWNlJyB8fCB0eXBlID09PSAncHVzaCcpICYmXG4gICAgdHlwZW9mIGRlc3RpbmF0aW9uID09PSAnc3RyaW5nJyAmJlxuICAgICFpc05hTihzdGF0dXNDb2RlKSAmJlxuICAgIHN0YXR1c0NvZGUgaW4gUmVkaXJlY3RTdGF0dXNDb2RlXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSRURJUkVDVF9FUlJPUl9DT0RFIiwiUmVkaXJlY3RUeXBlIiwiaXNSZWRpcmVjdEVycm9yIiwiZXJyb3IiLCJkaWdlc3QiLCJzcGxpdCIsImVycm9yQ29kZSIsInR5cGUiLCJkZXN0aW5hdGlvbiIsInNsaWNlIiwiam9pbiIsInN0YXR1cyIsImF0Iiwic3RhdHVzQ29kZSIsIk51bWJlciIsImlzTmFOIiwiUmVkaXJlY3RTdGF0dXNDb2RlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-status-code.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RedirectStatusCode\", ({\n enumerable: true,\n get: function() {\n return RedirectStatusCode;\n }\n}));\nvar RedirectStatusCode = /*#__PURE__*/ function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n return RedirectStatusCode;\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=redirect-status-code.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3Qtc3RhdHVzLWNvZGUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFBWUE7OztlQUFBQTs7O0FBQUwsSUFBS0EscUJBQUFBLFdBQUFBLEdBQUFBLFNBQUFBLGtCQUFBQTs7OztXQUFBQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWRpcmVjdC1zdGF0dXMtY29kZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBSZWRpcmVjdFN0YXR1c0NvZGUge1xuICBTZWVPdGhlciA9IDMwMyxcbiAgVGVtcG9yYXJ5UmVkaXJlY3QgPSAzMDcsXG4gIFBlcm1hbmVudFJlZGlyZWN0ID0gMzA4LFxufVxuIl0sIm5hbWVzIjpbIlJlZGlyZWN0U3RhdHVzQ29kZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect.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 getRedirectError: function() {\n return getRedirectError;\n },\n getRedirectStatusCodeFromError: function() {\n return getRedirectStatusCodeFromError;\n },\n getRedirectTypeFromError: function() {\n return getRedirectTypeFromError;\n },\n getURLFromRedirectError: function() {\n return getURLFromRedirectError;\n },\n permanentRedirect: function() {\n return permanentRedirect;\n },\n redirect: function() {\n return redirect;\n }\n});\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst _redirecterror = __webpack_require__(/*! ./redirect-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\");\nconst actionAsyncStorage = false ? 0 : undefined;\nfunction getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;\n const error = Object.defineProperty(new Error(_redirecterror.REDIRECT_ERROR_CODE), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.digest = _redirecterror.REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n return error;\n}\nfunction redirect(/** The URL to redirect to */ url, type) {\n var _actionAsyncStorage_getStore;\n type != null ? type : type = (actionAsyncStorage == null ? void 0 : (_actionAsyncStorage_getStore = actionAsyncStorage.getStore()) == null ? void 0 : _actionAsyncStorage_getStore.isAction) ? _redirecterror.RedirectType.push : _redirecterror.RedirectType.replace;\n throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);\n}\nfunction permanentRedirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = _redirecterror.RedirectType.replace;\n throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.PermanentRedirect);\n}\nfunction getURLFromRedirectError(error) {\n if (!(0, _redirecterror.isRedirectError)(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(';').slice(2, -2).join(';');\n}\nfunction getRedirectTypeFromError(error) {\n if (!(0, _redirecterror.isRedirectError)(error)) {\n throw Object.defineProperty(new Error('Not a redirect error'), \"__NEXT_ERROR_CODE\", {\n value: \"E260\",\n enumerable: false,\n configurable: true\n });\n }\n return error.digest.split(';', 2)[1];\n}\nfunction getRedirectStatusCodeFromError(error) {\n if (!(0, _redirecterror.isRedirectError)(error)) {\n throw Object.defineProperty(new Error('Not a redirect error'), \"__NEXT_ERROR_CODE\", {\n value: \"E260\",\n enumerable: false,\n configurable: true\n });\n }\n return Number(error.digest.split(';').at(-2));\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=redirect.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZWdCQSxnQkFBZ0I7ZUFBaEJBOztJQTZFQUMsOEJBQThCO2VBQTlCQTs7SUFSQUMsd0JBQXdCO2VBQXhCQTs7SUFSQUMsdUJBQXVCO2VBQXZCQTs7SUFoQkFDLGlCQUFpQjtlQUFqQkE7O0lBdkJBQyxRQUFRO2VBQVJBOzs7Z0RBckNtQjsyQ0FNNUI7QUFFUCxNQUFNQyxxQkFDSixNQUE2QixHQUV2QkUsQ0FDa0IsR0FDcEJDO0FBRUMsU0FBU1QsaUJBQ2RVLEdBQVcsRUFDWEMsSUFBa0IsRUFDbEJDLFVBQXFFO0lBQXJFQSxJQUFBQSxlQUFBQSxLQUFBQSxHQUFBQSxhQUFpQ0Msb0JBQUFBLGtCQUFrQixDQUFDQyxpQkFBaUI7SUFFckUsTUFBTUMsUUFBUSxxQkFBOEIsQ0FBOUIsSUFBSUMsTUFBTUMsZUFBQUEsbUJBQW1CLEdBQTdCO2VBQUE7b0JBQUE7c0JBQUE7SUFBNkI7SUFDM0NGLE1BQU1HLE1BQU0sR0FBTUQsZUFBQUEsbUJBQW1CLEdBQUMsTUFBR04sT0FBSyxNQUFHRCxNQUFJLE1BQUdFLGFBQVc7SUFDbkUsT0FBT0c7QUFDVDtBQWNPLFNBQVNWLFNBQ2QsMkJBQTJCLEdBQzNCSyxHQUFXLEVBQ1hDLElBQW1CO1FBRVZMO0lBQVRLLFFBQUFBLE9BQUFBLE9BQUFBLE9BQVNMLENBQUFBLHNCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxDQUFBQSwrQkFBQUEsbUJBQW9CYSxRQUFRLHVCQUE1QmIsNkJBQWdDYyxRQUFBQSxJQUNyQ0MsZUFBQUEsWUFBWSxDQUFDQyxJQUFJLEdBQ2pCRCxlQUFBQSxZQUFZLENBQUNFLE9BQU87SUFFeEIsTUFBTXZCLGlCQUFpQlUsS0FBS0MsTUFBTUUsb0JBQUFBLGtCQUFrQixDQUFDQyxpQkFBaUI7QUFDeEU7QUFhTyxTQUFTVixrQkFDZCwyQkFBMkIsR0FDM0JNLEdBQVcsRUFDWEMsSUFBeUM7SUFBekNBLElBQUFBLFNBQUFBLEtBQUFBLEdBQUFBLE9BQXFCVSxlQUFBQSxZQUFZLENBQUNFLE9BQU87SUFFekMsTUFBTXZCLGlCQUFpQlUsS0FBS0MsTUFBTUUsb0JBQUFBLGtCQUFrQixDQUFDVyxpQkFBaUI7QUFDeEU7QUFVTyxTQUFTckIsd0JBQXdCWSxLQUFjO0lBQ3BELElBQUksQ0FBQ1UsQ0FBQUEsR0FBQUEsZUFBQUEsZUFBQUEsRUFBZ0JWLFFBQVEsT0FBTztJQUVwQyx3RUFBd0U7SUFDeEUsa0JBQWtCO0lBQ2xCLE9BQU9BLE1BQU1HLE1BQU0sQ0FBQ1EsS0FBSyxDQUFDLEtBQUtDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBR0MsSUFBSSxDQUFDO0FBQ25EO0FBRU8sU0FBUzFCLHlCQUF5QmEsS0FBb0I7SUFDM0QsSUFBSSxDQUFDVSxDQUFBQSxHQUFBQSxlQUFBQSxlQUFBQSxFQUFnQlYsUUFBUTtRQUMzQixNQUFNLHFCQUFpQyxDQUFqQyxJQUFJQyxNQUFNLHlCQUFWO21CQUFBO3dCQUFBOzBCQUFBO1FBQWdDO0lBQ3hDO0lBRUEsT0FBT0QsTUFBTUcsTUFBTSxDQUFDUSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTtBQUN0QztBQUVPLFNBQVN6QiwrQkFBK0JjLEtBQW9CO0lBQ2pFLElBQUksQ0FBQ1UsQ0FBQUEsR0FBQUEsZUFBQUEsZUFBQUEsRUFBZ0JWLFFBQVE7UUFDM0IsTUFBTSxxQkFBaUMsQ0FBakMsSUFBSUMsTUFBTSx5QkFBVjttQkFBQTt3QkFBQTswQkFBQTtRQUFnQztJQUN4QztJQUVBLE9BQU9hLE9BQU9kLE1BQU1HLE1BQU0sQ0FBQ1EsS0FBSyxDQUFDLEtBQUtJLEVBQUUsQ0FBQyxDQUFDO0FBQzVDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZGlyZWN0U3RhdHVzQ29kZSB9IGZyb20gJy4vcmVkaXJlY3Qtc3RhdHVzLWNvZGUnXG5pbXBvcnQge1xuICBSZWRpcmVjdFR5cGUsXG4gIHR5cGUgUmVkaXJlY3RFcnJvcixcbiAgaXNSZWRpcmVjdEVycm9yLFxuICBSRURJUkVDVF9FUlJPUl9DT0RFLFxufSBmcm9tICcuL3JlZGlyZWN0LWVycm9yJ1xuXG5jb25zdCBhY3Rpb25Bc3luY1N0b3JhZ2UgPVxuICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJ1xuICAgID8gKFxuICAgICAgICByZXF1aXJlKCcuLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci9hY3Rpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbCcpIGFzIHR5cGVvZiBpbXBvcnQoJy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL2FjdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsJylcbiAgICAgICkuYWN0aW9uQXN5bmNTdG9yYWdlXG4gICAgOiB1bmRlZmluZWRcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlZGlyZWN0RXJyb3IoXG4gIHVybDogc3RyaW5nLFxuICB0eXBlOiBSZWRpcmVjdFR5cGUsXG4gIHN0YXR1c0NvZGU6IFJlZGlyZWN0U3RhdHVzQ29kZSA9IFJlZGlyZWN0U3RhdHVzQ29kZS5UZW1wb3JhcnlSZWRpcmVjdFxuKTogUmVkaXJlY3RFcnJvciB7XG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFJFRElSRUNUX0VSUk9SX0NPREUpIGFzIFJlZGlyZWN0RXJyb3JcbiAgZXJyb3IuZGlnZXN0ID0gYCR7UkVESVJFQ1RfRVJST1JfQ09ERX07JHt0eXBlfTske3VybH07JHtzdGF0dXNDb2RlfTtgXG4gIHJldHVybiBlcnJvclxufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byByZWRpcmVjdCB0aGUgdXNlciB0byBhbm90aGVyIFVSTC4gSXQgY2FuIGJlIHVzZWQgaW5cbiAqIFtTZXJ2ZXIgQ29tcG9uZW50c10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3NlcnZlci1jb21wb25lbnRzKSxcbiAqIFtSb3V0ZSBIYW5kbGVyc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9yb3V0ZS1oYW5kbGVycyksIGFuZFxuICogW1NlcnZlciBBY3Rpb25zXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL3NlcnZlci1hY3Rpb25zLWFuZC1tdXRhdGlvbnMpLlxuICpcbiAqIC0gSW4gYSBTZXJ2ZXIgQ29tcG9uZW50LCB0aGlzIHdpbGwgaW5zZXJ0IGEgbWV0YSB0YWcgdG8gcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlIHRhcmdldCBwYWdlLlxuICogLSBJbiBhIFJvdXRlIEhhbmRsZXIgb3IgU2VydmVyIEFjdGlvbiwgaXQgd2lsbCBzZXJ2ZSBhIDMwNy8zMDMgdG8gdGhlIGNhbGxlci5cbiAqIC0gSW4gYSBTZXJ2ZXIgQWN0aW9uLCB0eXBlIGRlZmF1bHRzIHRvICdwdXNoJyBhbmQgJ3JlcGxhY2UnIGVsc2V3aGVyZS5cbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGByZWRpcmVjdGBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9yZWRpcmVjdClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZGlyZWN0KFxuICAvKiogVGhlIFVSTCB0byByZWRpcmVjdCB0byAqL1xuICB1cmw6IHN0cmluZyxcbiAgdHlwZT86IFJlZGlyZWN0VHlwZVxuKTogbmV2ZXIge1xuICB0eXBlID8/PSBhY3Rpb25Bc3luY1N0b3JhZ2U/LmdldFN0b3JlKCk/LmlzQWN0aW9uXG4gICAgPyBSZWRpcmVjdFR5cGUucHVzaFxuICAgIDogUmVkaXJlY3RUeXBlLnJlcGxhY2VcblxuICB0aHJvdyBnZXRSZWRpcmVjdEVycm9yKHVybCwgdHlwZSwgUmVkaXJlY3RTdGF0dXNDb2RlLlRlbXBvcmFyeVJlZGlyZWN0KVxufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byByZWRpcmVjdCB0aGUgdXNlciB0byBhbm90aGVyIFVSTC4gSXQgY2FuIGJlIHVzZWQgaW5cbiAqIFtTZXJ2ZXIgQ29tcG9uZW50c10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3NlcnZlci1jb21wb25lbnRzKSxcbiAqIFtSb3V0ZSBIYW5kbGVyc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9yb3V0ZS1oYW5kbGVycyksIGFuZFxuICogW1NlcnZlciBBY3Rpb25zXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL3NlcnZlci1hY3Rpb25zLWFuZC1tdXRhdGlvbnMpLlxuICpcbiAqIC0gSW4gYSBTZXJ2ZXIgQ29tcG9uZW50LCB0aGlzIHdpbGwgaW5zZXJ0IGEgbWV0YSB0YWcgdG8gcmVkaXJlY3QgdGhlIHVzZXIgdG8gdGhlIHRhcmdldCBwYWdlLlxuICogLSBJbiBhIFJvdXRlIEhhbmRsZXIgb3IgU2VydmVyIEFjdGlvbiwgaXQgd2lsbCBzZXJ2ZSBhIDMwOC8zMDMgdG8gdGhlIGNhbGxlci5cbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGByZWRpcmVjdGBdKGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL2Z1bmN0aW9ucy9yZWRpcmVjdClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlcm1hbmVudFJlZGlyZWN0KFxuICAvKiogVGhlIFVSTCB0byByZWRpcmVjdCB0byAqL1xuICB1cmw6IHN0cmluZyxcbiAgdHlwZTogUmVkaXJlY3RUeXBlID0gUmVkaXJlY3RUeXBlLnJlcGxhY2Vcbik6IG5ldmVyIHtcbiAgdGhyb3cgZ2V0UmVkaXJlY3RFcnJvcih1cmwsIHR5cGUsIFJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdClcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBlbmNvZGVkIFVSTCBmcm9tIHRoZSBlcnJvciBpZiBpdCdzIGEgUmVkaXJlY3RFcnJvciwgbnVsbFxuICogb3RoZXJ3aXNlLiBOb3RlIHRoYXQgdGhpcyBkb2VzIG5vdCB2YWxpZGF0ZSB0aGUgVVJMIHJldHVybmVkLlxuICpcbiAqIEBwYXJhbSBlcnJvciB0aGUgZXJyb3IgdGhhdCBtYXkgYmUgYSByZWRpcmVjdCBlcnJvclxuICogQHJldHVybiB0aGUgdXJsIGlmIHRoZSBlcnJvciB3YXMgYSByZWRpcmVjdCBlcnJvclxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IoZXJyb3I6IFJlZGlyZWN0RXJyb3IpOiBzdHJpbmdcbmV4cG9ydCBmdW5jdGlvbiBnZXRVUkxGcm9tUmVkaXJlY3RFcnJvcihlcnJvcjogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICBpZiAoIWlzUmVkaXJlY3RFcnJvcihlcnJvcikpIHJldHVybiBudWxsXG5cbiAgLy8gU2xpY2VzIG9mZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkaWdlc3QgdGhhdCBjb250YWlucyB0aGUgY29kZSBhbmQgdGhlXG4gIC8vIHNlcGFyYXRpbmcgJzsnLlxuICByZXR1cm4gZXJyb3IuZGlnZXN0LnNwbGl0KCc7Jykuc2xpY2UoMiwgLTIpLmpvaW4oJzsnKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKGVycm9yOiBSZWRpcmVjdEVycm9yKTogUmVkaXJlY3RUeXBlIHtcbiAgaWYgKCFpc1JlZGlyZWN0RXJyb3IoZXJyb3IpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdOb3QgYSByZWRpcmVjdCBlcnJvcicpXG4gIH1cblxuICByZXR1cm4gZXJyb3IuZGlnZXN0LnNwbGl0KCc7JywgMilbMV0gYXMgUmVkaXJlY3RUeXBlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3IoZXJyb3I6IFJlZGlyZWN0RXJyb3IpOiBudW1iZXIge1xuICBpZiAoIWlzUmVkaXJlY3RFcnJvcihlcnJvcikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vdCBhIHJlZGlyZWN0IGVycm9yJylcbiAgfVxuXG4gIHJldHVybiBOdW1iZXIoZXJyb3IuZGlnZXN0LnNwbGl0KCc7JykuYXQoLTIpKVxufVxuIl0sIm5hbWVzIjpbImdldFJlZGlyZWN0RXJyb3IiLCJnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3IiLCJnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IiLCJnZXRVUkxGcm9tUmVkaXJlY3RFcnJvciIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJhY3Rpb25Bc3luY1N0b3JhZ2UiLCJ3aW5kb3ciLCJyZXF1aXJlIiwidW5kZWZpbmVkIiwidXJsIiwidHlwZSIsInN0YXR1c0NvZGUiLCJSZWRpcmVjdFN0YXR1c0NvZGUiLCJUZW1wb3JhcnlSZWRpcmVjdCIsImVycm9yIiwiRXJyb3IiLCJSRURJUkVDVF9FUlJPUl9DT0RFIiwiZGlnZXN0IiwiZ2V0U3RvcmUiLCJpc0FjdGlvbiIsIlJlZGlyZWN0VHlwZSIsInB1c2giLCJyZXBsYWNlIiwiUGVybWFuZW50UmVkaXJlY3QiLCJpc1JlZGlyZWN0RXJyb3IiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsIk51bWJlciIsImF0Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/aliased-prefetch-navigations.js": /*!*************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/aliased-prefetch-navigations.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 addSearchParamsToPageSegments: function() {\n return addSearchParamsToPageSegments;\n },\n handleAliasedPrefetchEntry: function() {\n return handleAliasedPrefetchEntry;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _approuter = __webpack_require__(/*! ../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ./apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _fillcachewithnewsubtreedata = __webpack_require__(/*! ./fill-cache-with-new-subtree-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\");\nconst _handlemutable = __webpack_require__(/*! ./handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nfunction handleAliasedPrefetchEntry(navigatedAt, state, flightData, url, mutable) {\n let currentTree = state.tree;\n let currentCache = state.cache;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n let applied;\n if (typeof flightData === 'string') {\n return false;\n }\n for (const normalizedFlightData of flightData){\n // If the segment doesn't have a loading component, we don't need to do anything.\n if (!hasLoadingComponentInSeedData(normalizedFlightData.seedData)) {\n continue;\n }\n let treePatch = normalizedFlightData.tree;\n // Segments are keyed by searchParams (e.g. __PAGE__?{\"foo\":\"bar\"}). We might return a less specific, param-less entry,\n // so we ensure that the final tree contains the correct searchParams (reflected in the URL) are provided in the updated FlightRouterState tree.\n // We only do this on the first read, as otherwise we'd be overwriting the searchParams that may have already been set\n treePatch = addSearchParamsToPageSegments(treePatch, Object.fromEntries(url.searchParams));\n const { seedData, isRootRender, pathToSegment } = normalizedFlightData;\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n '',\n ...pathToSegment\n ];\n // Segments are keyed by searchParams (e.g. __PAGE__?{\"foo\":\"bar\"}). We might return a less specific, param-less entry,\n // so we ensure that the final tree contains the correct searchParams (reflected in the URL) are provided in the updated FlightRouterState tree.\n // We only do this on the first read, as otherwise we'd be overwriting the searchParams that may have already been set\n treePatch = addSearchParamsToPageSegments(treePatch, Object.fromEntries(url.searchParams));\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch, href);\n const newCache = (0, _approuter.createEmptyCacheNode)();\n // The prefetch cache entry was aliased -- this signals that we only fill in the cache with the\n // loading state and not the actual parallel route seed data.\n if (isRootRender && seedData) {\n // Fill in the cache with the new loading / rsc data\n const rsc = seedData[1];\n const loading = seedData[3];\n newCache.loading = loading;\n newCache.rsc = rsc;\n // Construct a new tree and apply the aliased loading state for each parallel route\n fillNewTreeWithOnlyLoadingSegments(navigatedAt, newCache, currentCache, treePatch, seedData);\n } else {\n // Copy rsc for the root node of the cache.\n newCache.rsc = currentCache.rsc;\n newCache.prefetchRsc = currentCache.prefetchRsc;\n newCache.loading = currentCache.loading;\n newCache.parallelRoutes = new Map(currentCache.parallelRoutes);\n // copy the loading state only into the leaf node (the part that changed)\n (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeDataButOnlyLoading)(navigatedAt, newCache, currentCache, normalizedFlightData);\n }\n // If we don't have an updated tree, there's no reason to update the cache, as the tree\n // dictates what cache nodes to render.\n if (newTree) {\n currentTree = newTree;\n currentCache = newCache;\n applied = true;\n }\n }\n if (!applied) {\n return false;\n }\n mutable.patchedTree = currentTree;\n mutable.cache = currentCache;\n mutable.canonicalUrl = href;\n mutable.hashFragment = url.hash;\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nfunction hasLoadingComponentInSeedData(seedData) {\n if (!seedData) return false;\n const parallelRoutes = seedData[2];\n const loading = seedData[3];\n if (loading) {\n return true;\n }\n for(const key in parallelRoutes){\n if (hasLoadingComponentInSeedData(parallelRoutes[key])) {\n return true;\n }\n }\n return false;\n}\nfunction fillNewTreeWithOnlyLoadingSegments(navigatedAt, newCache, existingCache, routerState, cacheNodeSeedData) {\n const isLastSegment = Object.keys(routerState[1]).length === 0;\n if (isLastSegment) {\n return;\n }\n for(const key in routerState[1]){\n const parallelRouteState = routerState[1][key];\n const segmentForParallelRoute = parallelRouteState[0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[2][key] !== undefined ? cacheNodeSeedData[2][key] : null;\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const rsc = parallelSeedData[1];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n // copy the layout but null the page segment as that's not meant to be used\n rsc: segmentForParallelRoute.includes(_segment.PAGE_SEGMENT_KEY) ? null : rsc,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading,\n navigatedAt\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null,\n navigatedAt: -1\n };\n }\n const existingParallelRoutes = newCache.parallelRoutes.get(key);\n if (existingParallelRoutes) {\n existingParallelRoutes.set(cacheKey, newCacheNode);\n } else {\n newCache.parallelRoutes.set(key, new Map([\n [\n cacheKey,\n newCacheNode\n ]\n ]));\n }\n fillNewTreeWithOnlyLoadingSegments(navigatedAt, newCacheNode, existingCache, parallelRouteState, parallelSeedData);\n }\n}\nfunction addSearchParamsToPageSegments(flightRouterState, searchParams) {\n const [segment, parallelRoutes, ...rest] = flightRouterState;\n // If it's a page segment, modify the segment by adding search params\n if (segment.includes(_segment.PAGE_SEGMENT_KEY)) {\n const newSegment = (0, _segment.addSearchParamsIfPageSegment)(segment, searchParams);\n return [\n newSegment,\n parallelRoutes,\n ...rest\n ];\n }\n // Otherwise, recurse through the parallel routes and return a new tree\n const updatedParallelRoutes = {};\n for (const [key, parallelRoute] of Object.entries(parallelRoutes)){\n updatedParallelRoutes[key] = addSearchParamsToPageSegments(parallelRoute, searchParams);\n }\n return [\n segment,\n updatedParallelRoutes,\n ...rest\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=aliased-prefetch-navigations.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYWxpYXNlZC1wcmVmZXRjaC1uYXZpZ2F0aW9ucy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFtT2dCQSw2QkFBNkI7ZUFBN0JBOztJQTFNQUMsMEJBQTBCO2VBQTFCQTs7O3FDQWpCVDt1Q0FFOEI7eURBQ087K0NBQ1Y7a0RBQ0c7eURBQ3FCOzJDQUM1QjtBQVV2QixTQUFTQSwyQkFDZEMsV0FBbUIsRUFDbkJDLEtBQTJCLEVBQzNCQyxVQUEyQyxFQUMzQ0MsR0FBUSxFQUNSQyxPQUFnQjtJQUVoQixJQUFJQyxjQUFjSixNQUFNSyxJQUFJO0lBQzVCLElBQUlDLGVBQWVOLE1BQU1PLEtBQUs7SUFDOUIsTUFBTUMsT0FBT0MsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFBQSxFQUFrQlA7SUFDL0IsSUFBSVE7SUFFSixJQUFJLE9BQU9ULGVBQWUsVUFBVTtRQUNsQyxPQUFPO0lBQ1Q7SUFFQSxLQUFLLE1BQU1VLHdCQUF3QlYsV0FBWTtRQUM3QyxpRkFBaUY7UUFDakYsSUFBSSxDQUFDVyw4QkFBOEJELHFCQUFxQkUsUUFBUSxHQUFHO1lBQ2pFO1FBQ0Y7UUFFQSxJQUFJQyxZQUFZSCxxQkFBcUJOLElBQUk7UUFDekMsdUhBQXVIO1FBQ3ZILGdKQUFnSjtRQUNoSixzSEFBc0g7UUFDdEhTLFlBQVlqQiw4QkFDVmlCLFdBQ0FDLE9BQU9DLFdBQVcsQ0FBQ2QsSUFBSWUsWUFBWTtRQUdyQyxNQUFNLEVBQUVKLFFBQVEsRUFBRUssWUFBWSxFQUFFQyxhQUFhLEVBQUUsR0FBR1I7UUFDbEQsc0JBQXNCO1FBQ3RCLE1BQU1TLG9DQUFvQztZQUFDO2VBQU9EO1NBQWM7UUFFaEUsdUhBQXVIO1FBQ3ZILGdKQUFnSjtRQUNoSixzSEFBc0g7UUFDdEhMLFlBQVlqQiw4QkFDVmlCLFdBQ0FDLE9BQU9DLFdBQVcsQ0FBQ2QsSUFBSWUs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QUFpQjtRQUNqRW1DLHFCQUFxQixDQUFDM0IsSUFBSSxHQUFHeEMsOEJBQzNCb0UsZUFDQWhEO0lBRUo7SUFFQSxPQUFPO1FBQUMyQztRQUFTSTtXQUEwQkg7S0FBSztBQUNsRCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FsaWFzZWQtcHJlZmV0Y2gtbmF2aWdhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDYWNoZU5vZGVTZWVkRGF0YSxcbiAgRmxpZ2h0Um91dGVyU3RhdGUsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7XG4gIGFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQsXG4gIFBBR0VfU0VHTUVOVF9LRVksXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudCdcbmltcG9ydCB0eXBlIHsgTm9ybWFsaXplZEZsaWdodERhdGEgfSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgY3JlYXRlRW1wdHlDYWNoZU5vZGUgfSBmcm9tICcuLi9hcHAtcm91dGVyJ1xuaW1wb3J0IHsgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIH0gZnJvbSAnLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZSdcbmltcG9ydCB7IGNyZWF0ZUhyZWZGcm9tVXJsIH0gZnJvbSAnLi9jcmVhdGUtaHJlZi1mcm9tLXVybCdcbmltcG9ydCB7IGNyZWF0ZVJvdXRlckNhY2hlS2V5IH0gZnJvbSAnLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleSdcbmltcG9ydCB7IGZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YUJ1dE9ubHlMb2FkaW5nIH0gZnJvbSAnLi9maWxsLWNhY2hlLXdpdGgtbmV3LXN1YnRyZWUtZGF0YSdcbmltcG9ydCB7IGhhbmRsZU11dGFibGUgfSBmcm9tICcuL2hhbmRsZS1tdXRhYmxlJ1xuaW1wb3J0IHR5cGUgeyBNdXRhYmxlLCBSZWFkb25seVJlZHVjZXJTdGF0ZSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbi8qKlxuICogVGhpcyBpcyBhIHN0b3AtZ2FwIHVudGlsIHBlci1zZWdtZW50IGNhY2hpbmcgaXMgaW1wbGVtZW50ZWQuIEl0IGxldmVyYWdlcyB0aGUgYGFsaWFzZWRgIGZsYWcgdGhhdCBpcyBhZGRlZFxuICogdG8gcHJlZmV0Y2ggZW50cmllcyB3aGVuIGl0J3MgZGV0ZXJtaW5lZCB0aGF0IHRoZSBsb2FkaW5nIHN0YXRlIGZyb20gdGhhdCBlbnRyeSBzaG91bGQgYmUgdXNlZCBmb3IgdGhpcyBuYXZpZ2F0aW9uLlxuICogVGhpcyBmdW5jdGlvbiB0YWtlcyB0aGUgYWxpYXNlZCBlbnRyeSBhbmQgb25seSBhcHBsaWVzIHRoZSBsb2FkaW5nIHN0YXRlIHRvIHRoZSB1cGRhdGVkIGNhY2hlIG5vZGUuXG4gKiBXZSBzaG91bGQgcmVtb3ZlIHRoaXMgb25jZSBwZXItc2VnbWVudCBmZXRjaGluZyBpcyBpbXBsZW1lbnRlZCBhcyBpZGVhbGx5IHRoZSBwcmVmZXRjaCBjYWNoZSB3aWxsIGNvbnRhaW4gYVxuICogbW9yZSBncmFudWxhciBzZWdtZW50IG1hcCBhbmQgc28gdGhlIHJvdXRlciB3aWxsIGJlIGFibGUgdG8gc2ltcGx5IHJlLXVzZSB0aGUgbG9hZGluZyBzZWdtZW50IGZvciB0aGUgbmV3IG5hdmlnYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVBbGlhc2VkUHJlZmV0Y2hFbnRyeShcbiAgbmF2aWdhdGVkQXQ6IG51bWJlcixcbiAgc3RhdGU6IFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICBmbGlnaHREYXRhOiBzdHJpbmcgfCBOb3JtYWxpemVkRmxpZ2h0RGF0YVtdLFxuICB1cmw6IFVSTCxcbiAgbXV0YWJsZTogTXV0YWJsZVxuKSB7XG4gIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWVcbiAgbGV0IGN1cnJlbnRDYWNoZSA9IHN0YXRlLmNhY2hlXG4gIGNvbnN0IGhyZWYgPSBjcmVhdGVIcmVmRnJvbVVybCh1cmwpXG4gIGxldCBhcHBsaWVkXG5cbiAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZm9yIChjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSBvZiBmbGlnaHREYXRhKSB7XG4gICAgLy8gSWYgdGhlIHNlZ21lbnQgZG9lc24ndCBoYXZlIGEgbG9hZGluZyBjb21wb25lbnQsIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcuXG4gICAgaWYgKCFoYXNMb2FkaW5nQ29tcG9uZW50SW5TZWVkRGF0YShub3JtYWxpemVkRmxpZ2h0RGF0YS5zZWVkRGF0YSkpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgbGV0IHRyZWVQYXRjaCA9IG5vcm1hbGl6ZWRGbGlnaHREYXRhLnRyZWVcbiAgICAvLyBTZWdtZW50cyBhcmUga2V5ZWQgYnkgc2VhcmNoUGFyYW1zIChlLmcuIF9fUEFHRV9fP3tcImZvb1wiOlwiYmFyXCJ9KS4gV2UgbWlnaHQgcmV0dXJuIGEgbGVzcyBzcGVjaWZpYywgcGFyYW0tbGVzcyBlbnRyeSxcbiAgICAvLyBzbyB3ZSBlbnN1cmUgdGhhdCB0aGUgZmluYWwgdHJlZSBjb250YWlucyB0aGUgY29ycmVjdCBzZWFyY2hQYXJhbXMgKHJlZmxlY3RlZCBpbiB0aGUgVVJMKSBhcmUgcHJvdmlkZWQgaW4gdGhlIHVwZGF0ZWQgRmxpZ2h0Um91dGVyU3RhdGUgdHJlZS5cbiAgICAvLyBXZSBvbmx5IGRvIHRoaXMgb24gdGhlIGZpcnN0IHJlYWQsIGFzIG90aGVyd2lzZSB3ZSdkIGJlIG92ZXJ3cml0aW5nIHRoZSBzZWFyY2hQYXJhbXMgdGhhdCBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gc2V0XG4gICAgdHJlZVBhdGNoID0gYWRkU2VhcmNoUGFyYW1zVG9QYWdlU2VnbWVudHMoXG4gICAgICB0cmVlUGF0Y2gsXG4gICAgICBPYmplY3QuZnJvbUVudHJpZXModXJsLnNlYXJjaFBhcmFtcylcbiAgICApXG5cbiAgICBjb25zdCB7IHNlZWREYXRhLCBpc1Jvb3RSZW5kZXIsIHBhdGhUb1NlZ21lbnQgfSA9IG5vcm1hbGl6ZWRGbGlnaHREYXRhXG4gICAgLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgIGNvbnN0IGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSA9IFsnJywgLi4ucGF0aFRvU2VnbWVudF1cblxuICAgIC8vIFNlZ21lbnRzIGFyZSBrZXllZCBieSBzZWFyY2hQYXJhbXMgKGUuZy4gX19QQUdFX18/e1wiZm9vXCI6XCJiYXJcIn0pLiBXZSBtaWdodCByZXR1cm4gYSBsZXNzIHNwZWNpZmljLCBwYXJhbS1sZXNzIGVudHJ5LFxuICAgIC8vIHNvIHdlIGVuc3VyZSB0aGF0IHRoZSBmaW5hbCB0cmVlIGNvbnRhaW5zIHRoZSBjb3JyZWN0IHNlYXJjaFBhcmFtcyAocmVmbGVjdGVkIGluIHRoZSBVUkwpIGFyZSBwcm92aWRlZCBpbiB0aGUgdXBkYXRlZCBGbGlnaHRSb3V0ZXJTdGF0ZSB0cmVlLlxuICAgIC8vIFdlIG9ubHkgZG8gdGhpcyBvbiB0aGUgZmlyc3QgcmVhZCwgYXMgb3RoZXJ3aXNlIHdlJ2QgYmUgb3ZlcndyaXRpbmcgdGhlIHNlYXJjaFBhcmFtcyB0aGF0IG1heSBoYXZlIGFscmVhZHkgYmVlbiBzZXRcbiAgICB0cmVlUGF0Y2ggPSBhZGRTZWFyY2hQYXJhbXNUb1BhZ2VTZWdtZW50cyhcbiAgICAgIHRyZWVQYXRjaCxcbiAgICAgIE9iamVjdC5mcm9tRW50cmllcyh1cmwuc2VhcmNoUGFyYW1zKVxuICAgIClcblxuICAgIGxldCBuZXdUcmVlID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlKFxuICAgICAgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5LFxuICAgICAgY3VycmVudFRyZWUsXG4gICAgICB0cmVlUGF0Y2gsXG4gICAgICBocmVmXG4gICAgKVxuXG4gICAgY29uc3QgbmV3Q2FjaGUgPSBjcmVhdGVFbXB0eUNhY2hlTm9kZSgpXG5cbiAgICAvLyBUaGUgcHJlZmV0Y2ggY2FjaGUgZW50cnkgd2FzIGFsaWFzZWQgLS0gdGhpcyBzaWduYWxzIHRoYXQgd2Ugb25seSBmaWxsIGluIHRoZSBjYWNoZSB3aXRoIHRoZVxuICAgIC8vIGxvYWRpbmcgc3RhdGUgYW5kIG5vdCB0aGUgYWN0dWFsIHBhcmFsbGVsIHJvdXRlIHNlZWQgZGF0YS5cbiAgICBpZiAoaXNSb290UmVuZGVyICYmIHNlZWREYXRhKSB7XG4gICAgICAvLyBGaWxsIGluIHRoZSBjYWNoZSB3aXRoIHRoZSBuZXcgbG9hZGluZyAvIHJzYyBkYXRhXG4gICAgICBjb25zdCByc2MgPSBzZWVkRGF0YVsxXVxuICAgICAgY29uc3QgbG9hZGluZyA9IHNlZWREYXRhWzNdXG4gICAgICBuZXdDYWNoZS5sb2FkaW5nID0gbG9hZGluZ1xuICAgICAgbmV3Q2FjaGUucnNjID0gcnNjXG5cbiAgICAgIC8vIENvbnN0cnVjdCBhIG5ldyB0cmVlIGFuZCBhcHBseSB0aGUgYWxpYXNlZCBsb2FkaW5nIHN0YXRlIGZvciBlYWNoIHBhcmFsbGVsIHJvdXRlXG4gICAgICBmaWxsTmV3VHJlZVdpdGhPbmx5TG9hZGluZ1NlZ21lbnRzKFxuICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgbmV3Q2FjaGUsXG4gICAgICAgIGN1cnJlbnRDYWNoZSxcbiAgICAgICAgdHJlZVBhdGNoLFxuICAgICAgICBzZWVkRGF0YVxuICAgICAgKVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBDb3B5IHJzYyBmb3IgdGhlIHJvb3Qgbm9kZSBvZiB0aGUgY2FjaGUuXG4gICAgICBuZXdDYWNoZS5yc2MgPSBjdXJyZW50Q2FjaGUucnNjXG4gICAgICBuZXdDYWNoZS5wcmVmZXRjaFJzYyA9IGN1cnJlbnRDYWNoZS5wcmVmZXRjaFJzY1xuICAgICAgbmV3Q2FjaGUubG9hZGluZyA9IGN1cnJlbnRDYWNoZS5sb2FkaW5nXG4gICAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAoY3VycmVudENhY2hlLnBhcmFsbGVsUm91dGVzKVxuXG4gICAgICAvLyBjb3B5IHRoZSBsb2FkaW5nIHN0YXRlIG9ubHkgaW50byB0aGUgbGVhZiBub2RlICh0aGUgcGFydCB0aGF0IGNoYW5nZWQpXG4gICAgICBmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGFCdXRPbmx5TG9hZGluZyhcbiAgICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICAgIG5ld0NhY2hlLFxuICAgICAgICBjdXJyZW50Q2FjaGUsXG4gICAgICAgIG5vcm1hbGl6ZWRGbGlnaHREYXRhXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhbiB1cGRhdGVkIHRyZWUsIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHVwZGF0ZSB0aGUgY2FjaGUsIGFzIHRoZSB0cmVlXG4gICAgLy8gZGljdGF0ZXMgd2hhdCBjYWNoZSBub2RlcyB0byByZW5kZXIuXG4gICAgaWYgKG5ld1RyZWUpIHtcbiAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZVxuICAgICAgY3VycmVudENhY2hlID0gbmV3Q2FjaGVcbiAgICAgIGFwcGxpZWQgPSB0cnVlXG4gICAgfVxuICB9XG5cbiAgaWYgKCFhcHBsaWVkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBtdXRhYmxlLnBhdGNoZWRUcmVlID0gY3VycmVudFRyZWVcbiAgbXV0YWJsZS5jYWNoZSA9IGN1cnJlbnRDYWNoZVxuICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IGhyZWZcbiAgbXV0YWJsZS5oYXNoRnJhZ21lbnQgPSB1cmwuaGFzaFxuXG4gIHJldHVybiBoYW5kbGVNdXRhYmxlKHN0YXRlLCBtdXRhYmxlKVxufVxuXG5mdW5jdGlvbiBoYXNMb2FkaW5nQ29tcG9uZW50SW5TZWVkRGF0YShzZWVkRGF0YTogQ2FjaGVOb2RlU2VlZERhdGEgfCBudWxsKSB7XG4gIGlmICghc2VlZERhdGEpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gc2VlZERhdGFbMl1cbiAgY29uc3QgbG9hZGluZyA9IHNlZWREYXRhWzNdXG5cbiAgaWYgKGxvYWRpbmcpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gcGFyYWxsZWxSb3V0ZXMpIHtcbiAgICBpZiAoaGFzTG9hZGluZ0NvbXBvbmVudEluU2VlZERhdGEocGFyYWxsZWxSb3V0ZXNba2V5XSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGZpbGxOZXdUcmVlV2l0aE9ubHlMb2FkaW5nU2VnbWVudHMoXG4gIG5hdmlnYXRlZEF0OiBudW1iZXIsXG4gIG5ld0NhY2hlOiBDYWNoZU5vZGUsXG4gIGV4aXN0aW5nQ2FjaGU6IENhY2hlTm9kZSxcbiAgcm91dGVyU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBjYWNoZU5vZGVTZWVkRGF0YTogQ2FjaGVOb2RlU2VlZERhdGEgfCBudWxsXG4pIHtcbiAgY29uc3QgaXNMYXN0U2VnbWVudCA9IE9iamVjdC5rZXlzKHJvdXRlclN0YXRlWzFdKS5sZW5ndGggPT09IDBcbiAgaWYgKGlzTGFzdFNlZ21lbnQpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IGluIHJvdXRlclN0YXRlWzFdKSB7XG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZVN0YXRlID0gcm91dGVyU3RhdGVbMV1ba2V5XVxuICAgIGNvbnN0IHNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlID0gcGFyYWxsZWxSb3V0ZVN0YXRlWzBdXG4gICAgY29uc3QgY2FjaGVLZXkgPSBjcmVhdGVSb3V0ZXJDYWNoZUtleShzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSlcblxuICAgIGNvbnN0IHBhcmFsbGVsU2VlZERhdGEgPVxuICAgICAgY2FjaGVOb2RlU2VlZERhdGEgIT09IG51bGwgJiYgY2FjaGVOb2RlU2VlZERhdGFbMl1ba2V5XSAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gY2FjaGVOb2RlU2VlZERhdGFbMl1ba2V5XVxuICAgICAgICA6IG51bGxcblxuICAgIGxldCBuZXdDYWNoZU5vZGU6IENhY2hlTm9kZVxuICAgIGlmIChwYXJhbGxlbFNlZWREYXRhICE9PSBudWxsKSB7XG4gICAgICAvLyBOZXcgZGF0YSB3YXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICBjb25zdCByc2MgPSBwYXJhbGxlbFNlZWREYXRhWzFdXG4gICAgICBjb25zdCBsb2FkaW5nID0gcGFyYWxsZWxTZWVkRGF0YVszXVxuICAgICAgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgLy8gY29weSB0aGUgbGF5b3V0IGJ1dCBudWxsIHRoZSBwYWdlIHNlZ21lbnQgYXMgdGhhdCdzIG5vdCBtZWFudCB0byBiZSB1c2VkXG4gICAgICAgIHJzYzogc2VnbWVudEZvclBhcmFsbGVsUm91dGUuaW5jbHVkZXMoUEFHRV9TRUdNRU5UX0tFWSkgPyBudWxsIDogcnNjLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpLFxuICAgICAgICBsb2FkaW5nLFxuICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm8gZGF0YSBhdmFpbGFibGUgZm9yIHRoaXMgbm9kZS4gVGhpcyB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoXG4gICAgICAvLyBkdXJpbmcgcmVuZGVyLlxuICAgICAgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpLFxuICAgICAgICBsb2FkaW5nOiBudWxsLFxuICAgICAgICBuYXZpZ2F0ZWRBdDogLTEsXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXhpc3RpbmdQYXJhbGxlbFJvdXRlcyA9IG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChrZXkpXG4gICAgaWYgKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMpIHtcbiAgICAgIGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMuc2V0KGNhY2hlS2V5LCBuZXdDYWNoZU5vZGUpXG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLnNldChrZXksIG5ldyBNYXAoW1tjYWNoZUtleSwgbmV3Q2FjaGVOb2RlXV0pKVxuICAgIH1cblxuICAgIGZpbGxOZXdUcmVlV2l0aE9ubHlMb2FkaW5nU2VnbWVudHMoXG4gICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgIG5ld0NhY2hlTm9kZSxcbiAgICAgIGV4aXN0aW5nQ2FjaGUsXG4gICAgICBwYXJhbGxlbFJvdXRlU3RhdGUsXG4gICAgICBwYXJhbGxlbFNlZWREYXRhXG4gICAgKVxuICB9XG59XG5cbi8qKlxuICogQWRkIHNlYXJjaCBwYXJhbXMgdG8gdGhlIHBhZ2Ugc2VnbWVudHMgaW4gdGhlIGZsaWdodCByb3V0ZXIgc3RhdGVcbiAqIFBhZ2Ugc2VnbWVudHMgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHNlYXJjaCBwYXJhbXMgaGF2ZSBhIHBhZ2Ugc2VnbWVudCBrZXlcbiAqIGZvbGxvd2VkIGJ5IGEgcXVlcnkgc3RyaW5nLiBUaGlzIGZ1bmN0aW9uIHdpbGwgYWRkIHRob3NlIHBhcmFtcyB0byB0aGUgcGFnZSBzZWdtZW50LlxuICogVGhpcyBpcyB1c2VmdWwgaWYgd2UgcmV0dXJuIGFuIGFsaWFzZWQgcHJlZmV0Y2ggZW50cnkgKGllLCB3b24ndCBoYXZlIHNlYXJjaCBwYXJhbXMpXG4gKiBidXQgdGhlIGNhbm9uaWNhbCByb3V0ZXIgVVJMIGhhcyBzZWFyY2ggcGFyYW1zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VhcmNoUGFyYW1zVG9QYWdlU2VnbWVudHMoXG4gIGZsaWdodFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgc2VhcmNoUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZD5cbik6IEZsaWdodFJvdXRlclN0YXRlIHtcbiAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVzLCAuLi5yZXN0XSA9IGZsaWdodFJvdXRlclN0YXRlXG5cbiAgLy8gSWYgaXQncyBhIHBhZ2Ugc2VnbWVudCwgbW9kaWZ5IHRoZSBzZWdtZW50IGJ5IGFkZGluZyBzZWFyY2ggcGFyYW1zXG4gIGlmIChzZWdtZW50LmluY2x1ZGVzKFBBR0VfU0VHTUVOVF9LRVkpKSB7XG4gICAgY29uc3QgbmV3U2VnbWVudCA9IGFkZFNlYXJjaFBhcmFtc0lmUGFnZVNlZ21lbnQoc2VnbWVudCwgc2VhcmNoUGFyYW1zKVxuICAgIHJldHVybiBbbmV3U2VnbWVudCwgcGFyYWxsZWxSb3V0ZXMsIC4uLnJlc3RdXG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHJlY3Vyc2UgdGhyb3VnaCB0aGUgcGFyYWxsZWwgcm91dGVzIGFuZCByZXR1cm4gYSBuZXcgdHJlZVxuICBjb25zdCB1cGRhdGVkUGFyYWxsZWxSb3V0ZXM6IHsgW2tleTogc3RyaW5nXTogRmxpZ2h0Um91dGVyU3RhdGUgfSA9IHt9XG5cbiAgZm9yIChjb25zdCBba2V5LCBwYXJhbGxlbFJvdXRlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbGxlbFJvdXRlcykpIHtcbiAgICB1cGRhdGVkUGFyYWxsZWxSb3V0ZXNba2V5XSA9IGFkZFNlYXJjaFBhcmFtc1RvUGFnZVNlZ21lbnRzKFxuICAgICAgcGFyYWxsZWxSb3V0ZSxcbiAgICAgIHNlYXJjaFBhcmFtc1xuICAgIClcbiAgfVxuXG4gIHJldHVybiBbc2VnbWVudCwgdXBkYXRlZFBhcmFsbGVsUm91dGVzLCAuLi5yZXN0XVxufVxuIl0sIm5hbWVzIjpbImFkZFNlYXJjaFBhcmFtc1RvUGFnZVNlZ21lbnRzIiwiaGFuZGxlQWxpYXNlZFByZWZldGNoRW50cnkiLCJuYXZpZ2F0ZWRBdCIsInN0YXRlIiwiZmxpZ2h0RGF0YSIsInVybCIsIm11dGFibGUiLCJjdXJyZW50VHJlZSIsInRyZWUiLCJjdXJyZW50Q2FjaGUiLCJjYWNoZSIsImhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsImFwcGxpZWQiLCJub3JtYWxpemVkRmxpZ2h0RGF0YSIsImhhc0xvYWRpbmdDb21wb25lbnRJblNlZWREYXRhIiwic2VlZERhdGEiLCJ0cmVlUGF0Y2giLCJPYmplY3QiLCJmcm9tRW50cmllcyIsInNlYXJjaFBhcmFtcyIsImlzUm9vdFJlbmRlciIsInBhdGhUb1NlZ21lbnQiLCJmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHkiLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIiwibmV3Q2FjaGUiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsInJzYyIsImxvYWRpbmciLCJmaWxsTmV3VHJlZVdpdGhPbmx5TG9hZGluZ1NlZ21lbnRzIiwicHJlZmV0Y2hSc2MiLCJwYXJhbGxlbFJvdXRlcyIsIk1hcCIsImZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YUJ1dE9ubHlMb2FkaW5nIiwicGF0Y2hlZFRyZWUiLCJjYW5vbmljYWxVcmwiLCJoYXNoRnJhZ21lbnQiLCJoYXNoIiwiaGFuZGxlTXV0YWJsZSIsImtleSIsImV4aXN0aW5nQ2FjaGUiLCJyb3V0ZXJTdGF0ZSIsImNhY2hlTm9kZVNlZWREYXRhIiwiaXNMYXN0U2VnbWVudCIsImtleXMiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlU3RhdGUiLCJzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJwYXJhbGxlbFNlZWREYXRhIiwidW5kZWZpbmVkIiwibmV3Q2FjaGVOb2RlIiwibGF6eURhdGEiLCJpbmNsdWRlcyIsIlBBR0VfU0VHTUVOVF9LRVkiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwiZXhpc3RpbmdQYXJhbGxlbFJvdXRlcyIsImdldCIsInNldCIsImZsaWdodFJvdXRlclN0YXRlIiwic2VnbWVudCIsInJlc3QiLCJuZXdTZWdtZW50IiwiYWRkU2VhcmNoUGFyYW1zSWZQYWdlU2VnbWVudCIsInVwZGF0ZWRQYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGUiLCJlbnRyaWVzIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/aliased-prefetch-navigations.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js ***! \**************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyFlightData\", ({\n enumerable: true,\n get: function() {\n return applyFlightData;\n }\n}));\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _fillcachewithnewsubtreedata = __webpack_require__(/*! ./fill-cache-with-new-subtree-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\");\nfunction applyFlightData(navigatedAt, existingCache, cache, flightData, prefetchEntry) {\n // The one before last item is the router state tree patch\n const { tree: treePatch, seedData, head, isRootRender } = flightData;\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (seedData === null) {\n return false;\n }\n if (isRootRender) {\n const rsc = seedData[1];\n const loading = seedData[3];\n cache.loading = loading;\n cache.rsc = rsc;\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(navigatedAt, cache, existingCache, treePatch, seedData, head, prefetchEntry);\n } else {\n // Copy rsc for the root node of the cache.\n cache.rsc = existingCache.rsc;\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n cache.prefetchRsc = existingCache.prefetchRsc;\n cache.parallelRoutes = new Map(existingCache.parallelRoutes);\n cache.loading = existingCache.loading;\n // Create a copy of the existing cache with the rsc applied.\n (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeData)(navigatedAt, cache, existingCache, flightData, prefetchEntry);\n }\n return true;\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=apply-flight-data.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktZmxpZ2h0LWRhdGEuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFNZ0JBOzs7ZUFBQUE7OzsyREFMOEI7eURBQ0Y7QUFJckMsU0FBU0EsZ0JBQ2RDLFdBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsS0FBZ0IsRUFDaEJDLFVBQWdDLEVBQ2hDQyxhQUFrQztJQUVsQywwREFBMEQ7SUFDMUQsTUFBTSxFQUFFQyxNQUFNQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUUsR0FBR047SUFFMUQsOEZBQThGO0lBQzlGLElBQUlJLGFBQWEsTUFBTTtRQUNyQixPQUFPO0lBQ1Q7SUFFQSxJQUFJRSxjQUFjO1FBQ2hCLE1BQU1DLE1BQU1ILFFBQVEsQ0FBQyxFQUFFO1FBQ3ZCLE1BQU1JLFVBQVVKLFFBQVEsQ0FBQyxFQUFFO1FBQzNCTCxNQUFNUyxPQUFPLEdBQUdBO1FBQ2hCVCxNQUFNUSxHQUFHLEdBQUdBO1FBQ1osa0VBQWtFO1FBQ2xFLG9FQUFvRTtRQUNwRSwyREFBMkQ7UUFDM0Qsa0VBQWtFO1FBQ2xFLCtCQUErQjtRQUMvQlIsTUFBTVUsV0FBVyxHQUFHO1FBQ3BCQyxDQUFBQSxHQUFBQSwrQkFBQUEsNkJBQUFBLEVBQ0ViLGFBQ0FFLE9BQ0FELGVBQ0FLLFdBQ0FDLFVBQ0FDLE1BQ0FKO0lBRUosT0FBTztRQUNMLDJDQUEyQztRQUMzQ0YsTUFBTVEsR0FBRyxHQUFHVCxjQUFjUyxHQUFHO1FBQzdCLG9FQUFvRTtRQUNwRSxrRUFBa0U7UUFDbEUsMkJBQTJCO1FBQzNCUixNQUFNVSxXQUFXLEdBQUdYLGNBQWNXLFdBQVc7UUFDN0NWLE1BQU1ZLGNBQWMsR0FBRyxJQUFJQyxJQUFJZCxjQUFjYSxjQUFjO1FBQzNEWixNQUFNUyxPQUFPLEdBQUdWLGNBQWNVLE9BQU87UUFDckMsNERBQTREO1FBQzVESyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQUFBLEVBQ0VoQixhQUNBRSxPQUNBRCxlQUNBRSxZQUNBQztJQUVKO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktZmxpZ2h0LWRhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIH0gZnJvbSAnLi9maWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZCdcbmltcG9ydCB7IGZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YSB9IGZyb20gJy4vZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEnXG5pbXBvcnQgdHlwZSB7IFByZWZldGNoQ2FjaGVFbnRyeSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE5vcm1hbGl6ZWRGbGlnaHREYXRhIH0gZnJvbSAnLi4vLi4vZmxpZ2h0LWRhdGEtaGVscGVycydcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RmxpZ2h0RGF0YShcbiAgbmF2aWdhdGVkQXQ6IG51bWJlcixcbiAgZXhpc3RpbmdDYWNoZTogQ2FjaGVOb2RlLFxuICBjYWNoZTogQ2FjaGVOb2RlLFxuICBmbGlnaHREYXRhOiBOb3JtYWxpemVkRmxpZ2h0RGF0YSxcbiAgcHJlZmV0Y2hFbnRyeT86IFByZWZldGNoQ2FjaGVFbnRyeVxuKTogYm9vbGVhbiB7XG4gIC8vIFRoZSBvbmUgYmVmb3JlIGxhc3QgaXRlbSBpcyB0aGUgcm91dGVyIHN0YXRlIHRyZWUgcGF0Y2hcbiAgY29uc3QgeyB0cmVlOiB0cmVlUGF0Y2gsIHNlZWREYXRhLCBoZWFkLCBpc1Jvb3RSZW5kZXIgfSA9IGZsaWdodERhdGFcblxuICAvLyBIYW5kbGVzIGNhc2Ugd2hlcmUgcHJlZmV0Y2ggb25seSByZXR1cm5zIHRoZSByb3V0ZXIgdHJlZSBwYXRjaCB3aXRob3V0IHJlbmRlcmVkIGNvbXBvbmVudHMuXG4gIGlmIChzZWVkRGF0YSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgaWYgKGlzUm9vdFJlbmRlcikge1xuICAgIGNvbnN0IHJzYyA9IHNlZWREYXRhWzFdXG4gICAgY29uc3QgbG9hZGluZyA9IHNlZWREYXRhWzNdXG4gICAgY2FjaGUubG9hZGluZyA9IGxvYWRpbmdcbiAgICBjYWNoZS5yc2MgPSByc2NcbiAgICAvLyBUaGlzIGlzIGEgUFBSLW9ubHkgZmllbGQuIFdoZW4gUFBSIGlzIGVuYWJsZWQsIHdlIHNob3VsZG4ndCBoaXRcbiAgICAvLyB0aGlzIHBhdGggZHVyaW5nIGEgbmF2aWdhdGlvbiwgYnV0IHVudGlsIFBQUiBpcyBmdWxseSBpbXBsZW1lbnRlZFxuICAgIC8vIHlldCBpdCdzIHBvc3NpYmxlIHRoZSBleGlzdGluZyBub2RlIGRvZXMgaGF2ZSBhIG5vbi1udWxsXG4gICAgLy8gYHByZWZldGNoUnNjYC4gQXMgYW4gaW5jcmVtZW50YWwgc3RlcCwgd2UnbGwganVzdCBkZS1vcHQgdG8gdGhlXG4gICAgLy8gb2xkIGJlaGF2aW9yIOKAlCBubyBQUFIgdmFsdWUuXG4gICAgY2FjaGUucHJlZmV0Y2hSc2MgPSBudWxsXG4gICAgZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQoXG4gICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgIGNhY2hlLFxuICAgICAgZXhpc3RpbmdDYWNoZSxcbiAgICAgIHRyZWVQYXRjaCxcbiAgICAgIHNlZWREYXRhLFxuICAgICAgaGVhZCxcbiAgICAgIHByZWZldGNoRW50cnlcbiAgICApXG4gIH0gZWxzZSB7XG4gICAgLy8gQ29weSByc2MgZm9yIHRoZSByb290IG5vZGUgb2YgdGhlIGNhY2hlLlxuICAgIGNhY2hlLnJzYyA9IGV4aXN0aW5nQ2FjaGUucnNjXG4gICAgLy8gVGhpcyBpcyBhIFBQUi1vbmx5IGZpZWxkLiBVbmxpa2UgdGhlIHByZXZpb3VzIGJyYW5jaCwgc2luY2Ugd2UncmVcbiAgICAvLyBqdXN0IGNsb25pbmcgdGhlIGV4aXN0aW5nIGNhY2hlIG5vZGUsIHdlIG1pZ2h0IGFzIHdlbGwga2VlcCB0aGVcbiAgICAvLyBQUFIgdmFsdWUsIGlmIGl0IGV4aXN0cy5cbiAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IGV4aXN0aW5nQ2FjaGUucHJlZmV0Y2hSc2NcbiAgICBjYWNoZS5wYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAoZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcylcbiAgICBjYWNoZS5sb2FkaW5nID0gZXhpc3RpbmdDYWNoZS5sb2FkaW5nXG4gICAgLy8gQ3JlYXRlIGEgY29weSBvZiB0aGUgZXhpc3RpbmcgY2FjaGUgd2l0aCB0aGUgcnNjIGFwcGxpZWQuXG4gICAgZmlsbENhY2hlV2l0aE5ld1N1YlRyZWVEYXRhKFxuICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICBjYWNoZSxcbiAgICAgIGV4aXN0aW5nQ2FjaGUsXG4gICAgICBmbGlnaHREYXRhLFxuICAgICAgcHJlZmV0Y2hFbnRyeVxuICAgIClcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG4iXSwibmFtZXMiOlsiYXBwbHlGbGlnaHREYXRhIiwibmF2aWdhdGVkQXQiLCJleGlzdGluZ0NhY2hlIiwiY2FjaGUiLCJmbGlnaHREYXRhIiwicHJlZmV0Y2hFbnRyeSIsInRyZWUiLCJ0cmVlUGF0Y2giLCJzZWVkRGF0YSIsImhlYWQiLCJpc1Jvb3RSZW5kZXIiLCJyc2MiLCJsb2FkaW5nIiwicHJlZmV0Y2hSc2MiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwiZmlsbENhY2hlV2l0aE5ld1N1YlRyZWVEYXRhIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyRouterStatePatchToTree\", ({\n enumerable: true,\n get: function() {\n return applyRouterStatePatchToTree;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ./refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\n/**\n * Deep merge of the two router states. Parallel route keys are preserved if the patch doesn't have them.\n */ function applyPatch(initialTree, patchTree) {\n const [initialSegment, initialParallelRoutes] = initialTree;\n const [patchSegment, patchParallelRoutes] = patchTree;\n // if the applied patch segment is __DEFAULT__ then it can be ignored in favor of the initial tree\n // this is because the __DEFAULT__ segment is used as a placeholder on navigation\n if (patchSegment === _segment.DEFAULT_SEGMENT_KEY && initialSegment !== _segment.DEFAULT_SEGMENT_KEY) {\n return initialTree;\n }\n if ((0, _matchsegments.matchSegment)(initialSegment, patchSegment)) {\n const newParallelRoutes = {};\n for(const key in initialParallelRoutes){\n const isInPatchTreeParallelRoutes = typeof patchParallelRoutes[key] !== 'undefined';\n if (isInPatchTreeParallelRoutes) {\n newParallelRoutes[key] = applyPatch(initialParallelRoutes[key], patchParallelRoutes[key]);\n } else {\n newParallelRoutes[key] = initialParallelRoutes[key];\n }\n }\n for(const key in patchParallelRoutes){\n if (newParallelRoutes[key]) {\n continue;\n }\n newParallelRoutes[key] = patchParallelRoutes[key];\n }\n const tree = [\n initialSegment,\n newParallelRoutes\n ];\n // Copy over the existing tree\n if (initialTree[2]) {\n tree[2] = initialTree[2];\n }\n if (initialTree[3]) {\n tree[3] = initialTree[3];\n }\n if (initialTree[4]) {\n tree[4] = initialTree[4];\n }\n return tree;\n }\n return patchTree;\n}\nfunction applyRouterStatePatchToTree(flightSegmentPath, flightRouterState, treePatch, path) {\n const [segment, parallelRoutes, url, refetch, isRootLayout] = flightRouterState;\n // Root refresh\n if (flightSegmentPath.length === 1) {\n const tree = applyPatch(flightRouterState, treePatch);\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(tree, path);\n return tree;\n }\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Tree path returned from the server should always match up with the current tree in the browser\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n return null;\n }\n const lastSegment = flightSegmentPath.length === 2;\n let parallelRoutePatch;\n if (lastSegment) {\n parallelRoutePatch = applyPatch(parallelRoutes[parallelRouteKey], treePatch);\n } else {\n parallelRoutePatch = applyRouterStatePatchToTree((0, _flightdatahelpers.getNextFlightSegmentPath)(flightSegmentPath), parallelRoutes[parallelRouteKey], treePatch, path);\n if (parallelRoutePatch === null) {\n return null;\n }\n }\n const tree = [\n flightSegmentPath[0],\n {\n ...parallelRoutes,\n [parallelRouteKey]: parallelRoutePatch\n },\n url,\n refetch\n ];\n // Current segment is the root layout\n if (isRootLayout) {\n tree[4] = true;\n }\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(tree, path);\n return tree;\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=apply-router-state-patch-to-tree.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUuanMiLCJtYXBwaW5ncyI6Ijs7OzsrREE2RWdCQTs7O2VBQUFBOzs7cUNBekVvQjsrQ0FDSzsyQ0FDWjs2REFDNEI7QUFFekQ7O0NBRUMsR0FDRCxTQUFTQyxXQUNQQyxXQUE4QixFQUM5QkMsU0FBNEI7SUFFNUIsTUFBTSxDQUFDQyxnQkFBZ0JDLHNCQUFzQixHQUFHSDtJQUNoRCxNQUFNLENBQUNJLGNBQWNDLG9CQUFvQixHQUFHSjtJQUU1QyxrR0FBa0c7SUFDbEcsaUZBQWlGO0lBQ2pGLElBQ0VHLGlCQUFpQkUsU0FBQUEsbUJBQW1CLElBQ3BDSixtQkFBbUJJLFNBQUFBLG1CQUFtQixFQUN0QztRQUNBLE9BQU9OO0lBQ1Q7SUFFQSxJQUFJTyxDQUFBQSxHQUFBQSxlQUFBQSxZQUFBQSxFQUFhTCxnQkFBZ0JFLGVBQWU7UUFDOUMsTUFBTUksb0JBQTBDLENBQUM7UUFDakQsSUFBSyxNQUFNQyxPQUFPTixzQkFBdUI7WUFDdkMsTUFBTU8sOEJBQ0osT0FBT0wsbUJBQW1CLENBQUNJLElBQUksS0FBSztZQUN0QyxJQUFJQyw2QkFBNkI7Z0JBQy9CRixpQkFBaUIsQ0FBQ0MsSUFBSSxHQUFHVixXQUN2QkkscUJBQXFCLENBQUNNLElBQUksRUFDMUJKLG1CQUFtQixDQUFDSSxJQUFJO1lBRTVCLE9BQU87Z0JBQ0xELGlCQUFpQixDQUFDQyxJQUFJLEdBQUdOLHFCQUFxQixDQUFDTSxJQUFJO1lBQ3JEO1FBQ0Y7UUFFQSxJQUFLLE1BQU1BLE9BQU9KLG9CQUFxQjtZQUNyQyxJQUFJRyxpQkFBaUIsQ0FBQ0MsSUFBSSxFQUFFO2dCQUMxQjtZQUNGO1lBRUFELGlCQUFpQixDQUFDQyxJQUFJLEdBQUdKLG1CQUFtQixDQUFDSSxJQUFJO1FBQ25EO1FBRUEsTUFBTUUsT0FBMEI7WUFBQ1Q7WUFBZ0JNO1NBQWtCO1FBRW5FLDhCQUE4QjtRQUM5QixJQUFJUixXQUFXLENBQUMsRUFBRSxFQUFFO1lBQ2xCVyxJQUFJLENBQUMsRUFBRSxHQUFHWCxXQUFXLENBQUMsRUFBRTtRQUMxQjtRQUVBLElBQUlBLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDbEJXLElBQUksQ0FBQyxFQUFFLEdBQUdYLFdBQVcsQ0FBQyxFQUFFO1FBQzFCO1FBRUEsSUFBSUEsV0FBVyxDQUFDLEVBQUUsRUFBRTtZQUNsQlcsSUFBSSxDQUFDLEVBQUUsR0FBR1gsV0FBVyxDQUFDLEVBQUU7UUFDMUI7UUFFQSxPQUFPVztJQUNUO0lBRUEsT0FBT1Y7QUFDVDtBQU9PLFNBQVNILDRCQUNkYyxpQkFBb0MsRUFDcENDLGlCQUFvQyxFQUNwQ0MsU0FBNEIsRUFDNUJDLElBQVk7SUFFWixNQUFNLENBQUNDLFNBQVNDLGdCQUFnQkMsS0FBS0MsU0FBU0MsYUFBYSxHQUN6RFA7SUFFRixlQUFlO0lBQ2YsSUFBSUQsa0JBQWtCUyxNQUFNLEtBQUssR0FBRztRQUNsQyxNQUFNVixPQUEwQlosV0FBV2MsbUJBQW1CQztRQUU5RFEsQ0FBQUEsR0FBQUEsaUNBQUFBLHdDQUFBQSxFQUF5Q1gsTUFBTUk7UUFFL0MsT0FBT0o7SUFDVDtJQUVBLE1BQU0sQ0FBQ1ksZ0JBQWdCQyxpQkFBaUIsR0FBR1o7SUFFM0MsaUdBQWlHO0lBQ2pHLElBQUksQ0FBQ0wsQ0FBQUEsR0FBQUEsZUFBQUEsWUFBQUEsRUFBYWdCLGdCQUFnQlAsVUFBVTtRQUMxQyxPQUFPO0lBQ1Q7SUFFQSxNQUFNUyxjQUFjYixrQkFBa0JTLE1BQU0sS0FBSztJQUVqRCxJQUFJSztJQUNKLElBQUlELGFBQWE7UUFDZkMscUJBQXFCM0IsV0FBV2tCLGNBQWMsQ0FBQ08saUJBQWlCLEVBQUVWO0lBQ3BFLE9BQU87UUFDTFkscUJBQXFCNUIsNEJBQ25CNkIsQ0FBQUEsR0FBQUEsbUJBQUFBLHdCQUFBQSxFQUF5QmYsb0JBQ3pCSyxjQUFjLENBQUNPLGlCQUFpQixFQUNoQ1YsV0FDQUM7UUFHRixJQUFJVyx1QkFBdUIsTUFBTTtZQUMvQixPQUFPO1FBQ1Q7SUFDRjtJQUVBLE1BQU1mLE9BQTBCO1FBQzlCQyxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3BCO1lBQ0UsR0FBR0ssY0FBYztZQUNqQixDQUFDTyxpQkFBaUIsRUFBRUU7UUFDdEI7UUFDQVI7UUFDQUM7S0FDRDtJQUVELHFDQUFxQztJQUNyQyxJQUFJQyxjQUFjO1FBQ2hCVCxJQUFJLENBQUMsRUFBRSxHQUFHO0lBQ1o7SUFFQVcsQ0FBQUEsR0FBQUEsaUNBQUFBLHdDQUFBQSxFQUF5Q1gsTUFBTUk7SUFFL0MsT0FBT0o7QUFDVCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgRmxpZ2h0Um91dGVyU3RhdGUsXG4gIEZsaWdodFNlZ21lbnRQYXRoLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB7IERFRkFVTFRfU0VHTUVOVF9LRVkgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL3NlZ21lbnQnXG5pbXBvcnQgeyBnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGggfSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgbWF0Y2hTZWdtZW50IH0gZnJvbSAnLi4vbWF0Y2gtc2VnbWVudHMnXG5pbXBvcnQgeyBhZGRSZWZyZXNoTWFya2VyVG9BY3RpdmVQYXJhbGxlbFNlZ21lbnRzIH0gZnJvbSAnLi9yZWZldGNoLWluYWN0aXZlLXBhcmFsbGVsLXNlZ21lbnRzJ1xuXG4vKipcbiAqIERlZXAgbWVyZ2Ugb2YgdGhlIHR3byByb3V0ZXIgc3RhdGVzLiBQYXJhbGxlbCByb3V0ZSBrZXlzIGFyZSBwcmVzZXJ2ZWQgaWYgdGhlIHBhdGNoIGRvZXNuJ3QgaGF2ZSB0aGVtLlxuICovXG5mdW5jdGlvbiBhcHBseVBhdGNoKFxuICBpbml0aWFsVHJlZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIHBhdGNoVHJlZTogRmxpZ2h0Um91dGVyU3RhdGVcbik6IEZsaWdodFJvdXRlclN0YXRlIHtcbiAgY29uc3QgW2luaXRpYWxTZWdtZW50LCBpbml0aWFsUGFyYWxsZWxSb3V0ZXNdID0gaW5pdGlhbFRyZWVcbiAgY29uc3QgW3BhdGNoU2VnbWVudCwgcGF0Y2hQYXJhbGxlbFJvdXRlc10gPSBwYXRjaFRyZWVcblxuICAvLyBpZiB0aGUgYXBwbGllZCBwYXRjaCBzZWdtZW50IGlzIF9fREVGQVVMVF9fIHRoZW4gaXQgY2FuIGJlIGlnbm9yZWQgaW4gZmF2b3Igb2YgdGhlIGluaXRpYWwgdHJlZVxuICAvLyB0aGlzIGlzIGJlY2F1c2UgdGhlIF9fREVGQVVMVF9fIHNlZ21lbnQgaXMgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIG9uIG5hdmlnYXRpb25cbiAgaWYgKFxuICAgIHBhdGNoU2VnbWVudCA9PT0gREVGQVVMVF9TRUdNRU5UX0tFWSAmJlxuICAgIGluaXRpYWxTZWdtZW50ICE9PSBERUZBVUxUX1NFR01FTlRfS0VZXG4gICkge1xuICAgIHJldHVybiBpbml0aWFsVHJlZVxuICB9XG5cbiAgaWYgKG1hdGNoU2VnbWVudChpbml0aWFsU2VnbWVudCwgcGF0Y2hTZWdtZW50KSkge1xuICAgIGNvbnN0IG5ld1BhcmFsbGVsUm91dGVzOiBGbGlnaHRSb3V0ZXJTdGF0ZVsxXSA9IHt9XG4gICAgZm9yIChjb25zdCBrZXkgaW4gaW5pdGlhbFBhcmFsbGVsUm91dGVzKSB7XG4gICAgICBjb25zdCBpc0luUGF0Y2hUcmVlUGFyYWxsZWxSb3V0ZXMgPVxuICAgICAgICB0eXBlb2YgcGF0Y2hQYXJhbGxlbFJvdXRlc1trZXldICE9PSAndW5kZWZpbmVkJ1xuICAgICAgaWYgKGlzSW5QYXRjaFRyZWVQYXJhbGxlbFJvdXRlcykge1xuICAgICAgICBuZXdQYXJhbGxlbFJvdXRlc1trZXldID0gYXBwbHlQYXRjaChcbiAgICAgICAgICBpbml0aWFsUGFyYWxsZWxSb3V0ZXNba2V5XSxcbiAgICAgICAgICBwYXRjaFBhcmFsbGVsUm91dGVzW2tleV1cbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3UGFyYWxsZWxSb3V0ZXNba2V5XSA9IGluaXRpYWxQYXJhbGxlbFJvdXRlc1trZXldXG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gcGF0Y2hQYXJhbGxlbFJvdXRlcykge1xuICAgICAgaWYgKG5ld1BhcmFsbGVsUm91dGVzW2tleV0pIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgbmV3UGFyYWxsZWxSb3V0ZXNba2V5XSA9IHBhdGNoUGFyYWxsZWxSb3V0ZXNba2V5XVxuICAgIH1cblxuICAgIGNvbnN0IHRyZWU6IEZsaWdodFJvdXRlclN0YXRlID0gW2luaXRpYWxTZWdtZW50LCBuZXdQYXJhbGxlbFJvdXRlc11cblxuICAgIC8vIENvcHkgb3ZlciB0aGUgZXhpc3RpbmcgdHJlZVxuICAgIGlmIChpbml0aWFsVHJlZVsyXSkge1xuICAgICAgdHJlZVsyXSA9IGluaXRpYWxUcmVlWzJdXG4gICAgfVxuXG4gICAgaWYgKGluaXRpYWxUcmVlWzNdKSB7XG4gICAgICB0cmVlWzNdID0gaW5pdGlhbFRyZWVbM11cbiAgICB9XG5cbiAgICBpZiAoaW5pdGlhbFRyZWVbNF0pIHtcbiAgICAgIHRyZWVbNF0gPSBpbml0aWFsVHJlZVs0XVxuICAgIH1cblxuICAgIHJldHVybiB0cmVlXG4gIH1cblxuICByZXR1cm4gcGF0Y2hUcmVlXG59XG5cbi8qKlxuICogQXBwbHkgdGhlIHJvdXRlciBzdGF0ZSBmcm9tIHRoZSBGbGlnaHQgcmVzcG9uc2UsIGJ1dCBza2lwIHBhdGNoaW5nIGRlZmF1bHQgc2VnbWVudHMuXG4gKiBVc2VmdWwgZm9yIHBhdGNoaW5nIHRoZSByb3V0ZXIgY2FjaGUgd2hlbiBuYXZpZ2F0aW5nLCB3aGVyZSB3ZSBwZXJzaXN0IHRoZSBleGlzdGluZyBkZWZhdWx0IHNlZ21lbnQgaWYgdGhlcmUgaXNuJ3QgYSBuZXcgb25lLlxuICogQ3JlYXRlcyBhIG5ldyByb3V0ZXIgc3RhdGUgdHJlZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZShcbiAgZmxpZ2h0U2VnbWVudFBhdGg6IEZsaWdodFNlZ21lbnRQYXRoLFxuICBmbGlnaHRSb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIHRyZWVQYXRjaDogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIHBhdGg6IHN0cmluZ1xuKTogRmxpZ2h0Um91dGVyU3RhdGUgfCBudWxsIHtcbiAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVzLCB1cmwsIHJlZmV0Y2gsIGlzUm9vdExheW91dF0gPVxuICAgIGZsaWdodFJvdXRlclN0YXRlXG5cbiAgLy8gUm9vdCByZWZyZXNoXG4gIGlmIChmbGlnaHRTZWdtZW50UGF0aC5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCB0cmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZSA9IGFwcGx5UGF0Y2goZmxpZ2h0Um91dGVyU3RhdGUsIHRyZWVQYXRjaClcblxuICAgIGFkZFJlZnJlc2hNYXJrZXJUb0FjdGl2ZVBhcmFsbGVsU2VnbWVudHModHJlZSwgcGF0aClcblxuICAgIHJldHVybiB0cmVlXG4gIH1cblxuICBjb25zdCBbY3VycmVudFNlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXldID0gZmxpZ2h0U2VnbWVudFBhdGhcblxuICAvLyBUcmVlIHBhdGggcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyIHNob3VsZCBhbHdheXMgbWF0Y2ggdXAgd2l0aCB0aGUgY3VycmVudCB0cmVlIGluIHRoZSBicm93c2VyXG4gIGlmICghbWF0Y2hTZWdtZW50KGN1cnJlbnRTZWdtZW50LCBzZWdtZW50KSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBsYXN0U2VnbWVudCA9IGZsaWdodFNlZ21lbnRQYXRoLmxlbmd0aCA9PT0gMlxuXG4gIGxldCBwYXJhbGxlbFJvdXRlUGF0Y2hcbiAgaWYgKGxhc3RTZWdtZW50KSB7XG4gICAgcGFyYWxsZWxSb3V0ZVBhdGNoID0gYXBwbHlQYXRjaChwYXJhbGxlbFJvdXRlc1twYXJhbGxlbFJvdXRlS2V5XSwgdHJlZVBhdGNoKVxuICB9IGVsc2Uge1xuICAgIHBhcmFsbGVsUm91dGVQYXRjaCA9IGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZShcbiAgICAgIGdldE5leHRGbGlnaHRTZWdtZW50UGF0aChmbGlnaHRTZWdtZW50UGF0aCksXG4gICAgICBwYXJhbGxlbFJvdXRlc1twYXJhbGxlbFJvdXRlS2V5XSxcbiAgICAgIHRyZWVQYXRjaCxcbiAgICAgIHBhdGhcbiAgICApXG5cbiAgICBpZiAocGFyYWxsZWxSb3V0ZVBhdGNoID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHRyZWU6IEZsaWdodFJvdXRlclN0YXRlID0gW1xuICAgIGZsaWdodFNlZ21lbnRQYXRoWzBdLFxuICAgIHtcbiAgICAgIC4uLnBhcmFsbGVsUm91dGVzLFxuICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBwYXJhbGxlbFJvdXRlUGF0Y2gsXG4gICAgfSxcbiAgICB1cmwsXG4gICAgcmVmZXRjaCxcbiAgXVxuXG4gIC8vIEN1cnJlbnQgc2VnbWVudCBpcyB0aGUgcm9vdCBsYXlvdXRcbiAgaWYgKGlzUm9vdExheW91dCkge1xuICAgIHRyZWVbNF0gPSB0cnVlXG4gIH1cblxuICBhZGRSZWZyZXNoTWFya2VyVG9BY3RpdmVQYXJhbGxlbFNlZ21lbnRzKHRyZWUsIHBhdGgpXG5cbiAgcmV0dXJuIHRyZWVcbn1cbiJdLCJuYW1lcyI6WyJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUiLCJhcHBseVBhdGNoIiwiaW5pdGlhbFRyZWUiLCJwYXRjaFRyZWUiLCJpbml0aWFsU2VnbWVudCIsImluaXRpYWxQYXJhbGxlbFJvdXRlcyIsInBhdGNoU2VnbWVudCIsInBhdGNoUGFyYWxsZWxSb3V0ZXMiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwibWF0Y2hTZWdtZW50IiwibmV3UGFyYWxsZWxSb3V0ZXMiLCJrZXkiLCJpc0luUGF0Y2hUcmVlUGFyYWxsZWxSb3V0ZXMiLCJ0cmVlIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsInRyZWVQYXRjaCIsInBhdGgiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJ1cmwiLCJyZWZldGNoIiwiaXNSb290TGF5b3V0IiwibGVuZ3RoIiwiYWRkUmVmcmVzaE1hcmtlclRvQWN0aXZlUGFyYWxsZWxTZWdtZW50cyIsImN1cnJlbnRTZWdtZW50IiwicGFyYWxsZWxSb3V0ZUtleSIsImxhc3RTZWdtZW50IiwicGFyYWxsZWxSb3V0ZVBhdGNoIiwiZ2V0TmV4dEZsaWdodFNlZ21lbnRQYXRoIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clearCacheNodeDataForSegmentPath\", ({\n enumerable: true,\n get: function() {\n return clearCacheNodeDataForSegmentPath;\n }\n}));\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction clearCacheNodeDataForSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap == null ? void 0 : existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n // In case of last segment start off the fetch at this level and don't copy further down.\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null,\n navigatedAt: -1\n });\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Start fetch in the place where the existing cache doesn't have the data yet.\n if (!childCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null,\n navigatedAt: -1\n });\n }\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n loading: childCacheNode.loading\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return clearCacheNodeDataForSegmentPath(childCacheNode, existingChildCacheNode, (0, _flightdatahelpers.getNextFlightSegmentPath)(flightSegmentPath));\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=clear-cache-node-data-for-segment-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY2xlYXItY2FjaGUtbm9kZS1kYXRhLWZvci1zZWdtZW50LXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OztvRUFRZ0JBOzs7ZUFBQUE7OzsrQ0FOeUI7a0RBQ0o7QUFLOUIsU0FBU0EsaUNBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsaUJBQW9DO0lBRXBDLE1BQU1DLGNBQWNELGtCQUFrQkUsTUFBTSxJQUFJO0lBRWhELE1BQU0sQ0FBQ0Msa0JBQWtCQyxRQUFRLEdBQUdKO0lBQ3BDLE1BQU1LLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBQUEsRUFBcUJGO0lBRXRDLE1BQU1HLDBCQUNKUixjQUFjUyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbkMsSUFBSU8sa0JBQWtCWixTQUFTVSxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbEQsSUFBSSxDQUFDTyxtQkFBbUJBLG9CQUFvQkgseUJBQXlCO1FBQ25FRyxrQkFBa0IsSUFBSUMsSUFBSUo7UUFDMUJULFNBQVNVLGNBQWMsQ0FBQ0ksR0FBRyxDQUFDVCxrQkFBa0JPO0lBQ2hEO0lBRUEsTUFBTUcseUJBQXlCTiwyQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsd0JBQXlCRSxHQUFHLENBQUNKO0lBQzVELElBQUlTLGlCQUFpQkosZ0JBQWdCRCxHQUFHLENBQUNKO0lBRXpDLHlGQUF5RjtJQUN6RixJQUFJSixhQUFhO1FBQ2YsSUFDRSxDQUFDYSxrQkFDRCxDQUFDQSxlQUFlQyxRQUFRLElBQ3hCRCxtQkFBbUJELHdCQUNuQjtZQUNBSCxnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVTtnQkFDNUJVLFVBQVU7Z0JBQ1ZDLEtBQUs7Z0JBQ0xDLGFBQWE7Z0JBQ2JDLE1BQU07Z0JBQ05DLGNBQWM7Z0JBQ2RYLGdCQUFnQixJQUFJRztnQkFDcEJTLFNBQVM7Z0JBQ1RDLGFBQWEsQ0FBQztZQUNoQjtRQUNGO1FBQ0E7SUFDRjtJQUVBLElBQUksQ0FBQ1Asa0JBQWtCLENBQUNELHdCQUF3QjtRQUM5QywrRUFBK0U7UUFDL0UsSUFBSSxDQUFDQyxnQkFBZ0I7WUFDbkJKLGdCQUFnQkUsR0FBRyxDQUFDUCxVQUFVO2dCQUM1QlUsVUFBVTtnQkFDVkMsS0FBSztnQkFDTEMsYUFBYTtnQkFDYkMsTUFBTTtnQkFDTkMsY0FBYztnQkFDZFgsZ0JBQWdCLElBQUlHO2dCQUNwQlMsU0FBUztnQkFDVEMsYUFBYSxDQUFDO1lBQ2hCO1FBQ0Y7UUFDQTtJQUNGO0lBRUEsSUFBSVAsbUJBQW1CRCx3QkFBd0I7UUFDN0NDLGlCQUFpQjtZQUNmQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDQyxLQUFLRixlQUFlRSxHQUFHO1lBQ3ZCQyxhQUFhSCxlQUFlRyxXQUFXO1lBQ3ZDQyxNQUFNSixlQUFlSSxJQUFJO1lBQ3pCQyxjQUFjTCxlQUFlSyxZQUFZO1lBQ3pDWCxnQkFBZ0IsSUFBSUcsSUFBSUcsZUFBZU4sY0FBYztZQUNyRFksU0FBU04sZUFBZU0sT0FBTztRQUNqQztRQUNBVixnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVM7SUFDaEM7SUFFQSxPQUFPakIsaUNBQ0xpQixnQkFDQUQsd0JBQ0FTLENBQUFBLEdBQUFBLG1CQUFBQSx3QkFBQUEsRUFBeUJ0QjtBQUU3QiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NsZWFyLWNhY2hlLW5vZGUtZGF0YS1mb3Itc2VnbWVudC1wYXRoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0U2VnbWVudFBhdGggfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGggfSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgY3JlYXRlUm91dGVyQ2FjaGVLZXkgfSBmcm9tICcuL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5J1xuXG4vKipcbiAqIFRoaXMgd2lsbCBjbGVhciB0aGUgQ2FjaGVOb2RlIGRhdGEgZm9yIGEgcGFydGljdWxhciBzZWdtZW50IHBhdGguIFRoaXMgd2lsbCBjYXVzZSBhIGxhenktZmV0Y2ggaW4gbGF5b3V0IHJvdXRlciB0byBmaWxsIGluIG5ldyBkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJDYWNoZU5vZGVEYXRhRm9yU2VnbWVudFBhdGgoXG4gIG5ld0NhY2hlOiBDYWNoZU5vZGUsXG4gIGV4aXN0aW5nQ2FjaGU6IENhY2hlTm9kZSxcbiAgZmxpZ2h0U2VnbWVudFBhdGg6IEZsaWdodFNlZ21lbnRQYXRoXG4pOiB2b2lkIHtcbiAgY29uc3QgaXNMYXN0RW50cnkgPSBmbGlnaHRTZWdtZW50UGF0aC5sZW5ndGggPD0gMlxuXG4gIGNvbnN0IFtwYXJhbGxlbFJvdXRlS2V5LCBzZWdtZW50XSA9IGZsaWdodFNlZ21lbnRQYXRoXG4gIGNvbnN0IGNhY2hlS2V5ID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudClcblxuICBjb25zdCBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCA9XG4gICAgZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSlcblxuICBsZXQgY2hpbGRTZWdtZW50TWFwID0gbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpXG5cbiAgaWYgKCFjaGlsZFNlZ21lbnRNYXAgfHwgY2hpbGRTZWdtZW50TWFwID09PSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgIGNoaWxkU2VnbWVudE1hcCA9IG5ldyBNYXAoZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXApXG4gICAgbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIGNoaWxkU2VnbWVudE1hcClcbiAgfVxuXG4gIGNvbnN0IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUgPSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcD8uZ2V0KGNhY2hlS2V5KVxuICBsZXQgY2hpbGRDYWNoZU5vZGUgPSBjaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KVxuXG4gIC8vIEluIGNhc2Ugb2YgbGFzdCBzZWdtZW50IHN0YXJ0IG9mZiB0aGUgZmV0Y2ggYXQgdGhpcyBsZXZlbCBhbmQgZG9uJ3QgY29weSBmdXJ0aGVyIGRvd24uXG4gIGlmIChpc0xhc3RFbnRyeSkge1xuICAgIGlmIChcbiAgICAgICFjaGlsZENhY2hlTm9kZSB8fFxuICAgICAgIWNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhIHx8XG4gICAgICBjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZVxuICAgICkge1xuICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpLFxuICAgICAgICBsb2FkaW5nOiBudWxsLFxuICAgICAgICBuYXZpZ2F0ZWRBdDogLTEsXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmICghY2hpbGRDYWNoZU5vZGUgfHwgIWV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUpIHtcbiAgICAvLyBTdGFydCBmZXRjaCBpbiB0aGUgcGxhY2Ugd2hlcmUgdGhlIGV4aXN0aW5nIGNhY2hlIGRvZXNuJ3QgaGF2ZSB0aGUgZGF0YSB5ZXQuXG4gICAgaWYgKCFjaGlsZENhY2hlTm9kZSkge1xuICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpLFxuICAgICAgICBsb2FkaW5nOiBudWxsLFxuICAgICAgICBuYXZpZ2F0ZWRBdDogLTEsXG4gICAgICB9KVxuICAgIH1cbiAgICByZXR1cm5cbiAgfVxuXG4gIGlmIChjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgIGNoaWxkQ2FjaGVOb2RlID0ge1xuICAgICAgbGF6eURhdGE6IGNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhLFxuICAgICAgcnNjOiBjaGlsZENhY2hlTm9kZS5yc2MsXG4gICAgICBwcmVmZXRjaFJzYzogY2hpbGRDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICBoZWFkOiBjaGlsZENhY2hlTm9kZS5oZWFkLFxuICAgICAgcHJlZmV0Y2hIZWFkOiBjaGlsZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQsXG4gICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChjaGlsZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcyksXG4gICAgICBsb2FkaW5nOiBjaGlsZENhY2hlTm9kZS5sb2FkaW5nLFxuICAgIH0gYXMgQ2FjaGVOb2RlXG4gICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwgY2hpbGRDYWNoZU5vZGUpXG4gIH1cblxuICByZXR1cm4gY2xlYXJDYWNoZU5vZGVEYXRhRm9yU2VnbWVudFBhdGgoXG4gICAgY2hpbGRDYWNoZU5vZGUsXG4gICAgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSxcbiAgICBnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGgoZmxpZ2h0U2VnbWVudFBhdGgpXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJjbGVhckNhY2hlTm9kZURhdGFGb3JTZWdtZW50UGF0aCIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiaXNMYXN0RW50cnkiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5Iiwic2VnbWVudCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJleGlzdGluZ0NoaWxkU2VnbWVudE1hcCIsInBhcmFsbGVsUm91dGVzIiwiZ2V0IiwiY2hpbGRTZWdtZW50TWFwIiwiTWFwIiwic2V0IiwiZXhpc3RpbmdDaGlsZENhY2hlTm9kZSIsImNoaWxkQ2FjaGVOb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImhlYWQiLCJwcmVmZXRjaEhlYWQiLCJsb2FkaW5nIiwibmF2aWdhdGVkQXQiLCJnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGgiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/compute-changed-path.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 computeChangedPath: function() {\n return computeChangedPath;\n },\n extractPathFromFlightRouterState: function() {\n return extractPathFromFlightRouterState;\n },\n getSelectedParams: function() {\n return getSelectedParams;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../shared/lib/router/utils/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interception-routes.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst removeLeadingSlash = (segment)=>{\n return segment[0] === '/' ? segment.slice(1) : segment;\n};\nconst segmentToPathname = (segment)=>{\n if (typeof segment === 'string') {\n // 'children' is not a valid path -- it's technically a parallel route that corresponds with the current segment's page\n // if we don't skip it, then the computed pathname might be something like `/children` which doesn't make sense.\n if (segment === 'children') return '';\n return segment;\n }\n return segment[1];\n};\nfunction normalizeSegments(segments) {\n return segments.reduce((acc, segment)=>{\n segment = removeLeadingSlash(segment);\n if (segment === '' || (0, _segment.isGroupSegment)(segment)) {\n return acc;\n }\n return acc + \"/\" + segment;\n }, '') || '/';\n}\nfunction extractPathFromFlightRouterState(flightRouterState) {\n const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0];\n if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined;\n if (segment.startsWith(_segment.PAGE_SEGMENT_KEY)) return '';\n const segments = [\n segmentToPathname(segment)\n ];\n var _flightRouterState_;\n const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {};\n const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined;\n if (childrenPath !== undefined) {\n segments.push(childrenPath);\n } else {\n for (const [key, value] of Object.entries(parallelRoutes)){\n if (key === 'children') continue;\n const childPath = extractPathFromFlightRouterState(value);\n if (childPath !== undefined) {\n segments.push(childPath);\n }\n }\n }\n return normalizeSegments(segments);\n}\nfunction computeChangedPathImpl(treeA, treeB) {\n const [segmentA, parallelRoutesA] = treeA;\n const [segmentB, parallelRoutesB] = treeB;\n const normalizedSegmentA = segmentToPathname(segmentA);\n const normalizedSegmentB = segmentToPathname(segmentB);\n if (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) {\n return '';\n }\n if (!(0, _matchsegments.matchSegment)(segmentA, segmentB)) {\n var _extractPathFromFlightRouterState;\n // once we find where the tree changed, we compute the rest of the path by traversing the tree\n return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : '';\n }\n for(const parallelRouterKey in parallelRoutesA){\n if (parallelRoutesB[parallelRouterKey]) {\n const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]);\n if (changedPath !== null) {\n return segmentToPathname(segmentB) + \"/\" + changedPath;\n }\n }\n }\n return null;\n}\nfunction computeChangedPath(treeA, treeB) {\n const changedPath = computeChangedPathImpl(treeA, treeB);\n if (changedPath == null || changedPath === '/') {\n return changedPath;\n }\n // lightweight normalization to remove route groups\n return normalizeSegments(changedPath.split('/'));\n}\nfunction getSelectedParams(currentTree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = currentTree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === 'c' || segment[2] === 'oc');\n if (isCatchAll) {\n params[segment[0]] = segment[1].split('/');\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\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=compute-changed-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY29tcHV0ZS1jaGFuZ2VkLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBd0hnQkEsa0JBQWtCO2VBQWxCQTs7SUE5RUFDLGdDQUFnQztlQUFoQ0E7O0lBK0ZBQyxpQkFBaUI7ZUFBakJBOzs7Z0RBckkyQjtxQ0FNcEM7MkNBQ3NCO0FBRTdCLE1BQU1DLHFCQUFxQixDQUFDQztJQUMxQixPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE1BQU1BLFFBQVFDLEtBQUssQ0FBQyxLQUFLRDtBQUNqRDtBQUVBLE1BQU1FLG9CQUFvQixDQUFDRjtJQUN6QixJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQix1SEFBdUg7UUFDdkgsZ0hBQWdIO1FBQ2hILElBQUlBLFlBQVksWUFBWSxPQUFPO1FBRW5DLE9BQU9BO0lBQ1Q7SUFFQSxPQUFPQSxPQUFPLENBQUMsRUFBRTtBQUNuQjtBQUVBLFNBQVNHLGtCQUFrQkMsUUFBa0I7SUFDM0MsT0FDRUEsU0FBU0MsTUFBTSxDQUFDLENBQUNDLEtBQUtOO1FBQ3BCQSxVQUFVRCxtQkFBbUJDO1FBQzdCLElBQUlBLFlBQVksTUFBTU8sQ0FBQUEsR0FBQUEsU0FBQUEsY0FBQUEsRUFBZVAsVUFBVTtZQUM3QyxPQUFPTTtRQUNUO1FBRUEsT0FBVUEsTUFBSSxNQUFHTjtJQUNuQixHQUFHLE9BQU87QUFFZDtBQUVPLFNBQVNILGlDQUNkVyxpQkFBb0M7SUFFcEMsTUFBTVIsVUFBVVMsTUFBTUMsT0FBTyxDQUFDRixpQkFBaUIsQ0FBQyxFQUFFLElBQzlDQSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUN2QkEsaUJBQWlCLENBQUMsRUFBRTtJQUV4QixJQUNFUixZQUFZVyxTQUFBQSxtQkFBbUIsSUFDL0JDLG9CQUFBQSwwQkFBMEIsQ0FBQ0MsSUFBSSxDQUFDLENBQUNDLElBQU1k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QyxFQUFFLEtBQUssS0FBRztRQUVqRSxJQUFJOEMsWUFBWTtZQUNkTCxNQUFNLENBQUN6QyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUdBLE9BQU8sQ0FBQyxFQUFFLENBQUN1QyxLQUFLLENBQUM7UUFDeEMsT0FBTyxJQUFJSyxvQkFBb0I7WUFDN0JILE1BQU0sQ0FBQ3pDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBR0EsT0FBTyxDQUFDLEVBQUU7UUFDakM7UUFFQXlDLFNBQVMzQyxrQkFBa0I0QyxlQUFlRDtJQUM1QztJQUVBLE9BQU9BO0FBQ1QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jb21wdXRlLWNoYW5nZWQtcGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBTZWdtZW50LFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB7IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJjZXB0aW9uLXJvdXRlcydcbmltcG9ydCB0eXBlIHsgUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vc2VydmVyL3JlcXVlc3QvcGFyYW1zJ1xuaW1wb3J0IHtcbiAgaXNHcm91cFNlZ21lbnQsXG4gIERFRkFVTFRfU0VHTUVOVF9LRVksXG4gIFBBR0VfU0VHTUVOVF9LRVksXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudCdcbmltcG9ydCB7IG1hdGNoU2VnbWVudCB9IGZyb20gJy4uL21hdGNoLXNlZ21lbnRzJ1xuXG5jb25zdCByZW1vdmVMZWFkaW5nU2xhc2ggPSAoc2VnbWVudDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgcmV0dXJuIHNlZ21lbnRbMF0gPT09ICcvJyA/IHNlZ21lbnQuc2xpY2UoMSkgOiBzZWdtZW50XG59XG5cbmNvbnN0IHNlZ21lbnRUb1BhdGhuYW1lID0gKHNlZ21lbnQ6IFNlZ21lbnQpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIHNlZ21lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gJ2NoaWxkcmVuJyBpcyBub3QgYSB2YWxpZCBwYXRoIC0tIGl0J3MgdGVjaG5pY2FsbHkgYSBwYXJhbGxlbCByb3V0ZSB0aGF0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGN1cnJlbnQgc2VnbWVudCdzIHBhZ2VcbiAgICAvLyBpZiB3ZSBkb24ndCBza2lwIGl0LCB0aGVuIHRoZSBjb21wdXRlZCBwYXRobmFtZSBtaWdodCBiZSBzb21ldGhpbmcgbGlrZSBgL2NoaWxkcmVuYCB3aGljaCBkb2Vzbid0IG1ha2Ugc2Vuc2UuXG4gICAgaWYgKHNlZ21lbnQgPT09ICdjaGlsZHJlbicpIHJldHVybiAnJ1xuXG4gICAgcmV0dXJuIHNlZ21lbnRcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50WzFdXG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVNlZ21lbnRzKHNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIHJldHVybiAoXG4gICAgc2VnbWVudHMucmVkdWNlKChhY2MsIHNlZ21lbnQpID0+IHtcbiAgICAgIHNlZ21lbnQgPSByZW1vdmVMZWFkaW5nU2xhc2goc2VnbWVudClcbiAgICAgIGlmIChzZWdtZW50ID09PSAnJyB8fCBpc0dyb3VwU2VnbWVudChzZWdtZW50KSkge1xuICAgICAgICByZXR1cm4gYWNjXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBgJHthY2N9LyR7c2VnbWVudH1gXG4gICAgfSwgJycpIHx8ICcvJ1xuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZShcbiAgZmxpZ2h0Um91dGVyU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBzZWdtZW50ID0gQXJyYXkuaXNBcnJheShmbGlnaHRSb3V0ZXJTdGF0ZVswXSlcbiAgICA/IGZsaWdodFJvdXRlclN0YXRlWzBdWzFdXG4gICAgOiBmbGlnaHRSb3V0ZXJTdGF0ZVswXVxuXG4gIGlmIChcbiAgICBzZWdtZW50ID09PSBERUZBVUxUX1NFR01FTlRfS0VZIHx8XG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZSgobSkgPT4gc2VnbWVudC5zdGFydHNXaXRoKG0pKVxuICApXG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuXG4gIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoUEFHRV9TRUdNRU5UX0tFWSkpIHJldHVybiAnJ1xuXG4gIGNvbnN0IHNlZ21lbnRzID0gW3NlZ21lbnRUb1BhdGhuYW1lKHNlZ21lbnQpXVxuICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IGZsaWdodFJvdXRlclN0YXRlWzFdID8/IHt9XG5cbiAgY29uc3QgY2hpbGRyZW5QYXRoID0gcGFyYWxsZWxSb3V0ZXMuY2hpbGRyZW5cbiAgICA/IGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKHBhcmFsbGVsUm91dGVzLmNoaWxkcmVuKVxuICAgIDogdW5kZWZpbmVkXG5cbiAgaWYgKGNoaWxkcmVuUGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc2VnbWVudHMucHVzaChjaGlsZHJlblBhdGgpXG4gIH0gZWxzZSB7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyYWxsZWxSb3V0ZXMpKSB7XG4gICAgICBpZiAoa2V5ID09PSAnY2hpbGRyZW4nKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBjaGlsZFBhdGggPSBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSh2YWx1ZSlcblxuICAgICAgaWYgKGNoaWxkUGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNlZ21lbnRzLnB1c2goY2hpbGRQYXRoKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBub3JtYWxpemVTZWdtZW50cyhzZWdtZW50cylcbn1cblxuZnVuY3Rpb24gY29tcHV0ZUNoYW5nZWRQYXRoSW1wbChcbiAgdHJlZUE6IEZsaWdodFJvdXRlclN0YXRlLFxuICB0cmVlQjogRmxpZ2h0Um91dGVyU3RhdGVcbik6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBbc2VnbWVudEEsIHBhcmFsbGVsUm91dGVzQV0gPSB0cmVlQVxuICBjb25zdCBbc2VnbWVudEIsIHBhcmFsbGVsUm91dGVzQl0gPSB0cmVlQlxuXG4gIGNvbnN0IG5vcm1hbGl6ZWRTZWdtZW50QSA9IHNlZ21lbnRUb1BhdGhuYW1lKHNlZ21lbnRBKVxuICBjb25zdCBub3JtYWxpemVkU2VnbWVudEIgPSBzZWdtZW50VG9QYXRobmFtZShzZWdtZW50QilcblxuICBpZiAoXG4gICAgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZShcbiAgICAgIChtKSA9PlxuICAgICAgICBub3JtYWxpemVkU2VnbWVudEEuc3RhcnRzV2l0aChtKSB8fCBub3JtYWxpemVkU2VnbWVudEIuc3RhcnRzV2l0aChtKVxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuICcnXG4gIH1cblxuICBpZiAoIW1hdGNoU2VnbWVudChzZWdtZW50QSwgc2VnbWVudEIpKSB7XG4gICAgLy8gb25jZSB3ZSBmaW5kIHdoZXJlIHRoZSB0cmVlIGNoYW5nZWQsIHdlIGNvbXB1dGUgdGhlIHJlc3Qgb2YgdGhlIHBhdGggYnkgdHJhdmVyc2luZyB0aGUgdHJlZVxuICAgIHJldHVybiBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSh0cmVlQikgPz8gJydcbiAgfVxuXG4gIGZvciAoY29uc3QgcGFyYWxsZWxSb3V0ZXJLZXkgaW4gcGFyYWxsZWxSb3V0ZXNBKSB7XG4gICAgaWYgKHBhcmFsbGVsUm91dGVzQltwYXJhbGxlbFJvdXRlcktleV0pIHtcbiAgICAgIGNvbnN0IGNoYW5nZWRQYXRoID0gY29tcHV0ZUNoYW5nZWRQYXRoSW1wbChcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXNBW3BhcmFsbGVsUm91dGVyS2V5XSxcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXNCW3BhcmFsbGVsUm91dGVyS2V5XVxuICAgICAgKVxuICAgICAgaWYgKGNoYW5nZWRQYXRoICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBgJHtzZWdtZW50VG9QYXRobmFtZShzZWdtZW50Qil9LyR7Y2hhbmdlZFBhdGh9YFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQ2hhbmdlZFBhdGgoXG4gIHRyZWVBOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgdHJlZUI6IEZsaWdodFJvdXRlclN0YXRlXG4pOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgY2hhbmdlZFBhdGggPSBjb21wdXRlQ2hhbmdlZFBhdGhJbXBsKHRyZWVBLCB0cmVlQilcblxuICBpZiAoY2hhbmdlZFBhdGggPT0gbnVsbCB8fCBjaGFuZ2VkUGF0aCA9PT0gJy8nKSB7XG4gICAgcmV0dXJuIGNoYW5nZWRQYXRoXG4gIH1cblxuICAvLyBsaWdodHdlaWdodCBub3JtYWxpemF0aW9uIHRvIHJlbW92ZSByb3V0ZSBncm91cHNcbiAgcmV0dXJuIG5vcm1hbGl6ZVNlZ21lbnRzKGNoYW5nZWRQYXRoLnNwbGl0KCcvJykpXG59XG5cbi8qKlxuICogUmVjdXJzaXZlbHkgZXh0cmFjdHMgZHluYW1pYyBwYXJhbWV0ZXJzIGZyb20gRmxpZ2h0Um91dGVyU3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWxlY3RlZFBhcmFtcyhcbiAgY3VycmVudFRyZWU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBwYXJhbXM6IFBhcmFtcyA9IHt9XG4pOiBQYXJhbXMge1xuICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IGN1cnJlbnRUcmVlWzFdXG5cbiAgZm9yIChjb25zdCBwYXJhbGxlbFJvdXRlIG9mIE9iamVjdC52YWx1ZXMocGFyYWxsZWxSb3V0ZXMpKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IHBhcmFsbGVsUm91dGVbMF1cbiAgICBjb25zdCBpc0R5bmFtaWNQYXJhbWV0ZXIgPSBBcnJheS5pc0FycmF5KHNlZ21lbnQpXG4gICAgY29uc3Qgc2VnbWVudFZhbHVlID0gaXNEeW5hbWljUGFyYW1ldGVyID8gc2VnbWVudFsxXSA6IHNlZ21lbnRcbiAgICBpZiAoIXNlZ21lbnRWYWx1ZSB8fCBzZWdtZW50VmFsdWUuc3RhcnRzV2l0aChQQUdFX1NFR01FTlRfS0VZKSkgY29udGludWVcblxuICAgIC8vIEVuc3VyZSBjYXRjaEFsbCBhbmQgb3B0aW9uYWwgY2F0Y2hhbGwgYXJlIHR1cm5lZCBpbnRvIGFuIGFycmF5XG4gICAgY29uc3QgaXNDYXRjaEFsbCA9XG4gICAgICBpc0R5bmFtaWNQYXJhbWV0ZXIgJiYgKHNlZ21lbnRbMl0gPT09ICdjJyB8fCBzZWdtZW50WzJdID09PSAnb2MnKVxuXG4gICAgaWYgKGlzQ2F0Y2hBbGwpIHtcbiAgICAgIHBhcmFtc1tzZWdtZW50WzBdXSA9IHNlZ21lbnRbMV0uc3BsaXQoJy8nKVxuICAgIH0gZWxzZSBpZiAoaXNEeW5hbWljUGFyYW1ldGVyKSB7XG4gICAgICBwYXJhbXNbc2VnbWVudFswXV0gPSBzZWdtZW50WzFdXG4gICAgfVxuXG4gICAgcGFyYW1zID0gZ2V0U2VsZWN0ZWRQYXJhbXMocGFyYWxsZWxSb3V0ZSwgcGFyYW1zKVxuICB9XG5cbiAgcmV0dXJuIHBhcmFtc1xufVxuIl0sIm5hbWVzIjpbImNvbXB1dGVDaGFuZ2VkUGF0aCIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwiZ2V0U2VsZWN0ZWRQYXJhbXMiLCJyZW1vdmVMZWFkaW5nU2xhc2giLCJzZWdtZW50Iiwic2xpY2UiLCJzZWdtZW50VG9QYXRobmFtZSIsIm5vcm1hbGl6ZVNlZ21lbnRzIiwic2VnbWVudHMiLCJyZWR1Y2UiLCJhY2MiLCJpc0dyb3VwU2VnbWVudCIsImZsaWdodFJvdXRlclN0YXRlIiwiQXJyYXkiLCJpc0FycmF5IiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwic29tZSIsIm0iLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiUEFHRV9TRUdNRU5UX0tFWSIsInBhcmFsbGVsUm91dGVzIiwiY2hpbGRyZW5QYXRoIiwiY2hpbGRyZW4iLCJwdXNoIiwia2V5IiwidmFsdWUiLCJPYmplY3QiLCJlbnRyaWVzIiwiY2hpbGRQYXRoIiwiY29tcHV0ZUNoYW5nZWRQYXRoSW1wbCIsInRyZWVBIiwidHJlZUIiLCJzZWdtZW50QSIsInBhcmFsbGVsUm91dGVzQSIsInNlZ21lbnRCIiwicGFyYWxsZWxSb3V0ZXNCIiwibm9ybWFsaXplZFNlZ21lbnRBIiwibm9ybWFsaXplZFNlZ21lbnRCIiwibWF0Y2hTZWdtZW50IiwicGFyYWxsZWxSb3V0ZXJLZXkiLCJjaGFuZ2VkUGF0aCIsInNwbGl0IiwiY3VycmVudFRyZWUiLCJwYXJhbXMiLCJwYXJhbGxlbFJvdXRlIiwidmFsdWVzIiwiaXNEeW5hbWljUGFyYW1ldGVyIiwic2VnbWVudFZhbHVlIiwiaXNDYXRjaEFsbCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createHrefFromUrl\", ({\n enumerable: true,\n get: function() {\n return createHrefFromUrl;\n }\n}));\nfunction createHrefFromUrl(url, includeHash) {\n if (includeHash === void 0) includeHash = true;\n return url.pathname + url.search + (includeHash ? url.hash : '');\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=create-href-from-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWhyZWYtZnJvbS11cmwuanMiLCJtYXBwaW5ncyI6Ijs7OztxREFBZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGtCQUNkQyxHQUE4QyxFQUM5Q0MsV0FBMkI7SUFBM0JBLElBQUFBLGdCQUFBQSxLQUFBQSxHQUFBQSxjQUF1QjtJQUV2QixPQUFPRCxJQUFJRSxRQUFRLEdBQUdGLElBQUlHLE1BQU0sR0FBSUYsQ0FBQUEsY0FBY0QsSUFBSUksSUFBSSxHQUFHLEdBQUM7QUFDaEUiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaHJlZi1mcm9tLXVybC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY3JlYXRlSHJlZkZyb21VcmwoXG4gIHVybDogUGljazxVUkwsICdwYXRobmFtZScgfCAnc2VhcmNoJyB8ICdoYXNoJz4sXG4gIGluY2x1ZGVIYXNoOiBib29sZWFuID0gdHJ1ZVxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIHVybC5wYXRobmFtZSArIHVybC5zZWFyY2ggKyAoaW5jbHVkZUhhc2ggPyB1cmwuaGFzaCA6ICcnKVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUhyZWZGcm9tVXJsIiwidXJsIiwiaW5jbHVkZUhhc2giLCJwYXRobmFtZSIsInNlYXJjaCIsImhhc2giXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInitialRouterState\", ({\n enumerable: true,\n get: function() {\n return createInitialRouterState;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ./prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ./refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nfunction createInitialRouterState(param) {\n let { navigatedAt, initialFlightData, initialCanonicalUrlParts, initialParallelRoutes, location, couldBeIntercepted, postponed, prerendered } = param;\n // When initialized on the server, the canonical URL is provided as an array of parts.\n // This is to ensure that when the RSC payload streamed to the client, crawlers don't interpret it\n // as a URL that should be crawled.\n const initialCanonicalUrl = initialCanonicalUrlParts.join('/');\n const normalizedFlightData = (0, _flightdatahelpers.getFlightDataPartsFromPath)(initialFlightData[0]);\n const { tree: initialTree, seedData: initialSeedData, head: initialHead } = normalizedFlightData;\n // For the SSR render, seed data should always be available (we only send back a `null` response\n // in the case of a `loading` segment, pre-PPR.)\n const rsc = initialSeedData == null ? void 0 : initialSeedData[1];\n var _initialSeedData_;\n const loading = (_initialSeedData_ = initialSeedData == null ? void 0 : initialSeedData[3]) != null ? _initialSeedData_ : null;\n const cache = {\n lazyData: null,\n rsc,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n // The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render.\n parallelRoutes: initialParallelRoutes,\n loading,\n navigatedAt\n };\n const canonicalUrl = // This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file.\n location ? (0, _createhreffromurl.createHrefFromUrl)(location) : initialCanonicalUrl;\n (0, _refetchinactiveparallelsegments.addRefreshMarkerToActiveParallelSegments)(initialTree, canonicalUrl);\n const prefetchCache = new Map();\n // When the cache hasn't been seeded yet we fill the cache with the head.\n if (initialParallelRoutes === null || initialParallelRoutes.size === 0) {\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(navigatedAt, cache, undefined, initialTree, initialSeedData, initialHead, undefined);\n }\n var _ref;\n const initialState = {\n tree: initialTree,\n cache,\n prefetchCache,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // First render needs to preserve the previous window.history.state\n // to avoid it being overwritten on navigation back/forward with MPA Navigation.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: {\n apply: false,\n onlyHashChange: false,\n hashFragment: null,\n segmentPaths: []\n },\n canonicalUrl,\n nextUrl: (_ref = (0, _computechangedpath.extractPathFromFlightRouterState)(initialTree) || (location == null ? void 0 : location.pathname)) != null ? _ref : null\n };\n if (false) {}\n return initialState;\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=create-initial-router-state.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NERBeUJnQkE7OztlQUFBQTs7OytDQXRCa0I7MkRBQ1k7Z0RBQ0c7Z0RBSTFDO2dEQUMrQzs2REFDRzsrQ0FDZDtBQWFwQyxTQUFTQSx5QkFBeUIsS0FTVjtJQVRVLE1BQ3ZDQyxXQUFXLEVBQ1hDLGlCQUFpQixFQUNqQkMsd0JBQXdCLEVBQ3hCQyxxQkFBcUIsRUFDckJDLFFBQVEsRUFDUkMsa0JBQWtCLEVBQ2xCQyxTQUFTLEVBQ1RDLFdBQVcsRUFDa0IsR0FUVTtJQVV2QyxzRkFBc0Y7SUFDdEYsa0dBQWtHO0lBQ2xHLG1DQUFtQztJQUNuQyxNQUFNQyxzQkFBc0JOLHlCQUF5Qk8sSUFBSSxDQUFDO0lBQzFELE1BQU1DLHVCQUF1QkMsQ0FBQUEsR0FBQUEsbUJBQUFBLDBCQUFBQSxFQUEyQlYsaUJBQWlCLENBQUMsRUFBRTtJQUM1RSxNQUFNLEVBQ0pXLE1BQU1DLFdBQVcsRUFDakJDLFVBQVVDLGVBQWUsRUFDekJDLE1BQU1DLFdBQVcsRUFDbEIsR0FBR1A7SUFDSixnR0FBZ0c7SUFDaEcsZ0RBQWdEO0lBQ2hELE1BQU1RLE1BQU1ILG1CQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxlQUFpQixDQUFDLEVBQUU7UUFDaEJBO0lBQWhCLE1BQU1JLFVBQVVKLENBQUFBLG9CQUFBQSxtQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsZUFBaUIsQ0FBQyxPQUFFLE9BQXBCQSxvQkFBd0I7SUFFeEMsTUFBTUssUUFBbUI7UUFDdkJDLFVBQVU7UUFDVkg7UUFDQUksYUFBYTtRQUNiTixNQUFNO1FBQ05PLGNBQWM7UUFDZCxvSkFBb0o7UUFDcEpDLGdCQUFnQnJCO1FBQ2hCZ0I7UUFDQW5CO0lBQ0Y7SUFFQSxNQUFNeUIsZUFDSiw2RUFBNkUscUVBQ3FFO0lBQ2xKckIsV0FFSXNCLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFBQ3RCLFlBQ2xCSTtJQUVObUIsQ0FBQUEsR0FBQUEsaUNBQUFBLHdDQUFBQSxFQUF5Q2QsYUFBYVk7SUFFdEQsTUFBTUcsZ0JBQWdCLElBQUlDO0lBRTFCLHlFQUF5RTtJQUN6RSxJQUFJMUIsMEJBQTBCLFFBQVFBLHNCQUFzQjJCLElBQUksS0FBSyxHQUFHO1FBQ3RFQyxDQUFBQSxHQUFBQSwrQkFBQUEsNkJBQUFBLEVBQ0UvQixhQUNBb0IsT0FDQVksV0FDQW5CLGFBQ0FFLGlCQUNBRSxhQUNBZTtJQUVKO1FBc0JLQztJQXBCTCxNQUFNQyxlQUFlO1FBQ25CdEIsTUFBTUM7UUFDTk87UUFDQVE7UUFDQU8sU0FBUztZQUNQQyxhQUFhO1lBQ2JDLGVBQWU7WUFDZixtRUFBbUU7WUFDbkUsZ0ZBQWdGO1lBQ2hGQyw0QkFBNEI7UUFDOUI7UUFDQUMsbUJBQW1CO1lBQ2pCQyxPQUFPO1lBQ1BDLGdCQUFnQjtZQUNoQkMsY0FBYztZQUNkQyxjQUFjLEVBQUU7UUFDbEI7UUFDQWxCO1FBQ0FtQixTQUVFLENBQUNYLE9BQUFBLENBQUFBLEdBQUFBLG9CQUFBQSxnQ0FBQUEsRUFBaUNwQixpQkFBZ0JULFlBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFNBQVV5QyxRQUFBQSxDQUFRLFlBQW5FWixPQUNEO0lBQ0o7SUFFQSxJQUFJYSxLQUFrRDFDLEVBQUUsRUF1Q3ZEO0lBRUQsT0FBTzhCO0FBQ1QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaW5pdGlhbC1yb3V0ZXItc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHsgRmxpZ2h0RGF0YVBhdGggfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcblxuaW1wb3J0IHsgY3JlYXRlSHJlZkZyb21VcmwgfSBmcm9tICcuL2NyZWF0ZS1ocmVmLWZyb20tdXJsJ1xuaW1wb3J0IHsgZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQgfSBmcm9tICcuL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkJ1xuaW1wb3J0IHsgZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuL2NvbXB1dGUtY2hhbmdlZC1wYXRoJ1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VlZGVkUHJlZmV0Y2hDYWNoZUVudHJ5LFxuICBTVEFUSUNfU1RBTEVUSU1FX01TLFxufSBmcm9tICcuL3ByZWZldGNoLWNhY2hlLXV0aWxzJ1xuaW1wb3J0IHsgUHJlZmV0Y2hLaW5kLCB0eXBlIFByZWZldGNoQ2FjaGVFbnRyeSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBhZGRSZWZyZXNoTWFya2VyVG9BY3RpdmVQYXJhbGxlbFNlZ21lbnRzIH0gZnJvbSAnLi9yZWZldGNoLWluYWN0aXZlLXBhcmFsbGVsLXNlZ21lbnRzJ1xuaW1wb3J0IHsgZ2V0RmxpZ2h0RGF0YVBhcnRzRnJvbVBhdGggfSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxSb3V0ZXJTdGF0ZVBhcmFtZXRlcnMge1xuICBuYXZpZ2F0ZWRBdDogbnVtYmVyXG4gIGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0czogc3RyaW5nW11cbiAgaW5pdGlhbFBhcmFsbGVsUm91dGVzOiBDYWNoZU5vZGVbJ3BhcmFsbGVsUm91dGVzJ11cbiAgaW5pdGlhbEZsaWdodERhdGE6IEZsaWdodERhdGFQYXRoW11cbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbFxuICBjb3VsZEJlSW50ZXJjZXB0ZWQ6IGJvb2xlYW5cbiAgcG9zdHBvbmVkOiBib29sZWFuXG4gIHByZXJlbmRlcmVkOiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUoe1xuICBuYXZpZ2F0ZWRBdCxcbiAgaW5pdGlhbEZsaWdodERhdGEsXG4gIGluaXRpYWxDYW5vbmljYWxVcmxQYXJ0cyxcbiAgaW5pdGlhbFBhcmFsbGVsUm91dGVzLFxuICBsb2NhdGlvbixcbiAgY291bGRCZUludGVyY2VwdGVkLFxuICBwb3N0cG9uZWQsXG4gIHByZXJlbmRlcmVkLFxufTogSW5pdGlhbFJvdXRlclN0YXRlUGFyYW1ldGVycykge1xuICAvLyBXaGVuIGluaXRpYWxpemVkIG9uIHRoZSBzZXJ2ZXIsIHRoZSBjYW5vbmljYWwgVVJMIGlzIHByb3ZpZGVkIGFzIGFuIGFycmF5IG9mIHBhcnRzLlxuICAvLyBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHdoZW4gdGhlIFJTQyBwYXlsb2FkIHN0cmVhbWVkIHRvIHRoZSBjbGllbnQsIGNyYXdsZXJzIGRvbid0IGludGVycHJldCBpdFxuICAvLyBhcyBhIFVSTCB0aGF0IHNob3VsZCBiZSBjcmF3bGVkLlxuICBjb25zdCBpbml0aWFsQ2Fub25pY2FsVXJsID0gaW5pdGlhbENhbm9uaWNhbFVybFBhcnRzLmpvaW4oJy8nKVxuICBjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSA9IGdldEZsaWdodERhdGFQYXJ0c0Zyb21QYXRoKGluaXRpYWxGbGlnaHREYXRhWzBdKVxuICBjb25zdCB7XG4gICAgdHJlZTogaW5pdGlhbFRyZWUsXG4gICAgc2VlZERhdGE6IGluaXRpYWxTZWVkRGF0YSxcbiAgICBoZWFkOiBpbml0aWFsSGVhZCxcbiAgfSA9IG5vcm1hbGl6ZWRGbGlnaHREYXRhXG4gIC8vIEZvciB0aGUgU1NSIHJlbmRlciwgc2VlZCBkYXRhIHNob3VsZCBhbHdheXMgYmUgYXZhaWxhYmxlICh3ZSBvbmx5IHNlbmQgYmFjayBhIGBudWxsYCByZXNwb25zZVxuICAvLyBpbiB0aGUgY2FzZSBvZiBhIGBsb2FkaW5nYCBzZWdtZW50LCBwcmUtUFBSLilcbiAgY29uc3QgcnNjID0gaW5pdGlhbFNlZWREYXRhPy5bMV1cbiAgY29uc3QgbG9hZGluZyA9IGluaXRpYWxTZWVkRGF0YT8uWzNdID8/IG51bGxcblxuICBjb25zdCBjYWNoZTogQ2FjaGVOb2RlID0ge1xuICAgIGxhenlEYXRhOiBudWxsLFxuICAgIHJzYyxcbiAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICBoZWFkOiBudWxsLFxuICAgIHByZWZldGNoSGVhZDogbnVsbCxcbiAgICAvLyBUaGUgY2FjaGUgZ2V0cyBzZWVkZWQgZHVyaW5nIHRoZSBmaXJzdCByZW5kZXIuIGBpbml0aWFsUGFyYWxsZWxSb3V0ZXNgIGVuc3VyZXMgdGhlIGNhY2hlIGZyb20gdGhlIGZpcnN0IHJlbmRlciBpcyB0aGVyZSBkdXJpbmcgdGhlIHNlY29uZCByZW5kZXIuXG4gICAgcGFyYWxsZWxSb3V0ZXM6IGluaXRpYWxQYXJhbGxlbFJvdXRlcyxcbiAgICBsb2FkaW5nLFxuICAgIG5hdmlnYXRlZEF0LFxuICB9XG5cbiAgY29uc3QgY2Fub25pY2FsVXJsID1cbiAgICAvLyBsb2NhdGlvbi5ocmVmIGlzIHJlYWQgYXMgdGhlIGluaXRpYWwgdmFsdWUgZm9yIGNhbm9uaWNhbFVybCBpbiB0aGUgYnJvd3NlclxuICAgIC8vIFRoaXMgaXMgc2FmZSB0byBkbyBhcyBjYW5vbmljYWxVcmwgY2FuJ3QgYmUgcmVuZGVyZWQsIGl0J3Mgb25seSB1c2VkIHRvIGNvbnRyb2wgdGhlIGhpc3RvcnkgdXBkYXRlcyBpbiB0aGUgdXNlRWZmZWN0IGZ1cnRoZXIgZG93biBpbiB0aGlzIGZpbGUuXG4gICAgbG9jYXRpb25cbiAgICAgID8gLy8gd2luZG93LmxvY2F0aW9uIGRvZXMgbm90IGhhdmUgdGhlIHNhbWUgdHlwZSBhcyBVUkwgYnV0IGhhcyBhbGwgdGhlIGZpZWxkcyBjcmVhdGVIcmVmRnJvbVVybCBuZWVkcy5cbiAgICAgICAgY3JlYXRlSHJlZkZyb21VcmwobG9jYXRpb24pXG4gICAgICA6IGluaXRpYWxDYW5vbmljYWxVcmxcblxuICBhZGRSZWZyZXNoTWFya2VyVG9BY3RpdmVQYXJhbGxlbFNlZ21lbnRzKGluaXRpYWxUcmVlLCBjYW5vbmljYWxVcmwpXG5cbiAgY29uc3QgcHJlZmV0Y2hDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcmVmZXRjaENhY2hlRW50cnk+KClcblxuICAvLyBXaGVuIHRoZSBjYWNoZSBoYXNuJ3QgYmVlbiBzZWVkZWQgeWV0IHdlIGZpbGwgdGhlIGNhY2hlIHdpdGggdGhlIGhlYWQuXG4gIGlmIChpbml0aWFsUGFyYWxsZWxSb3V0ZXMgPT09IG51bGwgfHwgaW5pdGlhbFBhcmFsbGVsUm91dGVzLnNpemUgPT09IDApIHtcbiAgICBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZChcbiAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgY2FjaGUsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBpbml0aWFsVHJlZSxcbiAgICAgIGluaXRpYWxTZWVkRGF0YSxcbiAgICAgIGluaXRpYWxIZWFkLFxuICAgICAgdW5kZWZpbmVkXG4gICAgKVxuICB9XG5cbiAgY29uc3QgaW5pdGlhbFN0YXRlID0ge1xuICAgIHRyZWU6IGluaXRpYWxUcmVlLFxuICAgIGNhY2hlLFxuICAgIHByZWZldGNoQ2FjaGUsXG4gICAgcHVzaFJlZjoge1xuICAgICAgcGVuZGluZ1B1c2g6IGZhbHNlLFxuICAgICAgbXBhTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAvLyBGaXJzdCByZW5kZXIgbmVlZHMgdG8gcHJlc2VydmUgdGhlIHByZXZpb3VzIHdpbmRvdy5oaXN0b3J5LnN0YXRlXG4gICAgICAvLyB0byBhdm9pZCBpdCBiZWluZyBvdmVyd3JpdHRlbiBvbiBuYXZpZ2F0aW9uIGJhY2svZm9yd2FyZCB3aXRoIE1QQSBOYXZpZ2F0aW9uLlxuICAgICAgcHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6IHRydWUsXG4gICAgfSxcbiAgICBmb2N1c0FuZFNjcm9sbFJlZjoge1xuICAgICAgYXBwbHk6IGZhbHNlLFxuICAgICAgb25seUhhc2hDaGFuZ2U6IGZhbHNlLFxuICAgICAgaGFzaEZyYWdtZW50OiBudWxsLFxuICAgICAgc2VnbWVudFBhdGhzOiBbXSxcbiAgICB9LFxuICAgIGNhbm9uaWNhbFVybCxcbiAgICBuZXh0VXJsOlxuICAgICAgLy8gdGhlIHx8IG9wZXJhdG9yIGlzIGludGVudGlvbmFsLCB0aGUgcGF0aG5hbWUgY2FuIGJlIGFuIGVtcHR5IHN0cmluZ1xuICAgICAgKGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKGluaXRpYWxUcmVlKSB8fCBsb2NhdGlvbj8ucGF0aG5hbWUpID8/XG4gICAgICBudWxsLFxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAnZGV2ZWxvcG1lbnQnICYmIGxvY2F0aW9uKSB7XG4gICAgLy8gU2VlZCB0aGUgcHJlZmV0Y2ggY2FjaGUgd2l0aCB0aGlzIHBhZ2UncyBkYXRhLlxuICAgIC8vIFRoaXMgaXMgdG8gcHJldmVudCBuZWVkbGVzc2x5IHJlLXByZWZldGNoaW5nIGEgcGFnZSB0aGF0IGlzIGFscmVhZHkgcmV1c2FibGUsXG4gICAgLy8gYW5kIHdpbGwgYXZvaWQgdHJpZ2dlcmluZyBhIGxvYWRpbmcgc3RhdGUvZGF0YSBmZXRjaCBzdGFsbCB3aGVuIG5hdmlnYXRpbmcgYmFjayB0byB0aGUgcGFnZS5cbiAgICAvLyBXZSBkb24ndCBjdXJyZW50bHkgZG8gdGhpcyBpbiBkZXZlbG9wbWVudCBiZWNhdXNlIGxpbmtzIGFyZW4ndCBwcmVmZXRjaGVkIGluIGRldmVsb3BtZW50XG4gICAgLy8gc28gaGF2aW5nIGEgbWlzbWF0Y2ggYmV0d2VlbiBwcmVmZXRjaC9ubyBwcmVmZXRjaCBwcm92aWRlcyBpbmNvbnNpc3RlbnQgYmVoYXZpb3IgYmFzZWQgb24gd2hpY2ggcGFnZVxuICAgIC8vIHdhcyBsb2FkZWQgZmlyc3QuXG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChcbiAgICAgIGAke2xvY2F0aW9uLnBhdGhuYW1lfSR7bG9jYXRpb24uc2VhcmNofWAsXG4gICAgICBsb2NhdGlvbi5vcmlnaW5cbiAgICApXG5cbiAgICBjcmVhdGVTZWVkZWRQcmVmZXRjaENhY2hlRW50cnkoe1xuICAgICAgdXJsLFxuICAgICAgZGF0YToge1xuICAgICAgICBmbGlnaHREYXRhOiBbbm9ybWFsaXplZEZsaWdodERhdGFdLFxuICAgICAgICBjYW5vbmljYWxVcmw6IHVuZGVmaW5lZCxcbiAgICAgICAgY291bGRCZUludGVyY2VwdGVkOiAhIWNvdWxkQmVJbnRlcmNlcHRlZCxcbiAgICAgICAgcHJlcmVuZGVyZWQsXG4gICAgICAgIHBvc3Rwb25lZCxcbiAgICAgICAgLy8gVE9ETzogVGhlIGluaXRpYWwgUlNDIHBheWxvYWQgaW5jbHVkZXMgYm90aCBzdGF0aWMgYW5kIGR5bmFtaWMgZGF0YVxuICAgICAgICAvLyBpbiB0aGUgc2FtZSByZXNwb25zZSwgZXZlbiBpZiBQUFIgaXMgZW5hYmxlZC4gU28gaWYgdGhlcmUncyBhbnlcbiAgICAgICAgLy8gZHluYW1pYyBkYXRhIGF0IGFsbCwgd2UgY2FuJ3Qgc2V0IGEgc3RhbGUgdGltZS4gSW4gdGhlIGZ1dHVyZSB3ZSBtYXlcbiAgICAgICAgLy8gYWRkIGEgd2F5IHRvIHNwbGl0IGEgc2luZ2xlIEZsaWdodCBzdHJlYW0gaW50byBzdGF0aWMgYW5kIGR5bmFtaWNcbiAgICAgICAgLy8gcGFydHMuIEJ1dCBpbiB0aGUgbWVhbnRpbWUgd2Ugc2hvdWxkIGF0IGxlYXN0IG1ha2UgdGhpcyB3b3JrIGZvclxuICAgICAgICAvLyBmdWxseSBzdGF0aWMgcGFnZXMuXG4gICAgICAgIHN0YWxlVGltZTpcbiAgICAgICAgICAvLyBJbiB0aGUgb2xkIHJvdXRlciwgdGhlcmUgd2FzIG9ubHkgYSBzaW5nbGUgY29uZmlndXJhYmxlIHN0YWxlVGltZSAoZXhwZXJpbWVudGFsLnN0YWxlVGltZXMpXG4gICAgICAgICAgLy8gQXMgYW4gYWJ1bmRhbmNlIG9mIGNhdXRpb24sIHRoaXMgd2lsbCBvbmx5IHNldCB0aGUgaW5pdGlhbCBzdGFsZVRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgdmFsdWVcbiAgICAgICAgICAvLyBpZiB3ZSdyZSBub3QgbGV2ZXJhZ2luZyB0aGUgc2VnbWVudCBjYWNoZSwgd2hpY2ggaGFzIGl0cyBvd24gcHJlZmV0Y2hpbmcgc2VtYW50aWNzLlxuICAgICAgICAgIHByZXJlbmRlcmVkICYmICFwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEVcbiAgICAgICAgICAgID8gU1RBVElDX1NUQUxFVElNRV9NU1xuICAgICAgICAgICAgOiAtMSxcbiAgICAgIH0sXG4gICAgICB0cmVlOiBpbml0aWFsU3RhdGUudHJlZSxcbiAgICAgIHByZWZldGNoQ2FjaGU6IGluaXRpYWxTdGF0ZS5wcmVmZXRjaENhY2hlLFxuICAgICAgbmV4dFVybDogaW5pdGlhbFN0YXRlLm5leHRVcmwsXG4gICAgICBraW5kOiBwcmVyZW5kZXJlZCA/IFByZWZldGNoS2luZC5GVUxMIDogUHJlZmV0Y2hLaW5kLkFVVE8sXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBpbml0aWFsU3RhdGVcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLCJuYXZpZ2F0ZWRBdCIsImluaXRpYWxGbGlnaHREYXRhIiwiaW5pdGlhbENhbm9uaWNhbFVybFBhcnRzIiwiaW5pdGlhbFBhcmFsbGVsUm91dGVzIiwibG9jYXRpb24iLCJjb3VsZEJlSW50ZXJjZXB0ZWQiLCJwb3N0cG9uZWQiLCJwcmVyZW5kZXJlZCIsImluaXRpYWxDYW5vbmljYWxVcmwiLCJqb2luIiwibm9ybWFsaXplZEZsaWdodERhdGEiLCJnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aCIsInRyZWUiLCJpbml0aWFsVHJlZSIsInNlZWREYXRhIiwiaW5pdGlhbFNlZWREYXRhIiwiaGVhZCIsImluaXRpYWxIZWFkIiwicnNjIiwibG9hZGluZyIsImNhY2hlIiwibGF6eURhdGEiLCJwcmVmZXRjaFJzYyIsInByZWZldGNoSGVhZCIsInBhcmFsbGVsUm91dGVzIiwiY2Fub25pY2FsVXJsIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJhZGRSZWZyZXNoTWFya2VyVG9BY3RpdmVQYXJhbGxlbFNlZ21lbnRzIiwicHJlZmV0Y2hDYWNoZSIsIk1hcCIsInNpemUiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInVuZGVmaW5lZCIsImV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIiwiaW5pdGlhbFN0YXRlIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic2VnbWVudFBhdGhzIiwibmV4dFVybCIsInBhdGhuYW1lIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwidXJsIiwiVVJMIiwic2VhcmNoIiwib3JpZ2luIiwiY3JlYXRlU2VlZGVkUHJlZmV0Y2hDYWNoZUVudHJ5IiwiZGF0YSIsImZsaWdodERhdGEiLCJzdGFsZVRpbWUiLCJfX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEUiLCJTVEFUSUNfU1RBTEVUSU1FX01TIiwia2luZCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJBVVRPIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createRouterCacheKey\", ({\n enumerable: true,\n get: function() {\n return createRouterCacheKey;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction createRouterCacheKey(segment, withoutSearchParameters) {\n if (withoutSearchParameters === void 0) withoutSearchParameters = false;\n // if the segment is an array, it means it's a dynamic segment\n // for example, ['lang', 'en', 'd']. We need to convert it to a string to store it as a cache node key.\n if (Array.isArray(segment)) {\n return segment[0] + \"|\" + segment[1] + \"|\" + segment[2];\n }\n // Page segments might have search parameters, ie __PAGE__?foo=bar\n // When `withoutSearchParameters` is true, we only want to return the page segment\n if (withoutSearchParameters && segment.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return _segment.PAGE_SEGMENT_KEY;\n }\n return segment;\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=create-router-cache-key.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozt3REFHZ0JBOzs7ZUFBQUE7OztxQ0FGaUI7QUFFMUIsU0FBU0EscUJBQ2RDLE9BQWdCLEVBQ2hCQyx1QkFBd0M7SUFBeENBLElBQUFBLDRCQUFBQSxLQUFBQSxHQUFBQSwwQkFBbUM7SUFFbkMsOERBQThEO0lBQzlELHVHQUF1RztJQUN2RyxJQUFJQyxNQUFNQyxPQUFPLENBQUNILFVBQVU7UUFDMUIsT0FBVUEsT0FBTyxDQUFDLEVBQUUsR0FBQyxNQUFHQSxPQUFPLENBQUMsRUFBRSxHQUFDLE1BQUdBLE9BQU8sQ0FBQyxFQUFFO0lBQ2xEO0lBRUEsa0VBQWtFO0lBQ2xFLGtGQUFrRjtJQUNsRixJQUFJQywyQkFBMkJELFFBQVFJLFVBQVUsQ0FBQ0MsU0FBQUEsZ0JBQWdCLEdBQUc7UUFDbkUsT0FBT0EsU0FBQUEsZ0JBQWdCO0lBQ3pCO0lBRUEsT0FBT0w7QUFDVCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VnbWVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHsgUEFHRV9TRUdNRU5UX0tFWSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudCdcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJvdXRlckNhY2hlS2V5KFxuICBzZWdtZW50OiBTZWdtZW50LFxuICB3aXRob3V0U2VhcmNoUGFyYW1ldGVyczogYm9vbGVhbiA9IGZhbHNlXG4pIHtcbiAgLy8gaWYgdGhlIHNlZ21lbnQgaXMgYW4gYXJyYXksIGl0IG1lYW5zIGl0J3MgYSBkeW5hbWljIHNlZ21lbnRcbiAgLy8gZm9yIGV4YW1wbGUsIFsnbGFuZycsICdlbicsICdkJ10uIFdlIG5lZWQgdG8gY29udmVydCBpdCB0byBhIHN0cmluZyB0byBzdG9yZSBpdCBhcyBhIGNhY2hlIG5vZGUga2V5LlxuICBpZiAoQXJyYXkuaXNBcnJheShzZWdtZW50KSkge1xuICAgIHJldHVybiBgJHtzZWdtZW50WzBdfXwke3NlZ21lbnRbMV19fCR7c2VnbWVudFsyXX1gXG4gIH1cblxuICAvLyBQYWdlIHNlZ21lbnRzIG1pZ2h0IGhhdmUgc2VhcmNoIHBhcmFtZXRlcnMsIGllIF9fUEFHRV9fP2Zvbz1iYXJcbiAgLy8gV2hlbiBgd2l0aG91dFNlYXJjaFBhcmFtZXRlcnNgIGlzIHRydWUsIHdlIG9ubHkgd2FudCB0byByZXR1cm4gdGhlIHBhZ2Ugc2VnbWVudFxuICBpZiAod2l0aG91dFNlYXJjaFBhcmFtZXRlcnMgJiYgc2VnbWVudC5zdGFydHNXaXRoKFBBR0VfU0VHTUVOVF9LRVkpKSB7XG4gICAgcmV0dXJuIFBBR0VfU0VHTUVOVF9LRVlcbiAgfVxuXG4gIHJldHVybiBzZWdtZW50XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJzZWdtZW50Iiwid2l0aG91dFNlYXJjaFBhcmFtZXRlcnMiLCJBcnJheSIsImlzQXJyYXkiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js": /*!******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js ***! \******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \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 createFetch: function() {\n return createFetch;\n },\n createFromNextReadableStream: function() {\n return createFromNextReadableStream;\n },\n fetchServerResponse: function() {\n return fetchServerResponse;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _client = __webpack_require__(/*! react-server-dom-webpack/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js\");\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\");\nconst _appfindsourcemapurl = __webpack_require__(/*! ../../app-find-source-map-url */ \"(app-pages-browser)/./node_modules/next/dist/client/app-find-source-map-url.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _appbuildid = __webpack_require__(/*! ../../app-build-id */ \"(app-pages-browser)/./node_modules/next/dist/client/app-build-id.js\");\nconst _setcachebustingsearchparam = __webpack_require__(/*! ./set-cache-busting-search-param */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js\");\nconst createFromReadableStream = _client.createFromReadableStream;\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\nfunction doMpaNavigation(url) {\n return {\n flightData: urlToUrlWithoutFlightMarker(url).toString(),\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n staleTime: -1\n };\n}\nlet abortController = new AbortController();\nif (true) {\n // Abort any in-flight requests when the page is unloaded, e.g. due to\n // reloading the page or performing hard navigations. This allows us to ignore\n // what would otherwise be a thrown TypeError when the browser cancels the\n // requests.\n window.addEventListener('pagehide', ()=>{\n abortController.abort();\n });\n // Use a fresh AbortController instance on pageshow, e.g. when navigating back\n // and the JavaScript execution context is restored by the browser.\n window.addEventListener('pageshow', ()=>{\n abortController = new AbortController();\n });\n}\nasync function fetchServerResponse(url, options) {\n const { flightRouterState, nextUrl, prefetchKind } = options;\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: '1',\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]: (0, _flightdatahelpers.prepareFlightRouterStateForRequest)(flightRouterState, options.isHmrRefresh)\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = '1';\n }\n if ( true && options.isHmrRefresh) {\n headers[_approuterheaders.NEXT_HMR_REFRESH_HEADER] = '1';\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n try {\n var _res_headers_get;\n // When creating a \"temporary\" prefetch (the \"on-demand\" prefetch that gets created on navigation, if one doesn't exist)\n // we send the request with a \"high\" priority as it's in response to a user interaction that could be blocking a transition.\n // Otherwise, all other prefetches are sent with a \"low\" priority.\n // We use \"auto\" for in all other cases to match the existing default, as this function is shared outside of prefetching.\n const fetchPriority = prefetchKind ? prefetchKind === _routerreducertypes.PrefetchKind.TEMPORARY ? 'high' : 'low' : 'auto';\n if (false) {}\n const res = await createFetch(url, headers, fetchPriority, abortController.signal);\n const responseUrl = urlToUrlWithoutFlightMarker(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get('content-type') || '';\n const interception = !!((_res_headers_get = res.headers.get('vary')) == null ? void 0 : _res_headers_get.includes(_approuterheaders.NEXT_URL));\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n const staleTimeHeaderSeconds = res.headers.get(_approuterheaders.NEXT_ROUTER_STALE_TIME_HEADER);\n const staleTime = staleTimeHeaderSeconds !== null ? parseInt(staleTimeHeaderSeconds, 10) * 1000 : -1;\n let isFlightResponse = contentType.startsWith(_approuterheaders.RSC_CONTENT_TYPE_HEADER);\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok || !res.body) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // We may navigate to a page that requires a different Webpack runtime.\n // In prod, every page will have the same Webpack runtime.\n // In dev, the Webpack runtime is minimal for each page.\n // We need to ensure the Webpack runtime is updated before executing client-side JS of the new page.\n if (true) {\n await (__webpack_require__(/*! ../../dev/hot-reloader/app/hot-reloader-app */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js\").waitForWebpackRuntimeHotUpdate)();\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const flightStream = postponed ? createUnclosingPrefetchStream(res.body) : res.body;\n const response = await createFromNextReadableStream(flightStream);\n if ((0, _appbuildid.getAppBuildId)() !== response.b) {\n return doMpaNavigation(res.url);\n }\n return {\n flightData: (0, _flightdatahelpers.normalizeFlightData)(response.f),\n canonicalUrl: canonicalUrl,\n couldBeIntercepted: interception,\n prerendered: response.S,\n postponed,\n staleTime\n };\n } catch (err) {\n if (!abortController.signal.aborted) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n }\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return {\n flightData: url.toString(),\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n staleTime: -1\n };\n }\n}\nasync function createFetch(url, headers, fetchPriority, signal) {\n // TODO: In output: \"export\" mode, the headers do nothing. Omit them (and the\n // cache busting search param) from the request so they're\n // maximally cacheable.\n if (false) {}\n if (false) {}\n const fetchOptions = {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: 'same-origin',\n headers,\n priority: fetchPriority || undefined,\n signal\n };\n // `fetchUrl` is slightly different from `url` because we add a cache-busting\n // search param to it. This should not leak outside of this function, so we\n // track them separately.\n let fetchUrl = new URL(url);\n (0, _setcachebustingsearchparam.setCacheBustingSearchParam)(fetchUrl, headers);\n let browserResponse = await fetch(fetchUrl, fetchOptions);\n // If the server responds with a redirect (e.g. 307), and the redirected\n // location does not contain the cache busting search param set in the\n // original request, the response is likely invalid — when following the\n // redirect, the browser forwards the request headers, but since the cache\n // busting search param is missing, the server will reject the request due to\n // a mismatch.\n //\n // Ideally, we would be able to intercept the redirect response and perform it\n // manually, instead of letting the browser automatically follow it, but this\n // is not allowed by the fetch API.\n //\n // So instead, we must \"replay\" the redirect by fetching the new location\n // again, but this time we'll append the cache busting search param to prevent\n // a mismatch.\n //\n // TODO: We can optimize Next.js's built-in middleware APIs by returning a\n // custom status code, to prevent the browser from automatically following it.\n //\n // This does not affect Server Action-based redirects; those are encoded\n // differently, as part of the Flight body. It only affects redirects that\n // occur in a middleware or a third-party proxy.\n let redirected = browserResponse.redirected;\n if (false) {}\n // Remove the cache busting search param from the response URL, to prevent it\n // from leaking outside of this function.\n const responseUrl = new URL(browserResponse.url, fetchUrl);\n responseUrl.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n const rscResponse = {\n url: responseUrl.href,\n // This is true if any redirects occurred, either automatically by the\n // browser, or manually by us. So it's different from\n // `browserResponse.redirected`, which only tells us whether the browser\n // followed a redirect, and only for the last response in the chain.\n redirected,\n // These can be copied from the last browser response we received. We\n // intentionally only expose the subset of fields that are actually used\n // elsewhere in the codebase.\n ok: browserResponse.ok,\n headers: browserResponse.headers,\n body: browserResponse.body,\n status: browserResponse.status\n };\n return rscResponse;\n}\nfunction createFromNextReadableStream(flightStream) {\n return createFromReadableStream(flightStream, {\n callServer: _appcallserver.callServer,\n findSourceMapURL: _appfindsourcemapurl.findSourceMapURL\n });\n}\nfunction createUnclosingPrefetchStream(originalFlightStream) {\n // When PPR is enabled, prefetch streams may contain references that never\n // resolve, because that's how we encode dynamic data access. In the decoded\n // object returned by the Flight client, these are reified into hanging\n // promises that suspend during render, which is effectively what we want.\n // The UI resolves when it switches to the dynamic data stream\n // (via useDeferredValue(dynamic, static)).\n //\n // However, the Flight implementation currently errors if the server closes\n // the response before all the references are resolved. As a cheat to work\n // around this, we wrap the original stream in a new stream that never closes,\n // and therefore doesn't error.\n const reader = originalFlightStream.getReader();\n return new ReadableStream({\n async pull (controller) {\n while(true){\n const { done, value } = await reader.read();\n if (!done) {\n // Pass to the target stream and keep consuming the Flight response\n // from the server.\n controller.enqueue(value);\n continue;\n }\n // The server stream has closed. Exit, but intentionally do not close\n // the target stream.\n return;\n }\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=fetch-server-response.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlSc0JBLFdBQVc7ZUFBWEE7O0lBcUhOQyw0QkFBNEI7ZUFBNUJBOztJQTNSTUMsbUJBQW1CO2VBQW5CQTs7SUFsRE5DLDJCQUEyQjtlQUEzQkE7OztvQ0E3RDREOzhDQWtCckU7MkNBQ29CO2lEQUNNO2dEQUNKOytDQUt0Qjt3Q0FDdUI7d0RBQ2E7QUFFM0MsTUFBTUMsMkJBQ0pDLFFBQUFBLHdCQUErQjtBQThCMUIsU0FBU0YsNEJBQTRCRyxHQUFXO0lBQ3JELE1BQU1DLDZCQUE2QixJQUFJQyxJQUFJRixLQUFLRyxTQUFTQyxNQUFNO0lBQy9ESCwyQkFBMkJJLFlBQVksQ0FBQ0MsTUFBTSxDQUFDQyxrQkFBQUEsb0JBQW9CO0lBQ25FLElBQUlDLEtBQW9CLEVBQW1CLEVBVTFDO0lBQ0QsT0FBT1A7QUFDVDtBQUVBLFNBQVNlLGdCQUFnQmhCLEdBQVc7SUFDbEMsT0FBTztRQUNMaUIsWUFBWXBCLDRCQUE0QkcsS0FBS2tCLFFBQVE7UUFDckRDLGNBQWNDO1FBQ2RDLG9CQUFvQjtRQUNwQkMsYUFBYTtRQUNiQyxXQUFXO1FBQ1hDLFdBQVcsQ0FBQztJQUNkO0FBQ0Y7QUFFQSxJQUFJQyxrQkFBa0IsSUFBSUM7QUFFMUIsSUFBSSxJQUE2QixFQUFFO0lBQ2pDLHNFQUFzRTtJQUN0RSw4RUFBOEU7SUFDOUUsMEVBQTBFO0lBQzFFLFlBQVk7SUFDWkMsT0FBT0MsZ0JBQWdCLENBQUMsWUFBWTtRQUNsQ0gsZ0JBQWdCSSxLQUFLO0lBQ3ZCO0lBRUEsOEVBQThFO0lBQzlFLG1FQUFtRTtJQUNuRUYsT0FBT0MsZ0JBQWdCLENBQUMsWUFBWTtRQUNsQ0gsa0JBQWtCLElBQUlDO0lBQ3hCO0FBQ0Y7QUFNTyxlQUFlOUIsb0JBQ3BCSSxHQUFR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SUFDMUUsOEVBQThFO0lBQzlFLCtCQUErQjtJQUMvQixNQUFNQyxTQUFTRCxxQkFBcUJFLFNBQVM7SUFDN0MsT0FBTyxJQUFJQyxlQUFlO1FBQ3hCLE1BQU1DLE1BQUtDLFVBQVU7WUFDbkIsTUFBTyxLQUFNO2dCQUNYLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUUsR0FBRyxNQUFNTixPQUFPTyxJQUFJO2dCQUN6QyxJQUFJLENBQUNGLE1BQU07b0JBQ1QsbUVBQW1FO29CQUNuRSxtQkFBbUI7b0JBQ25CRCxXQUFXSSxPQUFPLENBQUNGO29CQUNuQjtnQkFDRjtnQkFDQSxxRUFBcUU7Z0JBQ3JFLHFCQUFxQjtnQkFDckI7WUFDRjtRQUNGO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuLy8gVE9ETzogRXhwbGljaXRseSBpbXBvcnQgZnJvbSBjbGllbnQuYnJvd3NlclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llc1xuaW1wb3J0IHsgY3JlYXRlRnJvbVJlYWRhYmxlU3RyZWFtIGFzIGNyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbUJyb3dzZXIgfSBmcm9tICdyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50J1xuXG5pbXBvcnQgdHlwZSB7XG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBOYXZpZ2F0aW9uRmxpZ2h0UmVzcG9uc2UsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IE5FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSIH0gZnJvbSAnLi4vYXBwLXJvdXRlci1oZWFkZXJzJ1xuaW1wb3J0IHtcbiAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSLFxuICBORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUixcbiAgTkVYVF9SU0NfVU5JT05fUVVFUlksXG4gIE5FWFRfVVJMLFxuICBSU0NfSEVBREVSLFxuICBSU0NfQ09OVEVOVF9UWVBFX0hFQURFUixcbiAgTkVYVF9ITVJfUkVGUkVTSF9IRUFERVIsXG4gIE5FWFRfRElEX1BPU1RQT05FX0hFQURFUixcbiAgTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIsXG59IGZyb20gJy4uL2FwcC1yb3V0ZXItaGVhZGVycydcbmltcG9ydCB7IGNhbGxTZXJ2ZXIgfSBmcm9tICcuLi8uLi9hcHAtY2FsbC1zZXJ2ZXInXG5pbXBvcnQgeyBmaW5kU291cmNlTWFwVVJMIH0gZnJvbSAnLi4vLi4vYXBwLWZpbmQtc291cmNlLW1hcC11cmwnXG5pbXBvcnQgeyBQcmVmZXRjaEtpbmQgfSBmcm9tICcuL3JvdXRlci1yZWR1Y2VyLXR5cGVzJ1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplRmxpZ2h0RGF0YSxcbiAgcHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCxcbiAgdHlwZSBOb3JtYWxpemVkRmxpZ2h0RGF0YSxcbn0gZnJvbSAnLi4vLi4vZmxpZ2h0LWRhdGEtaGVscGVycydcbmltcG9ydCB7IGdldEFwcEJ1aWxkSWQgfSBmcm9tICcuLi8uLi9hcHAtYnVpbGQtaWQnXG5pbXBvcnQgeyBzZXRDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSB9IGZyb20gJy4vc2V0LWNhY2hlLWJ1c3Rpbmctc2VhcmNoLXBhcmFtJ1xuXG5jb25zdCBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0gPVxuICBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW1Ccm93c2VyIGFzICh0eXBlb2YgaW1wb3J0KCdyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmJyb3dzZXInKSlbJ2NyZWF0ZUZyb21SZWFkYWJsZVN0cmVhbSddXG5cbmV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hTZXJ2ZXJSZXNwb25zZU9wdGlvbnMge1xuICByZWFkb25seSBmbGlnaHRSb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGVcbiAgcmVhZG9ubHkgbmV4dFVybDogc3RyaW5nIHwgbnVsbFxuICByZWFkb25seSBwcmVmZXRjaEtpbmQ/OiBQcmVmZXRjaEtpbmRcbiAgcmVhZG9ubHkgaXNIbXJSZWZyZXNoPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBGZXRjaFNlcnZlclJlc3BvbnNlUmVzdWx0ID0ge1xuICBmbGlnaHREYXRhOiBOb3JtYWxpemVkRmxpZ2h0RGF0YVtdIHwgc3RyaW5nXG4gIGNhbm9uaWNhbFVybDogVVJMIHwgdW5kZWZpbmVkXG4gIGNvdWxkQmVJbnRlcmNlcHRlZDogYm9vbGVhblxuICBwcmVyZW5kZXJlZDogYm9vbGVhblxuICBwb3N0cG9uZWQ6IGJvb2xlYW5cbiAgc3RhbGVUaW1lOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7XG4gIFtSU0NfSEVBREVSXT86ICcxJ1xuICBbTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdPzogc3RyaW5nXG4gIFtORVhUX1VSTF0/OiBzdHJpbmdcbiAgW05FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUl0/OiAnMSdcbiAgW05FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXT86IHN0cmluZ1xuICAneC1kZXBsb3ltZW50LWlkJz86IHN0cmluZ1xuICBbTkVYVF9ITVJfUkVGUkVTSF9IRUFERVJdPzogJzEnXG4gIC8vIEEgaGVhZGVyIHRoYXQgaXMgb25seSBhZGRlZCBpbiB0ZXN0IG1vZGUgdG8gYXNzZXJ0IG9uIGZldGNoIHByaW9yaXR5XG4gICdOZXh0LVRlc3QtRmV0Y2gtUHJpb3JpdHknPzogUmVxdWVzdEluaXRbJ3ByaW9yaXR5J11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcih1cmw6IHN0cmluZyk6IFVSTCB7XG4gIGNvbnN0IHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzID0gbmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbilcbiAgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMuc2VhcmNoUGFyYW1zLmRlbGV0ZShORVhUX1JTQ19VTklPTl9RVUVSWSlcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgICBpZiAoXG4gICAgICBwcm9jZXNzLmVudi5fX05FWFRfQ09ORklHX09VVFBVVCA9PT0gJ2V4cG9ydCcgJiZcbiAgICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lLmVuZHNXaXRoKCcudHh0JylcbiAgICApIHtcbiAgICAgIGNvbnN0IHsgcGF0aG5hbWUgfSA9IHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzXG4gICAgICBjb25zdCBsZW5ndGggPSBwYXRobmFtZS5lbmRzV2l0aCgnL2luZGV4LnR4dCcpID8gMTAgOiA0XG4gICAgICAvLyBTbGljZSBvZmYgYC9pbmRleC50eHRgIG9yIGAudHh0YCBmcm9tIHRoZSBlbmQgb2YgdGhlIHBhdGhuYW1lXG4gICAgICB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycy5wYXRobmFtZSA9IHBhdGhuYW1lLnNsaWNlKDAsIC1sZW5ndGgpXG4gICAgfVxuICB9XG4gIHJldHVybiB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVyc1xufVxuXG5mdW5jdGlvbiBkb01wYU5hdmlnYXRpb24odXJsOiBzdHJpbmcpOiBGZXRjaFNlcnZlclJlc3BvbnNlUmVzdWx0IHtcbiAgcmV0dXJuIHtcbiAgICBmbGlnaHREYXRhOiB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIodXJsKS50b1N0cmluZygpLFxuICAgIGNhbm9uaWNhbFVybDogdW5kZWZpbmVkLFxuICAgIGNvdWxkQmVJbnRlcmNlcHRlZDogZmFsc2UsXG4gICAgcHJlcmVuZGVyZWQ6IGZhbHNlLFxuICAgIHBvc3Rwb25lZDogZmFsc2UsXG4gICAgc3RhbGVUaW1lOiAtMSxcbiAgfVxufVxuXG5sZXQgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAvLyBBYm9ydCBhbnkgaW4tZmxpZ2h0IHJlcXVlc3RzIHdoZW4gdGhlIHBhZ2UgaXMgdW5sb2FkZWQsIGUuZy4gZHVlIHRvXG4gIC8vIHJlbG9hZGluZyB0aGUgcGFnZSBvciBwZXJmb3JtaW5nIGhhcmQgbmF2aWdhdGlvbnMuIFRoaXMgYWxsb3dzIHVzIHRvIGlnbm9yZVxuICAvLyB3aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBhIHRocm93biBUeXBlRXJyb3Igd2hlbiB0aGUgYnJvd3NlciBjYW5jZWxzIHRoZVxuICAvLyByZXF1ZXN0cy5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VoaWRlJywgKCkgPT4ge1xuICAgIGFib3J0Q29udHJvbGxlci5hYm9ydCgpXG4gIH0pXG5cbiAgLy8gVXNlIGEgZnJlc2ggQWJvcnRDb250cm9sbGVyIGluc3RhbmNlIG9uIHBhZ2VzaG93LCBlLmcuIHdoZW4gbmF2aWdhdGluZyBiYWNrXG4gIC8vIGFuZCB0aGUgSmF2YVNjcmlwdCBleGVjdXRpb24gY29udGV4dCBpcyByZXN0b3JlZCBieSB0aGUgYnJvd3Nlci5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BhZ2VzaG93JywgKCkgPT4ge1xuICAgIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKVxuICB9KVxufVxuXG4vKipcbiAqIEZldGNoIHRoZSBmbGlnaHQgZGF0YSBmb3IgdGhlIHByb3ZpZGVkIHVybC4gVGFrZXMgaW4gdGhlIGN1cnJlbnQgcm91dGVyIHN0YXRlXG4gKiB0byBkZWNpZGUgd2hhdCB0byByZW5kZXIgc2VydmVyLXNpZGUuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaFNlcnZlclJlc3BvbnNlKFxuICB1cmw6IFVSTCxcbiAgb3B0aW9uczogRmV0Y2hTZXJ2ZXJSZXNwb25zZU9wdGlvbnNcbik6IFByb21pc2U8RmV0Y2hTZXJ2ZXJSZXNwb25zZVJlc3VsdD4ge1xuICBjb25zdCB7IGZsaWdodFJvdXRlclN0YXRlLCBuZXh0VXJsLCBwcmVmZXRjaEtpbmQgfSA9IG9wdGlvbnNcblxuICBjb25zdCBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVycyA9IHtcbiAgICAvLyBFbmFibGUgZmxpZ2h0IHJlc3BvbnNlXG4gICAgW1JTQ19IRUFERVJdOiAnMScsXG4gICAgLy8gUHJvdmlkZSB0aGUgY3VycmVudCByb3V0ZXIgc3RhdGVcbiAgICBbTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVJdOiBwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KFxuICAgICAgZmxpZ2h0Um91dGVyU3RhdGUsXG4gICAgICBvcHRpb25zLmlzSG1yUmVmcmVzaFxuICAgICksXG4gIH1cblxuICAvKipcbiAgICogVGhyZWUgY2FzZXM6XG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYHVuZGVmaW5lZGAsIGl0IG1lYW5zIGl0J3MgYSBub3JtYWwgbmF2aWdhdGlvbiwgc28gd2Ugd2FudCB0byBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5XG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYGZ1bGxgIC0gd2Ugd2FudCB0byBwcmVmZXRjaCB0aGUgd2hvbGUgcGFnZSBzbyBzYW1lIGFzIGFib3ZlXG4gICAqIC0gYHByZWZldGNoS2luZGAgaXMgYGF1dG9gIC0gaWYgdGhlIHBhZ2UgaXMgZHluYW1pYywgcHJlZmV0Y2ggdGhlIHBhZ2UgZGF0YSBwYXJ0aWFsbHksIGlmIHN0YXRpYyBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5XG4gICAqL1xuICBpZiAocHJlZmV0Y2hLaW5kID09PSBQcmVmZXRjaEtpbmQuQVVUTykge1xuICAgIGhlYWRlcnNbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSA9ICcxJ1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnICYmIG9wdGlvbnMuaXNIbXJSZWZyZXNoKSB7XG4gICAgaGVhZGVyc1tORVhUX0hNUl9SRUZSRVNIX0hFQURFUl0gPSAnMSdcbiAgfVxuXG4gIGlmIChuZXh0VXJsKSB7XG4gICAgaGVhZGVyc1tORVhUX1VSTF0gPSBuZXh0VXJsXG4gIH1cblxuICB0cnkge1xuICAgIC8vIFdoZW4gY3JlYXRpbmcgYSBcInRlbXBvcmFyeVwiIHByZWZldGNoICh0aGUgXCJvbi1kZW1hbmRcIiBwcmVmZXRjaCB0aGF0IGdldHMgY3JlYXRlZCBvbiBuYXZpZ2F0aW9uLCBpZiBvbmUgZG9lc24ndCBleGlzdClcbiAgICAvLyB3ZSBzZW5kIHRoZSByZXF1ZXN0IHdpdGggYSBcImhpZ2hcIiBwcmlvcml0eSBhcyBpdCdzIGluIHJlc3BvbnNlIHRvIGEgdXNlciBpbnRlcmFjdGlvbiB0aGF0IGNvdWxkIGJlIGJsb2NraW5nIGEgdHJhbnNpdGlvbi5cbiAgICAvLyBPdGhlcndpc2UsIGFsbCBvdGhlciBwcmVmZXRjaGVzIGFyZSBzZW50IHdpdGggYSBcImxvd1wiIHByaW9yaXR5LlxuICAgIC8vIFdlIHVzZSBcImF1dG9cIiBmb3IgaW4gYWxsIG90aGVyIGNhc2VzIHRvIG1hdGNoIHRoZSBleGlzdGluZyBkZWZhdWx0LCBhcyB0aGlzIGZ1bmN0aW9uIGlzIHNoYXJlZCBvdXRzaWRlIG9mIHByZWZldGNoaW5nLlxuICAgIGNvbnN0IGZldGNoUHJpb3JpdHkgPSBwcmVmZXRjaEtpbmRcbiAgICAgID8gcHJlZmV0Y2hLaW5kID09PSBQcmVmZXRjaEtpbmQuVEVNUE9SQVJZXG4gICAgICAgID8gJ2hpZ2gnXG4gICAgICAgIDogJ2xvdydcbiAgICAgIDogJ2F1dG8nXG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSAnZXhwb3J0Jykge1xuICAgICAgICAvLyBJbiBcIm91dHB1dDogZXhwb3J0XCIgbW9kZSwgd2UgY2FuJ3QgcmVseSBvbiBoZWFkZXJzIHRvIGRpc3Rpbmd1aXNoXG4gICAgICAgIC8vIGJldHdlZW4gSFRNTCBhbmQgUlNDIHJlcXVlc3RzLiBJbnN0ZWFkLCB3ZSBhcHBlbmQgYW4gZXh0cmEgcHJlZml4XG4gICAgICAgIC8vIHRvIHRoZSByZXF1ZXN0LlxuICAgICAgICB1cmwgPSBuZXcgVVJMKHVybClcbiAgICAgICAgaWYgKHVybC5wYXRobmFtZS5lbmRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgdXJsLnBhdGhuYW1lICs9ICdpbmRleC50eHQnXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdXJsLnBhdGhuYW1lICs9ICcudHh0J1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gYXdhaXQgY3JlYXRlRmV0Y2goXG4gICAgICB1cmwsXG4gICAgICBoZWFkZXJzLFxuICAgICAgZmV0Y2hQcmlvcml0eSxcbiAgICAgIGFib3J0Q29udHJvbGxlci5zaWduYWxcbiAgICApXG5cbiAgICBjb25zdCByZXNwb25zZVVybCA9IHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcihyZXMudXJsKVxuICAgIGNvbnN0IGNhbm9uaWNhbFVybCA9IHJlcy5yZWRpcmVjdGVkID8gcmVzcG9uc2VVcmwgOiB1bmRlZmluZWRcblxuICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSB8fCAnJ1xuICAgIGNvbnN0IGludGVyY2VwdGlvbiA9ICEhcmVzLmhlYWRlcnMuZ2V0KCd2YXJ5Jyk/LmluY2x1ZGVzKE5FWFRfVVJMKVxuICAgIGNvbnN0IHBvc3Rwb25lZCA9ICEhcmVzLmhlYWRlcnMuZ2V0KE5FWFRfRElEX1BPU1RQT05FX0hFQURFUilcbiAgICBjb25zdCBzdGFsZVRpbWVIZWFkZXJTZWNvbmRzID0gcmVzLmhlYWRlcnMuZ2V0KFxuICAgICAgTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVJcbiAgICApXG4gICAgY29uc3Qgc3RhbGVUaW1lID1cbiAgICAgIHN0YWxlVGltZUhlYWRlclNlY29uZHMgIT09IG51bGxcbiAgICAgICAgPyBwYXJzZUludChzdGFsZVRpbWVIZWFkZXJTZWNvbmRzLCAxMCkgKiAxMDAwXG4gICAgICAgIDogLTFcbiAgICBsZXQgaXNGbGlnaHRSZXNwb25zZSA9IGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIpXG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSAnZXhwb3J0Jykge1xuICAgICAgICBpZiAoIWlzRmxpZ2h0UmVzcG9uc2UpIHtcbiAgICAgICAgICBpc0ZsaWdodFJlc3BvbnNlID0gY29udGVudFR5cGUuc3RhcnRzV2l0aCgndGV4dC9wbGFpbicpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBmZXRjaCByZXR1cm5zIHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBmbGlnaHQgcmVzcG9uc2UgaGFuZGxlIGl0IGxpa2UgYSBtcGEgbmF2aWdhdGlvblxuICAgIC8vIElmIHRoZSBmZXRjaCB3YXMgbm90IDIwMCwgd2UgYWxzbyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgaWYgKCFpc0ZsaWdodFJlc3BvbnNlIHx8ICFyZXMub2sgfHwgIXJlcy5ib2R5KSB7XG4gICAgICAvLyBpbiBjYXNlIHRoZSBvcmlnaW5hbCBVUkwgY2FtZSB3aXRoIGEgaGFzaCwgcHJlc2VydmUgaXQgYmVmb3JlIHJlZGlyZWN0aW5nIHRvIHRoZSBuZXcgVVJMXG4gICAgICBpZiAodXJsLmhhc2gpIHtcbiAgICAgICAgcmVzcG9uc2VVcmwuaGFzaCA9IHVybC5oYXNoXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkb01wYU5hdmlnYXRpb24ocmVzcG9uc2VVcmwudG9TdHJpbmcoKSlcbiAgICB9XG5cbiAgICAvLyBXZSBtYXkgbmF2aWdhdGUgdG8gYSBwYWdlIHRoYXQgcmVxdWlyZXMgYSBkaWZmZXJlbnQgV2VicGFjayBydW50aW1lLlxuICAgIC8vIEluIHByb2QsIGV2ZXJ5IHBhZ2Ugd2lsbCBoYXZlIHRoZSBzYW1lIFdlYnBhY2sgcnVudGltZS5cbiAgICAvLyBJbiBkZXYsIHRoZSBXZWJwYWNrIHJ1bnRpbWUgaXMgbWluaW1hbCBmb3IgZWFjaCBwYWdlLlxuICAgIC8vIFdlIG5lZWQgdG8gZW5zdXJlIHRoZSBXZWJwYWNrIHJ1bnRpbWUgaXMgdXBkYXRlZCBiZWZvcmUgZXhlY3V0aW5nIGNsaWVudC1zaWRlIEpTIG9mIHRoZSBuZXcgcGFnZS5cbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiAhcHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICBhd2FpdCAoXG4gICAgICAgIHJlcXVpcmUoJy4uLy4uL2Rldi9ob3QtcmVsb2FkZXIvYXBwL2hvdC1yZWxvYWRlci1hcHAnKSBhcyB0eXBlb2YgaW1wb3J0KCcuLi8uLi9kZXYvaG90LXJlbG9hZGVyL2FwcC9ob3QtcmVsb2FkZXItYXBwJylcbiAgICAgICkud2FpdEZvcldlYnBhY2tSdW50aW1lSG90VXBkYXRlKClcbiAgICB9XG5cbiAgICAvLyBIYW5kbGUgdGhlIGBmZXRjaGAgcmVhZGFibGUgc3RyZWFtIHRoYXQgY2FuIGJlIHVud3JhcHBlZCBieSBgUmVhY3QudXNlYC5cbiAgICBjb25zdCBmbGlnaHRTdHJlYW0gPSBwb3N0cG9uZWRcbiAgICAgID8gY3JlYXRlVW5jbG9zaW5nUHJlZmV0Y2hTdHJlYW0ocmVzLmJvZHkpXG4gICAgICA6IHJlcy5ib2R5XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCAoY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbShcbiAgICAgIGZsaWdodFN0cmVhbVxuICAgICkgYXMgUHJvbWlzZTxOYXZpZ2F0aW9uRmxpZ2h0UmVzcG9uc2U+KVxuXG4gICAgaWYgKGdldEFwcEJ1aWxkSWQoKSAhPT0gcmVzcG9uc2UuYikge1xuICAgICAgcmV0dXJuIGRvTXBhTmF2aWdhdGlvbihyZXMudXJsKVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBmbGlnaHREYXRhOiBub3JtYWxpemVGbGlnaHREYXRhKHJlc3BvbnNlLmYpLFxuICAgICAgY2Fub25pY2FsVXJsOiBjYW5vbmljYWxVcmwsXG4gICAgICBjb3VsZEJlSW50ZXJjZXB0ZWQ6IGludGVyY2VwdGlvbixcbiAgICAgIHByZXJlbmRlcmVkOiByZXNwb25zZS5TLFxuICAgICAgcG9zdHBvbmVkLFxuICAgICAgc3RhbGVUaW1lLFxuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKCFhYm9ydENvbnRyb2xsZXIuc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gZmV0Y2ggUlNDIHBheWxvYWQgZm9yICR7dXJsfS4gRmFsbGluZyBiYWNrIHRvIGJyb3dzZXIgbmF2aWdhdGlvbi5gLFxuICAgICAgICBlcnJcbiAgICAgIClcbiAgICB9XG5cbiAgICAvLyBJZiBmZXRjaCBmYWlscyBoYW5kbGUgaXQgbGlrZSBhIG1wYSBuYXZpZ2F0aW9uXG4gICAgLy8gVE9ETy1BUFA6IEFkZCBhIHRlc3QgZm9yIHRoZSBjYXNlIHdoZXJlIGEgQ09SUyByZXF1ZXN0IGZhaWxzLCBlLmcuIGV4dGVybmFsIHVybCByZWRpcmVjdCBjb21pbmcgZnJvbSB0aGUgcmVzcG9uc2UuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9pc3N1ZXMvNDM2MDUjaXNzdWVjb21tZW50LTE0NTE2MTc1MjEgZm9yIGEgcmVwcm9kdWN0aW9uLlxuICAgIHJldHVybiB7XG4gICAgICBmbGlnaHREYXRhOiB1cmwudG9TdHJpbmcoKSxcbiAgICAgIGNhbm9uaWNhbFVybDogdW5kZWZpbmVkLFxuICAgICAgY291bGRCZUludGVyY2VwdGVkOiBmYWxzZSxcbiAgICAgIHByZXJlbmRlcmVkOiBmYWxzZSxcbiAgICAgIHBvc3Rwb25lZDogZmFsc2UsXG4gICAgICBzdGFsZVRpbWU6IC0xLFxuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGlzIGEgc3Vic2V0IG9mIHRoZSBzdGFuZGFyZCBSZXNwb25zZSB0eXBlLiBXZSB1c2UgYSBjdXN0b20gdHlwZSBmb3Jcbi8vIHRoaXMgc28gd2UgY2FuIGxpbWl0IHdoaWNoIGRldGFpbHMgYWJvdXQgdGhlIHJlc3BvbnNlIGxlYWsgaW50byB0aGUgcmVzdCBvZlxuLy8gdGhlIGNvZGViYXNlLiBGb3IgZXhhbXBsZSwgdGhlcmUncyBzb21lIGN1c3RvbSBsb2dpYyBmb3IgbWFudWFsbHkgZm9sbG93aW5nXG4vLyByZWRpcmVjdHMsIHNvIFwicmVkaXJlY3RlZFwiIGluIHRoaXMgdHlwZSBjb3VsZCBiZSBhIGNvbXBvc2l0ZSBvZiBtdWx0aXBsZVxuLy8gYnJvd3NlciBmZXRjaCBjYWxsczsgaG93ZXZlciwgdGhpcyBmYWN0IHNob3VsZCBub3QgbGVhayB0byB0aGUgY2FsbGVyLlxuZXhwb3J0IHR5cGUgUlNDUmVzcG9uc2UgPSB7XG4gIG9rOiBib29sZWFuXG4gIHJlZGlyZWN0ZWQ6IGJvb2xlYW5cbiAgaGVhZGVyczogSGVhZGVyc1xuICBib2R5OiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiB8IG51bGxcbiAgc3RhdHVzOiBudW1iZXJcbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUZldGNoKFxuICB1cmw6IFVSTCxcbiAgaGVhZGVyczogUmVxdWVzdEhlYWRlcnMsXG4gIGZldGNoUHJpb3JpdHk6ICdhdXRvJyB8ICdoaWdoJyB8ICdsb3cnIHwgbnVsbCxcbiAgc2lnbmFsPzogQWJvcnRTaWduYWxcbik6IFByb21pc2U8UlNDUmVzcG9uc2U+IHtcbiAgLy8gVE9ETzogSW4gb3V0cHV0OiBcImV4cG9ydFwiIG1vZGUsIHRoZSBoZWFkZXJzIGRvIG5vdGhpbmcuIE9taXQgdGhlbSAoYW5kIHRoZVxuICAvLyBjYWNoZSBidXN0aW5nIHNlYXJjaCBwYXJhbSkgZnJvbSB0aGUgcmVxdWVzdCBzbyB0aGV5J3JlXG4gIC8vIG1heGltYWxseSBjYWNoZWFibGUuXG5cbiAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUgJiYgZmV0Y2hQcmlvcml0eSAhPT0gbnVsbCkge1xuICAgIGhlYWRlcnNbJ05leHQtVGVzdC1GZXRjaC1Qcmlvcml0eSddID0gZmV0Y2hQcmlvcml0eVxuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRCkge1xuICAgIGhlYWRlcnNbJ3gtZGVwbG95bWVudC1pZCddID0gcHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEXG4gIH1cblxuICBjb25zdCBmZXRjaE9wdGlvbnM6IFJlcXVlc3RJbml0ID0ge1xuICAgIC8vIEJhY2t3YXJkcyBjb21wYXQgZm9yIG9sZGVyIGJyb3dzZXJzLiBgc2FtZS1vcmlnaW5gIGlzIHRoZSBkZWZhdWx0IGluIG1vZGVybiBicm93c2Vycy5cbiAgICBjcmVkZW50aWFsczogJ3NhbWUtb3JpZ2luJyxcbiAgICBoZWFkZXJzLFxuICAgIHByaW9yaXR5OiBmZXRjaFByaW9yaXR5IHx8IHVuZGVmaW5lZCxcbiAgICBzaWduYWwsXG4gIH1cbiAgLy8gYGZldGNoVXJsYCBpcyBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSBgdXJsYCBiZWNhdXNlIHdlIGFkZCBhIGNhY2hlLWJ1c3RpbmdcbiAgLy8gc2VhcmNoIHBhcmFtIHRvIGl0LiBUaGlzIHNob3VsZCBub3QgbGVhayBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24sIHNvIHdlXG4gIC8vIHRyYWNrIHRoZW0gc2VwYXJhdGVseS5cbiAgbGV0IGZldGNoVXJsID0gbmV3IFVSTCh1cmwpXG4gIHNldENhY2hlQnVzdGluZ1NlYXJjaFBhcmFtKGZldGNoVXJsLCBoZWFkZXJzKVxuICBsZXQgYnJvd3NlclJlc3BvbnNlID0gYXdhaXQgZmV0Y2goZmV0Y2hVcmwsIGZldGNoT3B0aW9ucylcblxuICAvLyBJZiB0aGUgc2VydmVyIHJlc3BvbmRzIHdpdGggYSByZWRpcmVjdCAoZS5nLiAzMDcpLCBhbmQgdGhlIHJlZGlyZWN0ZWRcbiAgLy8gbG9jYXRpb24gZG9lcyBub3QgY29udGFpbiB0aGUgY2FjaGUgYnVzdGluZyBzZWFyY2ggcGFyYW0gc2V0IGluIHRoZVxuICAvLyBvcmlnaW5hbCByZXF1ZXN0LCB0aGUgcmVzcG9uc2UgaXMgbGlrZWx5IGludmFsaWQg4oCUIHdoZW4gZm9sbG93aW5nIHRoZVxuICAvLyByZWRpcmVjdCwgdGhlIGJyb3dzZXIgZm9yd2FyZHMgdGhlIHJlcXVlc3QgaGVhZGVycywgYnV0IHNpbmNlIHRoZSBjYWNoZVxuICAvLyBidXN0aW5nIHNlYXJjaCBwYXJhbSBpcyBtaXNzaW5nLCB0aGUgc2VydmVyIHdpbGwgcmVqZWN0IHRoZSByZXF1ZXN0IGR1ZSB0b1xuICAvLyBhIG1pc21hdGNoLlxuICAvL1xuICAvLyBJZGVhbGx5LCB3ZSB3b3VsZCBiZSBhYmxlIHRvIGludGVyY2VwdCB0aGUgcmVkaXJlY3QgcmVzcG9uc2UgYW5kIHBlcmZvcm0gaXRcbiAgLy8gbWFudWFsbHksIGluc3RlYWQgb2YgbGV0dGluZyB0aGUgYnJvd3NlciBhdXRvbWF0aWNhbGx5IGZvbGxvdyBpdCwgYnV0IHRoaXNcbiAgLy8gaXMgbm90IGFsbG93ZWQgYnkgdGhlIGZldGNoIEFQSS5cbiAgLy9cbiAgLy8gU28gaW5zdGVhZCwgd2UgbXVzdCBcInJlcGxheVwiIHRoZSByZWRpcmVjdCBieSBmZXRjaGluZyB0aGUgbmV3IGxvY2F0aW9uXG4gIC8vIGFnYWluLCBidXQgdGhpcyB0aW1lIHdlJ2xsIGFwcGVuZCB0aGUgY2FjaGUgYnVzdGluZyBzZWFyY2ggcGFyYW0gdG8gcHJldmVudFxuICAvLyBhIG1pc21hdGNoLlxuICAvL1xuICAvLyBUT0RPOiBXZSBjYW4gb3B0aW1pemUgTmV4dC5qcydzIGJ1aWx0LWluIG1pZGRsZXdhcmUgQVBJcyBieSByZXR1cm5pbmcgYVxuICAvLyBjdXN0b20gc3RhdHVzIGNvZGUsIHRvIHByZXZlbnQgdGhlIGJyb3dzZXIgZnJvbSBhdXRvbWF0aWNhbGx5IGZvbGxvd2luZyBpdC5cbiAgLy9cbiAgLy8gVGhpcyBkb2VzIG5vdCBhZmZlY3QgU2VydmVyIEFjdGlvbi1iYXNlZCByZWRpcmVjdHM7IHRob3NlIGFyZSBlbmNvZGVkXG4gIC8vIGRpZmZlcmVudGx5LCBhcyBwYXJ0IG9mIHRoZSBGbGlnaHQgYm9keS4gSXQgb25seSBhZmZlY3RzIHJlZGlyZWN0cyB0aGF0XG4gIC8vIG9jY3VyIGluIGEgbWlkZGxld2FyZSBvciBhIHRoaXJkLXBhcnR5IHByb3h5LlxuXG4gIGxldCByZWRpcmVjdGVkID0gYnJvd3NlclJlc3BvbnNlLnJlZGlyZWN0ZWRcbiAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfVkFMSURBVEVfUlNDX1JFUVVFU1RfSEVBREVSUykge1xuICAgIC8vIFRoaXMgaXMgdG8gcHJldmVudCBhIHJlZGlyZWN0IGxvb3AuIFNhbWUgbGltaXQgdXNlZCBieSBDaHJvbWUuXG4gICAgY29uc3QgTUFYX1JFRElSRUNUUyA9IDIwXG4gICAgZm9yIChsZXQgbiA9IDA7IG4gPCBNQVhfUkVESVJFQ1RTOyBuKyspIHtcbiAgICAgIGlmICghYnJvd3NlclJlc3BvbnNlLnJlZGlyZWN0ZWQpIHtcbiAgICAgICAgLy8gVGhlIHNlcnZlciBkaWQgbm90IHBlcmZvcm0gYSByZWRpcmVjdC5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3BvbnNlVXJsID0gbmV3IFVSTChicm93c2VyUmVzcG9uc2UudXJsLCBmZXRjaFVybClcbiAgICAgIGlmIChyZXNwb25zZVVybC5vcmlnaW4gIT09IGZldGNoVXJsLm9yaWdpbikge1xuICAgICAgICAvLyBUaGUgc2VydmVyIHJlZGlyZWN0ZWQgdG8gYW4gZXh0ZXJuYWwgVVJMLiBUaGUgcmVzdCBvZiB0aGUgbG9naWMgYmVsb3dcbiAgICAgICAgLy8gaXMgbm90IHJlbGV2YW50LCBiZWNhdXNlIGl0IG9ubHkgYXBwbGllcyB0byBpbnRlcm5hbCByZWRpcmVjdHMuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHJlc3BvbnNlVXJsLnNlYXJjaFBhcmFtcy5nZXQoTkVYVF9SU0NfVU5JT05fUVVFUlkpID09PVxuICAgICAgICBmZXRjaFVybC5zZWFyY2hQYXJhbXMuZ2V0KE5FWFRfUlNDX1VOSU9OX1FVRVJZKVxuICAgICAgKSB7XG4gICAgICAgIC8vIFRoZSByZWRpcmVjdGVkIFVSTCBhbHJlYWR5IGluY2x1ZGVzIHRoZSBjYWNoZSBidXN0aW5nIHNlYXJjaCBwYXJhbS5cbiAgICAgICAgLy8gVGhpcyB3YXMgcHJvYmFibHkgaW50ZW50aW9uYWwuIFJlZ2FyZGxlc3MsIHRoZXJlJ3Mgbm8gcmVhc29uIHRvXG4gICAgICAgIC8vIGlzc3VlIGFub3RoZXIgcmVxdWVzdCB0byB0aGlzIFVSTCBiZWNhdXNlIGl0IGFscmVhZHkgaGFzIHRoZSBwYXJhbVxuICAgICAgICAvLyB2YWx1ZSB0aGF0IHdlIHdvdWxkIGhhdmUgYWRkZWQgYmVsb3cuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICAvLyBUaGUgUlNDIHJlcXVlc3Qgd2FzIHJlZGlyZWN0ZWQuIEFzc3VtZSB0aGUgcmVzcG9uc2UgaXMgaW52YWxpZC5cbiAgICAgIC8vXG4gICAgICAvLyBBcHBlbmQgdGhlIGNhY2hlIGJ1c3Rpbmcgc2VhcmNoIHBhcmFtIHRvIHRoZSByZWRpcmVjdGVkIFVSTCBhbmRcbiAgICAgIC8vIGZldGNoIGFnYWluLlxuICAgICAgZmV0Y2hVcmwgPSBuZXcgVVJMKHJlc3BvbnNlVXJsKVxuICAgICAgc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0oZmV0Y2hVcmwsIGhlYWRlcnMpXG4gICAgICBicm93c2VyUmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmZXRjaFVybCwgZmV0Y2hPcHRpb25zKVxuICAgICAgLy8gV2UganVzdCBwZXJmb3JtZWQgYSBtYW51YWwgcmVkaXJlY3QsIHNvIHRoaXMgaXMgbm93IHRydWUuXG4gICAgICByZWRpcmVjdGVkID0gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgY2FjaGUgYnVzdGluZyBzZWFyY2ggcGFyYW0gZnJvbSB0aGUgcmVzcG9uc2UgVVJMLCB0byBwcmV2ZW50IGl0XG4gIC8vIGZyb20gbGVha2luZyBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24uXG4gIGNvbnN0IHJlc3BvbnNlVXJsID0gbmV3IFVSTChicm93c2VyUmVzcG9uc2UudXJsLCBmZXRjaFVybClcbiAgcmVzcG9uc2VVcmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShORVhUX1JTQ19VTklPTl9RVUVSWSlcblxuICBjb25zdCByc2NSZXNwb25zZTogUlNDUmVzcG9uc2UgPSB7XG4gICAgdXJsOiByZXNwb25zZVVybC5ocmVmLFxuXG4gICAgLy8gVGhpcyBpcyB0cnVlIGlmIGFueSByZWRpcmVjdHMgb2NjdXJyZWQsIGVpdGhlciBhdXRvbWF0aWNhbGx5IGJ5IHRoZVxuICAgIC8vIGJyb3dzZXIsIG9yIG1hbnVhbGx5IGJ5IHVzLiBTbyBpdCdzIGRpZmZlcmVudCBmcm9tXG4gICAgLy8gYGJyb3dzZXJSZXNwb25zZS5yZWRpcmVjdGVkYCwgd2hpY2ggb25seSB0ZWxscyB1cyB3aGV0aGVyIHRoZSBicm93c2VyXG4gICAgLy8gZm9sbG93ZWQgYSByZWRpcmVjdCwgYW5kIG9ubHkgZm9yIHRoZSBsYXN0IHJlc3BvbnNlIGluIHRoZSBjaGFpbi5cbiAgICByZWRpcmVjdGVkLFxuXG4gICAgLy8gVGhlc2UgY2FuIGJlIGNvcGllZCBmcm9tIHRoZSBsYXN0IGJyb3dzZXIgcmVzcG9uc2Ugd2UgcmVjZWl2ZWQuIFdlXG4gICAgLy8gaW50ZW50aW9uYWxseSBvbmx5IGV4cG9zZSB0aGUgc3Vic2V0IG9mIGZpZWxkcyB0aGF0IGFyZSBhY3R1YWxseSB1c2VkXG4gICAgLy8gZWxzZXdoZXJlIGluIHRoZSBjb2RlYmFzZS5cbiAgICBvazogYnJvd3NlclJlc3BvbnNlLm9rLFxuICAgIGhlYWRlcnM6IGJyb3dzZXJSZXNwb25zZS5oZWFkZXJzLFxuICAgIGJvZHk6IGJyb3dzZXJSZXNwb25zZS5ib2R5LFxuICAgIHN0YXR1czogYnJvd3NlclJlc3BvbnNlLnN0YXR1cyxcbiAgfVxuXG4gIHJldHVybiByc2NSZXNwb25zZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbShcbiAgZmxpZ2h0U3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PlxuKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIHJldHVybiBjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0oZmxpZ2h0U3RyZWFtLCB7XG4gICAgY2FsbFNlcnZlcixcbiAgICBmaW5kU291cmNlTWFwVVJMLFxuICB9KVxufVxuXG5mdW5jdGlvbiBjcmVhdGVVbmNsb3NpbmdQcmVmZXRjaFN0cmVhbShcbiAgb3JpZ2luYWxGbGlnaHRTdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+XG4pOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiB7XG4gIC8vIFdoZW4gUFBSIGlzIGVuYWJsZWQsIHByZWZldGNoIHN0cmVhbXMgbWF5IGNvbnRhaW4gcmVmZXJlbmNlcyB0aGF0IG5ldmVyXG4gIC8vIHJlc29sdmUsIGJlY2F1c2UgdGhhdCdzIGhvdyB3ZSBlbmNvZGUgZHluYW1pYyBkYXRhIGFjY2Vzcy4gSW4gdGhlIGRlY29kZWRcbiAgLy8gb2JqZWN0IHJldHVybmVkIGJ5IHRoZSBGbGlnaHQgY2xpZW50LCB0aGVzZSBhcmUgcmVpZmllZCBpbnRvIGhhbmdpbmdcbiAgLy8gcHJvbWlzZXMgdGhhdCBzdXNwZW5kIGR1cmluZyByZW5kZXIsIHdoaWNoIGlzIGVmZmVjdGl2ZWx5IHdoYXQgd2Ugd2FudC5cbiAgLy8gVGhlIFVJIHJlc29sdmVzIHdoZW4gaXQgc3dpdGNoZXMgdG8gdGhlIGR5bmFtaWMgZGF0YSBzdHJlYW1cbiAgLy8gKHZpYSB1c2VEZWZlcnJlZFZhbHVlKGR5bmFtaWMsIHN0YXRpYykpLlxuICAvL1xuICAvLyBIb3dldmVyLCB0aGUgRmxpZ2h0IGltcGxlbWVudGF0aW9uIGN1cnJlbnRseSBlcnJvcnMgaWYgdGhlIHNlcnZlciBjbG9zZXNcbiAgLy8gdGhlIHJlc3BvbnNlIGJlZm9yZSBhbGwgdGhlIHJlZmVyZW5jZXMgYXJlIHJlc29sdmVkLiBBcyBhIGNoZWF0IHRvIHdvcmtcbiAgLy8gYXJvdW5kIHRoaXMsIHdlIHdyYXAgdGhlIG9yaWdpbmFsIHN0cmVhbSBpbiBhIG5ldyBzdHJlYW0gdGhhdCBuZXZlciBjbG9zZXMsXG4gIC8vIGFuZCB0aGVyZWZvcmUgZG9lc24ndCBlcnJvci5cbiAgY29uc3QgcmVhZGVyID0gb3JpZ2luYWxGbGlnaHRTdHJlYW0uZ2V0UmVhZGVyKClcbiAgcmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgYXN5bmMgcHVsbChjb250cm9sbGVyKSB7XG4gICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpXG4gICAgICAgIGlmICghZG9uZSkge1xuICAgICAgICAgIC8vIFBhc3MgdG8gdGhlIHRhcmdldCBzdHJlYW0gYW5kIGtlZXAgY29uc3VtaW5nIHRoZSBGbGlnaHQgcmVzcG9uc2VcbiAgICAgICAgICAvLyBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKHZhbHVlKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIHNlcnZlciBzdHJlYW0gaGFzIGNsb3NlZC4gRXhpdCwgYnV0IGludGVudGlvbmFsbHkgZG8gbm90IGNsb3NlXG4gICAgICAgIC8vIHRoZSB0YXJnZXQgc3RyZWFtLlxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICB9LFxuICB9KVxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUZldGNoIiwiY3JlYXRlRnJvbU5leHRSZWFkYWJsZVN0cmVhbSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIiLCJjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW0iLCJjcmVhdGVGcm9tUmVhZGFibGVTdHJlYW1Ccm93c2VyIiwidXJsIiwidXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMiLCJVUkwiLCJsb2NhdGlvbiIsIm9yaWdpbiIsInNlYXJjaFBhcmFtcyIsImRlbGV0ZSIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiX19ORVhUX0NPTkZJR19PVVRQVVQiLCJwYXRobmFtZSIsImVuZHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiLCJkb01wYU5hdmlnYXRpb24iLCJmbGlnaHREYXRhIiwidG9TdHJpbmciLCJjYW5vbmljYWxVcmwiLCJ1bmRlZmluZWQiLCJjb3VsZEJlSW50ZXJjZXB0ZWQiLCJwcmVyZW5kZXJlZCIsInBvc3Rwb25lZCIsInN0YWxlVGltZSIsImFib3J0Q29udHJvbGxlciIsIkFib3J0Q29udHJvbGxlciIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJhYm9ydCIsIm9wdGlvbnMiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsIm5leHRVcmwiLCJwcmVmZXRjaEtpbmQiLCJoZWFkZXJzIiwiUlNDX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSIiwicHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCIsImlzSG1yUmVmcmVzaCIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX0hNUl9SRUZSRVNIX0hFQURFUiIsIk5FWFRfVVJMIiwicmVzIiwiZmV0Y2hQcmlvcml0eSIsIlRFTVBPUkFSWSIsInNpZ25hbCIsInJlc3BvbnNlVXJsIiwicmVkaXJlY3RlZCIsImNvbnRlbnRUeXBlIiwiZ2V0IiwiaW50ZXJjZXB0aW9uIiwiaW5jbHVkZXMiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJzdGFsZVRpbWVIZWFkZXJTZWNvbmRzIiwiTkVYVF9ST1VURVJfU1RBTEVfVElNRV9IRUFERVIiLCJwYXJzZUludCIsImlzRmxpZ2h0UmVzcG9uc2UiLCJzdGFydHNXaXRoIiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJvayIsImJvZHkiLCJoYXNoIiwiVFVSQk9QQUNLIiwicmVxdWlyZSIsIndhaXRGb3JXZWJwYWNrUnVudGltZUhvdFVwZGF0ZSIsImZsaWdodFN0cmVhbSIsImNyZWF0ZVVuY2xvc2luZ1ByZWZldGNoU3RyZWFtIiwicmVzcG9uc2UiLCJnZXRBcHBCdWlsZElkIiwiYiIsIm5vcm1hbGl6ZUZsaWdodERhdGEiLCJmIiwiUyIsImVyciIsImFib3J0ZWQiLCJjb25zb2xlIiwiZXJyb3IiLCJfX05FWFRfVEVTVF9NT0RFIiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiZmV0Y2hPcHRpb25zIiwiY3JlZGVudGlhbHMiLCJwcmlvcml0eSIsImZldGNoVXJsIiwic2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0iLCJicm93c2VyUmVzcG9uc2UiLCJmZXRjaCIsIl9fTkVYVF9DTElFTlRfVkFMSURBVEVfUlNDX1JFUVVFU1RfSEVBREVSUyIsIk1BWF9SRURJUkVDVFMiLCJuIiwicnNjUmVzcG9uc2UiLCJocmVmIiwic3RhdHVzIiwiY2FsbFNlcnZlciIsImZpbmRTb3VyY2VNYXBVUkwiLCJvcmlnaW5hbEZsaWdodFN0cmVhbSIsInJlYWRlciIsImdldFJlYWRlciIsIlJlYWRhYmxlU3RyZWFtIiwicHVsbCIsImNvbnRyb2xsZXIiLCJkb25lIiwidmFsdWUiLCJyZWFkIiwiZW5xdWV1ZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.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 fillCacheWithNewSubTreeData: function() {\n return fillCacheWithNewSubTreeData;\n },\n fillCacheWithNewSubTreeDataButOnlyLoading: function() {\n return fillCacheWithNewSubTreeDataButOnlyLoading;\n }\n});\nconst _invalidatecachebyrouterstate = __webpack_require__(/*! ./invalidate-cache-by-router-state */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\n/**\n * Common logic for filling cache with new sub tree data.\n */ function fillCacheHelper(navigatedAt, newCache, existingCache, flightData, prefetchEntry, fillLazyItems) {\n const { segmentPath, seedData: cacheNodeSeedData, tree: treePatch, head } = flightData;\n let newCacheNode = newCache;\n let existingCacheNode = existingCache;\n for(let i = 0; i < segmentPath.length; i += 2){\n const parallelRouteKey = segmentPath[i];\n const segment = segmentPath[i + 1];\n // segmentPath is a repeating tuple of parallelRouteKey and segment\n // we know we've hit the last entry we've reached our final pair\n const isLastEntry = i === segmentPath.length - 2;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCacheNode.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n continue;\n }\n let childSegmentMap = newCacheNode.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCacheNode.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (isLastEntry) {\n if (cacheNodeSeedData && (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode)) {\n const incomingSegment = cacheNodeSeedData[0];\n const rsc = cacheNodeSeedData[1];\n const loading = cacheNodeSeedData[3];\n childCacheNode = {\n lazyData: null,\n // When `fillLazyItems` is false, we only want to fill the RSC data for the layout,\n // not the page segment.\n rsc: fillLazyItems || incomingSegment !== _segment.PAGE_SEGMENT_KEY ? rsc : null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n loading,\n parallelRoutes: fillLazyItems && existingChildCacheNode ? new Map(existingChildCacheNode.parallelRoutes) : new Map(),\n navigatedAt\n };\n if (existingChildCacheNode && fillLazyItems) {\n (0, _invalidatecachebyrouterstate.invalidateCacheByRouterState)(childCacheNode, existingChildCacheNode, treePatch);\n }\n if (fillLazyItems) {\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(navigatedAt, childCacheNode, existingChildCacheNode, treePatch, cacheNodeSeedData, head, prefetchEntry);\n }\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n continue;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n continue;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes),\n loading: childCacheNode.loading\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n // Move deeper into the cache nodes\n newCacheNode = childCacheNode;\n existingCacheNode = existingChildCacheNode;\n }\n}\nfunction fillCacheWithNewSubTreeData(navigatedAt, newCache, existingCache, flightData, prefetchEntry) {\n fillCacheHelper(navigatedAt, newCache, existingCache, flightData, prefetchEntry, true);\n}\nfunction fillCacheWithNewSubTreeDataButOnlyLoading(navigatedAt, newCache, existingCache, flightData, prefetchEntry) {\n fillCacheHelper(navigatedAt, newCache, existingCache, flightData, prefetchEntry, false);\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=fill-cache-with-new-subtree-data.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBd0lnQkEsMkJBQTJCO2VBQTNCQTs7SUFpQkFDLHlDQUF5QztlQUF6Q0E7OzswREF2SjZCOzJEQUNDO2tEQUNUO3FDQUVKO0FBR2pDOztDQUVDLEdBQ0QsU0FBU0MsZ0JBQ1BDLFdBQW1CLEVBQ25CQyxRQUFtQixFQUNuQkMsYUFBd0IsRUFDeEJDLFVBQWdDLEVBQ2hDQyxhQUE2QyxFQUM3Q0MsYUFBc0I7SUFFdEIsTUFBTSxFQUNKQyxXQUFXLEVBQ1hDLFVBQVVDLGlCQUFpQixFQUMzQkMsTUFBTUMsU0FBUyxFQUNmQyxJQUFJLEVBQ0wsR0FBR1I7SUFDSixJQUFJUyxlQUFlWDtJQUNuQixJQUFJWSxvQkFBb0JYO0lBRXhCLElBQUssSUFBSVksSUFBSSxHQUFHQSxJQUFJUixZQUFZUyxNQUFNLEVBQUVELEtBQUssRUFBRztRQUM5QyxNQUFNRSxtQkFBMkJWLFdBQVcsQ0FBQ1EsRUFBRTtRQUMvQyxNQUFNRyxVQUFtQlgsV0FBVyxDQUFDUSxJQUFJLEVBQUU7UUFFM0MsbUVBQW1FO1FBQ25FLGdFQUFnRTtRQUNoRSxNQUFNSSxjQUFjSixNQUFNUixZQUFZUyxNQUFNLEdBQUc7UUFDL0MsTUFBTUksV0FBV0MsQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFBQSxFQUFxQkg7UUFFdEMsTUFBTUksMEJBQ0pSLGtCQUFrQlMsY0FBYyxDQUFDQyxHQUFHLENBQUNQO1FBRXZDLElBQUksQ0FBQ0sseUJBQXlCO1lBRzVCO1FBQ0Y7UUFFQSxJQUFJRyxrQkFBa0JaLGFBQWFVLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDUDtRQUN0RCxJQUFJLENBQUNRLG1CQUFtQkEsb0JBQW9CSCx5QkFBeUI7WUFDbkVHLGtCQUFrQixJQUFJQyxJQUFJSjtZQUMxQlQsYUFBYVUsY0FBYyxDQUFDSSxHQUFHLENBQUNWLGtCQUFrQlE7UUFDcEQ7UUFFQSxNQUFNRyx5QkFBeUJOLHdCQUF3QkUsR0FBRyxDQUFDSjtRQUMzRCxJQUFJUyxpQkFBaUJKLGdCQUFnQkQsR0FBRyxDQUFDSjtRQUV6QyxJQUFJRCxhQUFhO1lBQ2YsSUFDRVYscUJBQ0MsRUFBQ29CLGtCQUNBLENBQUNBLGVBQWVDLFFBQVEsSUFDeEJELG1CQUFtQkQsc0JBQUFBLENBQXFCLEVBQzFDO2dCQUNBLE1BQU1HLGtCQUFrQnRCLGlCQUFpQixDQUFDLEVBQUU7Z0JBQzVDLE1BQU11QixNQUFNdkIsaUJBQWlCLENBQUMsRUFBRTtnQkFDaEMsTUFBTXdCLFVBQVV4QixpQkFBaUIsQ0FBQyxFQUFFO2dCQUVwQ29CLGlCQUFpQjtvQkFDZkMsVUFBVTtvQkFDVixtRkFBbUY7b0JBQ25GLHdCQUF3QjtvQkFDeEJFLEtBQ0UxQixpQkFBaUJ5QixvQkFBb0JHLFNBQUFBLGdCQUFnQixHQUFHRixNQUFNO29CQUNoRUcsYUFBYTtvQkFDYnZCLE1BQU07b0JBQ053QixjQUFjO29CQUNkSDtvQkFDQVYsZ0JBQ0VqQixpQkFBaUJzQix5QkFDYixJQUFJRixJQUFJRSx1QkFBdUJMLGNBQWMsSUFDN0MsSUFBSUc7b0JBQ1Z6QjtnQkFDRjtnQkFFQSxJQUFJMkIsMEJBQTBCdEIsZUFBZTtvQkFDM0MrQixDQUFBQSxHQUFBQSw4QkFBQUEsNEJBQUFBLEVBQ0VSLGdCQUNBRCx3QkFDQWpCO2dCQUVKO2dCQUNBLElBQUlMLGVBQWU7b0JBQ2pCZ0MsQ0FBQUEsR0FBQUEsK0JBQUFBLDZCQUFBQSxFQUNFckMsYUFDQTRCLGdCQUNBRCx3QkFDQWpCLFdBQ0FGLG1CQUNBRyxNQUNBUDtnQkFFSjtnQkFFQW9CLGdCQUFnQkUsR0FBRyxDQUFDUCxVQUFVUztZQUNoQztZQUNBO1FBQ0Y7UUFFQSxJQUFJLENBQUNBLGtCQUFrQixDQUFDRCx3QkFBd0I7WUFHOUM7UUFDRjtRQUVBLElBQUlDLG1CQUFtQkQsd0JBQXdCO1lBQzdDQyxpQkFBaUI7Z0JBQ2ZDLFVBQVVELGVBQWVDLFFBQVE7Z0JBQ2pDRSxLQUFLSCxlQUFlRyxHQUFHO2dCQUN2QkcsYUFBYU4sZUFBZU0sV0FBVztnQkFDdkN2QixNQUFNaUIsZUFBZWpCLElBQUk7Z0JBQ3pCd0IsY0FBY1AsZUFBZU8sWUFBWTtnQkFDekNiLGdCQUFnQixJQUFJRyxJQUFJRyxlQUFlTixjQUFjO2dCQUNyRFUsU0FBU0osZUFBZUksT0FBTztZQUNqQztZQUNBUixnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVM7UUFDaEM7UUFFQSxtQ0FBbUM7UUFDbkNoQixlQUFlZ0I7UUFDZmYsb0JBQW9CYztJQUN0QjtBQUNGO0FBS08sU0FBUzlCLDRCQUNkRyxXQUFtQixFQUNuQkMsUUFBbUIsRUFDbkJDLGFBQXdCLEVBQ3hCQyxVQUFnQyxFQUNoQ0MsYUFBa0M7SUFFbENMLGdCQUNFQyxhQUNBQyxVQUNBQyxlQUNBQyxZQUNBQyxlQUNBO0FBRUo7QUFFTyxTQUFTTiwwQ0FDZEUsV0FBbUIsRUFDbkJDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsVUFBZ0MsRUFDaENDLGFBQWtDO0lBRWxDTCxnQkFDRUMsYUFDQUMsVUFDQUMsZUFDQUMsWUFDQUMsZUFDQTtBQUVKIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1jYWNoZS13aXRoLW5ldy1zdWJ0cmVlLWRhdGEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHsgU2VnbWVudCB9IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHsgaW52YWxpZGF0ZUNhY2hlQnlSb3V0ZXJTdGF0ZSB9IGZyb20gJy4vaW52YWxpZGF0ZS1jYWNoZS1ieS1yb3V0ZXItc3RhdGUnXG5pbXBvcnQgeyBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCB9IGZyb20gJy4vZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQnXG5pbXBvcnQgeyBjcmVhdGVSb3V0ZXJDYWNoZUtleSB9IGZyb20gJy4vY3JlYXRlLXJvdXRlci1jYWNoZS1rZXknXG5pbXBvcnQgdHlwZSB7IFByZWZldGNoQ2FjaGVFbnRyeSB9IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBQQUdFX1NFR01FTlRfS0VZIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50J1xuaW1wb3J0IHR5cGUgeyBOb3JtYWxpemVkRmxpZ2h0RGF0YSB9IGZyb20gJy4uLy4uL2ZsaWdodC1kYXRhLWhlbHBlcnMnXG5cbi8qKlxuICogQ29tbW9uIGxvZ2ljIGZvciBmaWxsaW5nIGNhY2hlIHdpdGggbmV3IHN1YiB0cmVlIGRhdGEuXG4gKi9cbmZ1bmN0aW9uIGZpbGxDYWNoZUhlbHBlcihcbiAgbmF2aWdhdGVkQXQ6IG51bWJlcixcbiAgbmV3Q2FjaGU6IENhY2hlTm9kZSxcbiAgZXhpc3RpbmdDYWNoZTogQ2FjaGVOb2RlLFxuICBmbGlnaHREYXRhOiBOb3JtYWxpemVkRmxpZ2h0RGF0YSxcbiAgcHJlZmV0Y2hFbnRyeTogUHJlZmV0Y2hDYWNoZUVudHJ5IHwgdW5kZWZpbmVkLFxuICBmaWxsTGF6eUl0ZW1zOiBib29sZWFuXG4pOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgIHNlZ21lbnRQYXRoLFxuICAgIHNlZWREYXRhOiBjYWNoZU5vZGVTZWVkRGF0YSxcbiAgICB0cmVlOiB0cmVlUGF0Y2gsXG4gICAgaGVhZCxcbiAgfSA9IGZsaWdodERhdGFcbiAgbGV0IG5ld0NhY2hlTm9kZSA9IG5ld0NhY2hlXG4gIGxldCBleGlzdGluZ0NhY2hlTm9kZSA9IGV4aXN0aW5nQ2FjaGVcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlZ21lbnRQYXRoLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZUtleTogc3RyaW5nID0gc2VnbWVudFBhdGhbaV1cbiAgICBjb25zdCBzZWdtZW50OiBTZWdtZW50ID0gc2VnbWVudFBhdGhbaSArIDFdXG5cbiAgICAvLyBzZWdtZW50UGF0aCBpcyBhIHJlcGVhdGluZyB0dXBsZSBvZiBwYXJhbGxlbFJvdXRlS2V5IGFuZCBzZWdtZW50XG4gICAgLy8gd2Uga25vdyB3ZSd2ZSBoaXQgdGhlIGxhc3QgZW50cnkgd2UndmUgcmVhY2hlZCBvdXIgZmluYWwgcGFpclxuICAgIGNvbnN0IGlzTGFzdEVudHJ5ID0gaSA9PT0gc2VnbWVudFBhdGgubGVuZ3RoIC0gMlxuICAgIGNvbnN0IGNhY2hlS2V5ID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudClcblxuICAgIGNvbnN0IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwID1cbiAgICAgIGV4aXN0aW5nQ2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KVxuXG4gICAgaWYgKCFleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgICAgLy8gQmFpbG91dCBiZWNhdXNlIHRoZSBleGlzdGluZyBjYWNoZSBkb2VzIG5vdCBoYXZlIHRoZSBwYXRoIHRvIHRoZSBsZWFmIG5vZGVcbiAgICAgIC8vIFdpbGwgdHJpZ2dlciBsYXp5IGZldGNoIGluIGxheW91dC1yb3V0ZXIgYmVjYXVzZSBvZiBtaXNzaW5nIHNlZ21lbnRcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgbGV0IGNoaWxkU2VnbWVudE1hcCA9IG5ld0NhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSlcbiAgICBpZiAoIWNoaWxkU2VnbWVudE1hcCB8fCBjaGlsZFNlZ21lbnRNYXAgPT09IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKSB7XG4gICAgICBjaGlsZFNlZ21lbnRNYXAgPSBuZXcgTWFwKGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKVxuICAgICAgbmV3Q2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzLnNldChwYXJhbGxlbFJvdXRlS2V5LCBjaGlsZFNlZ21lbnRNYXApXG4gICAgfVxuXG4gICAgY29uc3QgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSA9IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSlcbiAgICBsZXQgY2hpbGRDYWNoZU5vZGUgPSBjaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KVxuXG4gICAgaWYgKGlzTGFzdEVudHJ5KSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNhY2hlTm9kZVNlZWREYXRhICYmXG4gICAgICAgICghY2hpbGRDYWNoZU5vZGUgfHxcbiAgICAgICAgICAhY2hpbGRDYWNoZU5vZGUubGF6eURhdGEgfHxcbiAgICAgICAgICBjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZSlcbiAgICAgICkge1xuICAgICAgICBjb25zdCBpbmNvbWluZ1NlZ21lbnQgPSBjYWNoZU5vZGVTZWVkRGF0YVswXVxuICAgICAgICBjb25zdCByc2MgPSBjYWNoZU5vZGVTZWVkRGF0YVsxXVxuICAgICAgICBjb25zdCBsb2FkaW5nID0gY2FjaGVOb2RlU2VlZERhdGFbM11cblxuICAgICAgICBjaGlsZENhY2hlTm9kZSA9IHtcbiAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAvLyBXaGVuIGBmaWxsTGF6eUl0ZW1zYCBpcyBmYWxzZSwgd2Ugb25seSB3YW50IHRvIGZpbGwgdGhlIFJTQyBkYXRhIGZvciB0aGUgbGF5b3V0LFxuICAgICAgICAgIC8vIG5vdCB0aGUgcGFnZSBzZWdtZW50LlxuICAgICAgICAgIHJzYzpcbiAgICAgICAgICAgIGZpbGxMYXp5SXRlbXMgfHwgaW5jb21pbmdTZWdtZW50ICE9PSBQQUdFX1NFR01FTlRfS0VZID8gcnNjIDogbnVsbCxcbiAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICBoZWFkOiBudWxsLFxuICAgICAgICAgIHByZWZldGNoSGVhZDogbnVsbCxcbiAgICAgICAgICBsb2FkaW5nLFxuICAgICAgICAgIHBhcmFsbGVsUm91dGVzOlxuICAgICAgICAgICAgZmlsbExhenlJdGVtcyAmJiBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlXG4gICAgICAgICAgICAgID8gbmV3IE1hcChleGlzdGluZ0NoaWxkQ2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzKVxuICAgICAgICAgICAgICA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleGlzdGluZ0NoaWxkQ2FjaGVOb2RlICYmIGZpbGxMYXp5SXRlbXMpIHtcbiAgICAgICAgICBpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlKFxuICAgICAgICAgICAgY2hpbGRDYWNoZU5vZGUsXG4gICAgICAgICAgICBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlLFxuICAgICAgICAgICAgdHJlZVBhdGNoXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmIChmaWxsTGF6eUl0ZW1zKSB7XG4gICAgICAgICAgZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQoXG4gICAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICAgIGNoaWxkQ2FjaGVOb2RlLFxuICAgICAgICAgICAgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSxcbiAgICAgICAgICAgIHRyZWVQYXRjaCxcbiAgICAgICAgICAgIGNhY2hlTm9kZVNlZWREYXRhLFxuICAgICAgICAgICAgaGVhZCxcbiAgICAgICAgICAgIHByZWZldGNoRW50cnlcbiAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZFNlZ21lbnRNYXAuc2V0KGNhY2hlS2V5LCBjaGlsZENhY2hlTm9kZSlcbiAgICAgIH1cbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKCFjaGlsZENhY2hlTm9kZSB8fCAhZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgLy8gQmFpbG91dCBiZWNhdXNlIHRoZSBleGlzdGluZyBjYWNoZSBkb2VzIG5vdCBoYXZlIHRoZSBwYXRoIHRvIHRoZSBsZWFmIG5vZGVcbiAgICAgIC8vIFdpbGwgdHJpZ2dlciBsYXp5IGZldGNoIGluIGxheW91dC1yb3V0ZXIgYmVjYXVzZSBvZiBtaXNzaW5nIHNlZ21lbnRcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKGNoaWxkQ2FjaGVOb2RlID09PSBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICBjaGlsZENhY2hlTm9kZSA9IHtcbiAgICAgICAgbGF6eURhdGE6IGNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhLFxuICAgICAgICByc2M6IGNoaWxkQ2FjaGVOb2RlLnJzYyxcbiAgICAgICAgcHJlZmV0Y2hSc2M6IGNoaWxkQ2FjaGVOb2RlLnByZWZldGNoUnNjLFxuICAgICAgICBoZWFkOiBjaGlsZENhY2hlTm9kZS5oZWFkLFxuICAgICAgICBwcmVmZXRjaEhlYWQ6IGNoaWxkQ2FjaGVOb2RlLnByZWZldGNoSGVhZCxcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoY2hpbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpLFxuICAgICAgICBsb2FkaW5nOiBjaGlsZENhY2hlTm9kZS5sb2FkaW5nLFxuICAgICAgfSBhcyBDYWNoZU5vZGVcbiAgICAgIGNoaWxkU2VnbWVudE1hcC5zZXQoY2FjaGVLZXksIGNoaWxkQ2FjaGVOb2RlKVxuICAgIH1cblxuICAgIC8vIE1vdmUgZGVlcGVyIGludG8gdGhlIGNhY2hlIG5vZGVzXG4gICAgbmV3Q2FjaGVOb2RlID0gY2hpbGRDYWNoZU5vZGVcbiAgICBleGlzdGluZ0NhY2hlTm9kZSA9IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGVcbiAgfVxufVxuXG4vKipcbiAqIEZpbGwgY2FjaGUgd2l0aCByc2MgYmFzZWQgb24gZmxpZ2h0RGF0YVBhdGhcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YShcbiAgbmF2aWdhdGVkQXQ6IG51bWJlcixcbiAgbmV3Q2FjaGU6IENhY2hlTm9kZSxcbiAgZXhpc3RpbmdDYWNoZTogQ2FjaGVOb2RlLFxuICBmbGlnaHREYXRhOiBOb3JtYWxpemVkRmxpZ2h0RGF0YSxcbiAgcHJlZmV0Y2hFbnRyeT86IFByZWZldGNoQ2FjaGVFbnRyeVxuKTogdm9pZCB7XG4gIGZpbGxDYWNoZUhlbHBlcihcbiAgICBuYXZpZ2F0ZWRBdCxcbiAgICBuZXdDYWNoZSxcbiAgICBleGlzdGluZ0NhY2hlLFxuICAgIGZsaWdodERhdGEsXG4gICAgcHJlZmV0Y2hFbnRyeSxcbiAgICB0cnVlXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YUJ1dE9ubHlMb2FkaW5nKFxuICBuYXZpZ2F0ZWRBdDogbnVtYmVyLFxuICBuZXdDYWNoZTogQ2FjaGVOb2RlLFxuICBleGlzdGluZ0NhY2hlOiBDYWNoZU5vZGUsXG4gIGZsaWdodERhdGE6IE5vcm1hbGl6ZWRGbGlnaHREYXRhLFxuICBwcmVmZXRjaEVudHJ5PzogUHJlZmV0Y2hDYWNoZUVudHJ5XG4pOiB2b2lkIHtcbiAgZmlsbENhY2hlSGVscGVyKFxuICAgIG5hdmlnYXRlZEF0LFxuICAgIG5ld0NhY2hlLFxuICAgIGV4aXN0aW5nQ2FjaGUsXG4gICAgZmxpZ2h0RGF0YSxcbiAgICBwcmVmZXRjaEVudHJ5LFxuICAgIGZhbHNlXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEiLCJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGFCdXRPbmx5TG9hZGluZyIsImZpbGxDYWNoZUhlbHBlciIsIm5hdmlnYXRlZEF0IiwibmV3Q2FjaGUiLCJleGlzdGluZ0NhY2hlIiwiZmxpZ2h0RGF0YSIsInByZWZldGNoRW50cnkiLCJmaWxsTGF6eUl0ZW1zIiwic2VnbWVudFBhdGgiLCJzZWVkRGF0YSIsImNhY2hlTm9kZVNlZWREYXRhIiwidHJlZSIsInRyZWVQYXRjaCIsImhlYWQiLCJuZXdDYWNoZU5vZGUiLCJleGlzdGluZ0NhY2hlTm9kZSIsImkiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5Iiwic2VnbWVudCIsImlzTGFzdEVudHJ5IiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwIiwicGFyYWxsZWxSb3V0ZXMiLCJnZXQiLCJjaGlsZFNlZ21lbnRNYXAiLCJNYXAiLCJzZXQiLCJleGlzdGluZ0NoaWxkQ2FjaGVOb2RlIiwiY2hpbGRDYWNoZU5vZGUiLCJsYXp5RGF0YSIsImluY29taW5nU2VnbWVudCIsInJzYyIsImxvYWRpbmciLCJQQUdFX1NFR01FTlRfS0VZIiwicHJlZmV0Y2hSc2MiLCJwcmVmZXRjaEhlYWQiLCJpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillLazyItemsTillLeafWithHead\", ({\n enumerable: true,\n get: function() {\n return fillLazyItemsTillLeafWithHead;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nfunction fillLazyItemsTillLeafWithHead(navigatedAt, newCache, existingCache, routerState, cacheNodeSeedData, head, prefetchEntry) {\n const isLastSegment = Object.keys(routerState[1]).length === 0;\n if (isLastSegment) {\n newCache.head = head;\n return;\n }\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const parallelRouteState = routerState[1][key];\n const segmentForParallelRoute = parallelRouteState[0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n // TODO: We should traverse the cacheNodeSeedData tree instead of the router\n // state tree. Ideally, they would always be the same shape, but because of\n // the loading.js pattern, cacheNodeSeedData sometimes only represents a\n // partial tree. That's why this node is sometimes null. Once PPR lands,\n // loading.js will no longer have special behavior and we can traverse the\n // data tree instead.\n //\n // We should also consider merging the router state tree and the data tree\n // in the response format, so that we don't have to send the keys twice.\n // Then the client can convert them into separate representations.\n const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[2][key] !== undefined ? cacheNodeSeedData[2][key] : null;\n if (existingCache) {\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n const hasReusablePrefetch = (prefetchEntry == null ? void 0 : prefetchEntry.kind) === 'auto' && prefetchEntry.status === _routerreducertypes.PrefetchCacheEntryStatus.reusable;\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n const existingCacheNode = parallelRouteCacheNode.get(cacheKey);\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[1];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n loading,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes),\n navigatedAt\n };\n } else if (hasReusablePrefetch && existingCacheNode) {\n // No new data was sent from the server, but the existing cache node\n // was prefetched, so we should reuse that.\n newCacheNode = {\n lazyData: existingCacheNode.lazyData,\n rsc: existingCacheNode.rsc,\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n prefetchRsc: existingCacheNode.prefetchRsc,\n head: existingCacheNode.head,\n prefetchHead: existingCacheNode.prefetchHead,\n parallelRoutes: new Map(existingCacheNode.parallelRoutes),\n loading: existingCacheNode.loading\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes),\n loading: null,\n navigatedAt\n };\n }\n // Overrides the cache key with the new cache node.\n parallelRouteCacheNode.set(cacheKey, newCacheNode);\n // Traverse deeper to apply the head / fill lazy items till the head.\n fillLazyItemsTillLeafWithHead(navigatedAt, newCacheNode, existingCacheNode, parallelRouteState, parallelSeedData ? parallelSeedData : null, head, prefetchEntry);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n continue;\n }\n }\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[1];\n const loading = parallelSeedData[3];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading,\n navigatedAt\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null,\n navigatedAt\n };\n }\n const existingParallelRoutes = newCache.parallelRoutes.get(key);\n if (existingParallelRoutes) {\n existingParallelRoutes.set(cacheKey, newCacheNode);\n } else {\n newCache.parallelRoutes.set(key, new Map([\n [\n cacheKey,\n newCacheNode\n ]\n ]));\n }\n fillLazyItemsTillLeafWithHead(navigatedAt, newCacheNode, undefined, parallelRouteState, parallelSeedData, head, prefetchEntry);\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=fill-lazy-items-till-leaf-with-head.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQuanMiLCJtYXBwaW5ncyI6Ijs7OztpRUFXZ0JBOzs7ZUFBQUE7OztrREFOcUI7Z0RBSTlCO0FBRUEsU0FBU0EsOEJBQ2RDLFdBQW1CLEVBQ25CQyxRQUFtQixFQUNuQkMsYUFBb0MsRUFDcENDLFdBQThCLEVBQzlCQyxpQkFBMkMsRUFDM0NDLElBQXFCLEVBQ3JCQyxhQUE2QztJQUU3QyxNQUFNQyxnQkFBZ0JDLE9BQU9DLElBQUksQ0FBQ04sV0FBVyxDQUFDLEVBQUUsRUFBRU8sTUFBTSxLQUFLO0lBQzdELElBQUlILGVBQWU7UUFDakJOLFNBQVNJLElBQUksR0FBR0E7UUFDaEI7SUFDRjtJQUNBLHVGQUF1RjtJQUN2RixJQUFLLE1BQU1NLE9BQU9SLFdBQVcsQ0FBQyxFQUFFLENBQUU7UUFDaEMsTUFBTVMscUJBQXFCVCxXQUFXLENBQUMsRUFBRSxDQUFDUSxJQUFJO1FBQzlDLE1BQU1FLDBCQUEwQkQsa0JBQWtCLENBQUMsRUFBRTtRQUNyRCxNQUFNRSxXQUFXQyxDQUFBQSxHQUFBQSxzQkFBQUEsb0JBQUFBLEVBQXFCRjtRQUV0Qyw0RUFBNEU7UUFDNUUsMkVBQTJFO1FBQzNFLHdFQUF3RTtRQUN4RSx3RUFBd0U7UUFDeEUsMEVBQTBFO1FBQzFFLHFCQUFxQjtRQUNyQixFQUFFO1FBQ0YsMEVBQTBFO1FBQzFFLHdFQUF3RTtRQUN4RSxrRUFBa0U7UUFDbEUsTUFBTUcsbUJBQ0paLHNCQUFzQixRQUFRQSxpQkFBaUIsQ0FBQyxFQUFFLENBQUNPLElBQUksS0FBS00sWUFDeERiLGlCQUFpQixDQUFDLEVBQUUsQ0FBQ08sSUFBSSxHQUN6QjtRQUNOLElBQUlULGVBQWU7WUFDakIsTUFBTWdCLGtDQUNKaEIsY0FBY2lCLGNBQWMsQ0FBQ0MsR0FBRyxDQUFDVDtZQUNuQyxJQUFJTyxpQ0FBaUM7Z0JBQ25DLE1BQU1HLHNCQUNKZixDQUFBQSxpQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsY0FBZWdCLElBQUFBLE1BQVMsVUFDeEJoQixjQUFjaUIsTUFBTSxLQUFLQyxvQkFBQUEsd0JBQXdCLENBQUNDLFFBQVE7Z0JBRTVELElBQUlDLHlCQUF5QixJQUFJQyxJQUFJVDtnQkFDckMsTUFBTVUsb0JBQW9CRix1QkFBdUJOLEdBQUcsQ0FBQ047Z0JBQ3JELElBQUllO2dCQUNKLElBQUliLHFCQUFxQixNQUFNO29CQUM3QixxQ0FBcUM7b0JBQ3JDLE1BQU1jLFdBQVdkLGdCQUFnQixDQUFDLEVBQUU7b0JBQ3BDLE1BQU1lLFVBQVVmLGdCQUFnQixDQUFDLEVBQUU7b0JBQ25DYSxlQUFlO3dCQUNiRyxVQUFVO3dCQUNWQyxLQUFLSDt3QkFDTCxrRUFBa0U7d0JBQ2xFLG9FQUFvRTt3QkFDcEUsMkRBQTJEO3dCQUMzRCxrRUFBa0U7d0JBQ2xFLCtCQUErQjt3QkFDL0JJLGFBQWE7d0JBQ2I3QixNQUFNO3dCQUNOOEIsY0FBYzt3QkFDZEo7d0JBQ0FaLGdCQUFnQixJQUFJUSxJQUFJQyxxQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsa0JBQW1CVCxjQUFjO3dCQUN6RG5CO29CQUNGO2dCQUNGLE9BQU8sSUFBSXFCLHVCQUF1Qk8sbUJBQW1CO29CQUNuRCxvRUFBb0U7b0JBQ3BFLDJDQUEyQztvQkFDM0NDLGVBQWU7d0JBQ2JHLFVBQVVKLGtCQUFrQkksUUFBUTt3QkFDcENDLEtBQUtMLGtCQUFrQkssR0FBRzt3QkFDMUIsb0VBQW9FO3dCQUNwRSxrRUFBa0U7d0JBQ2xFLDJCQUEyQjt3QkFDM0JDLGFBQWFOLGtCQUFrQk0sV0FBVzt3QkFDMUM3QixNQUFNdUIsa0JBQWtCdkIsSUFBSTt3QkFDNUI4QixjQUFjUCxrQkFBa0JPLFlBQVk7d0JBQzVDaEIsZ0JBQWdCLElBQUlRLElBQUlDLGtCQUFrQlQsY0FBYzt3QkFDeERZLFNBQVNILGtCQUFrQkcsT0FBTztvQkFDcEM7Z0JBQ0YsT0FBTztvQkFDTCxrRUFBa0U7b0JBQ2xFLGlCQUFpQjtvQkFDakJGLGVBQWU7d0JBQ2JHLFVBQVU7d0JBQ1ZDLEtBQUs7d0JBQ0xDLGFBQWE7d0JBQ2I3QixNQUFNO3dCQUNOOEIsY0FBYzt3QkFDZGhCLGdCQUFnQixJQUFJUSxJQUFJQyxxQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsa0JBQW1CVCxjQUFjO3dCQUN6RFksU0FBUzt3QkFDVC9CO29CQUNGO2dCQUNGO2dCQUVBLG1EQUFtRDtnQkFDbkQwQix1QkFBdUJVLEdBQUcsQ0FBQ3RCLFVBQVVlO2dCQUNyQyxxRUFBcUU7Z0JBQ3JFOUIsOEJBQ0VDLGFBQ0E2QixjQUNBRCxtQkFDQWhCLG9CQUNBSSxtQkFBbUJBLG1CQUFtQixNQUN0Q1gsTUFDQUM7Z0JBR0ZMLFNBQVNrQixjQUFjLENBQUNpQixHQUFHLENBQUN6QixLQUFLZTtnQkFDakM7WUFDRjtRQUNGO1FBRUEsSUFBSUc7UUFDSixJQUFJYixxQkFBcUIsTUFBTTtZQUM3QixxQ0FBcUM7WUFDckMsTUFBTWMsV0FBV2QsZ0JBQWdCLENBQUMsRUFBRTtZQUNwQyxNQUFNZSxVQUFVZixnQkFBZ0IsQ0FBQyxFQUFFO1lBQ25DYSxlQUFlO2dCQUNiRyxVQUFVO2dCQUNWQyxLQUFLSDtnQkFDTEksYUFBYTtnQkFDYjdCLE1BQU07Z0JBQ044QixjQUFjO2dCQUNkaEIsZ0JBQWdCLElBQUlRO2dCQUNwQkk7Z0JBQ0EvQjtZQUNGO1FBQ0YsT0FBTztZQUNMLGtFQUFrRTtZQUNsRSxpQkFBaUI7WUFDakI2QixlQUFlO2dCQUNiRyxVQUFVO2dCQUNWQyxLQUFLO2dCQUNMQyxhQUFhO2dCQUNiN0IsTUFBTTtnQkFDTjhCLGNBQWM7Z0JBQ2RoQixnQkFBZ0IsSUFBSVE7Z0JBQ3BCSSxTQUFTO2dCQUNUL0I7WUFDRjtRQUNGO1FBRUEsTUFBTXFDLHlCQUF5QnBDLFNBQVNrQixjQUFjLENBQUNDLEdBQUcsQ0FBQ1Q7UUFDM0QsSUFBSTBCLHdCQUF3QjtZQUMxQkEsdUJBQXVCRCxHQUFHLENBQUN0QixVQUFVZTtRQUN2QyxPQUFPO1lBQ0w1QixTQUFTa0IsY0FBYyxDQUFDaUIsR0FBRyxDQUFDekIsS0FBSyxJQUFJZ0IsSUFBSTtnQkFBQztvQkFBQ2I7b0JBQVVlO2lCQUFhO2FBQUM7UUFDckU7UUFFQTlCLDhCQUNFQyxhQUNBNkIsY0FDQVosV0FDQUwsb0JBQ0FJLGtCQUNBWCxNQUNBQztJQUVKO0FBQ0YiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9maWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENhY2hlTm9kZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHR5cGUge1xuICBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgQ2FjaGVOb2RlU2VlZERhdGEsXG59IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlUm91dGVyQ2FjaGVLZXkgfSBmcm9tICcuL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5J1xuaW1wb3J0IHtcbiAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLFxuICB0eXBlIFByZWZldGNoQ2FjaGVFbnRyeSxcbn0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci10eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKFxuICBuYXZpZ2F0ZWRBdDogbnVtYmVyLFxuICBuZXdDYWNoZTogQ2FjaGVOb2RlLFxuICBleGlzdGluZ0NhY2hlOiBDYWNoZU5vZGUgfCB1bmRlZmluZWQsXG4gIHJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgY2FjaGVOb2RlU2VlZERhdGE6IENhY2hlTm9kZVNlZWREYXRhIHwgbnVsbCxcbiAgaGVhZDogUmVhY3QuUmVhY3ROb2RlLFxuICBwcmVmZXRjaEVudHJ5OiBQcmVmZXRjaENhY2hlRW50cnkgfCB1bmRlZmluZWRcbik6IHZvaWQge1xuICBjb25zdCBpc0xhc3RTZWdtZW50ID0gT2JqZWN0LmtleXMocm91dGVyU3RhdGVbMV0pLmxlbmd0aCA9PT0gMFxuICBpZiAoaXNMYXN0U2VnbWVudCkge1xuICAgIG5ld0NhY2hlLmhlYWQgPSBoZWFkXG4gICAgcmV0dXJuXG4gIH1cbiAgLy8gUmVtb3ZlIHNlZ21lbnQgdGhhdCB3ZSBnb3QgZGF0YSBmb3Igc28gdGhhdCBpdCBpcyBmaWxsZWQgaW4gZHVyaW5nIHJlbmRlcmluZyBvZiByc2MuXG4gIGZvciAoY29uc3Qga2V5IGluIHJvdXRlclN0YXRlWzFdKSB7XG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZVN0YXRlID0gcm91dGVyU3RhdGVbMV1ba2V5XVxuICAgIGNvbnN0IHNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlID0gcGFyYWxsZWxSb3V0ZVN0YXRlWzBdXG4gICAgY29uc3QgY2FjaGVLZXkgPSBjcmVhdGVSb3V0ZXJDYWNoZUtleShzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSlcblxuICAgIC8vIFRPRE86IFdlIHNob3VsZCB0cmF2ZXJzZSB0aGUgY2FjaGVOb2RlU2VlZERhdGEgdHJlZSBpbnN0ZWFkIG9mIHRoZSByb3V0ZXJcbiAgICAvLyBzdGF0ZSB0cmVlLiBJZGVhbGx5LCB0aGV5IHdvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZSBzaGFwZSwgYnV0IGJlY2F1c2Ugb2ZcbiAgICAvLyB0aGUgbG9hZGluZy5qcyBwYXR0ZXJuLCBjYWNoZU5vZGVTZWVkRGF0YSBzb21ldGltZXMgb25seSByZXByZXNlbnRzIGFcbiAgICAvLyBwYXJ0aWFsIHRyZWUuIFRoYXQncyB3aHkgdGhpcyBub2RlIGlzIHNvbWV0aW1lcyBudWxsLiBPbmNlIFBQUiBsYW5kcyxcbiAgICAvLyBsb2FkaW5nLmpzIHdpbGwgbm8gbG9uZ2VyIGhhdmUgc3BlY2lhbCBiZWhhdmlvciBhbmQgd2UgY2FuIHRyYXZlcnNlIHRoZVxuICAgIC8vIGRhdGEgdHJlZSBpbnN0ZWFkLlxuICAgIC8vXG4gICAgLy8gV2Ugc2hvdWxkIGFsc28gY29uc2lkZXIgbWVyZ2luZyB0aGUgcm91dGVyIHN0YXRlIHRyZWUgYW5kIHRoZSBkYXRhIHRyZWVcbiAgICAvLyBpbiB0aGUgcmVzcG9uc2UgZm9ybWF0LCBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gc2VuZCB0aGUga2V5cyB0d2ljZS5cbiAgICAvLyBUaGVuIHRoZSBjbGllbnQgY2FuIGNvbnZlcnQgdGhlbSBpbnRvIHNlcGFyYXRlIHJlcHJlc2VudGF0aW9ucy5cbiAgICBjb25zdCBwYXJhbGxlbFNlZWREYXRhID1cbiAgICAgIGNhY2hlTm9kZVNlZWREYXRhICE9PSBudWxsICYmIGNhY2hlTm9kZVNlZWREYXRhWzJdW2tleV0gIT09IHVuZGVmaW5lZFxuICAgICAgICA/IGNhY2hlTm9kZVNlZWREYXRhWzJdW2tleV1cbiAgICAgICAgOiBudWxsXG4gICAgaWYgKGV4aXN0aW5nQ2FjaGUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUgPVxuICAgICAgICBleGlzdGluZ0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChrZXkpXG4gICAgICBpZiAoZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSkge1xuICAgICAgICBjb25zdCBoYXNSZXVzYWJsZVByZWZldGNoID1cbiAgICAgICAgICBwcmVmZXRjaEVudHJ5Py5raW5kID09PSAnYXV0bycgJiZcbiAgICAgICAgICBwcmVmZXRjaEVudHJ5LnN0YXR1cyA9PT0gUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLnJldXNhYmxlXG5cbiAgICAgICAgbGV0IHBhcmFsbGVsUm91dGVDYWNoZU5vZGUgPSBuZXcgTWFwKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUpXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQ2FjaGVOb2RlID0gcGFyYWxsZWxSb3V0ZUNhY2hlTm9kZS5nZXQoY2FjaGVLZXkpXG4gICAgICAgIGxldCBuZXdDYWNoZU5vZGU6IENhY2hlTm9kZVxuICAgICAgICBpZiAocGFyYWxsZWxTZWVkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIE5ldyBkYXRhIHdhcyBzZW50IGZyb20gdGhlIHNlcnZlci5cbiAgICAgICAgICBjb25zdCBzZWVkTm9kZSA9IHBhcmFsbGVsU2VlZERhdGFbMV1cbiAgICAgICAgICBjb25zdCBsb2FkaW5nID0gcGFyYWxsZWxTZWVkRGF0YVszXVxuICAgICAgICAgIG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICAgICAgcnNjOiBzZWVkTm9kZSxcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBQUFItb25seSBmaWVsZC4gV2hlbiBQUFIgaXMgZW5hYmxlZCwgd2Ugc2hvdWxkbid0IGhpdFxuICAgICAgICAgICAgLy8gdGhpcyBwYXRoIGR1cmluZyBhIG5hdmlnYXRpb24sIGJ1dCB1bnRpbCBQUFIgaXMgZnVsbHkgaW1wbGVtZW50ZWRcbiAgICAgICAgICAgIC8vIHlldCBpdCdzIHBvc3NpYmxlIHRoZSBleGlzdGluZyBub2RlIGRvZXMgaGF2ZSBhIG5vbi1udWxsXG4gICAgICAgICAgICAvLyBgcHJlZmV0Y2hSc2NgLiBBcyBhbiBpbmNyZW1lbnRhbCBzdGVwLCB3ZSdsbCBqdXN0IGRlLW9wdCB0byB0aGVcbiAgICAgICAgICAgIC8vIG9sZCBiZWhhdmlvciDigJQgbm8gUFBSIHZhbHVlLlxuICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgICAgICBoZWFkOiBudWxsLFxuICAgICAgICAgICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgICAgICAgICAgbG9hZGluZyxcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKGV4aXN0aW5nQ2FjaGVOb2RlPy5wYXJhbGxlbFJvdXRlcyksXG4gICAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaGFzUmV1c2FibGVQcmVmZXRjaCAmJiBleGlzdGluZ0NhY2hlTm9kZSkge1xuICAgICAgICAgIC8vIE5vIG5ldyBkYXRhIHdhcyBzZW50IGZyb20gdGhlIHNlcnZlciwgYnV0IHRoZSBleGlzdGluZyBjYWNoZSBub2RlXG4gICAgICAgICAgLy8gd2FzIHByZWZldGNoZWQsIHNvIHdlIHNob3VsZCByZXVzZSB0aGF0LlxuICAgICAgICAgIG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgIGxhenlEYXRhOiBleGlzdGluZ0NhY2hlTm9kZS5sYXp5RGF0YSxcbiAgICAgICAgICAgIHJzYzogZXhpc3RpbmdDYWNoZU5vZGUucnNjLFxuICAgICAgICAgICAgLy8gVGhpcyBpcyBhIFBQUi1vbmx5IGZpZWxkLiBVbmxpa2UgdGhlIHByZXZpb3VzIGJyYW5jaCwgc2luY2Ugd2UncmVcbiAgICAgICAgICAgIC8vIGp1c3QgY2xvbmluZyB0aGUgZXhpc3RpbmcgY2FjaGUgbm9kZSwgd2UgbWlnaHQgYXMgd2VsbCBrZWVwIHRoZVxuICAgICAgICAgICAgLy8gUFBSIHZhbHVlLCBpZiBpdCBleGlzdHMuXG4gICAgICAgICAgICBwcmVmZXRjaFJzYzogZXhpc3RpbmdDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICAgICAgICBoZWFkOiBleGlzdGluZ0NhY2hlTm9kZS5oZWFkLFxuICAgICAgICAgICAgcHJlZmV0Y2hIZWFkOiBleGlzdGluZ0NhY2hlTm9kZS5wcmVmZXRjaEhlYWQsXG4gICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChleGlzdGluZ0NhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcyksXG4gICAgICAgICAgICBsb2FkaW5nOiBleGlzdGluZ0NhY2hlTm9kZS5sb2FkaW5nLFxuICAgICAgICAgIH0gYXMgQ2FjaGVOb2RlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gTm8gZGF0YSBhdmFpbGFibGUgZm9yIHRoaXMgbm9kZS4gVGhpcyB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoXG4gICAgICAgICAgLy8gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICBuZXdDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgaGVhZDogbnVsbCxcbiAgICAgICAgICAgIHByZWZldGNoSGVhZDogbnVsbCxcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKGV4aXN0aW5nQ2FjaGVOb2RlPy5wYXJhbGxlbFJvdXRlcyksXG4gICAgICAgICAgICBsb2FkaW5nOiBudWxsLFxuICAgICAgICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT3ZlcnJpZGVzIHRoZSBjYWNoZSBrZXkgd2l0aCB0aGUgbmV3IGNhY2hlIG5vZGUuXG4gICAgICAgIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUuc2V0KGNhY2hlS2V5LCBuZXdDYWNoZU5vZGUpXG4gICAgICAgIC8vIFRyYXZlcnNlIGRlZXBlciB0byBhcHBseSB0aGUgaGVhZCAvIGZpbGwgbGF6eSBpdGVtcyB0aWxsIHRoZSBoZWFkLlxuICAgICAgICBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZChcbiAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICBuZXdDYWNoZU5vZGUsXG4gICAgICAgICAgZXhpc3RpbmdDYWNoZU5vZGUsXG4gICAgICAgICAgcGFyYWxsZWxSb3V0ZVN0YXRlLFxuICAgICAgICAgIHBhcmFsbGVsU2VlZERhdGEgPyBwYXJhbGxlbFNlZWREYXRhIDogbnVsbCxcbiAgICAgICAgICBoZWFkLFxuICAgICAgICAgIHByZWZldGNoRW50cnlcbiAgICAgICAgKVxuXG4gICAgICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLnNldChrZXksIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IG5ld0NhY2hlTm9kZTogQ2FjaGVOb2RlXG4gICAgaWYgKHBhcmFsbGVsU2VlZERhdGEgIT09IG51bGwpIHtcbiAgICAgIC8vIE5ldyBkYXRhIHdhcyBzZW50IGZyb20gdGhlIHNlcnZlci5cbiAgICAgIGNvbnN0IHNlZWROb2RlID0gcGFyYWxsZWxTZWVkRGF0YVsxXVxuICAgICAgY29uc3QgbG9hZGluZyA9IHBhcmFsbGVsU2VlZERhdGFbM11cbiAgICAgIG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgIHJzYzogc2VlZE5vZGUsXG4gICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICBoZWFkOiBudWxsLFxuICAgICAgICBwcmVmZXRjaEhlYWQ6IG51bGwsXG4gICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgICAgIGxvYWRpbmcsXG4gICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBObyBkYXRhIGF2YWlsYWJsZSBmb3IgdGhpcyBub2RlLiBUaGlzIHdpbGwgdHJpZ2dlciBhIGxhenkgZmV0Y2hcbiAgICAgIC8vIGR1cmluZyByZW5kZXIuXG4gICAgICBuZXdDYWNoZU5vZGUgPSB7XG4gICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICByc2M6IG51bGwsXG4gICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICBoZWFkOiBudWxsLFxuICAgICAgICBwcmVmZXRjaEhlYWQ6IG51bGwsXG4gICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKCksXG4gICAgICAgIGxvYWRpbmc6IG51bGwsXG4gICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXMgPSBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQoa2V5KVxuICAgIGlmIChleGlzdGluZ1BhcmFsbGVsUm91dGVzKSB7XG4gICAgICBleGlzdGluZ1BhcmFsbGVsUm91dGVzLnNldChjYWNoZUtleSwgbmV3Q2FjaGVOb2RlKVxuICAgIH0gZWxzZSB7XG4gICAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5zZXQoa2V5LCBuZXcgTWFwKFtbY2FjaGVLZXksIG5ld0NhY2hlTm9kZV1dKSlcbiAgICB9XG5cbiAgICBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZChcbiAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgbmV3Q2FjaGVOb2RlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgcGFyYWxsZWxSb3V0ZVN0YXRlLFxuICAgICAgcGFyYWxsZWxTZWVkRGF0YSxcbiAgICAgIGhlYWQsXG4gICAgICBwcmVmZXRjaEVudHJ5XG4gICAgKVxuICB9XG59XG4iXSwibmFtZXMiOlsiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJuYXZpZ2F0ZWRBdCIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsInJvdXRlclN0YXRlIiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwicHJlZmV0Y2hFbnRyeSIsImlzTGFzdFNlZ21lbnQiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwia2V5IiwicGFyYWxsZWxSb3V0ZVN0YXRlIiwic2VnbWVudEZvclBhcmFsbGVsUm91dGUiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwicGFyYWxsZWxTZWVkRGF0YSIsInVuZGVmaW5lZCIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsImdldCIsImhhc1JldXNhYmxlUHJlZmV0Y2giLCJraW5kIiwic3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwicmV1c2FibGUiLCJwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlIiwiTWFwIiwiZXhpc3RpbmdDYWNoZU5vZGUiLCJuZXdDYWNoZU5vZGUiLCJzZWVkTm9kZSIsImxvYWRpbmciLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwicHJlZmV0Y2hIZWFkIiwic2V0IiwiZXhpc3RpbmdQYXJhbGxlbFJvdXRlcyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/handle-mutable.js ***! \***********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleMutable\", ({\n enumerable: true,\n get: function() {\n return handleMutable;\n }\n}));\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction isNotUndefined(value) {\n return typeof value !== 'undefined';\n}\nfunction handleMutable(state, mutable) {\n var _mutable_shouldScroll;\n // shouldScroll is true by default, can override to false.\n const shouldScroll = (_mutable_shouldScroll = mutable.shouldScroll) != null ? _mutable_shouldScroll : true;\n let nextUrl = state.nextUrl;\n if (isNotUndefined(mutable.patchedTree)) {\n // If we received a patched tree, we need to compute the changed path.\n const changedPath = (0, _computechangedpath.computeChangedPath)(state.tree, mutable.patchedTree);\n if (changedPath) {\n // If the tree changed, we need to update the nextUrl\n nextUrl = changedPath;\n } else if (!nextUrl) {\n // if the tree ends up being the same (ie, no changed path), and we don't have a nextUrl, then we should use the canonicalUrl\n nextUrl = state.canonicalUrl;\n }\n // otherwise this will be a no-op and continue to use the existing nextUrl\n }\n var _mutable_scrollableSegments;\n return {\n // Set href.\n canonicalUrl: isNotUndefined(mutable.canonicalUrl) ? mutable.canonicalUrl === state.canonicalUrl ? state.canonicalUrl : mutable.canonicalUrl : state.canonicalUrl,\n pushRef: {\n pendingPush: isNotUndefined(mutable.pendingPush) ? mutable.pendingPush : state.pushRef.pendingPush,\n mpaNavigation: isNotUndefined(mutable.mpaNavigation) ? mutable.mpaNavigation : state.pushRef.mpaNavigation,\n preserveCustomHistoryState: isNotUndefined(mutable.preserveCustomHistoryState) ? mutable.preserveCustomHistoryState : state.pushRef.preserveCustomHistoryState\n },\n // All navigation requires scroll and focus management to trigger.\n focusAndScrollRef: {\n apply: shouldScroll ? isNotUndefined(mutable == null ? void 0 : mutable.scrollableSegments) ? true : state.focusAndScrollRef.apply : false,\n onlyHashChange: mutable.onlyHashChange || false,\n hashFragment: shouldScroll ? mutable.hashFragment && mutable.hashFragment !== '' ? decodeURIComponent(mutable.hashFragment.slice(1)) : state.focusAndScrollRef.hashFragment : null,\n segmentPaths: shouldScroll ? (_mutable_scrollableSegments = mutable == null ? void 0 : mutable.scrollableSegments) != null ? _mutable_scrollableSegments : state.focusAndScrollRef.segmentPaths : []\n },\n // Apply cache.\n cache: mutable.cache ? mutable.cache : state.cache,\n prefetchCache: mutable.prefetchCache ? mutable.prefetchCache : state.prefetchCache,\n // Apply patched router state.\n tree: isNotUndefined(mutable.patchedTree) ? mutable.patchedTree : state.tree,\n nextUrl\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=handle-mutable.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLW11dGFibGUuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFXZ0JBOzs7ZUFBQUE7OztnREFYbUI7QUFPbkMsU0FBU0MsZUFBa0JDLEtBQVE7SUFDakMsT0FBTyxPQUFPQSxVQUFVO0FBQzFCO0FBRU8sU0FBU0YsY0FDZEcsS0FBMkIsRUFDM0JDLE9BQWdCO1FBR0tBO0lBRHJCLDBEQUEwRDtJQUMxRCxNQUFNQyxlQUFlRCxDQUFBQSx3QkFBQUEsUUFBUUMsWUFBQUEsS0FBWSxPQUFwQkQsd0JBQXdCO0lBRTdDLElBQUlFLFVBQVVILE1BQU1HLE9BQU87SUFFM0IsSUFBSUwsZUFBZUcsUUFBUUcsV0FBVyxHQUFHO1FBQ3ZDLHNFQUFzRTtRQUN0RSxNQUFNQyxjQUFjQyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQUFBLEVBQW1CTixNQUFNTyxJQUFJLEVBQUVOLFFBQVFHLFdBQVc7UUFDdEUsSUFBSUMsYUFBYTtZQUNmLHFEQUFxRDtZQUNyREYsVUFBVUU7UUFDWixPQUFPLElBQUksQ0FBQ0YsU0FBUztZQUNuQiw2SEFBNkg7WUFDN0hBLFVBQVVILE1BQU1RLFlBQVk7UUFDOUI7SUFDQSwwRUFBMEU7SUFDNUU7UUF5Q1FQO0lBdkNSLE9BQU87UUFDTCxZQUFZO1FBQ1pPLGNBQWNWLGVBQWVHLFFBQVFPLFlBQVksSUFDN0NQLFFBQVFPLFlBQVksS0FBS1IsTUFBTVEsWUFBWSxHQUN6Q1IsTUFBTVEsWUFBWSxHQUNsQlAsUUFBUU8sWUFBWSxHQUN0QlIsTUFBTVEsWUFBWTtRQUN0QkMsU0FBUztZQUNQQyxhQUFhWixlQUFlRyxRQUFRUyxXQUFXLElBQzNDVCxRQUFRUyxXQUFXLEdBQ25CVixNQUFNUyxPQUFPLENBQUNDLFdBQVc7WUFDN0JDLGVBQWViLGVBQWVHLFFBQVFVLGFBQWEsSUFDL0NWLFFBQVFVLGFBQWEsR0FDckJYLE1BQU1TLE9BQU8sQ0FBQ0UsYUFBYTtZQUMvQkMsNEJBQTRCZCxlQUMxQkcsUUFBUVcsMEJBQTBCLElBRWhDWCxRQUFRVywwQkFBMEIsR0FDbENaLE1BQU1TLE9BQU8sQ0FBQ0csMEJBQTBCO1FBQzlDO1FBQ0Esa0VBQWtFO1FBQ2xFQyxtQkFBbUI7WUFDakJDLE9BQU9aLGVBQ0hKLGVBQWVHLFdBQUFBLE9BQUFBLEtBQUFBLElBQUFBLFFBQVNjLGtCQUFrQixJQUN4QyxPQUNBZixNQUFNYSxpQkFBaUIsQ0FBQ0MsS0FBSyxHQUUvQjtZQUNKRSxnQkFBZ0JmLFFBQVFlLGNBQWMsSUFBSTtZQUMxQ0MsY0FBY2YsZUFFVixRQUNRZSxZQUFZLElBQUloQixRQUFRZ0IsSUFESSxRQUNRLEtBQUssS0FFL0NDLG1CQUFtQmpCLFFBQVFnQixZQUFZLENBQUNFLEtBQUssQ0FBQyxNQUM5Q25CLE1BQU1hLGlCQUFpQixDQUFDSSxZQUFZLEdBRXRDO1lBQ0pHLGNBQWNsQixlQUNWRCxDQUFBQSw4QkFBQUEsV0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsUUFBU2Msa0JBQUFBLEtBQWtCLE9BQTNCZCw4QkFBK0JELE1BQU1hLGlCQUFpQixDQUFDTyxZQUFZLEdBRW5FLEVBQUU7UUFDUjtRQUNBLGVBQWU7UUFDZkMsT0FBT3BCLFFBQVFvQixLQUFLLEdBQUdwQixRQUFRb0IsS0FBSyxHQUFHckIsTUFBTXFCLEtBQUs7UUFDbERDLGVBQWVyQixRQUFRcUIsYUFBYSxHQUNoQ3JCLFFBQVFxQixhQUFhLEdBQ3JCdEIsTUFBTXNCLGFBQWE7UUFDdkIsOEJBQThCO1FBQzlCZixNQUFNVCxlQUFlRyxRQUFRRyxXQUFXLElBQ3BDSCxRQUFRRyxXQUFXLEdBQ25CSixNQUFNTyxJQUFJO1FBQ2RKO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVDaGFuZ2VkUGF0aCB9IGZyb20gJy4vY29tcHV0ZS1jaGFuZ2VkLXBhdGgnXG5pbXBvcnQgdHlwZSB7XG4gIE11dGFibGUsXG4gIFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICBSZWR1Y2VyU3RhdGUsXG59IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbmZ1bmN0aW9uIGlzTm90VW5kZWZpbmVkPFQ+KHZhbHVlOiBUKTogdmFsdWUgaXMgRXhjbHVkZTxULCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU11dGFibGUoXG4gIHN0YXRlOiBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgbXV0YWJsZTogTXV0YWJsZVxuKTogUmVkdWNlclN0YXRlIHtcbiAgLy8gc2hvdWxkU2Nyb2xsIGlzIHRydWUgYnkgZGVmYXVsdCwgY2FuIG92ZXJyaWRlIHRvIGZhbHNlLlxuICBjb25zdCBzaG91bGRTY3JvbGwgPSBtdXRhYmxlLnNob3VsZFNjcm9sbCA/PyB0cnVlXG5cbiAgbGV0IG5leHRVcmwgPSBzdGF0ZS5uZXh0VXJsXG5cbiAgaWYgKGlzTm90VW5kZWZpbmVkKG11dGFibGUucGF0Y2hlZFRyZWUpKSB7XG4gICAgLy8gSWYgd2UgcmVjZWl2ZWQgYSBwYXRjaGVkIHRyZWUsIHdlIG5lZWQgdG8gY29tcHV0ZSB0aGUgY2hhbmdlZCBwYXRoLlxuICAgIGNvbnN0IGNoYW5nZWRQYXRoID0gY29tcHV0ZUNoYW5nZWRQYXRoKHN0YXRlLnRyZWUsIG11dGFibGUucGF0Y2hlZFRyZWUpXG4gICAgaWYgKGNoYW5nZWRQYXRoKSB7XG4gICAgICAvLyBJZiB0aGUgdHJlZSBjaGFuZ2VkLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgbmV4dFVybFxuICAgICAgbmV4dFVybCA9IGNoYW5nZWRQYXRoXG4gICAgfSBlbHNlIGlmICghbmV4dFVybCkge1xuICAgICAgLy8gaWYgdGhlIHRyZWUgZW5kcyB1cCBiZWluZyB0aGUgc2FtZSAoaWUsIG5vIGNoYW5nZWQgcGF0aCksIGFuZCB3ZSBkb24ndCBoYXZlIGEgbmV4dFVybCwgdGhlbiB3ZSBzaG91bGQgdXNlIHRoZSBjYW5vbmljYWxVcmxcbiAgICAgIG5leHRVcmwgPSBzdGF0ZS5jYW5vbmljYWxVcmxcbiAgICB9XG4gICAgLy8gb3RoZXJ3aXNlIHRoaXMgd2lsbCBiZSBhIG5vLW9wIGFuZCBjb250aW51ZSB0byB1c2UgdGhlIGV4aXN0aW5nIG5leHRVcmxcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gU2V0IGhyZWYuXG4gICAgY2Fub25pY2FsVXJsOiBpc05vdFVuZGVmaW5lZChtdXRhYmxlLmNhbm9uaWNhbFVybClcbiAgICAgID8gbXV0YWJsZS5jYW5vbmljYWxVcmwgPT09IHN0YXRlLmNhbm9uaWNhbFVybFxuICAgICAgICA/IHN0YXRlLmNhbm9uaWNhbFVybFxuICAgICAgICA6IG11dGFibGUuY2Fub25pY2FsVXJsXG4gICAgICA6IHN0YXRlLmNhbm9uaWNhbFVybCxcbiAgICBwdXNoUmVmOiB7XG4gICAgICBwZW5kaW5nUHVzaDogaXNOb3RVbmRlZmluZWQobXV0YWJsZS5wZW5kaW5nUHVzaClcbiAgICAgICAgPyBtdXRhYmxlLnBlbmRpbmdQdXNoXG4gICAgICAgIDogc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCxcbiAgICAgIG1wYU5hdmlnYXRpb246IGlzTm90VW5kZWZpbmVkKG11dGFibGUubXBhTmF2aWdhdGlvbilcbiAgICAgICAgPyBtdXRhYmxlLm1wYU5hdmlnYXRpb25cbiAgICAgICAgOiBzdGF0ZS5wdXNoUmVmLm1wYU5hdmlnYXRpb24sXG4gICAgICBwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTogaXNOb3RVbmRlZmluZWQoXG4gICAgICAgIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGVcbiAgICAgIClcbiAgICAgICAgPyBtdXRhYmxlLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlXG4gICAgICAgIDogc3RhdGUucHVzaFJlZi5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSxcbiAgICB9LFxuICAgIC8vIEFsbCBuYXZpZ2F0aW9uIHJlcXVpcmVzIHNjcm9sbCBhbmQgZm9jdXMgbWFuYWdlbWVudCB0byB0cmlnZ2VyLlxuICAgIGZvY3VzQW5kU2Nyb2xsUmVmOiB7XG4gICAgICBhcHBseTogc2hvdWxkU2Nyb2xsXG4gICAgICAgID8gaXNOb3RVbmRlZmluZWQobXV0YWJsZT8uc2Nyb2xsYWJsZVNlZ21lbnRzKVxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogc3RhdGUuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHlcbiAgICAgICAgOiAvLyBJZiBzaG91bGRTY3JvbGwgaXMgZmFsc2UgdGhlbiB3ZSBzaG91bGQgbm90IGFwcGx5IHNjcm9sbCBhbmQgZm9jdXMgbWFuYWdlbWVudC5cbiAgICAgICAgICBmYWxzZSxcbiAgICAgIG9ubHlIYXNoQ2hhbmdlOiBtdXRhYmxlLm9ubHlIYXNoQ2hhbmdlIHx8IGZhbHNlLFxuICAgICAgaGFzaEZyYWdtZW50OiBzaG91bGRTY3JvbGxcbiAgICAgICAgPyAvLyBFbXB0eSBoYXNoIHNob3VsZCB0cmlnZ2VyIGRlZmF1bHQgYmVoYXZpb3Igb2Ygc2Nyb2xsaW5nIGxheW91dCBpbnRvIHZpZXcuXG4gICAgICAgICAgLy8gI3RvcCBpcyBoYW5kbGVkIGluIGxheW91dC1yb3V0ZXIuXG4gICAgICAgICAgbXV0YWJsZS5oYXNoRnJhZ21lbnQgJiYgbXV0YWJsZS5oYXNoRnJhZ21lbnQgIT09ICcnXG4gICAgICAgICAgPyAvLyBSZW1vdmUgbGVhZGluZyAjIGFuZCBkZWNvZGUgaGFzaCB0byBtYWtlIG5vbi1sYXRpbiBoYXNoZXMgd29yay5cbiAgICAgICAgICAgIGRlY29kZVVSSUNvbXBvbmVudChtdXRhYmxlLmhhc2hGcmFnbWVudC5zbGljZSgxKSlcbiAgICAgICAgICA6IHN0YXRlLmZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudFxuICAgICAgICA6IC8vIElmIHNob3VsZFNjcm9sbCBpcyBmYWxzZSB0aGVuIHdlIHNob3VsZCBub3QgYXBwbHkgc2Nyb2xsIGFuZCBmb2N1cyBtYW5hZ2VtZW50LlxuICAgICAgICAgIG51bGwsXG4gICAgICBzZWdtZW50UGF0aHM6IHNob3VsZFNjcm9sbFxuICAgICAgICA/IG11dGFibGU/LnNjcm9sbGFibGVTZWdtZW50cyA/PyBzdGF0ZS5mb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHNcbiAgICAgICAgOiAvLyBJZiBzaG91bGRTY3JvbGwgaXMgZmFsc2UgdGhlbiB3ZSBzaG91bGQgbm90IGFwcGx5IHNjcm9sbCBhbmQgZm9jdXMgbWFuYWdlbWVudC5cbiAgICAgICAgICBbXSxcbiAgICB9LFxuICAgIC8vIEFwcGx5IGNhY2hlLlxuICAgIGNhY2hlOiBtdXRhYmxlLmNhY2hlID8gbXV0YWJsZS5jYWNoZSA6IHN0YXRlLmNhY2hlLFxuICAgIHByZWZldGNoQ2FjaGU6IG11dGFibGUucHJlZmV0Y2hDYWNoZVxuICAgICAgPyBtdXRhYmxlLnByZWZldGNoQ2FjaGVcbiAgICAgIDogc3RhdGUucHJlZmV0Y2hDYWNoZSxcbiAgICAvLyBBcHBseSBwYXRjaGVkIHJvdXRlciBzdGF0ZS5cbiAgICB0cmVlOiBpc05vdFVuZGVmaW5lZChtdXRhYmxlLnBhdGNoZWRUcmVlKVxuICAgICAgPyBtdXRhYmxlLnBhdGNoZWRUcmVlXG4gICAgICA6IHN0YXRlLnRyZWUsXG4gICAgbmV4dFVybCxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZU11dGFibGUiLCJpc05vdFVuZGVmaW5lZCIsInZhbHVlIiwic3RhdGUiLCJtdXRhYmxlIiwic2hvdWxkU2Nyb2xsIiwibmV4dFVybCIsInBhdGNoZWRUcmVlIiwiY2hhbmdlZFBhdGgiLCJjb21wdXRlQ2hhbmdlZFBhdGgiLCJ0cmVlIiwiY2Fub25pY2FsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsInNjcm9sbGFibGVTZWdtZW50cyIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50IiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwic2xpY2UiLCJzZWdtZW50UGF0aHMiLCJjYWNoZSIsInByZWZldGNoQ2FjaGUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSegmentMismatch\", ({\n enumerable: true,\n get: function() {\n return handleSegmentMismatch;\n }\n}));\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nfunction handleSegmentMismatch(state, action, treePatch) {\n if (true) {\n console.warn('Performing hard navigation because your application experienced an unrecoverable error. If this keeps occurring, please file a Next.js issue.\\n\\n' + 'Reason: Segment mismatch\\n' + (\"Last Action: \" + action.type + \"\\n\\n\") + (\"Current Tree: \" + JSON.stringify(state.tree) + \"\\n\\n\") + (\"Tree Patch Payload: \" + JSON.stringify(treePatch)));\n }\n return (0, _navigatereducer.handleExternalUrl)(state, {}, state.canonicalUrl, true);\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=handle-segment-mismatch.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2guanMiLCJtYXBwaW5ncyI6Ijs7Ozt5REFXZ0JBOzs7ZUFBQUE7Ozs2Q0FWa0I7QUFVM0IsU0FBU0Esc0JBQ2RDLEtBQTJCLEVBQzNCQyxNQUFzQixFQUN0QkMsU0FBNEI7SUFFNUIsSUFBSUMsSUFBb0IsRUFBb0I7UUFDMUNHLFFBQVFDLElBQUksQ0FDVixzSkFDRSxnQ0FDQyxrQkFBZU4sT0FBT08sSUFBSSxHQUFDLE9BQUksSUFDaEMsbUJBQWlCQyxLQUFLQyxTQUFTLENBQUNWLE1BQU1XLElBQUksSUFBRSxPQUFJLElBQ2hELHlCQUF1QkYsS0FBS0MsU0FBUyxDQUFDUixVQUFBQSxDQUFXO0lBRXZEO0lBRUEsT0FBT1UsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFBQSxFQUFrQlosT0FBTyxDQUFDLEdBQUdBLE1BQU1hLFlBQVksRUFBRTtBQUMxRCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB7IGhhbmRsZUV4dGVybmFsVXJsIH0gZnJvbSAnLi9yZWR1Y2Vycy9uYXZpZ2F0ZS1yZWR1Y2VyJ1xuaW1wb3J0IHR5cGUge1xuICBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgUmVkdWNlckFjdGlvbnMsXG59IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbi8qKlxuICogSGFuZGxlcyB0aGUgY2FzZSB3aGVyZSB0aGUgY2xpZW50IHJvdXRlciBhdHRlbXB0ZWQgdG8gcGF0Y2ggdGhlIHRyZWUgYnV0LCBkdWUgdG8gYSBtaXNtYXRjaCwgdGhlIHBhdGNoIGZhaWxlZC5cbiAqIFRoaXMgd2lsbCBwZXJmb3JtIGFuIE1QQSBuYXZpZ2F0aW9uIHRvIHJldHVybiB0aGUgcm91dGVyIHRvIGEgdmFsaWQgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVTZWdtZW50TWlzbWF0Y2goXG4gIHN0YXRlOiBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgYWN0aW9uOiBSZWR1Y2VyQWN0aW9ucyxcbiAgdHJlZVBhdGNoOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50Jykge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgICdQZXJmb3JtaW5nIGhhcmQgbmF2aWdhdGlvbiBiZWNhdXNlIHlvdXIgYXBwbGljYXRpb24gZXhwZXJpZW5jZWQgYW4gdW5yZWNvdmVyYWJsZSBlcnJvci4gSWYgdGhpcyBrZWVwcyBvY2N1cnJpbmcsIHBsZWFzZSBmaWxlIGEgTmV4dC5qcyBpc3N1ZS5cXG5cXG4nICtcbiAgICAgICAgJ1JlYXNvbjogU2VnbWVudCBtaXNtYXRjaFxcbicgK1xuICAgICAgICBgTGFzdCBBY3Rpb246ICR7YWN0aW9uLnR5cGV9XFxuXFxuYCArXG4gICAgICAgIGBDdXJyZW50IFRyZWU6ICR7SlNPTi5zdHJpbmdpZnkoc3RhdGUudHJlZSl9XFxuXFxuYCArXG4gICAgICAgIGBUcmVlIFBhdGNoIFBheWxvYWQ6ICR7SlNPTi5zdHJpbmdpZnkodHJlZVBhdGNoKX1gXG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCB7fSwgc3RhdGUuY2Fub25pY2FsVXJsLCB0cnVlKVxufVxuIl0sIm5hbWVzIjpbImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsInN0YXRlIiwiYWN0aW9uIiwidHJlZVBhdGNoIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwiY29uc29sZSIsIndhcm4iLCJ0eXBlIiwiSlNPTiIsInN0cmluZ2lmeSIsInRyZWUiLCJoYW5kbGVFeHRlcm5hbFVybCIsImNhbm9uaWNhbFVybCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js ***! \**************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheBelowFlightSegmentPath\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheBelowFlightSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nfunction invalidateCacheBelowFlightSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n // In case of last entry don't copy further down.\n if (isLastEntry) {\n childSegmentMap.delete(cacheKey);\n return;\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n head: childCacheNode.head,\n prefetchHead: childCacheNode.prefetchHead,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n invalidateCacheBelowFlightSegmentPath(childCacheNode, existingChildCacheNode, (0, _flightdatahelpers.getNextFlightSegmentPath)(flightSegmentPath));\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=invalidate-cache-below-flight-segmentpath.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1iZWxvdy1mbGlnaHQtc2VnbWVudHBhdGguanMiLCJtYXBwaW5ncyI6Ijs7Ozt5RUFRZ0JBOzs7ZUFBQUE7OztrREFOcUI7K0NBQ0k7QUFLbEMsU0FBU0Esc0NBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsaUJBQW9DO0lBRXBDLE1BQU1DLGNBQWNELGtCQUFrQkUsTUFBTSxJQUFJO0lBQ2hELE1BQU0sQ0FBQ0Msa0JBQWtCQyxRQUFRLEdBQUdKO0lBRXBDLE1BQU1LLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBQUEsRUFBcUJGO0lBRXRDLE1BQU1HLDBCQUNKUixjQUFjUyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFFbkMsSUFBSSxDQUFDSSx5QkFBeUI7UUFDNUIsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNGO0lBRUEsSUFBSUcsa0JBQWtCWixTQUFTVSxjQUFjLENBQUNDLEdBQUcsQ0FBQ047SUFDbEQsSUFBSSxDQUFDTyxtQkFBbUJBLG9CQUFvQkgseUJBQXlCO1FBQ25FRyxrQkFBa0IsSUFBSUMsSUFBSUo7UUFDMUJULFNBQVNVLGNBQWMsQ0FBQ0ksR0FBRyxDQUFDVCxrQkFBa0JPO0lBQ2hEO0lBRUEsaURBQWlEO0lBQ2pELElBQUlULGFBQWE7UUFDZlMsZ0JBQWdCRyxNQUFNLENBQUNSO1FBQ3ZCO0lBQ0Y7SUFFQSxNQUFNUyx5QkFBeUJQLHdCQUF3QkUsR0FBRyxDQUFDSjtJQUMzRCxJQUFJVSxpQkFBaUJMLGdCQUFnQkQsR0FBRyxDQUFDSjtJQUV6QyxJQUFJLENBQUNVLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDOUMsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNGO0lBRUEsSUFBSUMsbUJBQW1CRCx3QkFBd0I7UUFDN0NDLGlCQUFpQjtZQUNmQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDQyxLQUFLRixlQUFlRSxHQUFHO1lBQ3ZCQyxhQUFhSCxlQUFlRyxXQUFXO1lBQ3ZDQyxNQUFNSixlQUFlSSxJQUFJO1lBQ3pCQyxjQUFjTCxlQUFlSyxZQUFZO1lBQ3pDWixnQkFBZ0IsSUFBSUcsSUFBSUksZUFBZVAsY0FBYztRQUN2RDtRQUNBRSxnQkFBZ0JFLEdBQUcsQ0FBQ1AsVUFBVVU7SUFDaEM7SUFFQWxCLHNDQUNFa0IsZ0JBQ0FELHdCQUNBTyxDQUFBQSxHQUFBQSxtQkFBQUEsd0JBQUFBLEVBQXlCckI7QUFFN0IiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9pbnZhbGlkYXRlLWNhY2hlLWJlbG93LWZsaWdodC1zZWdtZW50cGF0aC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENhY2hlTm9kZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHR5cGUgeyBGbGlnaHRTZWdtZW50UGF0aCB9IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHsgY3JlYXRlUm91dGVyQ2FjaGVLZXkgfSBmcm9tICcuL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5J1xuaW1wb3J0IHsgZ2V0TmV4dEZsaWdodFNlZ21lbnRQYXRoIH0gZnJvbSAnLi4vLi4vZmxpZ2h0LWRhdGEtaGVscGVycydcblxuLyoqXG4gKiBGaWxsIGNhY2hlIHVwIHRvIHRoZSBlbmQgb2YgdGhlIGZsaWdodFNlZ21lbnRQYXRoLCBpbnZhbGlkYXRpbmcgYW55dGhpbmcgYmVsb3cgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoKFxuICBuZXdDYWNoZTogQ2FjaGVOb2RlLFxuICBleGlzdGluZ0NhY2hlOiBDYWNoZU5vZGUsXG4gIGZsaWdodFNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aFxuKTogdm9pZCB7XG4gIGNvbnN0IGlzTGFzdEVudHJ5ID0gZmxpZ2h0U2VnbWVudFBhdGgubGVuZ3RoIDw9IDJcbiAgY29uc3QgW3BhcmFsbGVsUm91dGVLZXksIHNlZ21lbnRdID0gZmxpZ2h0U2VnbWVudFBhdGhcblxuICBjb25zdCBjYWNoZUtleSA9IGNyZWF0ZVJvdXRlckNhY2hlS2V5KHNlZ21lbnQpXG5cbiAgY29uc3QgZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAgPVxuICAgIGV4aXN0aW5nQ2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpXG5cbiAgaWYgKCFleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgIC8vIEJhaWxvdXQgYmVjYXVzZSB0aGUgZXhpc3RpbmcgY2FjaGUgZG9lcyBub3QgaGF2ZSB0aGUgcGF0aCB0byB0aGUgbGVhZiBub2RlXG4gICAgLy8gV2lsbCB0cmlnZ2VyIGxhenkgZmV0Y2ggaW4gbGF5b3V0LXJvdXRlciBiZWNhdXNlIG9mIG1pc3Npbmcgc2VnbWVudFxuICAgIHJldHVyblxuICB9XG5cbiAgbGV0IGNoaWxkU2VnbWVudE1hcCA9IG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KVxuICBpZiAoIWNoaWxkU2VnbWVudE1hcCB8fCBjaGlsZFNlZ21lbnRNYXAgPT09IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKSB7XG4gICAgY2hpbGRTZWdtZW50TWFwID0gbmV3IE1hcChleGlzdGluZ0NoaWxkU2VnbWVudE1hcClcbiAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgY2hpbGRTZWdtZW50TWFwKVxuICB9XG5cbiAgLy8gSW4gY2FzZSBvZiBsYXN0IGVudHJ5IGRvbid0IGNvcHkgZnVydGhlciBkb3duLlxuICBpZiAoaXNMYXN0RW50cnkpIHtcbiAgICBjaGlsZFNlZ21lbnRNYXAuZGVsZXRlKGNhY2hlS2V5KVxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSA9IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSlcbiAgbGV0IGNoaWxkQ2FjaGVOb2RlID0gY2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSlcblxuICBpZiAoIWNoaWxkQ2FjaGVOb2RlIHx8ICFleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgLy8gQmFpbG91dCBiZWNhdXNlIHRoZSBleGlzdGluZyBjYWNoZSBkb2VzIG5vdCBoYXZlIHRoZSBwYXRoIHRvIHRoZSBsZWFmIG5vZGVcbiAgICAvLyBXaWxsIHRyaWdnZXIgbGF6eSBmZXRjaCBpbiBsYXlvdXQtcm91dGVyIGJlY2F1c2Ugb2YgbWlzc2luZyBzZWdtZW50XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAoY2hpbGRDYWNoZU5vZGUgPT09IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUpIHtcbiAgICBjaGlsZENhY2hlTm9kZSA9IHtcbiAgICAgIGxhenlEYXRhOiBjaGlsZENhY2hlTm9kZS5sYXp5RGF0YSxcbiAgICAgIHJzYzogY2hpbGRDYWNoZU5vZGUucnNjLFxuICAgICAgcHJlZmV0Y2hSc2M6IGNoaWxkQ2FjaGVOb2RlLnByZWZldGNoUnNjLFxuICAgICAgaGVhZDogY2hpbGRDYWNoZU5vZGUuaGVhZCxcbiAgICAgIHByZWZldGNoSGVhZDogY2hpbGRDYWNoZU5vZGUucHJlZmV0Y2hIZWFkLFxuICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoY2hpbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpLFxuICAgIH0gYXMgQ2FjaGVOb2RlXG4gICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwgY2hpbGRDYWNoZU5vZGUpXG4gIH1cblxuICBpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoKFxuICAgIGNoaWxkQ2FjaGVOb2RlLFxuICAgIGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUsXG4gICAgZ2V0TmV4dEZsaWdodFNlZ21lbnRQYXRoKGZsaWdodFNlZ21lbnRQYXRoKVxuICApXG59XG4iXSwibmFtZXMiOlsiaW52YWxpZGF0ZUNhY2hlQmVsb3dGbGlnaHRTZWdtZW50UGF0aCIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiaXNMYXN0RW50cnkiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5Iiwic2VnbWVudCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJleGlzdGluZ0NoaWxkU2VnbWVudE1hcCIsInBhcmFsbGVsUm91dGVzIiwiZ2V0IiwiY2hpbGRTZWdtZW50TWFwIiwiTWFwIiwic2V0IiwiZGVsZXRlIiwiZXhpc3RpbmdDaGlsZENhY2hlTm9kZSIsImNoaWxkQ2FjaGVOb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsImhlYWQiLCJwcmVmZXRjaEhlYWQiLCJnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGgiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheByRouterState\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheByRouterState;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheByRouterState(newCache, existingCache, routerState) {\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const segmentForParallelRoute = routerState[1][key][0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n parallelRouteCacheNode.delete(cacheKey);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\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=invalidate-cache-by-router-state.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1ieS1yb3V0ZXItc3RhdGUuanMiLCJtYXBwaW5ncyI6Ijs7OztnRUFPZ0JBOzs7ZUFBQUE7OztrREFMcUI7QUFLOUIsU0FBU0EsNkJBQ2RDLFFBQW1CLEVBQ25CQyxhQUF3QixFQUN4QkMsV0FBOEI7SUFFOUIsdUZBQXVGO0lBQ3ZGLElBQUssTUFBTUMsT0FBT0QsV0FBVyxDQUFDLEVBQUUsQ0FBRTtRQUNoQyxNQUFNRSwwQkFBMEJGLFdBQVcsQ0FBQyxFQUFFLENBQUNDLElBQUksQ0FBQyxFQUFFO1FBQ3RELE1BQU1FLFdBQVdDLENBQUFBLEdBQUFBLHNCQUFBQSxvQkFBQUEsRUFBcUJGO1FBQ3RDLE1BQU1HLGtDQUNKTixjQUFjTyxjQUFjLENBQUNDLEdBQUcsQ0FBQ047UUFDbkMsSUFBSUksaUNBQWlDO1lBQ25DLElBQUlHLHlCQUF5QixJQUFJQyxJQUFJSjtZQUNyQ0csdUJBQXVCRSxNQUFNLENBQUNQO1lBQzlCTCxTQUFTUSxjQUFjLENBQUNLLEdBQUcsQ0FBQ1YsS0FBS087UUFDbkM7SUFDRjtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaW52YWxpZGF0ZS1jYWNoZS1ieS1yb3V0ZXItc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB7IGNyZWF0ZVJvdXRlckNhY2hlS2V5IH0gZnJvbSAnLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleSdcblxuLyoqXG4gKiBJbnZhbGlkYXRlIGNhY2hlIG9uZSBsZXZlbCBkb3duIGZyb20gdGhlIHJvdXRlciBzdGF0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludmFsaWRhdGVDYWNoZUJ5Um91dGVyU3RhdGUoXG4gIG5ld0NhY2hlOiBDYWNoZU5vZGUsXG4gIGV4aXN0aW5nQ2FjaGU6IENhY2hlTm9kZSxcbiAgcm91dGVyU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlXG4pOiB2b2lkIHtcbiAgLy8gUmVtb3ZlIHNlZ21lbnQgdGhhdCB3ZSBnb3QgZGF0YSBmb3Igc28gdGhhdCBpdCBpcyBmaWxsZWQgaW4gZHVyaW5nIHJlbmRlcmluZyBvZiByc2MuXG4gIGZvciAoY29uc3Qga2V5IGluIHJvdXRlclN0YXRlWzFdKSB7XG4gICAgY29uc3Qgc2VnbWVudEZvclBhcmFsbGVsUm91dGUgPSByb3V0ZXJTdGF0ZVsxXVtrZXldWzBdXG4gICAgY29uc3QgY2FjaGVLZXkgPSBjcmVhdGVSb3V0ZXJDYWNoZUtleShzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSlcbiAgICBjb25zdCBleGlzdGluZ1BhcmFsbGVsUm91dGVzQ2FjaGVOb2RlID1cbiAgICAgIGV4aXN0aW5nQ2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KGtleSlcbiAgICBpZiAoZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSkge1xuICAgICAgbGV0IHBhcmFsbGVsUm91dGVDYWNoZU5vZGUgPSBuZXcgTWFwKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUpXG4gICAgICBwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlLmRlbGV0ZShjYWNoZUtleSlcbiAgICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLnNldChrZXksIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUpXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsiaW52YWxpZGF0ZUNhY2hlQnlSb3V0ZXJTdGF0ZSIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsInJvdXRlclN0YXRlIiwia2V5Iiwic2VnbWVudEZvclBhcmFsbGVsUm91dGUiLCJjYWNoZUtleSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSIsInBhcmFsbGVsUm91dGVzIiwiZ2V0IiwicGFyYWxsZWxSb3V0ZUNhY2hlTm9kZSIsIk1hcCIsImRlbGV0ZSIsInNldCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNavigatingToNewRootLayout\", ({\n enumerable: true,\n get: function() {\n return isNavigatingToNewRootLayout;\n }\n}));\nfunction isNavigatingToNewRootLayout(currentTree, nextTree) {\n // Compare segments\n const currentTreeSegment = currentTree[0];\n const nextTreeSegment = nextTree[0];\n // If any segment is different before we find the root layout, the root layout has changed.\n // E.g. /same/(group1)/layout.js -> /same/(group2)/layout.js\n // First segment is 'same' for both, keep looking. (group1) changed to (group2) before the root layout was found, it must have changed.\n if (Array.isArray(currentTreeSegment) && Array.isArray(nextTreeSegment)) {\n // Compare dynamic param name and type but ignore the value, different values would not affect the current root layout\n // /[name] - /slug1 and /slug2, both values (slug1 & slug2) still has the same layout /[name]/layout.js\n if (currentTreeSegment[0] !== nextTreeSegment[0] || currentTreeSegment[2] !== nextTreeSegment[2]) {\n return true;\n }\n } else if (currentTreeSegment !== nextTreeSegment) {\n return true;\n }\n // Current tree root layout found\n if (currentTree[4]) {\n // If the next tree doesn't have the root layout flag, it must have changed.\n return !nextTree[4];\n }\n // Current tree didn't have its root layout here, must have changed.\n if (nextTree[4]) {\n return true;\n }\n // We can't assume it's `parallelRoutes.children` here in case the root layout is `app/@something/layout.js`\n // But it's not possible to be more than one parallelRoutes before the root layout is found\n // TODO-APP: change to traverse all parallel routes\n const currentTreeChild = Object.values(currentTree[1])[0];\n const nextTreeChild = Object.values(nextTree[1])[0];\n if (!currentTreeChild || !nextTreeChild) return true;\n return isNavigatingToNewRootLayout(currentTreeChild, nextTreeChild);\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=is-navigating-to-new-root-layout.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQuanMiLCJtYXBwaW5ncyI6Ijs7OzsrREFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLDRCQUNkQyxXQUE4QixFQUM5QkMsUUFBMkI7SUFFM0IsbUJBQW1CO0lBQ25CLE1BQU1DLHFCQUFxQkYsV0FBVyxDQUFDLEVBQUU7SUFDekMsTUFBTUcsa0JBQWtCRixRQUFRLENBQUMsRUFBRTtJQUVuQywyRkFBMkY7SUFDM0YsNERBQTREO0lBQzVELHVJQUF1STtJQUN2SSxJQUFJRyxNQUFNQyxPQUFPLENBQUNILHVCQUF1QkUsTUFBTUMsT0FBTyxDQUFDRixrQkFBa0I7UUFDdkUsc0hBQXNIO1FBQ3RILHVHQUF1RztRQUN2RyxJQUNFRCxrQkFBa0IsQ0FBQyxFQUFFLEtBQUtDLGVBQWUsQ0FBQyxFQUFFLElBQzVDRCxrQkFBa0IsQ0FBQyxFQUFFLEtBQUtDLGVBQWUsQ0FBQyxFQUFFLEVBQzVDO1lBQ0EsT0FBTztRQUNUO0lBQ0YsT0FBTyxJQUFJRCx1QkFBdUJDLGlCQUFpQjtRQUNqRCxPQUFPO0lBQ1Q7SUFFQSxpQ0FBaUM7SUFDakMsSUFBSUgsV0FBVyxDQUFDLEVBQUUsRUFBRTtRQUNsQiw0RUFBNEU7UUFDNUUsT0FBTyxDQUFDQyxRQUFRLENBQUMsRUFBRTtJQUNyQjtJQUNBLG9FQUFvRTtJQUNwRSxJQUFJQSxRQUFRLENBQUMsRUFBRSxFQUFFO1FBQ2YsT0FBTztJQUNUO0lBQ0EsNEdBQTRHO0lBQzVHLDJGQUEyRjtJQUMzRixtREFBbUQ7SUFDbkQsTUFBTUssbUJBQW1CQyxPQUFPQyxNQUFNLENBQUNSLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQ3pELE1BQU1TLGdCQUFnQkYsT0FBT0MsTUFBTSxDQUFDUCxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUNuRCxJQUFJLENBQUNLLG9CQUFvQixDQUFDRyxlQUFlLE9BQU87SUFDaEQsT0FBT1YsNEJBQTRCTyxrQkFBa0JHO0FBQ3ZEIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGbGlnaHRSb3V0ZXJTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KFxuICBjdXJyZW50VHJlZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIG5leHRUcmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKTogYm9vbGVhbiB7XG4gIC8vIENvbXBhcmUgc2VnbWVudHNcbiAgY29uc3QgY3VycmVudFRyZWVTZWdtZW50ID0gY3VycmVudFRyZWVbMF1cbiAgY29uc3QgbmV4dFRyZWVTZWdtZW50ID0gbmV4dFRyZWVbMF1cblxuICAvLyBJZiBhbnkgc2VnbWVudCBpcyBkaWZmZXJlbnQgYmVmb3JlIHdlIGZpbmQgdGhlIHJvb3QgbGF5b3V0LCB0aGUgcm9vdCBsYXlvdXQgaGFzIGNoYW5nZWQuXG4gIC8vIEUuZy4gL3NhbWUvKGdyb3VwMSkvbGF5b3V0LmpzIC0+IC9zYW1lLyhncm91cDIpL2xheW91dC5qc1xuICAvLyBGaXJzdCBzZWdtZW50IGlzICdzYW1lJyBmb3IgYm90aCwga2VlcCBsb29raW5nLiAoZ3JvdXAxKSBjaGFuZ2VkIHRvIChncm91cDIpIGJlZm9yZSB0aGUgcm9vdCBsYXlvdXQgd2FzIGZvdW5kLCBpdCBtdXN0IGhhdmUgY2hhbmdlZC5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudFRyZWVTZWdtZW50KSAmJiBBcnJheS5pc0FycmF5KG5leHRUcmVlU2VnbWVudCkpIHtcbiAgICAvLyBDb21wYXJlIGR5bmFtaWMgcGFyYW0gbmFtZSBhbmQgdHlwZSBidXQgaWdub3JlIHRoZSB2YWx1ZSwgZGlmZmVyZW50IHZhbHVlcyB3b3VsZCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHJvb3QgbGF5b3V0XG4gICAgLy8gL1tuYW1lXSAtIC9zbHVnMSBhbmQgL3NsdWcyLCBib3RoIHZhbHVlcyAoc2x1ZzEgJiBzbHVnMikgc3RpbGwgaGFzIHRoZSBzYW1lIGxheW91dCAvW25hbWVdL2xheW91dC5qc1xuICAgIGlmIChcbiAgICAgIGN1cnJlbnRUcmVlU2VnbWVudFswXSAhPT0gbmV4dFRyZWVTZWdtZW50WzBdIHx8XG4gICAgICBjdXJyZW50VHJlZVNlZ21lbnRbMl0gIT09IG5leHRUcmVlU2VnbWVudFsyXVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH0gZWxzZSBpZiAoY3VycmVudFRyZWVTZWdtZW50ICE9PSBuZXh0VHJlZVNlZ21lbnQpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLy8gQ3VycmVudCB0cmVlIHJvb3QgbGF5b3V0IGZvdW5kXG4gIGlmIChjdXJyZW50VHJlZVs0XSkge1xuICAgIC8vIElmIHRoZSBuZXh0IHRyZWUgZG9lc24ndCBoYXZlIHRoZSByb290IGxheW91dCBmbGFnLCBpdCBtdXN0IGhhdmUgY2hhbmdlZC5cbiAgICByZXR1cm4gIW5leHRUcmVlWzRdXG4gIH1cbiAgLy8gQ3VycmVudCB0cmVlIGRpZG4ndCBoYXZlIGl0cyByb290IGxheW91dCBoZXJlLCBtdXN0IGhhdmUgY2hhbmdlZC5cbiAgaWYgKG5leHRUcmVlWzRdKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICAvLyBXZSBjYW4ndCBhc3N1bWUgaXQncyBgcGFyYWxsZWxSb3V0ZXMuY2hpbGRyZW5gIGhlcmUgaW4gY2FzZSB0aGUgcm9vdCBsYXlvdXQgaXMgYGFwcC9Ac29tZXRoaW5nL2xheW91dC5qc2BcbiAgLy8gQnV0IGl0J3Mgbm90IHBvc3NpYmxlIHRvIGJlIG1vcmUgdGhhbiBvbmUgcGFyYWxsZWxSb3V0ZXMgYmVmb3JlIHRoZSByb290IGxheW91dCBpcyBmb3VuZFxuICAvLyBUT0RPLUFQUDogY2hhbmdlIHRvIHRyYXZlcnNlIGFsbCBwYXJhbGxlbCByb3V0ZXNcbiAgY29uc3QgY3VycmVudFRyZWVDaGlsZCA9IE9iamVjdC52YWx1ZXMoY3VycmVudFRyZWVbMV0pWzBdXG4gIGNvbnN0IG5leHRUcmVlQ2hpbGQgPSBPYmplY3QudmFsdWVzKG5leHRUcmVlWzFdKVswXVxuICBpZiAoIWN1cnJlbnRUcmVlQ2hpbGQgfHwgIW5leHRUcmVlQ2hpbGQpIHJldHVybiB0cnVlXG4gIHJldHVybiBpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQoY3VycmVudFRyZWVDaGlsZCwgbmV4dFRyZWVDaGlsZClcbn1cbiJdLCJuYW1lcyI6WyJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjdXJyZW50VHJlZSIsIm5leHRUcmVlIiwiY3VycmVudFRyZWVTZWdtZW50IiwibmV4dFRyZWVTZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudFRyZWVDaGlsZCIsIk9iamVjdCIsInZhbHVlcyIsIm5leHRUcmVlQ2hpbGQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js": /*!************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/ppr-navigations.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 abortTask: function() {\n return abortTask;\n },\n listenForDynamicRequest: function() {\n return listenForDynamicRequest;\n },\n startPPRNavigation: function() {\n return startPPRNavigation;\n },\n updateCacheNodeOnPopstateRestoration: function() {\n return updateCacheNodeOnPopstateRestoration;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ./is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ./prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst MPA_NAVIGATION_TASK = {\n route: null,\n node: null,\n dynamicRequestTree: null,\n children: null\n};\nfunction startPPRNavigation(navigatedAt, oldCacheNode, oldRouterState, newRouterState, prefetchData, prefetchHead, isPrefetchHeadPartial, isSamePageNavigation, scrollableSegmentsResult) {\n const segmentPath = [];\n return updateCacheNodeOnNavigation(navigatedAt, oldCacheNode, oldRouterState, newRouterState, false, prefetchData, prefetchHead, isPrefetchHeadPartial, isSamePageNavigation, segmentPath, scrollableSegmentsResult);\n}\nfunction updateCacheNodeOnNavigation(navigatedAt, oldCacheNode, oldRouterState, newRouterState, didFindRootLayout, prefetchData, prefetchHead, isPrefetchHeadPartial, isSamePageNavigation, segmentPath, scrollableSegmentsResult) {\n // Diff the old and new trees to reuse the shared layouts.\n const oldRouterStateChildren = oldRouterState[1];\n const newRouterStateChildren = newRouterState[1];\n const prefetchDataChildren = prefetchData !== null ? prefetchData[2] : null;\n if (!didFindRootLayout) {\n // We're currently traversing the part of the tree that was also part of\n // the previous route. If we discover a root layout, then we don't need to\n // trigger an MPA navigation. See beginRenderingNewRouteTree for context.\n const isRootLayout = newRouterState[4] === true;\n if (isRootLayout) {\n // Found a matching root layout.\n didFindRootLayout = true;\n }\n }\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n // Clone the current set of segment children, even if they aren't active in\n // the new tree.\n // TODO: We currently retain all the inactive segments indefinitely, until\n // there's an explicit refresh, or a parent layout is lazily refreshed. We\n // rely on this for popstate navigations, which update the Router State Tree\n // but do not eagerly perform a data fetch, because they expect the segment\n // data to already be in the Cache Node tree. For highly static sites that\n // are mostly read-only, this may happen only rarely, causing memory to\n // leak. We should figure out a better model for the lifetime of inactive\n // segments, so we can maintain instant back/forward navigations without\n // leaking memory indefinitely.\n const prefetchParallelRoutes = new Map(oldParallelRoutes);\n // As we diff the trees, we may sometimes modify (copy-on-write, not mutate)\n // the Route Tree that was returned by the server — for example, in the case\n // of default parallel routes, we preserve the currently active segment. To\n // avoid mutating the original tree, we clone the router state children along\n // the return path.\n let patchedRouterStateChildren = {};\n let taskChildren = null;\n // Most navigations require a request to fetch additional data from the\n // server, either because the data was not already prefetched, or because the\n // target route contains dynamic data that cannot be prefetched.\n //\n // However, if the target route is fully static, and it's already completely\n // loaded into the segment cache, then we can skip the server request.\n //\n // This starts off as `false`, and is set to `true` if any of the child\n // routes requires a dynamic request.\n let needsDynamicRequest = false;\n // As we traverse the children, we'll construct a FlightRouterState that can\n // be sent to the server to request the dynamic data. If it turns out that\n // nothing in the subtree is dynamic (i.e. needsDynamicRequest is false at the\n // end), then this will be discarded.\n // TODO: We can probably optimize the format of this data structure to only\n // include paths that are dynamic. Instead of reusing the\n // FlightRouterState type.\n let dynamicRequestTreeChildren = {};\n for(let parallelRouteKey in newRouterStateChildren){\n const newRouterStateChild = newRouterStateChildren[parallelRouteKey];\n const oldRouterStateChild = oldRouterStateChildren[parallelRouteKey];\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const newSegmentChild = newRouterStateChild[0];\n const newSegmentPathChild = segmentPath.concat([\n parallelRouteKey,\n newSegmentChild\n ]);\n const newSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(newSegmentChild);\n const oldSegmentChild = oldRouterStateChild !== undefined ? oldRouterStateChild[0] : undefined;\n const oldCacheNodeChild = oldSegmentMapChild !== undefined ? oldSegmentMapChild.get(newSegmentKeyChild) : undefined;\n let taskChild;\n if (newSegmentChild === _segment.DEFAULT_SEGMENT_KEY) {\n // This is another kind of leaf segment — a default route.\n //\n // Default routes have special behavior. When there's no matching segment\n // for a parallel route, Next.js preserves the currently active segment\n // during a client navigation — but not for initial render. The server\n // leaves it to the client to account for this. So we need to handle\n // it here.\n if (oldRouterStateChild !== undefined) {\n // Reuse the existing Router State for this segment. We spawn a \"task\"\n // just to keep track of the updated router state; unlike most, it's\n // already fulfilled and won't be affected by the dynamic response.\n taskChild = spawnReusedTask(oldRouterStateChild);\n } else {\n // There's no currently active segment. Switch to the \"create\" path.\n taskChild = beginRenderingNewRouteTree(navigatedAt, oldRouterStateChild, newRouterStateChild, oldCacheNodeChild, didFindRootLayout, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchHeadPartial, newSegmentPathChild, scrollableSegmentsResult);\n }\n } else if (isSamePageNavigation && // Check if this is a page segment.\n // TODO: We're not consistent about how we do this check. Some places\n // check if the segment starts with PAGE_SEGMENT_KEY, but most seem to\n // check if there any any children, which is why I'm doing it here. We\n // should probably encode an empty children set as `null` though. Either\n // way, we should update all the checks to be consistent.\n Object.keys(newRouterStateChild[1]).length === 0) {\n // We special case navigations to the exact same URL as the current\n // location. It's a common UI pattern for apps to refresh when you click a\n // link to the current page. So when this happens, we refresh the dynamic\n // data in the page segments.\n //\n // Note that this does not apply if the any part of the hash or search\n // query has changed. This might feel a bit weird but it makes more sense\n // when you consider that the way to trigger this behavior is to click\n // the same link multiple times.\n //\n // TODO: We should probably refresh the *entire* route when this case\n // occurs, not just the page segments. Essentially treating it the same as\n // a refresh() triggered by an action, which is the more explicit way of\n // modeling the UI pattern described above.\n //\n // Also note that this only refreshes the dynamic data, not static/\n // cached data. If the page segment is fully static and prefetched, the\n // request is skipped. (This is also how refresh() works.)\n taskChild = beginRenderingNewRouteTree(navigatedAt, oldRouterStateChild, newRouterStateChild, oldCacheNodeChild, didFindRootLayout, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchHeadPartial, newSegmentPathChild, scrollableSegmentsResult);\n } else if (oldRouterStateChild !== undefined && oldSegmentChild !== undefined && (0, _matchsegments.matchSegment)(newSegmentChild, oldSegmentChild)) {\n if (oldCacheNodeChild !== undefined && oldRouterStateChild !== undefined) {\n // This segment exists in both the old and new trees. Recursively update\n // the children.\n taskChild = updateCacheNodeOnNavigation(navigatedAt, oldCacheNodeChild, oldRouterStateChild, newRouterStateChild, didFindRootLayout, prefetchDataChild, prefetchHead, isPrefetchHeadPartial, isSamePageNavigation, newSegmentPathChild, scrollableSegmentsResult);\n } else {\n // There's no existing Cache Node for this segment. Switch to the\n // \"create\" path.\n taskChild = beginRenderingNewRouteTree(navigatedAt, oldRouterStateChild, newRouterStateChild, oldCacheNodeChild, didFindRootLayout, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchHeadPartial, newSegmentPathChild, scrollableSegmentsResult);\n }\n } else {\n // This is a new tree. Switch to the \"create\" path.\n taskChild = beginRenderingNewRouteTree(navigatedAt, oldRouterStateChild, newRouterStateChild, oldCacheNodeChild, didFindRootLayout, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchHeadPartial, newSegmentPathChild, scrollableSegmentsResult);\n }\n if (taskChild !== null) {\n // Recursively propagate up the child tasks.\n if (taskChild.route === null) {\n // One of the child tasks discovered a change to the root layout.\n // Immediately unwind from this recursive traversal.\n return MPA_NAVIGATION_TASK;\n }\n if (taskChildren === null) {\n taskChildren = new Map();\n }\n taskChildren.set(parallelRouteKey, taskChild);\n const newCacheNodeChild = taskChild.node;\n if (newCacheNodeChild !== null) {\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(newSegmentKeyChild, newCacheNodeChild);\n prefetchParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The child tree's route state may be different from the prefetched\n // route sent by the server. We need to clone it as we traverse back up\n // the tree.\n const taskChildRoute = taskChild.route;\n patchedRouterStateChildren[parallelRouteKey] = taskChildRoute;\n const dynamicRequestTreeChild = taskChild.dynamicRequestTree;\n if (dynamicRequestTreeChild !== null) {\n // Something in the child tree is dynamic.\n needsDynamicRequest = true;\n dynamicRequestTreeChildren[parallelRouteKey] = dynamicRequestTreeChild;\n } else {\n dynamicRequestTreeChildren[parallelRouteKey] = taskChildRoute;\n }\n } else {\n // The child didn't change. We can use the prefetched router state.\n patchedRouterStateChildren[parallelRouteKey] = newRouterStateChild;\n dynamicRequestTreeChildren[parallelRouteKey] = newRouterStateChild;\n }\n }\n if (taskChildren === null) {\n // No new tasks were spawned.\n return null;\n }\n const newCacheNode = {\n lazyData: null,\n rsc: oldCacheNode.rsc,\n // We intentionally aren't updating the prefetchRsc field, since this node\n // is already part of the current tree, because it would be weird for\n // prefetch data to be newer than the final data. It probably won't ever be\n // observable anyway, but it could happen if the segment is unmounted then\n // mounted again, because LayoutRouter will momentarily switch to rendering\n // prefetchRsc, via useDeferredValue.\n prefetchRsc: oldCacheNode.prefetchRsc,\n head: oldCacheNode.head,\n prefetchHead: oldCacheNode.prefetchHead,\n loading: oldCacheNode.loading,\n // Everything is cloned except for the children, which we computed above.\n parallelRoutes: prefetchParallelRoutes,\n navigatedAt\n };\n return {\n // Return a cloned copy of the router state with updated children.\n route: patchRouterStateWithNewChildren(newRouterState, patchedRouterStateChildren),\n node: newCacheNode,\n dynamicRequestTree: needsDynamicRequest ? patchRouterStateWithNewChildren(newRouterState, dynamicRequestTreeChildren) : null,\n children: taskChildren\n };\n}\nfunction beginRenderingNewRouteTree(navigatedAt, oldRouterState, newRouterState, existingCacheNode, didFindRootLayout, prefetchData, possiblyPartialPrefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult) {\n if (!didFindRootLayout) {\n // The route tree changed before we reached a layout. (The highest-level\n // layout in a route tree is referred to as the \"root\" layout.) This could\n // mean that we're navigating between two different root layouts. When this\n // happens, we perform a full-page (MPA-style) navigation.\n //\n // However, the algorithm for deciding where to start rendering a route\n // (i.e. the one performed in order to reach this function) is stricter\n // than the one used to detect a change in the root layout. So just because\n // we're re-rendering a segment outside of the root layout does not mean we\n // should trigger a full-page navigation.\n //\n // Specifically, we handle dynamic parameters differently: two segments are\n // considered the same even if their parameter values are different.\n //\n // Refer to isNavigatingToNewRootLayout for details.\n //\n // Note that we only have to perform this extra traversal if we didn't\n // already discover a root layout in the part of the tree that is unchanged.\n // In the common case, this branch is skipped completely.\n if (oldRouterState === undefined || (0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(oldRouterState, newRouterState)) {\n // The root layout changed. Perform a full-page navigation.\n return MPA_NAVIGATION_TASK;\n }\n }\n return createCacheNodeOnNavigation(navigatedAt, newRouterState, existingCacheNode, prefetchData, possiblyPartialPrefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult);\n}\nfunction createCacheNodeOnNavigation(navigatedAt, routerState, existingCacheNode, prefetchData, possiblyPartialPrefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult) {\n // Same traversal as updateCacheNodeNavigation, but we switch to this path\n // once we reach the part of the tree that was not in the previous route. We\n // don't need to diff against the old tree, we just need to create a new one.\n // The head is assigned to every leaf segment delivered by the server. Based\n // on corresponding logic in fill-lazy-items-till-leaf-with-head.ts\n const routerStateChildren = routerState[1];\n const isLeafSegment = Object.keys(routerStateChildren).length === 0;\n // Even we're rendering inside the \"new\" part of the target tree, we may have\n // a locally cached segment that we can reuse. This may come from either 1)\n // the CacheNode tree, which lives in React state and is populated by previous\n // navigations; or 2) the prefetch cache, which is a separate cache that is\n // populated by prefetches.\n let rsc;\n let loading;\n let head;\n let cacheNodeNavigatedAt;\n if (existingCacheNode !== undefined && // DYNAMIC_STALETIME_MS defaults to 0, but it can be increased using\n // the experimental.staleTimes.dynamic config. When set, we'll avoid\n // refetching dynamic data if it was fetched within the given threshold.\n existingCacheNode.navigatedAt + _prefetchcacheutils.DYNAMIC_STALETIME_MS > navigatedAt) {\n // We have an existing CacheNode for this segment, and it's not stale. We\n // should reuse it rather than request a new one.\n rsc = existingCacheNode.rsc;\n loading = existingCacheNode.loading;\n head = existingCacheNode.head;\n // Don't update the navigatedAt timestamp, since we're reusing stale data.\n cacheNodeNavigatedAt = existingCacheNode.navigatedAt;\n } else if (prefetchData !== null) {\n // There's no existing CacheNode for this segment, but we do have prefetch\n // data. If the prefetch data is fully static (i.e. does not contain any\n // dynamic holes), we don't need to request it from the server.\n rsc = prefetchData[1];\n loading = prefetchData[3];\n head = isLeafSegment ? possiblyPartialPrefetchHead : null;\n // Even though we're accessing the data from the prefetch cache, this is\n // conceptually a new segment, not a reused one. So we should update the\n // navigatedAt timestamp.\n cacheNodeNavigatedAt = navigatedAt;\n const isPrefetchRscPartial = prefetchData[4];\n if (isPrefetchRscPartial || // Check if the head is partial (only relevant if this is a leaf segment)\n isPrefetchHeadPartial && isLeafSegment) {\n // We only have partial data from this segment. Like missing segments, we\n // must request the full data from the server.\n return spawnPendingTask(navigatedAt, routerState, prefetchData, possiblyPartialPrefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult);\n } else {\n // The prefetch data is fully static, so we can omit it from the\n // navigation request.\n }\n } else {\n // There's no prefetch for this segment. Everything from this point will be\n // requested from the server, even if there are static children below it.\n // Create a terminal task node that will later be fulfilled by\n // server response.\n return spawnPendingTask(navigatedAt, routerState, null, possiblyPartialPrefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult);\n }\n // We already have a full segment we can render, so we don't need to request a\n // new one from the server. Keep traversing down the tree until we reach\n // something that requires a dynamic request.\n const prefetchDataChildren = prefetchData !== null ? prefetchData[2] : null;\n const taskChildren = new Map();\n const existingCacheNodeChildren = existingCacheNode !== undefined ? existingCacheNode.parallelRoutes : null;\n const cacheNodeChildren = new Map(existingCacheNodeChildren);\n let dynamicRequestTreeChildren = {};\n let needsDynamicRequest = false;\n if (isLeafSegment) {\n // The segment path of every leaf segment (i.e. page) is collected into\n // a result array. This is used by the LayoutRouter to scroll to ensure that\n // new pages are visible after a navigation.\n // TODO: We should use a string to represent the segment path instead of\n // an array. We already use a string representation for the path when\n // accessing the Segment Cache, so we can use the same one.\n scrollableSegmentsResult.push(segmentPath);\n } else {\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const existingSegmentMapChild = existingCacheNodeChildren !== null ? existingCacheNodeChildren.get(parallelRouteKey) : undefined;\n const segmentChild = routerStateChild[0];\n const segmentPathChild = segmentPath.concat([\n parallelRouteKey,\n segmentChild\n ]);\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const existingCacheNodeChild = existingSegmentMapChild !== undefined ? existingSegmentMapChild.get(segmentKeyChild) : undefined;\n const taskChild = createCacheNodeOnNavigation(navigatedAt, routerStateChild, existingCacheNodeChild, prefetchDataChild, possiblyPartialPrefetchHead, isPrefetchHeadPartial, segmentPathChild, scrollableSegmentsResult);\n taskChildren.set(parallelRouteKey, taskChild);\n const dynamicRequestTreeChild = taskChild.dynamicRequestTree;\n if (dynamicRequestTreeChild !== null) {\n // Something in the child tree is dynamic.\n needsDynamicRequest = true;\n dynamicRequestTreeChildren[parallelRouteKey] = dynamicRequestTreeChild;\n } else {\n dynamicRequestTreeChildren[parallelRouteKey] = routerStateChild;\n }\n const newCacheNodeChild = taskChild.node;\n if (newCacheNodeChild !== null) {\n const newSegmentMapChild = new Map();\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n cacheNodeChildren.set(parallelRouteKey, newSegmentMapChild);\n }\n }\n }\n return {\n // Since we're inside a new route tree, unlike the\n // `updateCacheNodeOnNavigation` path, the router state on the children\n // tasks is always the same as the router state we pass in. So we don't need\n // to clone/modify it.\n route: routerState,\n node: {\n lazyData: null,\n // Since this segment is already full, we don't need to use the\n // `prefetchRsc` field.\n rsc,\n prefetchRsc: null,\n head,\n prefetchHead: null,\n loading,\n parallelRoutes: cacheNodeChildren,\n navigatedAt: cacheNodeNavigatedAt\n },\n dynamicRequestTree: needsDynamicRequest ? patchRouterStateWithNewChildren(routerState, dynamicRequestTreeChildren) : null,\n children: taskChildren\n };\n}\nfunction patchRouterStateWithNewChildren(baseRouterState, newChildren) {\n const clone = [\n baseRouterState[0],\n newChildren\n ];\n // Based on equivalent logic in apply-router-state-patch-to-tree, but should\n // confirm whether we need to copy all of these fields. Not sure the server\n // ever sends, e.g. the refetch marker.\n if (2 in baseRouterState) {\n clone[2] = baseRouterState[2];\n }\n if (3 in baseRouterState) {\n clone[3] = baseRouterState[3];\n }\n if (4 in baseRouterState) {\n clone[4] = baseRouterState[4];\n }\n return clone;\n}\nfunction spawnPendingTask(navigatedAt, routerState, prefetchData, prefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult) {\n // Create a task that will later be fulfilled by data from the server.\n // Clone the prefetched route tree and the `refetch` marker to it. We'll send\n // this to the server so it knows where to start rendering.\n const dynamicRequestTree = patchRouterStateWithNewChildren(routerState, routerState[1]);\n dynamicRequestTree[3] = 'refetch';\n const newTask = {\n route: routerState,\n // Corresponds to the part of the route that will be rendered on the server.\n node: createPendingCacheNode(navigatedAt, routerState, prefetchData, prefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult),\n // Because this is non-null, and it gets propagated up through the parent\n // tasks, the root task will know that it needs to perform a server request.\n dynamicRequestTree,\n children: null\n };\n return newTask;\n}\nfunction spawnReusedTask(reusedRouterState) {\n // Create a task that reuses an existing segment, e.g. when reusing\n // the current active segment in place of a default route.\n return {\n route: reusedRouterState,\n node: null,\n dynamicRequestTree: null,\n children: null\n };\n}\nfunction listenForDynamicRequest(task, responsePromise) {\n responsePromise.then((param)=>{\n let { flightData } = param;\n if (typeof flightData === 'string') {\n // Happens when navigating to page in `pages` from `app`. We shouldn't\n // get here because should have already handled this during\n // the prefetch.\n return;\n }\n for (const normalizedFlightData of flightData){\n const { segmentPath, tree: serverRouterState, seedData: dynamicData, head: dynamicHead } = normalizedFlightData;\n if (!dynamicData) {\n continue;\n }\n writeDynamicDataIntoPendingTask(task, segmentPath, serverRouterState, dynamicData, dynamicHead);\n }\n // Now that we've exhausted all the data we received from the server, if\n // there are any remaining pending tasks in the tree, abort them now.\n // If there's any missing data, it will trigger a lazy fetch.\n abortTask(task, null);\n }, (error)=>{\n // This will trigger an error during render\n abortTask(task, error);\n });\n}\nfunction writeDynamicDataIntoPendingTask(rootTask, segmentPath, serverRouterState, dynamicData, dynamicHead) {\n // The data sent by the server represents only a subtree of the app. We need\n // to find the part of the task tree that matches the server response, and\n // fulfill it using the dynamic data.\n //\n // segmentPath represents the parent path of subtree. It's a repeating pattern\n // of parallel route key and segment:\n //\n // [string, Segment, string, Segment, string, Segment, ...]\n //\n // Iterate through the path and finish any tasks that match this payload.\n let task = rootTask;\n for(let i = 0; i < segmentPath.length; i += 2){\n const parallelRouteKey = segmentPath[i];\n const segment = segmentPath[i + 1];\n const taskChildren = task.children;\n if (taskChildren !== null) {\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(segment, taskSegment)) {\n // Found a match for this task. Keep traversing down the task tree.\n task = taskChild;\n continue;\n }\n }\n }\n // We didn't find a child task that matches the server data. Exit. We won't\n // abort the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n return;\n }\n finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead);\n}\nfunction finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead) {\n if (task.dynamicRequestTree === null) {\n // Everything in this subtree is already complete. Bail out.\n return;\n }\n // dynamicData may represent a larger subtree than the task. Before we can\n // finish the task, we need to line them up.\n const taskChildren = task.children;\n const taskNode = task.node;\n if (taskChildren === null) {\n // We've reached the leaf node of the pending task. The server data tree\n // lines up the pending Cache Node tree. We can now switch to the\n // normal algorithm.\n if (taskNode !== null) {\n finishPendingCacheNode(taskNode, task.route, serverRouterState, dynamicData, dynamicHead);\n // Set this to null to indicate that this task is now complete.\n task.dynamicRequestTree = null;\n }\n return;\n }\n // The server returned more data than we need to finish the task. Skip over\n // the extra segments until we reach the leaf task node.\n const serverChildren = serverRouterState[1];\n const dynamicDataChildren = dynamicData[2];\n for(const parallelRouteKey in serverRouterState){\n const serverRouterStateChild = serverChildren[parallelRouteKey];\n const dynamicDataChild = dynamicDataChildren[parallelRouteKey];\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(serverRouterStateChild[0], taskSegment) && dynamicDataChild !== null && dynamicDataChild !== undefined) {\n // Found a match for this task. Keep traversing down the task tree.\n return finishTaskUsingDynamicDataPayload(taskChild, serverRouterStateChild, dynamicDataChild, dynamicHead);\n }\n }\n // We didn't find a child task that matches the server data. We won't abort\n // the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n }\n}\nfunction createPendingCacheNode(navigatedAt, routerState, prefetchData, prefetchHead, isPrefetchHeadPartial, segmentPath, scrollableSegmentsResult) {\n const routerStateChildren = routerState[1];\n const prefetchDataChildren = prefetchData !== null ? prefetchData[2] : null;\n const parallelRoutes = new Map();\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const segmentChild = routerStateChild[0];\n const segmentPathChild = segmentPath.concat([\n parallelRouteKey,\n segmentChild\n ]);\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const newCacheNodeChild = createPendingCacheNode(navigatedAt, routerStateChild, prefetchDataChild === undefined ? null : prefetchDataChild, prefetchHead, isPrefetchHeadPartial, segmentPathChild, scrollableSegmentsResult);\n const newSegmentMapChild = new Map();\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n parallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The head is assigned to every leaf segment delivered by the server. Based\n // on corresponding logic in fill-lazy-items-till-leaf-with-head.ts\n const isLeafSegment = parallelRoutes.size === 0;\n if (isLeafSegment) {\n // The segment path of every leaf segment (i.e. page) is collected into\n // a result array. This is used by the LayoutRouter to scroll to ensure that\n // new pages are visible after a navigation.\n // TODO: We should use a string to represent the segment path instead of\n // an array. We already use a string representation for the path when\n // accessing the Segment Cache, so we can use the same one.\n scrollableSegmentsResult.push(segmentPath);\n }\n const maybePrefetchRsc = prefetchData !== null ? prefetchData[1] : null;\n const maybePrefetchLoading = prefetchData !== null ? prefetchData[3] : null;\n return {\n lazyData: null,\n parallelRoutes: parallelRoutes,\n prefetchRsc: maybePrefetchRsc !== undefined ? maybePrefetchRsc : null,\n prefetchHead: isLeafSegment ? prefetchHead : [\n null,\n null\n ],\n // TODO: Technically, a loading boundary could contain dynamic data. We must\n // have separate `loading` and `prefetchLoading` fields to handle this, like\n // we do for the segment data and head.\n loading: maybePrefetchLoading !== undefined ? maybePrefetchLoading : null,\n // Create a deferred promise. This will be fulfilled once the dynamic\n // response is received from the server.\n rsc: createDeferredRsc(),\n head: isLeafSegment ? createDeferredRsc() : null,\n navigatedAt\n };\n}\nfunction finishPendingCacheNode(cacheNode, taskState, serverState, dynamicData, dynamicHead) {\n // Writes a dynamic response into an existing Cache Node tree. This does _not_\n // create a new tree, it updates the existing tree in-place. So it must follow\n // the Suspense rules of cache safety — it can resolve pending promises, but\n // it cannot overwrite existing data. It can add segments to the tree (because\n // a missing segment will cause the layout router to suspend).\n // but it cannot delete them.\n //\n // We must resolve every promise in the tree, or else it will suspend\n // indefinitely. If we did not receive data for a segment, we will resolve its\n // data promise to `null` to trigger a lazy fetch during render.\n const taskStateChildren = taskState[1];\n const serverStateChildren = serverState[1];\n const dataChildren = dynamicData[2];\n // The router state that we traverse the tree with (taskState) is the same one\n // that we used to construct the pending Cache Node tree. That way we're sure\n // to resolve all the pending promises.\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in taskStateChildren){\n const taskStateChild = taskStateChildren[parallelRouteKey];\n const serverStateChild = serverStateChildren[parallelRouteKey];\n const dataChild = dataChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n const taskSegmentChild = taskStateChild[0];\n const taskSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(taskSegmentChild);\n const cacheNodeChild = segmentMapChild !== undefined ? segmentMapChild.get(taskSegmentKeyChild) : undefined;\n if (cacheNodeChild !== undefined) {\n if (serverStateChild !== undefined && (0, _matchsegments.matchSegment)(taskSegmentChild, serverStateChild[0])) {\n if (dataChild !== undefined && dataChild !== null) {\n // This is the happy path. Recursively update all the children.\n finishPendingCacheNode(cacheNodeChild, taskStateChild, serverStateChild, dataChild, dynamicHead);\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render. This shouldn't happen because the Route Tree\n // and the Seed Data tree sent by the server should always be the same\n // shape when part of the same server response.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server response matches what was expected to receive, but there's\n // no matching Cache Node in the task tree. This is a bug in the\n // implementation because we should have created a node for every\n // segment in the tree that's associated with this task.\n }\n }\n // Use the dynamic data from the server to fulfill the deferred RSC promise\n // on the Cache Node.\n const rsc = cacheNode.rsc;\n const dynamicSegmentData = dynamicData[1];\n if (rsc === null) {\n // This is a lazy cache node. We can overwrite it. This is only safe\n // because we know that the LayoutRouter suspends if `rsc` is `null`.\n cacheNode.rsc = dynamicSegmentData;\n } else if (isDeferredRsc(rsc)) {\n // This is a deferred RSC promise. We can fulfill it with the data we just\n // received from the server. If it was already resolved by a different\n // navigation, then this does nothing because we can't overwrite data.\n rsc.resolve(dynamicSegmentData);\n } else {\n // This is not a deferred RSC promise, nor is it empty, so it must have\n // been populated by a different navigation. We must not overwrite it.\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved with the dynamic head from\n // the server.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(dynamicHead);\n }\n}\nfunction abortTask(task, error) {\n const cacheNode = task.node;\n if (cacheNode === null) {\n // This indicates the task is already complete.\n return;\n }\n const taskChildren = task.children;\n if (taskChildren === null) {\n // Reached the leaf task node. This is the root of a pending cache\n // node tree.\n abortPendingCacheNode(task.route, cacheNode, error);\n } else {\n // This is an intermediate task node. Keep traversing until we reach a\n // task node with no children. That will be the root of the cache node tree\n // that needs to be resolved.\n for (const taskChild of taskChildren.values()){\n abortTask(taskChild, error);\n }\n }\n // Set this to null to indicate that this task is now complete.\n task.dynamicRequestTree = null;\n}\nfunction abortPendingCacheNode(routerState, cacheNode, error) {\n // For every pending segment in the tree, resolve its `rsc` promise to `null`\n // to trigger a lazy fetch during render.\n //\n // Or, if an error object is provided, it will error instead.\n const routerStateChildren = routerState[1];\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n if (segmentMapChild === undefined) {\n continue;\n }\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const cacheNodeChild = segmentMapChild.get(segmentKeyChild);\n if (cacheNodeChild !== undefined) {\n abortPendingCacheNode(routerStateChild, cacheNodeChild, error);\n } else {\n // This shouldn't happen because we're traversing the same tree that was\n // used to construct the cache nodes in the first place.\n }\n }\n const rsc = cacheNode.rsc;\n if (isDeferredRsc(rsc)) {\n if (error === null) {\n // This will trigger a lazy fetch during render.\n rsc.resolve(null);\n } else {\n // This will trigger an error during rendering.\n rsc.reject(error);\n }\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved. If an error was provided, we\n // will not resolve it with an error, since this is rendered at the root of\n // the app. We want the segment to error, not the entire app.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(null);\n }\n}\nfunction updateCacheNodeOnPopstateRestoration(oldCacheNode, routerState) {\n // A popstate navigation reads data from the local cache. It does not issue\n // new network requests (unless the cache entries have been evicted). So, we\n // update the cache to drop the prefetch data for any segment whose dynamic\n // data was already received. This prevents an unnecessary flash back to PPR\n // state during a back/forward navigation.\n //\n // This function clones the entire cache node tree and sets the `prefetchRsc`\n // field to `null` to prevent it from being rendered. We can't mutate the node\n // in place because this is a concurrent data structure.\n const routerStateChildren = routerState[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n const newParallelRoutes = new Map(oldParallelRoutes);\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n if (oldSegmentMapChild !== undefined) {\n const oldCacheNodeChild = oldSegmentMapChild.get(segmentKeyChild);\n if (oldCacheNodeChild !== undefined) {\n const newCacheNodeChild = updateCacheNodeOnPopstateRestoration(oldCacheNodeChild, routerStateChild);\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n newParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n }\n }\n // Only show prefetched data if the dynamic data is still pending.\n //\n // Tehnically, what we're actually checking is whether the dynamic network\n // response was received. But since it's a streaming response, this does not\n // mean that all the dynamic data has fully streamed in. It just means that\n // _some_ of the dynamic data was received. But as a heuristic, we assume that\n // the rest dynamic data will stream in quickly, so it's still better to skip\n // the prefetch state.\n const rsc = oldCacheNode.rsc;\n const shouldUsePrefetch = isDeferredRsc(rsc) && rsc.status === 'pending';\n return {\n lazyData: null,\n rsc,\n head: oldCacheNode.head,\n prefetchHead: shouldUsePrefetch ? oldCacheNode.prefetchHead : [\n null,\n null\n ],\n prefetchRsc: shouldUsePrefetch ? oldCacheNode.prefetchRsc : null,\n loading: oldCacheNode.loading,\n // These are the cloned children we computed above\n parallelRoutes: newParallelRoutes,\n navigatedAt: oldCacheNode.navigatedAt\n };\n}\nconst DEFERRED = Symbol();\n// This type exists to distinguish a DeferredRsc from a Flight promise. It's a\n// compromise to avoid adding an extra field on every Cache Node, which would be\n// awkward because the pre-PPR parts of codebase would need to account for it,\n// too. We can remove it once type Cache Node type is more settled.\nfunction isDeferredRsc(value) {\n return value && value.tag === DEFERRED;\n}\nfunction createDeferredRsc() {\n let resolve;\n let reject;\n const pendingRsc = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n pendingRsc.status = 'pending';\n pendingRsc.resolve = (value)=>{\n if (pendingRsc.status === 'pending') {\n const fulfilledRsc = pendingRsc;\n fulfilledRsc.status = 'fulfilled';\n fulfilledRsc.value = value;\n resolve(value);\n }\n };\n pendingRsc.reject = (error)=>{\n if (pendingRsc.status === 'pending') {\n const rejectedRsc = pendingRsc;\n rejectedRsc.status = 'rejected';\n rejectedRsc.reason = error;\n reject(error);\n }\n };\n pendingRsc.tag = DEFERRED;\n return pendingRsc;\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=ppr-navigations.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcHByLW5hdmlnYXRpb25zLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTBrQ2dCQSxTQUFTO2VBQVRBOztJQTFWQUMsdUJBQXVCO2VBQXZCQTs7SUF2cEJBQyxrQkFBa0I7ZUFBbEJBOztJQTZqQ0FDLG9DQUFvQztlQUFwQ0E7OztxQ0F6b0NvQjsyQ0FDUDtrREFDUTt5REFFTztnREFDUDtBQWlDckMsTUFBTUMsc0JBQXlDO0lBQzdDQyxPQUFPO0lBQ1BDLE1BQU07SUFDTkMsb0JBQW9CO0lBQ3BCQyxVQUFVO0FBQ1o7QUFpQ08sU0FBU04sbUJBQ2RPLFdBQW1CLEVBQ25CQyxZQUF1QixFQUN2QkMsY0FBaUMsRUFDakNDLGNBQWlDLEVBQ2pDQyxZQUFzQyxFQUN0Q0MsWUFBNkIsRUFDN0JDLHFCQUE4QixFQUM5QkMsb0JBQTZCLEVBQzdCQyx3QkFBa0Q7SUFFbEQsTUFBTUMsY0FBd0MsRUFBRTtJQUNoRCxPQUFPQyw0QkFDTFYsYUFDQUMsY0FDQUMsZ0JBQ0FDLGdCQUNBLE9BQ0FDLGNBQ0FDLGNBQ0FDLHVCQUNBQyxzQkFDQUUsYUFDQUQ7QUFFSjtBQUVBLFNBQVNFLDRCQUNQVixXQUFtQixFQUNuQkMsWUFBdUIsRUFDdkJDLGNBQWlDLEVBQ2pDQyxjQUFpQyxFQUNqQ1EsaUJBQTBCLEVBQzFCUCxZQUFzQyxFQUN0Q0MsWUFBNkIsRUFDN0JDLHFCQUE4QixFQUM5QkMsb0JBQTZCLEVBQzdCRSxXQUE4QixFQUM5QkQsd0JBQWtEO0lBRWxELDBEQUEwRDtJQUMxRCxNQUFNSSx5QkFBeUJWLGNBQWMsQ0FBQyxFQUFFO0lBQ2hELE1BQU1XLHlCQUF5QlYsY0FBYyxDQUFDLEVBQUU7SUFDaEQsTUFBTVcsdUJBQXVCVixpQkFBaUIsT0FBT0EsWUFBWSxDQUFDLEVBQUUsR0FBRztJQUV2RSxJQUFJLENBQUNPLG1CQUFtQjtR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STtRQUV2QmxELGNBQWM4SCxvQkFBb0JsSSxhQUFhSSxZQUFZLEdBQUc7WUFBQztZQUFNO1NBQUs7UUFDMUVpRCxhQUFhNkUsb0JBQW9CbEksYUFBYXFELFdBQVcsR0FBRztRQUM1REUsU0FBU3ZELGFBQWF1RCxPQUFPO1FBRTdCLGtEQUFrRDtRQUNsRHZDLGdCQUFnQmlIO1FBRWhCbEksYUFBYUMsYUFBYUQsV0FBVztJQUN2QztBQUNGO0FBRUEsTUFBTXFJLFdBQVdDO0FBOEJqQiw4RUFBOEU7QUFDOUUsZ0ZBQWdGO0FBQ2hGLDhFQUE4RTtBQUM5RSxtRUFBbUU7QUFDbkUsU0FBU1IsY0FBY1MsS0FBVTtJQUMvQixPQUFPQSxTQUFTQSxNQUFNQyxHQUFHLEtBQUtIO0FBQ2hDO0FBRUEsU0FBU3ZCO0lBQ1AsSUFBSWlCO0lBQ0osSUFBSUU7SUFDSixNQUFNUSxhQUFhLElBQUlDLFFBQXlCLENBQUNDLEtBQUtDO1FBQ3BEYixVQUFVWTtRQUNWVixTQUFTVztJQUNYO0lBQ0FILFdBQVdMLE1BQU0sR0FBRztJQUNwQkssV0FBV1YsT0FBTyxHQUFHLENBQUNRO1FBQ3BCLElBQUlFLFdBQVdMLE1BQU0sS0FBSyxXQUFXO1lBQ25DLE1BQU1TLGVBQXFDSjtZQUMzQ0ksYUFBYVQsTUFBTSxHQUFHO1lBQ3RCUyxhQUFhTixLQUFLLEdBQUdBO1lBQ3JCUixRQUFRUTtRQUNWO0lBQ0Y7SUFDQUUsV0FBV1IsTUFBTSxHQUFHLENBQUNsQztRQUNuQixJQUFJMEMsV0FBV0wsTUFBTSxLQUFLLFdBQVc7WUFDbkMsTUFBTVUsY0FBbUNMO1lBQ3pDSyxZQUFZVixNQUFNLEdBQUc7WUFDckJVLFlBQVlDLE1BQU0sR0FBR2hEO1lBQ3JCa0MsT0FBT2xDO1FBQ1Q7SUFDRjtJQUNBMEMsV0FBV0QsR0FBRyxHQUFHSDtJQUNqQixPQUFPSTtBQUNUIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcHByLW5hdmlnYXRpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ2FjaGVOb2RlU2VlZERhdGEsXG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBGbGlnaHRTZWdtZW50UGF0aCxcbiAgU2VnbWVudCxcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvdHlwZXMnXG5pbXBvcnQgdHlwZSB7XG4gIENhY2hlTm9kZSxcbiAgQ2hpbGRTZWdtZW50TWFwLFxuICBIZWFkRGF0YSxcbiAgTG9hZGluZ01vZHVsZURhdGEsXG4gIFJlYWR5Q2FjaGVOb2RlLFxufSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IERFRkFVTFRfU0VHTUVOVF9LRVkgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL3NlZ21lbnQnXG5pbXBvcnQgeyBtYXRjaFNlZ21lbnQgfSBmcm9tICcuLi9tYXRjaC1zZWdtZW50cydcbmltcG9ydCB7IGNyZWF0ZVJvdXRlckNhY2hlS2V5IH0gZnJvbSAnLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleSdcbmltcG9ydCB0eXBlIHsgRmV0Y2hTZXJ2ZXJSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuaW1wb3J0IHsgaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IH0gZnJvbSAnLi9pcy1uYXZpZ2F0aW5nLXRvLW5ldy1yb290LWxheW91dCdcbmltcG9ydCB7IERZTkFNSUNfU1RBTEVUSU1FX01TIH0gZnJvbSAnLi9wcmVmZXRjaC1jYWNoZS11dGlscydcblxuLy8gVGhpcyBpcyB5ZXQgYW5vdGhlciB0cmVlIHR5cGUgdGhhdCBpcyB1c2VkIHRvIHRyYWNrIHBlbmRpbmcgcHJvbWlzZXMgdGhhdFxuLy8gbmVlZCB0byBiZSBmdWxmaWxsZWQgb25jZSB0aGUgZHluYW1pYyBkYXRhIGlzIHJlY2VpdmVkLiBUaGUgdGVybWluYWwgbm9kZXMgb2Zcbi8vIHRoaXMgdHJlZSByZXByZXNlbnQgdGhlIG5ldyBDYWNoZSBOb2RlIHRyZWVzIHRoYXQgd2VyZSBjcmVhdGVkIGR1cmluZyB0aGlzXG4vLyByZXF1ZXN0LiBXZSBjYW4ndCB1c2UgdGhlIENhY2hlIE5vZGUgdHJlZSBvciBSb3V0ZSBTdGF0ZSB0cmVlIGRpcmVjdGx5XG4vLyBiZWNhdXNlIHRob3NlIGluY2x1ZGUgcmV1c2VkIG5vZGVzLCB0b28uIFRoaXMgdHJlZSBpcyBkaXNjYXJkZWQgYXMgc29vbiBhc1xuLy8gdGhlIG5hdmlnYXRpb24gcmVzcG9uc2UgaXMgcmVjZWl2ZWQuXG50eXBlIFNQQU5hdmlnYXRpb25UYXNrID0ge1xuICAvLyBUaGUgcm91dGVyIHN0YXRlIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhlIHRyZWUgdGhhdCB0aGlzIFRhc2sgcmVwcmVzZW50cy5cbiAgcm91dGU6IEZsaWdodFJvdXRlclN0YXRlXG4gIC8vIFRoZSBDYWNoZU5vZGUgdGhhdCBjb3JyZXNwb25kcyB0byB0aGUgdHJlZSB0aGF0IHRoaXMgVGFzayByZXByZXNlbnRzLiBJZlxuICAvLyBgY2hpbGRyZW5gIGlzIG51bGwgKGkuZS4gaWYgdGhpcyBpcyBhIHRlcm1pbmFsIHRhc2sgbm9kZSksIHRoZW4gYG5vZGVgXG4gIC8vIHJlcHJlc2VudHMgYSBicmFuZCBuZXcgQ2FjaGUgTm9kZSB0cmVlLCB3aGljaCB3YXkgb3IgbWF5IG5vdCBuZWVkIHRvIGJlXG4gIC8vIGZpbGxlZCB3aXRoIGR5bmFtaWMgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuXG4gIG5vZGU6IENhY2hlTm9kZSB8IG51bGxcbiAgLy8gVGhlIHRyZWUgc2VudCB0byB0aGUgc2VydmVyIGR1cmluZyB0aGUgZHluYW1pYyByZXF1ZXN0LiBUaGlzIGlzIHRoZVxuICAvLyBzYW1lIGFzIGByb3V0ZWAsIGV4Y2VwdCB3aXRoIHRoZSBgcmVmZXRjaGAgbWFya2VyIHNldCBvbiBkeW5hbWljIHNlZ21lbnRzLlxuICAvLyBJZiBhbGwgdGhlIHNlZ21lbnRzIGFyZSBzdGF0aWMsIHRoZW4gdGhpcyB3aWxsIGJlIG51bGwsIGFuZCBubyBzZXJ2ZXJcbiAgLy8gcmVxdWVzdCBpcyByZXF1aXJlZC5cbiAgZHluYW1pY1JlcXVlc3RUcmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZSB8IG51bGxcbiAgY2hpbGRyZW46IE1hcDxzdHJpbmcsIFNQQU5hdmlnYXRpb25UYXNrPiB8IG51bGxcbn1cblxuLy8gQSBzcGVjaWFsIHR5cGUgdXNlZCB0byBiYWlsIG91dCBhbmQgdHJpZ2dlciBhIGZ1bGwtcGFnZSBuYXZpZ2F0aW9uLlxudHlwZSBNUEFOYXZpZ2F0aW9uVGFzayA9IHtcbiAgLy8gTVBBIHRhc2tzIGFyZSBkaXN0aW5ndWlzZWQgZnJvbSBTUEEgdGFza3MgYnkgaGF2aW5nIGEgbnVsbCBgcm91dGVgLlxuICByb3V0ZTogbnVsbFxuICBub2RlOiBudWxsXG4gIGR5bmFtaWNSZXF1ZXN0VHJlZTogbnVsbFxuICBjaGlsZHJlbjogbnVsbFxufVxuXG5jb25zdCBNUEFfTkFWSUdBVElPTl9UQVNLOiBNUEFOYXZpZ2F0aW9uVGFzayA9IHtcbiAgcm91dGU6IG51bGwsXG4gIG5vZGU6IG51bGwsXG4gIGR5bmFtaWNSZXF1ZXN0VHJlZTogbnVsbCxcbiAgY2hpbGRyZW46IG51bGwsXG59XG5cbmV4cG9ydCB0eXBlIFRhc2sgPSBTUEFOYXZpZ2F0aW9uVGFzayB8IE1QQU5hdmlnYXRpb25UYXNrXG5cbi8vIENyZWF0ZXMgYSBuZXcgQ2FjaGUgTm9kZSB0cmVlIChpLmUuIGNvcHktb24td3JpdGUpIHRoYXQgcmVwcmVzZW50cyB0aGVcbi8vIG9wdGltaXN0aWMgcmVzdWx0IG9mIGEgbmF2aWdhdGlvbiwgdXNpbmcgYm90aCB0aGUgY3VycmVudCBDYWNoZSBOb2RlIHRyZWUgYW5kXG4vLyBkYXRhIHRoYXQgd2FzIHByZWZldGNoZWQgcHJpb3IgdG8gbmF2aWdhdGlvbi5cbi8vXG4vLyBBdCB0aGUgbW9tZW50IHdlIGNhbGwgdGhpcyBmdW5jdGlvbiwgd2UgaGF2ZW4ndCB5ZXQgcmVjZWl2ZWQgdGhlIG5hdmlnYXRpb25cbi8vIHJlc3BvbnNlIGZyb20gdGhlIHNlcnZlci4gSXQgY291bGQgc2VuZCBiYWNrIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudFxuLy8gZnJvbSB0aGUgdHJlZSB0aGF0IHdhcyBwcmVmZXRjaGVkIOKAlCBkdWUgdG8gcmV3cml0ZXMsIGRlZmF1bHQgcm91dGVzLCBwYXJhbGxlbFxuLy8gcm91dGVzLCBldGMuXG4vL1xuLy8gQnV0IGluIG1vc3QgY2FzZXMsIGl0IHdpbGwgcmV0dXJuIHRoZSBzYW1lIHRyZWUgdGhhdCB3ZSBwcmVmZXRjaGVkLCBqdXN0IHdpdGhcbi8vIHRoZSBkeW5hbWljIGhvbGVzIGZpbGxlZCBpbi4gU28gd2Ugb3B0aW1pc3RpY2FsbHkgYXNzdW1lIHRoaXMgd2lsbCBoYXBwZW4sXG4vLyBhbmQgYWNjZXB0IHRoYXQgdGhlIHJlYWwgcmVzdWx0IGNvdWxkIGJlIGFyYml0cmFyaWx5IGRpZmZlcmVudC5cbi8vXG4vLyBXZSdsbCByZXVzZSBhbnl0aGluZyB0aGF0IHdhcyBhbHJlYWR5IGluIHRoZSBwcmV2aW91cyB0cmVlLCBzaW5jZSB0aGF0J3Mgd2hhdFxuLy8gdGhlIHNlcnZlciBkb2VzLlxuLy9cbi8vIE5ldyBzZWdtZW50cyAob25lcyB0aGF0IGRvbid0IGFwcGVhciBpbiB0aGUgb2xkIHRyZWUpIGFyZSBhc3NpZ25lZCBhblxuLy8gdW5yZXNvbHZlZCBwcm9taXNlLiBUaGUgZGF0YSBmb3IgdGhlc2UgcHJvbWlzZXMgd2lsbCBiZSBmdWxmaWxsZWQgbGF0ZXIsIHdoZW5cbi8vIHRoZSBuYXZpZ2F0aW9uIHJlc3BvbnNlIGlzIHJlY2VpdmVkLlxuLy9cbi8vIFRoZSB0cmVlIGNhbiBiZSByZW5kZXJlZCBpbW1lZGlhdGVseSBhZnRlciBpdCBpcyBjcmVhdGVkICh0aGF0J3Mgd2h5IHRoaXMgaXNcbi8vIGEgc3luY2hyb25vdXMgZnVuY3Rpb24pLiBBbnkgbmV3IHRyZWVzIHRoYXQgZG8gbm90IGhhdmUgcHJlZmV0Y2ggZGF0YSB3aWxsXG4vLyBzdXNwZW5kIGR1cmluZyByZW5kZXJpbmcsIHVudGlsIHRoZSBkeW5hbWljIGRhdGEgc3RyZWFtcyBpbi5cbi8vXG4vLyBSZXR1cm5zIGEgVGFzayBvYmplY3QsIHdoaWNoIGNvbnRhaW5zIGJvdGggdGhlIHVwZGF0ZWQgQ2FjaGUgTm9kZSBhbmQgYSBwYXRoXG4vLyB0byB0aGUgcGVuZGluZyBzdWJ0cmVlcyB0aGF0IG5lZWQgdG8gYmUgcmVzb2x2ZWQgYnkgdGhlIG5hdmlnYXRpb24gcmVzcG9uc2UuXG4vL1xuLy8gQSByZXR1cm4gdmFsdWUgb2YgYG51bGxgIG1lYW5zIHRoZXJlIHdlcmUgbm8gY2hhbmdlcywgYW5kIHRoZSBwcmV2aW91cyB0cmVlXG4vLyBjYW4gYmUgcmV1c2VkIHdpdGhvdXQgaW5pdGlhdGluZyBhIHNlcnZlciByZXF1ZXN0LlxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0UFBSTmF2aWdhdGlvbihcbiAgbmF2aWdhdGVkQXQ6IG51bWJlcixcbiAgb2xkQ2FjaGVOb2RlOiBDYWNoZU5vZGUsXG4gIG9sZFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgbmV3Um91dGVyU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBwcmVmZXRjaERhdGE6IENhY2hlTm9kZVNlZWREYXRhIHwgbnVsbCxcbiAgcHJlZmV0Y2hIZWFkOiBIZWFkRGF0YSB8IG51bGwsXG4gIGlzUHJlZmV0Y2hIZWFkUGFydGlhbDogYm9vbGVhbixcbiAgaXNTYW1lUGFnZU5hdmlnYXRpb246IGJvb2xlYW4sXG4gIHNjcm9sbGFibGVTZWdtZW50c1Jlc3VsdDogQXJyYXk8RmxpZ2h0U2VnbWVudFBhdGg+XG4pOiBUYXNrIHwgbnVsbCB7XG4gIGNvbnN0IHNlZ21lbnRQYXRoOiBBcnJheTxGbGlnaHRTZWdtZW50UGF0aD4gPSBbXVxuICByZXR1cm4gdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uKFxuICAgIG5hdmlnYXRlZEF0LFxuICAgIG9sZENhY2hlTm9kZSxcbiAgICBvbGRSb3V0ZXJTdGF0ZSxcbiAgICBuZXdSb3V0ZXJTdGF0ZSxcbiAgICBmYWxzZSxcbiAgICBwcmVmZXRjaERhdGEsXG4gICAgcHJlZmV0Y2hIZWFkLFxuICAgIGlzUHJlZmV0Y2hIZWFkUGFydGlhbCxcbiAgICBpc1NhbWVQYWdlTmF2aWdhdGlvbixcbiAgICBzZWdtZW50UGF0aCxcbiAgICBzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHRcbiAgKVxufVxuXG5mdW5jdGlvbiB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24oXG4gIG5hdmlnYXRlZEF0OiBudW1iZXIsXG4gIG9sZENhY2hlTm9kZTogQ2FjaGVOb2RlLFxuICBvbGRSb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIG5ld1JvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgZGlkRmluZFJvb3RMYXlvdXQ6IGJvb2xlYW4sXG4gIHByZWZldGNoRGF0YTogQ2FjaGVOb2RlU2VlZERhdGEgfCBudWxsLFxuICBwcmVmZXRjaEhlYWQ6IEhlYWREYXRhIHwgbnVsbCxcbiAgaXNQcmVmZXRjaEhlYWRQYXJ0aWFsOiBib29sZWFuLFxuICBpc1NhbWVQYWdlTmF2aWdhdGlvbjogYm9vbGVhbixcbiAgc2VnbWVudFBhdGg6IEZsaWdodFNlZ21lbnRQYXRoLFxuICBzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHQ6IEFycmF5PEZsaWdodFNlZ21lbnRQYXRoPlxuKTogVGFzayB8IG51bGwge1xuICAvLyBEaWZmIHRoZSBvbGQgYW5kIG5ldyB0cmVlcyB0byByZXVzZSB0aGUgc2hhcmVkIGxheW91dHMuXG4gIGNvbnN0IG9sZFJvdXRlclN0YXRlQ2hpbGRyZW4gPSBvbGRSb3V0ZXJTdGF0ZVsxXVxuICBjb25zdCBuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuID0gbmV3Um91dGVyU3RhdGVbMV1cbiAgY29uc3QgcHJlZmV0Y2hEYXRhQ2hpbGRyZW4gPSBwcmVmZXRjaERhdGEgIT09IG51bGwgPyBwcmVmZXRjaERhdGFbMl0gOiBudWxsXG5cbiAgaWYgKCFkaWRGaW5kUm9vdExheW91dCkge1xuICAgIC8vIFdlJ3JlIGN1cnJlbnRseSB0cmF2ZXJzaW5nIHRoZSBwYXJ0IG9mIHRoZSB0cmVlIHRoYXQgd2FzIGFsc28gcGFydCBvZlxuICAgIC8vIHRoZSBwcmV2aW91cyByb3V0ZS4gSWYgd2UgZGlzY292ZXIgYSByb290IGxheW91dCwgdGhlbiB3ZSBkb24ndCBuZWVkIHRvXG4gICAgLy8gdHJpZ2dlciBhbiBNUEEgbmF2aWdhdGlvbi4gU2VlIGJlZ2luUmVuZGVyaW5nTmV3Um91dGVUcmVlIGZvciBjb250ZXh0LlxuICAgIGNvbnN0IGlzUm9vdExheW91dCA9IG5ld1JvdXRlclN0YXRlWzRdID09PSB0cnVlXG4gICAgaWYgKGlzUm9vdExheW91dCkge1xuICAgICAgLy8gRm91bmQgYSBtYXRjaGluZyByb290IGxheW91dC5cbiAgICAgIGRpZEZpbmRSb290TGF5b3V0ID0gdHJ1ZVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IG9sZFBhcmFsbGVsUm91dGVzID0gb2xkQ2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzXG5cbiAgLy8gQ2xvbmUgdGhlIGN1cnJlbnQgc2V0IG9mIHNlZ21lbnQgY2hpbGRyZW4sIGV2ZW4gaWYgdGhleSBhcmVuJ3QgYWN0aXZlIGluXG4gIC8vIHRoZSBuZXcgdHJlZS5cbiAgLy8gVE9ETzogV2UgY3VycmVudGx5IHJldGFpbiBhbGwgdGhlIGluYWN0aXZlIHNlZ21lbnRzIGluZGVmaW5pdGVseSwgdW50aWxcbiAgLy8gdGhlcmUncyBhbiBleHBsaWNpdCByZWZyZXNoLCBvciBhIHBhcmVudCBsYXlvdXQgaXMgbGF6aWx5IHJlZnJlc2hlZC4gV2VcbiAgLy8gcmVseSBvbiB0aGlzIGZvciBwb3BzdGF0ZSBuYXZpZ2F0aW9ucywgd2hpY2ggdXBkYXRlIHRoZSBSb3V0ZXIgU3RhdGUgVHJlZVxuICAvLyBidXQgZG8gbm90IGVhZ2VybHkgcGVyZm9ybSBhIGRhdGEgZmV0Y2gsIGJlY2F1c2UgdGhleSBleHBlY3QgdGhlIHNlZ21lbnRcbiAgLy8gZGF0YSB0byBhbHJlYWR5IGJlIGluIHRoZSBDYWNoZSBOb2RlIHRyZWUuIEZvciBoaWdobHkgc3RhdGljIHNpdGVzIHRoYXRcbiAgLy8gYXJlIG1vc3RseSByZWFkLW9ubHksIHRoaXMgbWF5IGhhcHBlbiBvbmx5IHJhcmVseSwgY2F1c2luZyBtZW1vcnkgdG9cbiAgLy8gbGVhay4gV2Ugc2hvdWxkIGZpZ3VyZSBvdXQgYSBiZXR0ZXIgbW9kZWwgZm9yIHRoZSBsaWZldGltZSBvZiBpbmFjdGl2ZVxuICAvLyBzZWdtZW50cywgc28gd2UgY2FuIG1haW50YWluIGluc3RhbnQgYmFjay9mb3J3YXJkIG5hdmlnYXRpb25zIHdpdGhvdXRcbiAgLy8gbGVha2luZyBtZW1vcnkgaW5kZWZpbml0ZWx5LlxuICBjb25zdCBwcmVmZXRjaFBhcmFsbGVsUm91dGVzID0gbmV3IE1hcChvbGRQYXJhbGxlbFJvdXRlcylcblxuICAvLyBBcyB3ZSBkaWZmIHRoZSB0cmVlcywgd2UgbWF5IHNvbWV0aW1lcyBtb2RpZnkgKGNvcHktb24td3JpdGUsIG5vdCBtdXRhdGUpXG4gIC8vIHRoZSBSb3V0ZSBUcmVlIHRoYXQgd2FzIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIg4oCUIGZvciBleGFtcGxlLCBpbiB0aGUgY2FzZVxuICAvLyBvZiBkZWZhdWx0IHBhcmFsbGVsIHJvdXRlcywgd2UgcHJlc2VydmUgdGhlIGN1cnJlbnRseSBhY3RpdmUgc2VnbWVudC4gVG9cbiAgLy8gYXZvaWQgbXV0YXRpbmcgdGhlIG9yaWdpbmFsIHRyZWUsIHdlIGNsb25lIHRoZSByb3V0ZXIgc3RhdGUgY2hpbGRyZW4gYWxvbmdcbiAgLy8gdGhlIHJldHVybiBwYXRoLlxuICBsZXQgcGF0Y2hlZFJvdXRlclN0YXRlQ2hpbGRyZW46IHtcbiAgICBbcGFyYWxsZWxSb3V0ZUtleTogc3RyaW5nXTogRmxpZ2h0Um91dGVyU3RhdGVcbiAgfSA9IHt9XG4gIGxldCB0YXNrQ2hpbGRyZW4gPSBudWxsXG5cbiAgLy8gTW9zdCBuYXZpZ2F0aW9ucyByZXF1aXJlIGEgcmVxdWVzdCB0byBmZXRjaCBhZGRpdGlvbmFsIGRhdGEgZnJvbSB0aGVcbiAgLy8gc2VydmVyLCBlaXRoZXIgYmVjYXVzZSB0aGUgZGF0YSB3YXMgbm90IGFscmVhZHkgcHJlZmV0Y2hlZCwgb3IgYmVjYXVzZSB0aGVcbiAgLy8gdGFyZ2V0IHJvdXRlIGNvbnRhaW5zIGR5bmFtaWMgZGF0YSB0aGF0IGNhbm5vdCBiZSBwcmVmZXRjaGVkLlxuICAvL1xuICAvLyBIb3dldmVyLCBpZiB0aGUgdGFyZ2V0IHJvdXRlIGlzIGZ1bGx5IHN0YXRpYywgYW5kIGl0J3MgYWxyZWFkeSBjb21wbGV0ZWx5XG4gIC8vIGxvYWRlZCBpbnRvIHRoZSBzZWdtZW50IGNhY2hlLCB0aGVuIHdlIGNhbiBza2lwIHRoZSBzZXJ2ZXIgcmVxdWVzdC5cbiAgLy9cbiAgLy8gVGhpcyBzdGFydHMgb2ZmIGFzIGBmYWxzZWAsIGFuZCBpcyBzZXQgdG8gYHRydWVgIGlmIGFueSBvZiB0aGUgY2hpbGRcbiAgLy8gcm91dGVzIHJlcXVpcmVzIGEgZHluYW1pYyByZXF1ZXN0LlxuICBsZXQgbmVlZHNEeW5hbWljUmVxdWVzdCA9IGZhbHNlXG4gIC8vIEFzIHdlIHRyYXZlcnNlIHRoZSBjaGlsZHJlbiwgd2UnbGwgY29uc3RydWN0IGEgRmxpZ2h0Um91dGVyU3RhdGUgdGhhdCBjYW5cbiAgLy8gYmUgc2VudCB0byB0aGUgc2VydmVyIHRvIHJlcXVlc3QgdGhlIGR5bmFtaWMgZGF0YS4gSWYgaXQgdHVybnMgb3V0IHRoYXRcbiAgLy8gbm90aGluZyBpbiB0aGUgc3VidHJlZSBpcyBkeW5hbWljIChpLmUuIG5lZWRzRHluYW1pY1JlcXVlc3QgaXMgZmFsc2UgYXQgdGhlXG4gIC8vIGVuZCksIHRoZW4gdGhpcyB3aWxsIGJlIGRpc2NhcmRlZC5cbiAgLy8gVE9ETzogV2UgY2FuIHByb2JhYmx5IG9wdGltaXplIHRoZSBmb3JtYXQgb2YgdGhpcyBkYXRhIHN0cnVjdHVyZSB0byBvbmx5XG4gIC8vIGluY2x1ZGUgcGF0aHMgdGhhdCBhcmUgZHluYW1pYy4gSW5zdGVhZCBvZiByZXVzaW5nIHRoZVxuICAvLyBGbGlnaHRSb3V0ZXJTdGF0ZSB0eXBlLlxuICBsZXQgZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW46IHtcbiAgICBbcGFyYWxsZWxSb3V0ZUtleTogc3RyaW5nXTogRmxpZ2h0Um91dGVyU3RhdGVcbiAgfSA9IHt9XG5cbiAgZm9yIChsZXQgcGFyYWxsZWxSb3V0ZUtleSBpbiBuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuKSB7XG4gICAgY29uc3QgbmV3Um91dGVyU3RhdGVDaGlsZDogRmxpZ2h0Um91dGVyU3RhdGUgPVxuICAgICAgbmV3Um91dGVyU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XVxuICAgIGNvbnN0IG9sZFJvdXRlclN0YXRlQ2hpbGQ6IEZsaWdodFJvdXRlclN0YXRlIHwgdm9pZCA9XG4gICAgICBvbGRSb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldXG4gICAgY29uc3Qgb2xkU2VnbWVudE1hcENoaWxkID0gb2xkUGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpXG4gICAgY29uc3QgcHJlZmV0Y2hEYXRhQ2hpbGQ6IENhY2hlTm9kZVNlZWREYXRhIHwgdm9pZCB8IG51bGwgPVxuICAgICAgcHJlZmV0Y2hEYXRhQ2hpbGRyZW4gIT09IG51bGxcbiAgICAgICAgPyBwcmVmZXRjaERhdGFDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XVxuICAgICAgICA6IG51bGxcblxuICAgIGNvbnN0IG5ld1NlZ21lbnRDaGlsZCA9IG5ld1JvdXRlclN0YXRlQ2hpbGRbMF1cbiAgICBjb25zdCBuZXdTZWdtZW50UGF0aENoaWxkID0gc2VnbWVudFBhdGguY29uY2F0KFtcbiAgICAgIHBhcmFsbGVsUm91dGVLZXksXG4gICAgICBuZXdTZWdtZW50Q2hpbGQsXG4gICAgXSlcbiAgICBjb25zdCBuZXdTZWdtZW50S2V5Q2hpbGQgPSBjcmVhdGVSb3V0ZXJDYWNoZUtleShuZXdTZWdtZW50Q2hpbGQpXG5cbiAgICBjb25zdCBvbGRTZWdtZW50Q2hpbGQgPVxuICAgICAgb2xkUm91dGVyU3RhdGVDaGlsZCAhPT0gdW5kZWZpbmVkID8gb2xkUm91dGVyU3RhdGVDaGlsZFswXSA6IHVuZGVmaW5lZFxuXG4gICAgY29uc3Qgb2xkQ2FjaGVOb2RlQ2hpbGQgPVxuICAgICAgb2xkU2VnbWVudE1hcENoaWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBvbGRTZWdtZW50TWFwQ2hpbGQuZ2V0KG5ld1NlZ21lbnRLZXlDaGlsZClcbiAgICAgICAgOiB1bmRlZmluZWRcblxuICAgIGxldCB0YXNrQ2hpbGQ6IFRhc2sgfCBudWxsXG4gICAgaWYgKG5ld1NlZ21lbnRDaGlsZCA9PT0gREVGQVVMVF9TRUdNRU5UX0tFWSkge1xuICAgICAgLy8gVGhpcyBpcyBhbm90aGVyIGtpbmQgb2YgbGVhZiBzZWdtZW50IOKAlCBhIGRlZmF1bHQgcm91dGUuXG4gICAgICAvL1xuICAgICAgLy8gRGVmYXVsdCByb3V0ZXMgaGF2ZSBzcGVjaWFsIGJlaGF2aW9yLiBXaGVuIHRoZXJlJ3Mgbm8gbWF0Y2hpbmcgc2VnbWVudFxuICAgICAgLy8gZm9yIGEgcGFyYWxsZWwgcm91dGUsIE5leHQuanMgcHJlc2VydmVzIHRoZSBjdXJyZW50bHkgYWN0aXZlIHNlZ21lbnRcbiAgICAgIC8vIGR1cmluZyBhIGNsaWVudCBuYXZpZ2F0aW9uIOKAlCBidXQgbm90IGZvciBpbml0aWFsIHJlbmRlci4gVGhlIHNlcnZlclxuICAgICAgLy8gbGVhdmVzIGl0IHRvIHRoZSBjbGllbnQgdG8gYWNjb3VudCBmb3IgdGhpcy4gU28gd2UgbmVlZCB0byBoYW5kbGVcbiAgICAgIC8vIGl0IGhlcmUuXG4gICAgICBpZiAob2xkUm91dGVyU3RhdGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIFJldXNlIHRoZSBleGlzdGluZyBSb3V0ZXIgU3RhdGUgZm9yIHRoaXMgc2VnbWVudC4gV2Ugc3Bhd24gYSBcInRhc2tcIlxuICAgICAgICAvLyBqdXN0IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHVwZGF0ZWQgcm91dGVyIHN0YXRlOyB1bmxpa2UgbW9zdCwgaXQnc1xuICAgICAgICAvLyBhbHJlYWR5IGZ1bGZpbGxlZCBhbmQgd29uJ3QgYmUgYWZmZWN0ZWQgYnkgdGhlIGR5bmFtaWMgcmVzcG9uc2UuXG4gICAgICAgIHRhc2tDaGlsZCA9IHNwYXduUmV1c2VkVGFzayhvbGRSb3V0ZXJTdGF0ZUNoaWxkKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlcmUncyBubyBjdXJyZW50bHkgYWN0aXZlIHNlZ21lbnQuIFN3aXRjaCB0byB0aGUgXCJjcmVhdGVcIiBwYXRoLlxuICAgICAgICB0YXNrQ2hpbGQgPSBiZWdpblJlbmRlcmluZ05ld1JvdXRlVHJlZShcbiAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICBvbGRSb3V0ZXJTdGF0ZUNoaWxkLFxuICAgICAgICAgIG5ld1JvdXRlclN0YXRlQ2hpbGQsXG4gICAgICAgICAgb2xkQ2FjaGVOb2RlQ2hpbGQsXG4gICAgICAgICAgZGlkRmluZFJvb3RMYXlvdXQsXG4gICAgICAgICAgcHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHByZWZldGNoRGF0YUNoaWxkIDogbnVsbCxcbiAgICAgICAgICBwcmVmZXRjaEhlYWQsXG4gICAgICAgICAgaXNQcmVmZXRjaEhlYWRQYXJ0aWFsLFxuICAgICAgICAgIG5ld1NlZ21lbnRQYXRoQ2hpbGQsXG4gICAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFxuICAgICAgaXNTYW1lUGFnZU5hdmlnYXRpb24gJiZcbiAgICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBwYWdlIHNlZ21lbnQuXG4gICAgICAvLyBUT0RPOiBXZSdyZSBub3QgY29uc2lzdGVudCBhYm91dCBob3cgd2UgZG8gdGhpcyBjaGVjay4gU29tZSBwbGFjZXNcbiAgICAgIC8vIGNoZWNrIGlmIHRoZSBzZWdtZW50IHN0YXJ0cyB3aXRoIFBBR0VfU0VHTUVOVF9LRVksIGJ1dCBtb3N0IHNlZW0gdG9cbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGFueSBhbnkgY2hpbGRyZW4sIHdoaWNoIGlzIHdoeSBJJ20gZG9pbmcgaXQgaGVyZS4gV2VcbiAgICAgIC8vIHNob3VsZCBwcm9iYWJseSBlbmNvZGUgYW4gZW1wdHkgY2hpbGRyZW4gc2V0IGFzIGBudWxsYCB0aG91Z2guIEVpdGhlclxuICAgICAgLy8gd2F5LCB3ZSBzaG91bGQgdXBkYXRlIGFsbCB0aGUgY2hlY2tzIHRvIGJlIGNvbnNpc3RlbnQuXG4gICAgICBPYmplY3Qua2V5cyhuZXdSb3V0ZXJTdGF0ZUNoaWxkWzFdKS5sZW5ndGggPT09IDBcbiAgICApIHtcbiAgICAgIC8vIFdlIHNwZWNpYWwgY2FzZSBuYXZpZ2F0aW9ucyB0byB0aGUgZXhhY3Qgc2FtZSBVUkwgYXMgdGhlIGN1cnJlbnRcbiAgICAgIC8vIGxvY2F0aW9uLiBJdCdzIGEgY29tbW9uIFVJIHBhdHRlcm4gZm9yIGFwcHMgdG8gcmVmcmVzaCB3aGVuIHlvdSBjbGljayBhXG4gICAgICAvLyBsaW5rIHRvIHRoZSBjdXJyZW50IHBhZ2UuIFNvIHdoZW4gdGhpcyBoYXBwZW5zLCB3ZSByZWZyZXNoIHRoZSBkeW5hbWljXG4gICAgICAvLyBkYXRhIGluIHRoZSBwYWdlIHNlZ21lbnRzLlxuICAgICAgLy9cbiAgICAgIC8vIE5vdGUgdGhhdCB0aGlzIGRvZXMgbm90IGFwcGx5IGlmIHRoZSBhbnkgcGFydCBvZiB0aGUgaGFzaCBvciBzZWFyY2hcbiAgICAgIC8vIHF1ZXJ5IGhhcyBjaGFuZ2VkLiBUaGlzIG1pZ2h0IGZlZWwgYSBiaXQgd2VpcmQgYnV0IGl0IG1ha2VzIG1vcmUgc2Vuc2VcbiAgICAgIC8vIHdoZW4geW91IGNvbnNpZGVyIHRoYXQgdGhlIHdheSB0byB0cmlnZ2VyIHRoaXMgYmVoYXZpb3IgaXMgdG8gY2xpY2tcbiAgICAgIC8vIHRoZSBzYW1lIGxpbmsgbXVsdGlwbGUgdGltZXMuXG4gICAgICAvL1xuICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIHByb2JhYmx5IHJlZnJlc2ggdGhlICplbnRpcmUqIHJvdXRlIHdoZW4gdGhpcyBjYXNlXG4gICAgICAvLyBvY2N1cnMsIG5vdCBqdXN0IHRoZSBwYWdlIHNlZ21lbnRzLiBFc3NlbnRpYWxseSB0cmVhdGluZyBpdCB0aGUgc2FtZSBhc1xuICAgICAgLy8gYSByZWZyZXNoKCkgdHJpZ2dlcmVkIGJ5IGFuIGFjdGlvbiwgd2hpY2ggaXMgdGhlIG1vcmUgZXhwbGljaXQgd2F5IG9mXG4gICAgICAvLyBtb2RlbGluZyB0aGUgVUkgcGF0dGVybiBkZXNjcmliZWQgYWJvdmUuXG4gICAgICAvL1xuICAgICAgLy8gQWxzbyBub3RlIHRoYXQgdGhpcyBvbmx5IHJlZnJlc2hlcyB0aGUgZHluYW1pYyBkYXRhLCBub3Qgc3RhdGljL1xuICAgICAgLy8gY2FjaGVkIGRhdGEuIElmIHRoZSBwYWdlIHNlZ21lbnQgaXMgZnVsbHkgc3RhdGljIGFuZCBwcmVmZXRjaGVkLCB0aGVcbiAgICAgIC8vIHJlcXVlc3QgaXMgc2tpcHBlZC4gKFRoaXMgaXMgYWxzbyBob3cgcmVmcmVzaCgpIHdvcmtzLilcbiAgICAgIHRhc2tDaGlsZCA9IGJlZ2luUmVuZGVyaW5nTmV3Um91dGVUcmVlKFxuICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgb2xkUm91dGVyU3RhdGVDaGlsZCxcbiAgICAgICAgbmV3Um91dGVyU3RhdGVDaGlsZCxcbiAgICAgICAgb2xkQ2FjaGVOb2RlQ2hpbGQsXG4gICAgICAgIGRpZEZpbmRSb290TGF5b3V0LFxuICAgICAgICBwcmVmZXRjaERhdGFDaGlsZCAhPT0gdW5kZWZpbmVkID8gcHJlZmV0Y2hEYXRhQ2hpbGQgOiBudWxsLFxuICAgICAgICBwcmVmZXRjaEhlYWQsXG4gICAgICAgIGlzUHJlZmV0Y2hIZWFkUGFydGlhbCxcbiAgICAgICAgbmV3U2VnbWVudFBhdGhDaGlsZCxcbiAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgICApXG4gICAgfSBlbHNlIGlmIChcbiAgICAgIG9sZFJvdXRlclN0YXRlQ2hpbGQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgb2xkU2VnbWVudENoaWxkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIG1hdGNoU2VnbWVudChuZXdTZWdtZW50Q2hpbGQsIG9sZFNlZ21lbnRDaGlsZClcbiAgICApIHtcbiAgICAgIGlmIChcbiAgICAgICAgb2xkQ2FjaGVOb2RlQ2hpbGQgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBvbGRSb3V0ZXJTdGF0ZUNoaWxkICE9PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICAvLyBUaGlzIHNlZ21lbnQgZXhpc3RzIGluIGJvdGggdGhlIG9sZCBhbmQgbmV3IHRyZWVzLiBSZWN1cnNpdmVseSB1cGRhdGVcbiAgICAgICAgLy8gdGhlIGNoaWxkcmVuLlxuICAgICAgICB0YXNrQ2hpbGQgPSB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24oXG4gICAgICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICAgICAgb2xkQ2FjaGVOb2RlQ2hpbGQsXG4gICAgICAgICAgb2xkUm91dGVyU3RhdGVDaGlsZCxcbiAgICAgICAgICBuZXdSb3V0ZXJTdGF0ZUNoaWxkLFxuICAgICAgICAgIGRpZEZpbmRSb290TGF5b3V0LFxuICAgICAgICAgIHByZWZldGNoRGF0YUNoaWxkLFxuICAgICAgICAgIHByZWZldGNoSGVhZCxcbiAgICAgICAgICBpc1ByZWZldGNoSGVhZFBhcnRpYWwsXG4gICAgICAgICAgaXNTYW1lUGFnZU5hdmlnYXRpb24sXG4gICAgICAgICAgbmV3U2VnbWVudFBhdGhDaGlsZCxcbiAgICAgICAgICBzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHRcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlcmUncyBubyBleGlzdGluZyBDYWNoZSBOb2RlIGZvciB0aGlzIHNlZ21lbnQuIFN3aXRjaCB0byB0aGVcbiAgICAgICAgLy8gXCJjcmVhdGVcIiBwYXRoLlxuICAgICAgICB0YXNrQ2hpbGQgPSBiZWdpblJlbmRlcmluZ05ld1JvdXRlVHJlZShcbiAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICBvbGRSb3V0ZXJTdGF0ZUNoaWxkLFxuICAgICAgICAgIG5ld1JvdXRlclN0YXRlQ2hpbGQsXG4gICAgICAgICAgb2xkQ2FjaGVOb2RlQ2hpbGQsXG4gICAgICAgICAgZGlkRmluZFJvb3RMYXlvdXQsXG4gICAgICAgICAgcHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHByZWZldGNoRGF0YUNoaWxkIDogbnVsbCxcbiAgICAgICAgICBwcmVmZXRjaEhlYWQsXG4gICAgICAgICAgaXNQcmVmZXRjaEhlYWRQYXJ0aWFsLFxuICAgICAgICAgIG5ld1NlZ21lbnRQYXRoQ2hpbGQsXG4gICAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBpcyBhIG5ldyB0cmVlLiBTd2l0Y2ggdG8gdGhlIFwiY3JlYXRlXCIgcGF0aC5cbiAgICAgIHRhc2tDaGlsZCA9IGJlZ2luUmVuZGVyaW5nTmV3Um91dGVUcmVlKFxuICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgb2xkUm91dGVyU3RhdGVDaGlsZCxcbiAgICAgICAgbmV3Um91dGVyU3RhdGVDaGlsZCxcbiAgICAgICAgb2xkQ2FjaGVOb2RlQ2hpbGQsXG4gICAgICAgIGRpZEZpbmRSb290TGF5b3V0LFxuICAgICAgICBwcmVmZXRjaERhdGFDaGlsZCAhPT0gdW5kZWZpbmVkID8gcHJlZmV0Y2hEYXRhQ2hpbGQgOiBudWxsLFxuICAgICAgICBwcmVmZXRjaEhlYWQsXG4gICAgICAgIGlzUHJlZmV0Y2hIZWFkUGFydGlhbCxcbiAgICAgICAgbmV3U2VnbWVudFBhdGhDaGlsZCxcbiAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgICApXG4gICAgfVxuXG4gICAgaWYgKHRhc2tDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgLy8gUmVjdXJzaXZlbHkgcHJvcGFnYXRlIHVwIHRoZSBjaGlsZCB0YXNrcy5cblxuICAgICAgaWYgKHRhc2tDaGlsZC5yb3V0ZSA9PT0gbnVsbCkge1xuICAgICAgICAvLyBPbmUgb2YgdGhlIGNoaWxkIHRhc2tzIGRpc2NvdmVyZWQgYSBjaGFuZ2UgdG8gdGhlIHJvb3QgbGF5b3V0LlxuICAgICAgICAvLyBJbW1lZGlhdGVseSB1bndpbmQgZnJvbSB0aGlzIHJlY3Vyc2l2ZSB0cmF2ZXJzYWwuXG4gICAgICAgIHJldHVybiBNUEFfTkFWSUdBVElPTl9UQVNLXG4gICAgICB9XG5cbiAgICAgIGlmICh0YXNrQ2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICAgICAgdGFza0NoaWxkcmVuID0gbmV3IE1hcCgpXG4gICAgICB9XG4gICAgICB0YXNrQ2hpbGRyZW4uc2V0KHBhcmFsbGVsUm91dGVLZXksIHRhc2tDaGlsZClcbiAgICAgIGNvbnN0IG5ld0NhY2hlTm9kZUNoaWxkID0gdGFza0NoaWxkLm5vZGVcbiAgICAgIGlmIChuZXdDYWNoZU5vZGVDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBuZXdTZWdtZW50TWFwQ2hpbGQ6IENoaWxkU2VnbWVudE1hcCA9IG5ldyBNYXAob2xkU2VnbWVudE1hcENoaWxkKVxuICAgICAgICBuZXdTZWdtZW50TWFwQ2hpbGQuc2V0KG5ld1NlZ21lbnRLZXlDaGlsZCwgbmV3Q2FjaGVOb2RlQ2hpbGQpXG4gICAgICAgIHByZWZldGNoUGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIG5ld1NlZ21lbnRNYXBDaGlsZClcbiAgICAgIH1cblxuICAgICAgLy8gVGhlIGNoaWxkIHRyZWUncyByb3V0ZSBzdGF0ZSBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHByZWZldGNoZWRcbiAgICAgIC8vIHJvdXRlIHNlbnQgYnkgdGhlIHNlcnZlci4gV2UgbmVlZCB0byBjbG9uZSBpdCBhcyB3ZSB0cmF2ZXJzZSBiYWNrIHVwXG4gICAgICAvLyB0aGUgdHJlZS5cbiAgICAgIGNvbnN0IHRhc2tDaGlsZFJvdXRlID0gdGFza0NoaWxkLnJvdXRlXG4gICAgICBwYXRjaGVkUm91dGVyU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XSA9IHRhc2tDaGlsZFJvdXRlXG5cbiAgICAgIGNvbnN0IGR5bmFtaWNSZXF1ZXN0VHJlZUNoaWxkID0gdGFza0NoaWxkLmR5bmFtaWNSZXF1ZXN0VHJlZVxuICAgICAgaWYgKGR5bmFtaWNSZXF1ZXN0VHJlZUNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgY2hpbGQgdHJlZSBpcyBkeW5hbWljLlxuICAgICAgICBuZWVkc0R5bmFtaWNSZXF1ZXN0ID0gdHJ1ZVxuICAgICAgICBkeW5hbWljUmVxdWVzdFRyZWVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XSA9IGR5bmFtaWNSZXF1ZXN0VHJlZUNoaWxkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkeW5hbWljUmVxdWVzdFRyZWVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XSA9IHRhc2tDaGlsZFJvdXRlXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBjaGlsZCBkaWRuJ3QgY2hhbmdlLiBXZSBjYW4gdXNlIHRoZSBwcmVmZXRjaGVkIHJvdXRlciBzdGF0ZS5cbiAgICAgIHBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldID0gbmV3Um91dGVyU3RhdGVDaGlsZFxuICAgICAgZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV0gPSBuZXdSb3V0ZXJTdGF0ZUNoaWxkXG4gICAgfVxuICB9XG5cbiAgaWYgKHRhc2tDaGlsZHJlbiA9PT0gbnVsbCkge1xuICAgIC8vIE5vIG5ldyB0YXNrcyB3ZXJlIHNwYXduZWQuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IG5ld0NhY2hlTm9kZTogUmVhZHlDYWNoZU5vZGUgPSB7XG4gICAgbGF6eURhdGE6IG51bGwsXG4gICAgcnNjOiBvbGRDYWNoZU5vZGUucnNjLFxuICAgIC8vIFdlIGludGVudGlvbmFsbHkgYXJlbid0IHVwZGF0aW5nIHRoZSBwcmVmZXRjaFJzYyBmaWVsZCwgc2luY2UgdGhpcyBub2RlXG4gICAgLy8gaXMgYWxyZWFkeSBwYXJ0IG9mIHRoZSBjdXJyZW50IHRyZWUsIGJlY2F1c2UgaXQgd291bGQgYmUgd2VpcmQgZm9yXG4gICAgLy8gcHJlZmV0Y2ggZGF0YSB0byBiZSBuZXdlciB0aGFuIHRoZSBmaW5hbCBkYXRhLiBJdCBwcm9iYWJseSB3b24ndCBldmVyIGJlXG4gICAgLy8gb2JzZXJ2YWJsZSBhbnl3YXksIGJ1dCBpdCBjb3VsZCBoYXBwZW4gaWYgdGhlIHNlZ21lbnQgaXMgdW5tb3VudGVkIHRoZW5cbiAgICAvLyBtb3VudGVkIGFnYWluLCBiZWNhdXNlIExheW91dFJvdXRlciB3aWxsIG1vbWVudGFyaWx5IHN3aXRjaCB0byByZW5kZXJpbmdcbiAgICAvLyBwcmVmZXRjaFJzYywgdmlhIHVzZURlZmVycmVkVmFsdWUuXG4gICAgcHJlZmV0Y2hSc2M6IG9sZENhY2hlTm9kZS5wcmVmZXRjaFJzYyxcbiAgICBoZWFkOiBvbGRDYWNoZU5vZGUuaGVhZCxcbiAgICBwcmVmZXRjaEhlYWQ6IG9sZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQsXG4gICAgbG9hZGluZzogb2xkQ2FjaGVOb2RlLmxvYWRpbmcsXG5cbiAgICAvLyBFdmVyeXRoaW5nIGlzIGNsb25lZCBleGNlcHQgZm9yIHRoZSBjaGlsZHJlbiwgd2hpY2ggd2UgY29tcHV0ZWQgYWJvdmUuXG4gICAgcGFyYWxsZWxSb3V0ZXM6IHByZWZldGNoUGFyYWxsZWxSb3V0ZXMsXG5cbiAgICBuYXZpZ2F0ZWRBdCxcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gUmV0dXJuIGEgY2xvbmVkIGNvcHkgb2YgdGhlIHJvdXRlciBzdGF0ZSB3aXRoIHVwZGF0ZWQgY2hpbGRyZW4uXG4gICAgcm91dGU6IHBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4oXG4gICAgICBuZXdSb3V0ZXJTdGF0ZSxcbiAgICAgIHBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuXG4gICAgKSxcbiAgICBub2RlOiBuZXdDYWNoZU5vZGUsXG4gICAgZHluYW1pY1JlcXVlc3RUcmVlOiBuZWVkc0R5bmFtaWNSZXF1ZXN0XG4gICAgICA/IHBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4oXG4gICAgICAgICAgbmV3Um91dGVyU3RhdGUsXG4gICAgICAgICAgZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW5cbiAgICAgICAgKVxuICAgICAgOiBudWxsLFxuICAgIGNoaWxkcmVuOiB0YXNrQ2hpbGRyZW4sXG4gIH1cbn1cblxuZnVuY3Rpb24gYmVnaW5SZW5kZXJpbmdOZXdSb3V0ZVRyZWUoXG4gIG5hdmlnYXRlZEF0OiBudW1iZXIsXG4gIG9sZFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSB8IHZvaWQsXG4gIG5ld1JvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgZXhpc3RpbmdDYWNoZU5vZGU6IENhY2hlTm9kZSB8IHZvaWQsXG4gIGRpZEZpbmRSb290TGF5b3V0OiBib29sZWFuLFxuICBwcmVmZXRjaERhdGE6IENhY2hlTm9kZVNlZWREYXRhIHwgbnVsbCxcbiAgcG9zc2libHlQYXJ0aWFsUHJlZmV0Y2hIZWFkOiBIZWFkRGF0YSB8IG51bGwsXG4gIGlzUHJlZmV0Y2hIZWFkUGFydGlhbDogYm9vbGVhbixcbiAgc2VnbWVudFBhdGg6IEZsaWdodFNlZ21lbnRQYXRoLFxuICBzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHQ6IEFycmF5PEZsaWdodFNlZ21lbnRQYXRoPlxuKTogVGFzayB7XG4gIGlmICghZGlkRmluZFJvb3RMYXlvdXQpIHtcbiAgICAvLyBUaGUgcm91dGUgdHJlZSBjaGFuZ2VkIGJlZm9yZSB3ZSByZWFjaGVkIGEgbGF5b3V0LiAoVGhlIGhpZ2hlc3QtbGV2ZWxcbiAgICAvLyBsYXlvdXQgaW4gYSByb3V0ZSB0cmVlIGlzIHJlZmVycmVkIHRvIGFzIHRoZSBcInJvb3RcIiBsYXlvdXQuKSBUaGlzIGNvdWxkXG4gICAgLy8gbWVhbiB0aGF0IHdlJ3JlIG5hdmlnYXRpbmcgYmV0d2VlbiB0d28gZGlmZmVyZW50IHJvb3QgbGF5b3V0cy4gV2hlbiB0aGlzXG4gICAgLy8gaGFwcGVucywgd2UgcGVyZm9ybSBhIGZ1bGwtcGFnZSAoTVBBLXN0eWxlKSBuYXZpZ2F0aW9uLlxuICAgIC8vXG4gICAgLy8gSG93ZXZlciwgdGhlIGFsZ29yaXRobSBmb3IgZGVjaWRpbmcgd2hlcmUgdG8gc3RhcnQgcmVuZGVyaW5nIGEgcm91dGVcbiAgICAvLyAoaS5lLiB0aGUgb25lIHBlcmZvcm1lZCBpbiBvcmRlciB0byByZWFjaCB0aGlzIGZ1bmN0aW9uKSBpcyBzdHJpY3RlclxuICAgIC8vIHRoYW4gdGhlIG9uZSB1c2VkIHRvIGRldGVjdCBhIGNoYW5nZSBpbiB0aGUgcm9vdCBsYXlvdXQuIFNvIGp1c3QgYmVjYXVzZVxuICAgIC8vIHdlJ3JlIHJlLXJlbmRlcmluZyBhIHNlZ21lbnQgb3V0c2lkZSBvZiB0aGUgcm9vdCBsYXlvdXQgZG9lcyBub3QgbWVhbiB3ZVxuICAgIC8vIHNob3VsZCB0cmlnZ2VyIGEgZnVsbC1wYWdlIG5hdmlnYXRpb24uXG4gICAgLy9cbiAgICAvLyBTcGVjaWZpY2FsbHksIHdlIGhhbmRsZSBkeW5hbWljIHBhcmFtZXRlcnMgZGlmZmVyZW50bHk6IHR3byBzZWdtZW50cyBhcmVcbiAgICAvLyBjb25zaWRlcmVkIHRoZSBzYW1lIGV2ZW4gaWYgdGhlaXIgcGFyYW1ldGVyIHZhbHVlcyBhcmUgZGlmZmVyZW50LlxuICAgIC8vXG4gICAgLy8gUmVmZXIgdG8gaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IGZvciBkZXRhaWxzLlxuICAgIC8vXG4gICAgLy8gTm90ZSB0aGF0IHdlIG9ubHkgaGF2ZSB0byBwZXJmb3JtIHRoaXMgZXh0cmEgdHJhdmVyc2FsIGlmIHdlIGRpZG4ndFxuICAgIC8vIGFscmVhZHkgZGlzY292ZXIgYSByb290IGxheW91dCBpbiB0aGUgcGFydCBvZiB0aGUgdHJlZSB0aGF0IGlzIHVuY2hhbmdlZC5cbiAgICAvLyBJbiB0aGUgY29tbW9uIGNhc2UsIHRoaXMgYnJhbmNoIGlzIHNraXBwZWQgY29tcGxldGVseS5cbiAgICBpZiAoXG4gICAgICBvbGRSb3V0ZXJTdGF0ZSA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICBpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQob2xkUm91dGVyU3RhdGUsIG5ld1JvdXRlclN0YXRlKVxuICAgICkge1xuICAgICAgLy8gVGhlIHJvb3QgbGF5b3V0IGNoYW5nZWQuIFBlcmZvcm0gYSBmdWxsLXBhZ2UgbmF2aWdhdGlvbi5cbiAgICAgIHJldHVybiBNUEFfTkFWSUdBVElPTl9UQVNLXG4gICAgfVxuICB9XG4gIHJldHVybiBjcmVhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24oXG4gICAgbmF2aWdhdGVkQXQsXG4gICAgbmV3Um91dGVyU3RhdGUsXG4gICAgZXhpc3RpbmdDYWNoZU5vZGUsXG4gICAgcHJlZmV0Y2hEYXRhLFxuICAgIHBvc3NpYmx5UGFydGlhbFByZWZldGNoSGVhZCxcbiAgICBpc1ByZWZldGNoSGVhZFBhcnRpYWwsXG4gICAgc2VnbWVudFBhdGgsXG4gICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gIClcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uKFxuICBuYXZpZ2F0ZWRBdDogbnVtYmVyLFxuICByb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIGV4aXN0aW5nQ2FjaGVOb2RlOiBDYWNoZU5vZGUgfCB2b2lkLFxuICBwcmVmZXRjaERhdGE6IENhY2hlTm9kZVNlZWREYXRhIHwgbnVsbCxcbiAgcG9zc2libHlQYXJ0aWFsUHJlZmV0Y2hIZWFkOiBIZWFkRGF0YSB8IG51bGwsXG4gIGlzUHJlZmV0Y2hIZWFkUGFydGlhbDogYm9vbGVhbixcbiAgc2VnbWVudFBhdGg6IEZsaWdodFNlZ21lbnRQYXRoLFxuICBzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHQ6IEFycmF5PEZsaWdodFNlZ21lbnRQYXRoPlxuKTogU1BBTmF2aWdhdGlvblRhc2sge1xuICAvLyBTYW1lIHRyYXZlcnNhbCBhcyB1cGRhdGVDYWNoZU5vZGVOYXZpZ2F0aW9uLCBidXQgd2Ugc3dpdGNoIHRvIHRoaXMgcGF0aFxuICAvLyBvbmNlIHdlIHJlYWNoIHRoZSBwYXJ0IG9mIHRoZSB0cmVlIHRoYXQgd2FzIG5vdCBpbiB0aGUgcHJldmlvdXMgcm91dGUuIFdlXG4gIC8vIGRvbid0IG5lZWQgdG8gZGlmZiBhZ2FpbnN0IHRoZSBvbGQgdHJlZSwgd2UganVzdCBuZWVkIHRvIGNyZWF0ZSBhIG5ldyBvbmUuXG5cbiAgLy8gVGhlIGhlYWQgaXMgYXNzaWduZWQgdG8gZXZlcnkgbGVhZiBzZWdtZW50IGRlbGl2ZXJlZCBieSB0aGUgc2VydmVyLiBCYXNlZFxuICAvLyBvbiBjb3JyZXNwb25kaW5nIGxvZ2ljIGluIGZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkLnRzXG4gIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGRyZW4gPSByb3V0ZXJTdGF0ZVsxXVxuICBjb25zdCBpc0xlYWZTZWdtZW50ID0gT2JqZWN0LmtleXMocm91dGVyU3RhdGVDaGlsZHJlbikubGVuZ3RoID09PSAwXG5cbiAgLy8gRXZlbiB3ZSdyZSByZW5kZXJpbmcgaW5zaWRlIHRoZSBcIm5ld1wiIHBhcnQgb2YgdGhlIHRhcmdldCB0cmVlLCB3ZSBtYXkgaGF2ZVxuICAvLyBhIGxvY2FsbHkgY2FjaGVkIHNlZ21lbnQgdGhhdCB3ZSBjYW4gcmV1c2UuIFRoaXMgbWF5IGNvbWUgZnJvbSBlaXRoZXIgMSlcbiAgLy8gdGhlIENhY2hlTm9kZSB0cmVlLCB3aGljaCBsaXZlcyBpbiBSZWFjdCBzdGF0ZSBhbmQgaXMgcG9wdWxhdGVkIGJ5IHByZXZpb3VzXG4gIC8vIG5hdmlnYXRpb25zOyBvciAyKSB0aGUgcHJlZmV0Y2ggY2FjaGUsIHdoaWNoIGlzIGEgc2VwYXJhdGUgY2FjaGUgdGhhdCBpc1xuICAvLyBwb3B1bGF0ZWQgYnkgcHJlZmV0Y2hlcy5cbiAgbGV0IHJzYzogUmVhY3QuUmVhY3ROb2RlXG4gIGxldCBsb2FkaW5nOiBMb2FkaW5nTW9kdWxlRGF0YSB8IFByb21pc2U8TG9hZGluZ01vZHVsZURhdGE+XG4gIGxldCBoZWFkOiBIZWFkRGF0YSB8IG51bGxcbiAgbGV0IGNhY2hlTm9kZU5hdmlnYXRlZEF0OiBudW1iZXJcbiAgaWYgKFxuICAgIGV4aXN0aW5nQ2FjaGVOb2RlICE9PSB1bmRlZmluZWQgJiZcbiAgICAvLyBEWU5BTUlDX1NUQUxFVElNRV9NUyBkZWZhdWx0cyB0byAwLCBidXQgaXQgY2FuIGJlIGluY3JlYXNlZCB1c2luZ1xuICAgIC8vIHRoZSBleHBlcmltZW50YWwuc3RhbGVUaW1lcy5keW5hbWljIGNvbmZpZy4gV2hlbiBzZXQsIHdlJ2xsIGF2b2lkXG4gICAgLy8gcmVmZXRjaGluZyBkeW5hbWljIGRhdGEgaWYgaXQgd2FzIGZldGNoZWQgd2l0aGluIHRoZSBnaXZlbiB0aHJlc2hvbGQuXG4gICAgZXhpc3RpbmdDYWNoZU5vZGUubmF2aWdhdGVkQXQgKyBEWU5BTUlDX1NUQUxFVElNRV9NUyA+IG5hdmlnYXRlZEF0XG4gICkge1xuICAgIC8vIFdlIGhhdmUgYW4gZXhpc3RpbmcgQ2FjaGVOb2RlIGZvciB0aGlzIHNlZ21lbnQsIGFuZCBpdCdzIG5vdCBzdGFsZS4gV2VcbiAgICAvLyBzaG91bGQgcmV1c2UgaXQgcmF0aGVyIHRoYW4gcmVxdWVzdCBhIG5ldyBvbmUuXG4gICAgcnNjID0gZXhpc3RpbmdDYWNoZU5vZGUucnNjXG4gICAgbG9hZGluZyA9IGV4aXN0aW5nQ2FjaGVOb2RlLmxvYWRpbmdcbiAgICBoZWFkID0gZXhpc3RpbmdDYWNoZU5vZGUuaGVhZFxuXG4gICAgLy8gRG9uJ3QgdXBkYXRlIHRoZSBuYXZpZ2F0ZWRBdCB0aW1lc3RhbXAsIHNpbmNlIHdlJ3JlIHJldXNpbmcgc3RhbGUgZGF0YS5cbiAgICBjYWNoZU5vZGVOYXZpZ2F0ZWRBdCA9IGV4aXN0aW5nQ2FjaGVOb2RlLm5hdmlnYXRlZEF0XG4gIH0gZWxzZSBpZiAocHJlZmV0Y2hEYXRhICE9PSBudWxsKSB7XG4gICAgLy8gVGhlcmUncyBubyBleGlzdGluZyBDYWNoZU5vZGUgZm9yIHRoaXMgc2VnbWVudCwgYnV0IHdlIGRvIGhhdmUgcHJlZmV0Y2hcbiAgICAvLyBkYXRhLiBJZiB0aGUgcHJlZmV0Y2ggZGF0YSBpcyBmdWxseSBzdGF0aWMgKGkuZS4gZG9lcyBub3QgY29udGFpbiBhbnlcbiAgICAvLyBkeW5hbWljIGhvbGVzKSwgd2UgZG9uJ3QgbmVlZCB0byByZXF1ZXN0IGl0IGZyb20gdGhlIHNlcnZlci5cbiAgICByc2MgPSBwcmVmZXRjaERhdGFbMV1cbiAgICBsb2FkaW5nID0gcHJlZmV0Y2hEYXRhWzNdXG4gICAgaGVhZCA9IGlzTGVhZlNlZ21lbnQgPyBwb3NzaWJseVBhcnRpYWxQcmVmZXRjaEhlYWQgOiBudWxsXG4gICAgLy8gRXZlbiB0aG91Z2ggd2UncmUgYWNjZXNzaW5nIHRoZSBkYXRhIGZyb20gdGhlIHByZWZldGNoIGNhY2hlLCB0aGlzIGlzXG4gICAgLy8gY29uY2VwdHVhbGx5IGEgbmV3IHNlZ21lbnQsIG5vdCBhIHJldXNlZCBvbmUuIFNvIHdlIHNob3VsZCB1cGRhdGUgdGhlXG4gICAgLy8gbmF2aWdhdGVkQXQgdGltZXN0YW1wLlxuICAgIGNhY2hlTm9kZU5hdmlnYXRlZEF0ID0gbmF2aWdhdGVkQXRcbiAgICBjb25zdCBpc1ByZWZldGNoUnNjUGFydGlhbCA9IHByZWZldGNoRGF0YVs0XVxuICAgIGlmIChcbiAgICAgIC8vIENoZWNrIGlmIHRoZSBzZWdtZW50IGRhdGEgaXMgcGFydGlhbFxuICAgICAgaXNQcmVmZXRjaFJzY1BhcnRpYWwgfHxcbiAgICAgIC8vIENoZWNrIGlmIHRoZSBoZWFkIGlzIHBhcnRpYWwgKG9ubHkgcmVsZXZhbnQgaWYgdGhpcyBpcyBhIGxlYWYgc2VnbWVudClcbiAgICAgIChpc1ByZWZldGNoSGVhZFBhcnRpYWwgJiYgaXNMZWFmU2VnbWVudClcbiAgICApIHtcbiAgICAgIC8vIFdlIG9ubHkgaGF2ZSBwYXJ0aWFsIGRhdGEgZnJvbSB0aGlzIHNlZ21lbnQuIExpa2UgbWlzc2luZyBzZWdtZW50cywgd2VcbiAgICAgIC8vIG11c3QgcmVxdWVzdCB0aGUgZnVsbCBkYXRhIGZyb20gdGhlIHNlcnZlci5cbiAgICAgIHJldHVybiBzcGF3blBlbmRpbmdUYXNrKFxuICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgcm91dGVyU3RhdGUsXG4gICAgICAgIHByZWZldGNoRGF0YSxcbiAgICAgICAgcG9zc2libHlQYXJ0aWFsUHJlZmV0Y2hIZWFkLFxuICAgICAgICBpc1ByZWZldGNoSGVhZFBhcnRpYWwsXG4gICAgICAgIHNlZ21lbnRQYXRoLFxuICAgICAgICBzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHRcbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIHByZWZldGNoIGRhdGEgaXMgZnVsbHkgc3RhdGljLCBzbyB3ZSBjYW4gb21pdCBpdCBmcm9tIHRoZVxuICAgICAgLy8gbmF2aWdhdGlvbiByZXF1ZXN0LlxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGVyZSdzIG5vIHByZWZldGNoIGZvciB0aGlzIHNlZ21lbnQuIEV2ZXJ5dGhpbmcgZnJvbSB0aGlzIHBvaW50IHdpbGwgYmVcbiAgICAvLyByZXF1ZXN0ZWQgZnJvbSB0aGUgc2VydmVyLCBldmVuIGlmIHRoZXJlIGFyZSBzdGF0aWMgY2hpbGRyZW4gYmVsb3cgaXQuXG4gICAgLy8gQ3JlYXRlIGEgdGVybWluYWwgdGFzayBub2RlIHRoYXQgd2lsbCBsYXRlciBiZSBmdWxmaWxsZWQgYnlcbiAgICAvLyBzZXJ2ZXIgcmVzcG9uc2UuXG4gICAgcmV0dXJuIHNwYXduUGVuZGluZ1Rhc2soXG4gICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgIHJvdXRlclN0YXRlLFxuICAgICAgbnVsbCxcbiAgICAgIHBvc3NpYmx5UGFydGlhbFByZWZldGNoSGVhZCxcbiAgICAgIGlzUHJlZmV0Y2hIZWFkUGFydGlhbCxcbiAgICAgIHNlZ21lbnRQYXRoLFxuICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgKVxuICB9XG5cbiAgLy8gV2UgYWxyZWFkeSBoYXZlIGEgZnVsbCBzZWdtZW50IHdlIGNhbiByZW5kZXIsIHNvIHdlIGRvbid0IG5lZWQgdG8gcmVxdWVzdCBhXG4gIC8vIG5ldyBvbmUgZnJvbSB0aGUgc2VydmVyLiBLZWVwIHRyYXZlcnNpbmcgZG93biB0aGUgdHJlZSB1bnRpbCB3ZSByZWFjaFxuICAvLyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBhIGR5bmFtaWMgcmVxdWVzdC5cbiAgY29uc3QgcHJlZmV0Y2hEYXRhQ2hpbGRyZW4gPSBwcmVmZXRjaERhdGEgIT09IG51bGwgPyBwcmVmZXRjaERhdGFbMl0gOiBudWxsXG4gIGNvbnN0IHRhc2tDaGlsZHJlbiA9IG5ldyBNYXAoKVxuICBjb25zdCBleGlzdGluZ0NhY2hlTm9kZUNoaWxkcmVuID1cbiAgICBleGlzdGluZ0NhY2hlTm9kZSAhPT0gdW5kZWZpbmVkID8gZXhpc3RpbmdDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMgOiBudWxsXG4gIGNvbnN0IGNhY2hlTm9kZUNoaWxkcmVuID0gbmV3IE1hcChleGlzdGluZ0NhY2hlTm9kZUNoaWxkcmVuKVxuICBsZXQgZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW46IHtcbiAgICBbcGFyYWxsZWxSb3V0ZUtleTogc3RyaW5nXTogRmxpZ2h0Um91dGVyU3RhdGVcbiAgfSA9IHt9XG4gIGxldCBuZWVkc0R5bmFtaWNSZXF1ZXN0ID0gZmFsc2VcbiAgaWYgKGlzTGVhZlNlZ21lbnQpIHtcbiAgICAvLyBUaGUgc2VnbWVudCBwYXRoIG9mIGV2ZXJ5IGxlYWYgc2VnbWVudCAoaS5lLiBwYWdlKSBpcyBjb2xsZWN0ZWQgaW50b1xuICAgIC8vIGEgcmVzdWx0IGFycmF5LiBUaGlzIGlzIHVzZWQgYnkgdGhlIExheW91dFJvdXRlciB0byBzY3JvbGwgdG8gZW5zdXJlIHRoYXRcbiAgICAvLyBuZXcgcGFnZXMgYXJlIHZpc2libGUgYWZ0ZXIgYSBuYXZpZ2F0aW9uLlxuICAgIC8vIFRPRE86IFdlIHNob3VsZCB1c2UgYSBzdHJpbmcgdG8gcmVwcmVzZW50IHRoZSBzZWdtZW50IHBhdGggaW5zdGVhZCBvZlxuICAgIC8vIGFuIGFycmF5LiBXZSBhbHJlYWR5IHVzZSBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBmb3IgdGhlIHBhdGggd2hlblxuICAgIC8vIGFjY2Vzc2luZyB0aGUgU2VnbWVudCBDYWNoZSwgc28gd2UgY2FuIHVzZSB0aGUgc2FtZSBvbmUuXG4gICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0LnB1c2goc2VnbWVudFBhdGgpXG4gIH0gZWxzZSB7XG4gICAgZm9yIChsZXQgcGFyYWxsZWxSb3V0ZUtleSBpbiByb3V0ZXJTdGF0ZUNoaWxkcmVuKSB7XG4gICAgICBjb25zdCByb3V0ZXJTdGF0ZUNoaWxkOiBGbGlnaHRSb3V0ZXJTdGF0ZSA9XG4gICAgICAgIHJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICAgIGNvbnN0IHByZWZldGNoRGF0YUNoaWxkOiBDYWNoZU5vZGVTZWVkRGF0YSB8IHZvaWQgfCBudWxsID1cbiAgICAgICAgcHJlZmV0Y2hEYXRhQ2hpbGRyZW4gIT09IG51bGxcbiAgICAgICAgICA/IHByZWZldGNoRGF0YUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldXG4gICAgICAgICAgOiBudWxsXG4gICAgICBjb25zdCBleGlzdGluZ1NlZ21lbnRNYXBDaGlsZCA9XG4gICAgICAgIGV4aXN0aW5nQ2FjaGVOb2RlQ2hpbGRyZW4gIT09IG51bGxcbiAgICAgICAgICA/IGV4aXN0aW5nQ2FjaGVOb2RlQ2hpbGRyZW4uZ2V0KHBhcmFsbGVsUm91dGVLZXkpXG4gICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHNlZ21lbnRDaGlsZCA9IHJvdXRlclN0YXRlQ2hpbGRbMF1cbiAgICAgIGNvbnN0IHNlZ21lbnRQYXRoQ2hpbGQgPSBzZWdtZW50UGF0aC5jb25jYXQoW1xuICAgICAgICBwYXJhbGxlbFJvdXRlS2V5LFxuICAgICAgICBzZWdtZW50Q2hpbGQsXG4gICAgICBdKVxuICAgICAgY29uc3Qgc2VnbWVudEtleUNoaWxkID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudENoaWxkKVxuXG4gICAgICBjb25zdCBleGlzdGluZ0NhY2hlTm9kZUNoaWxkID1cbiAgICAgICAgZXhpc3RpbmdTZWdtZW50TWFwQ2hpbGQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gZXhpc3RpbmdTZWdtZW50TWFwQ2hpbGQuZ2V0KHNlZ21lbnRLZXlDaGlsZClcbiAgICAgICAgICA6IHVuZGVmaW5lZFxuXG4gICAgICBjb25zdCB0YXNrQ2hpbGQgPSBjcmVhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24oXG4gICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgICByb3V0ZXJTdGF0ZUNoaWxkLFxuICAgICAgICBleGlzdGluZ0NhY2hlTm9kZUNoaWxkLFxuICAgICAgICBwcmVmZXRjaERhdGFDaGlsZCxcbiAgICAgICAgcG9zc2libHlQYXJ0aWFsUHJlZmV0Y2hIZWFkLFxuICAgICAgICBpc1ByZWZldGNoSGVhZFBhcnRpYWwsXG4gICAgICAgIHNlZ21lbnRQYXRoQ2hpbGQsXG4gICAgICAgIHNjcm9sbGFibGVTZWdtZW50c1Jlc3VsdFxuICAgICAgKVxuICAgICAgdGFza0NoaWxkcmVuLnNldChwYXJhbGxlbFJvdXRlS2V5LCB0YXNrQ2hpbGQpXG4gICAgICBjb25zdCBkeW5hbWljUmVxdWVzdFRyZWVDaGlsZCA9IHRhc2tDaGlsZC5keW5hbWljUmVxdWVzdFRyZWVcbiAgICAgIGlmIChkeW5hbWljUmVxdWVzdFRyZWVDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAvLyBTb21ldGhpbmcgaW4gdGhlIGNoaWxkIHRyZWUgaXMgZHluYW1pYy5cbiAgICAgICAgbmVlZHNEeW5hbWljUmVxdWVzdCA9IHRydWVcbiAgICAgICAgZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV0gPSBkeW5hbWljUmVxdWVzdFRyZWVDaGlsZFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV0gPSByb3V0ZXJTdGF0ZUNoaWxkXG4gICAgICB9XG4gICAgICBjb25zdCBuZXdDYWNoZU5vZGVDaGlsZCA9IHRhc2tDaGlsZC5ub2RlXG4gICAgICBpZiAobmV3Q2FjaGVOb2RlQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbmV3U2VnbWVudE1hcENoaWxkOiBDaGlsZFNlZ21lbnRNYXAgPSBuZXcgTWFwKClcbiAgICAgICAgbmV3U2VnbWVudE1hcENoaWxkLnNldChzZWdtZW50S2V5Q2hpbGQsIG5ld0NhY2hlTm9kZUNoaWxkKVxuICAgICAgICBjYWNoZU5vZGVDaGlsZHJlbi5zZXQocGFyYWxsZWxSb3V0ZUtleSwgbmV3U2VnbWVudE1hcENoaWxkKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLy8gU2luY2Ugd2UncmUgaW5zaWRlIGEgbmV3IHJvdXRlIHRyZWUsIHVubGlrZSB0aGVcbiAgICAvLyBgdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uYCBwYXRoLCB0aGUgcm91dGVyIHN0YXRlIG9uIHRoZSBjaGlsZHJlblxuICAgIC8vIHRhc2tzIGlzIGFsd2F5cyB0aGUgc2FtZSBhcyB0aGUgcm91dGVyIHN0YXRlIHdlIHBhc3MgaW4uIFNvIHdlIGRvbid0IG5lZWRcbiAgICAvLyB0byBjbG9uZS9tb2RpZnkgaXQuXG4gICAgcm91dGU6IHJvdXRlclN0YXRlLFxuICAgIG5vZGU6IHtcbiAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgLy8gU2luY2UgdGhpcyBzZWdtZW50IGlzIGFscmVhZHkgZnVsbCwgd2UgZG9uJ3QgbmVlZCB0byB1c2UgdGhlXG4gICAgICAvLyBgcHJlZmV0Y2hSc2NgIGZpZWxkLlxuICAgICAgcnNjLFxuICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICBoZWFkLFxuICAgICAgcHJlZmV0Y2hIZWFkOiBudWxsLFxuICAgICAgbG9hZGluZyxcbiAgICAgIHBhcmFsbGVsUm91dGVzOiBjYWNoZU5vZGVDaGlsZHJlbixcbiAgICAgIG5hdmlnYXRlZEF0OiBjYWNoZU5vZGVOYXZpZ2F0ZWRBdCxcbiAgICB9LFxuICAgIGR5bmFtaWNSZXF1ZXN0VHJlZTogbmVlZHNEeW5hbWljUmVxdWVzdFxuICAgICAgPyBwYXRjaFJvdXRlclN0YXRlV2l0aE5ld0NoaWxkcmVuKHJvdXRlclN0YXRlLCBkeW5hbWljUmVxdWVzdFRyZWVDaGlsZHJlbilcbiAgICAgIDogbnVsbCxcbiAgICBjaGlsZHJlbjogdGFza0NoaWxkcmVuLFxuICB9XG59XG5cbmZ1bmN0aW9uIHBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4oXG4gIGJhc2VSb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIG5ld0NoaWxkcmVuOiB7IFtwYXJhbGxlbFJvdXRlS2V5OiBzdHJpbmddOiBGbGlnaHRSb3V0ZXJTdGF0ZSB9XG4pOiBGbGlnaHRSb3V0ZXJTdGF0ZSB7XG4gIGNvbnN0IGNsb25lOiBGbGlnaHRSb3V0ZXJTdGF0ZSA9IFtiYXNlUm91dGVyU3RhdGVbMF0sIG5ld0NoaWxkcmVuXVxuICAvLyBCYXNlZCBvbiBlcXVpdmFsZW50IGxvZ2ljIGluIGFwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLCBidXQgc2hvdWxkXG4gIC8vIGNvbmZpcm0gd2hldGhlciB3ZSBuZWVkIHRvIGNvcHkgYWxsIG9mIHRoZXNlIGZpZWxkcy4gTm90IHN1cmUgdGhlIHNlcnZlclxuICAvLyBldmVyIHNlbmRzLCBlLmcuIHRoZSByZWZldGNoIG1hcmtlci5cbiAgaWYgKDIgaW4gYmFzZVJvdXRlclN0YXRlKSB7XG4gICAgY2xvbmVbMl0gPSBiYXNlUm91dGVyU3RhdGVbMl1cbiAgfVxuICBpZiAoMyBpbiBiYXNlUm91dGVyU3RhdGUpIHtcbiAgICBjbG9uZVszXSA9IGJhc2VSb3V0ZXJTdGF0ZVszXVxuICB9XG4gIGlmICg0IGluIGJhc2VSb3V0ZXJTdGF0ZSkge1xuICAgIGNsb25lWzRdID0gYmFzZVJvdXRlclN0YXRlWzRdXG4gIH1cbiAgcmV0dXJuIGNsb25lXG59XG5cbmZ1bmN0aW9uIHNwYXduUGVuZGluZ1Rhc2soXG4gIG5hdmlnYXRlZEF0OiBudW1iZXIsXG4gIHJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgcHJlZmV0Y2hEYXRhOiBDYWNoZU5vZGVTZWVkRGF0YSB8IG51bGwsXG4gIHByZWZldGNoSGVhZDogSGVhZERhdGEgfCBudWxsLFxuICBpc1ByZWZldGNoSGVhZFBhcnRpYWw6IGJvb2xlYW4sXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aCxcbiAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0OiBBcnJheTxGbGlnaHRTZWdtZW50UGF0aD5cbik6IFNQQU5hdmlnYXRpb25UYXNrIHtcbiAgLy8gQ3JlYXRlIGEgdGFzayB0aGF0IHdpbGwgbGF0ZXIgYmUgZnVsZmlsbGVkIGJ5IGRhdGEgZnJvbSB0aGUgc2VydmVyLlxuXG4gIC8vIENsb25lIHRoZSBwcmVmZXRjaGVkIHJvdXRlIHRyZWUgYW5kIHRoZSBgcmVmZXRjaGAgbWFya2VyIHRvIGl0LiBXZSdsbCBzZW5kXG4gIC8vIHRoaXMgdG8gdGhlIHNlcnZlciBzbyBpdCBrbm93cyB3aGVyZSB0byBzdGFydCByZW5kZXJpbmcuXG4gIGNvbnN0IGR5bmFtaWNSZXF1ZXN0VHJlZSA9IHBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4oXG4gICAgcm91dGVyU3RhdGUsXG4gICAgcm91dGVyU3RhdGVbMV1cbiAgKVxuICBkeW5hbWljUmVxdWVzdFRyZWVbM10gPSAncmVmZXRjaCdcblxuICBjb25zdCBuZXdUYXNrOiBUYXNrID0ge1xuICAgIHJvdXRlOiByb3V0ZXJTdGF0ZSxcblxuICAgIC8vIENvcnJlc3BvbmRzIHRvIHRoZSBwYXJ0IG9mIHRoZSByb3V0ZSB0aGF0IHdpbGwgYmUgcmVuZGVyZWQgb24gdGhlIHNlcnZlci5cbiAgICBub2RlOiBjcmVhdGVQZW5kaW5nQ2FjaGVOb2RlKFxuICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICByb3V0ZXJTdGF0ZSxcbiAgICAgIHByZWZldGNoRGF0YSxcbiAgICAgIHByZWZldGNoSGVhZCxcbiAgICAgIGlzUHJlZmV0Y2hIZWFkUGFydGlhbCxcbiAgICAgIHNlZ21lbnRQYXRoLFxuICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgKSxcbiAgICAvLyBCZWNhdXNlIHRoaXMgaXMgbm9uLW51bGwsIGFuZCBpdCBnZXRzIHByb3BhZ2F0ZWQgdXAgdGhyb3VnaCB0aGUgcGFyZW50XG4gICAgLy8gdGFza3MsIHRoZSByb290IHRhc2sgd2lsbCBrbm93IHRoYXQgaXQgbmVlZHMgdG8gcGVyZm9ybSBhIHNlcnZlciByZXF1ZXN0LlxuICAgIGR5bmFtaWNSZXF1ZXN0VHJlZSxcbiAgICBjaGlsZHJlbjogbnVsbCxcbiAgfVxuICByZXR1cm4gbmV3VGFza1xufVxuXG5mdW5jdGlvbiBzcGF3blJldXNlZFRhc2socmV1c2VkUm91dGVyU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlKTogVGFzayB7XG4gIC8vIENyZWF0ZSBhIHRhc2sgdGhhdCByZXVzZXMgYW4gZXhpc3Rpbmcgc2VnbWVudCwgZS5nLiB3aGVuIHJldXNpbmdcbiAgLy8gdGhlIGN1cnJlbnQgYWN0aXZlIHNlZ21lbnQgaW4gcGxhY2Ugb2YgYSBkZWZhdWx0IHJvdXRlLlxuICByZXR1cm4ge1xuICAgIHJvdXRlOiByZXVzZWRSb3V0ZXJTdGF0ZSxcbiAgICBub2RlOiBudWxsLFxuICAgIGR5bmFtaWNSZXF1ZXN0VHJlZTogbnVsbCxcbiAgICBjaGlsZHJlbjogbnVsbCxcbiAgfVxufVxuXG4vLyBXcml0ZXMgYSBkeW5hbWljIHNlcnZlciByZXNwb25zZSBpbnRvIHRoZSB0cmVlIGNyZWF0ZWQgYnlcbi8vIHVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbi4gQWxsIHBlbmRpbmcgcHJvbWlzZXMgdGhhdCB3ZXJlIHNwYXduZWQgYnkgdGhlXG4vLyBuYXZpZ2F0aW9uIHdpbGwgYmUgcmVzb2x2ZWQsIGVpdGhlciB3aXRoIGR5bmFtaWMgZGF0YSBmcm9tIHRoZSBzZXJ2ZXIsIG9yXG4vLyBgbnVsbGAgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZGF0YSBpcyBtaXNzaW5nLlxuLy9cbi8vIEEgYG51bGxgIHZhbHVlIHdpbGwgdHJpZ2dlciBhIGxhenkgZmV0Y2ggZHVyaW5nIHJlbmRlciwgd2hpY2ggd2lsbCB0aGVuIHBhdGNoXG4vLyB1cCB0aGUgdHJlZSB1c2luZyB0aGUgc2FtZSBtZWNoYW5pc20gYXMgdGhlIG5vbi1QUFIgaW1wbGVtZW50YXRpb25cbi8vIChzZXJ2ZXJQYXRjaFJlZHVjZXIpLlxuLy9cbi8vIFVzdWFsbHksIHRoZSBzZXJ2ZXIgd2lsbCByZXNwb25kIHdpdGggZXhhY3RseSB0aGUgc3Vic2V0IG9mIGRhdGEgdGhhdCB3ZSdyZVxuLy8gd2FpdGluZyBmb3Ig4oCUIGV2ZXJ5dGhpbmcgYmVsb3cgdGhlIG5lYXJlc3Qgc2hhcmVkIGxheW91dC4gQnV0IHRlY2huaWNhbGx5LFxuLy8gdGhlIHNlcnZlciBjYW4gcmV0dXJuIGFueXRoaW5nIGl0IHdhbnRzLlxuLy9cbi8vIFRoaXMgZG9lcyBfbm90XyBjcmVhdGUgYSBuZXcgdHJlZTsgaXQgbW9kaWZpZXMgdGhlIGV4aXN0aW5nIG9uZSBpbiBwbGFjZS5cbi8vIFdoaWNoIG1lYW5zIGl0IG11c3QgZm9sbG93IHRoZSBTdXNwZW5zZSBydWxlcyBvZiBjYWNoZSBzYWZldHkuXG5leHBvcnQgZnVuY3Rpb24gbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QoXG4gIHRhc2s6IFNQQU5hdmlnYXRpb25UYXNrLFxuICByZXNwb25zZVByb21pc2U6IFByb21pc2U8RmV0Y2hTZXJ2ZXJSZXNwb25zZVJlc3VsdD5cbikge1xuICByZXNwb25zZVByb21pc2UudGhlbihcbiAgICAoeyBmbGlnaHREYXRhIH06IEZldGNoU2VydmVyUmVzcG9uc2VSZXN1bHQpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gSGFwcGVucyB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGAuIFdlIHNob3VsZG4ndFxuICAgICAgICAvLyBnZXQgaGVyZSBiZWNhdXNlIHNob3VsZCBoYXZlIGFscmVhZHkgaGFuZGxlZCB0aGlzIGR1cmluZ1xuICAgICAgICAvLyB0aGUgcHJlZmV0Y2guXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSBvZiBmbGlnaHREYXRhKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBzZWdtZW50UGF0aCxcbiAgICAgICAgICB0cmVlOiBzZXJ2ZXJSb3V0ZXJTdGF0ZSxcbiAgICAgICAgICBzZWVkRGF0YTogZHluYW1pY0RhdGEsXG4gICAgICAgICAgaGVhZDogZHluYW1pY0hlYWQsXG4gICAgICAgIH0gPSBub3JtYWxpemVkRmxpZ2h0RGF0YVxuXG4gICAgICAgIGlmICghZHluYW1pY0RhdGEpIHtcbiAgICAgICAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4uIFBQUiBzaG91bGQgYWx3YXlzIHNlbmQgYmFjayBhIHJlc3BvbnNlLlxuICAgICAgICAgIC8vIEhvd2V2ZXIsIGBGbGlnaHREYXRhUGF0aGAgaXMgYSBzaGFyZWQgdHlwZSBhbmQgdGhlIHByZS1QUFIgaGFuZGxpbmcgb2ZcbiAgICAgICAgICAvLyB0aGlzIG1pZ2h0IHJldHVybiBudWxsLlxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICB3cml0ZUR5bmFtaWNEYXRhSW50b1BlbmRpbmdUYXNrKFxuICAgICAgICAgIHRhc2ssXG4gICAgICAgICAgc2VnbWVudFBhdGgsXG4gICAgICAgICAgc2VydmVyUm91dGVyU3RhdGUsXG4gICAgICAgICAgZHluYW1pY0RhdGEsXG4gICAgICAgICAgZHluYW1pY0hlYWRcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBleGhhdXN0ZWQgYWxsIHRoZSBkYXRhIHdlIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciwgaWZcbiAgICAgIC8vIHRoZXJlIGFyZSBhbnkgcmVtYWluaW5nIHBlbmRpbmcgdGFza3MgaW4gdGhlIHRyZWUsIGFib3J0IHRoZW0gbm93LlxuICAgICAgLy8gSWYgdGhlcmUncyBhbnkgbWlzc2luZyBkYXRhLCBpdCB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoLlxuICAgICAgYWJvcnRUYXNrKHRhc2ssIG51bGwpXG4gICAgfSxcbiAgICAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgLy8gVGhpcyB3aWxsIHRyaWdnZXIgYW4gZXJyb3IgZHVyaW5nIHJlbmRlclxuICAgICAgYWJvcnRUYXNrKHRhc2ssIGVycm9yKVxuICAgIH1cbiAgKVxufVxuXG5mdW5jdGlvbiB3cml0ZUR5bmFtaWNEYXRhSW50b1BlbmRpbmdUYXNrKFxuICByb290VGFzazogU1BBTmF2aWdhdGlvblRhc2ssXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aCxcbiAgc2VydmVyUm91dGVyU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBkeW5hbWljRGF0YTogQ2FjaGVOb2RlU2VlZERhdGEsXG4gIGR5bmFtaWNIZWFkOiBIZWFkRGF0YVxuKSB7XG4gIC8vIFRoZSBkYXRhIHNlbnQgYnkgdGhlIHNlcnZlciByZXByZXNlbnRzIG9ubHkgYSBzdWJ0cmVlIG9mIHRoZSBhcHAuIFdlIG5lZWRcbiAgLy8gdG8gZmluZCB0aGUgcGFydCBvZiB0aGUgdGFzayB0cmVlIHRoYXQgbWF0Y2hlcyB0aGUgc2VydmVyIHJlc3BvbnNlLCBhbmRcbiAgLy8gZnVsZmlsbCBpdCB1c2luZyB0aGUgZHluYW1pYyBkYXRhLlxuICAvL1xuICAvLyBzZWdtZW50UGF0aCByZXByZXNlbnRzIHRoZSBwYXJlbnQgcGF0aCBvZiBzdWJ0cmVlLiBJdCdzIGEgcmVwZWF0aW5nIHBhdHRlcm5cbiAgLy8gb2YgcGFyYWxsZWwgcm91dGUga2V5IGFuZCBzZWdtZW50OlxuICAvL1xuICAvLyAgIFtzdHJpbmcsIFNlZ21lbnQsIHN0cmluZywgU2VnbWVudCwgc3RyaW5nLCBTZWdtZW50LCAuLi5dXG4gIC8vXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCB0aGUgcGF0aCBhbmQgZmluaXNoIGFueSB0YXNrcyB0aGF0IG1hdGNoIHRoaXMgcGF5bG9hZC5cbiAgbGV0IHRhc2sgPSByb290VGFza1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHNlZ21lbnRQYXRoLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZUtleTogc3RyaW5nID0gc2VnbWVudFBhdGhbaV1cbiAgICBjb25zdCBzZWdtZW50OiBTZWdtZW50ID0gc2VnbWVudFBhdGhbaSArIDFdXG4gICAgY29uc3QgdGFza0NoaWxkcmVuID0gdGFzay5jaGlsZHJlblxuICAgIGlmICh0YXNrQ2hpbGRyZW4gIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRhc2tDaGlsZCA9IHRhc2tDaGlsZHJlbi5nZXQocGFyYWxsZWxSb3V0ZUtleSlcbiAgICAgIGlmICh0YXNrQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCB0YXNrU2VnbWVudCA9IHRhc2tDaGlsZC5yb3V0ZVswXVxuICAgICAgICBpZiAobWF0Y2hTZWdtZW50KHNlZ21lbnQsIHRhc2tTZWdtZW50KSkge1xuICAgICAgICAgIC8vIEZvdW5kIGEgbWF0Y2ggZm9yIHRoaXMgdGFzay4gS2VlcCB0cmF2ZXJzaW5nIGRvd24gdGhlIHRhc2sgdHJlZS5cbiAgICAgICAgICB0YXNrID0gdGFza0NoaWxkXG4gICAgICAgICAgY29udGludWVcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBXZSBkaWRuJ3QgZmluZCBhIGNoaWxkIHRhc2sgdGhhdCBtYXRjaGVzIHRoZSBzZXJ2ZXIgZGF0YS4gRXhpdC4gV2Ugd29uJ3RcbiAgICAvLyBhYm9ydCB0aGUgdGFzaywgdGhvdWdoLCBiZWNhdXNlIGEgZGlmZmVyZW50IEZsaWdodERhdGFQYXRoIG1heSBiZSBhYmxlIHRvXG4gICAgLy8gZnVsZmlsbCBpdCAoc2VlIGxvb3AgaW4gbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QpLiBXZSBvbmx5IGFib3J0IHRhc2tzXG4gICAgLy8gb25jZSB3ZSd2ZSBydW4gb3V0IG9mIGRhdGEuXG4gICAgcmV0dXJuXG4gIH1cblxuICBmaW5pc2hUYXNrVXNpbmdEeW5hbWljRGF0YVBheWxvYWQoXG4gICAgdGFzayxcbiAgICBzZXJ2ZXJSb3V0ZXJTdGF0ZSxcbiAgICBkeW5hbWljRGF0YSxcbiAgICBkeW5hbWljSGVhZFxuICApXG59XG5cbmZ1bmN0aW9uIGZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZChcbiAgdGFzazogU1BBTmF2aWdhdGlvblRhc2ssXG4gIHNlcnZlclJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgZHluYW1pY0RhdGE6IENhY2hlTm9kZVNlZWREYXRhLFxuICBkeW5hbWljSGVhZDogSGVhZERhdGFcbikge1xuICBpZiAodGFzay5keW5hbWljUmVxdWVzdFRyZWUgPT09IG51bGwpIHtcbiAgICAvLyBFdmVyeXRoaW5nIGluIHRoaXMgc3VidHJlZSBpcyBhbHJlYWR5IGNvbXBsZXRlLiBCYWlsIG91dC5cbiAgICByZXR1cm5cbiAgfVxuXG4gIC8vIGR5bmFtaWNEYXRhIG1heSByZXByZXNlbnQgYSBsYXJnZXIgc3VidHJlZSB0aGFuIHRoZSB0YXNrLiBCZWZvcmUgd2UgY2FuXG4gIC8vIGZpbmlzaCB0aGUgdGFzaywgd2UgbmVlZCB0byBsaW5lIHRoZW0gdXAuXG4gIGNvbnN0IHRhc2tDaGlsZHJlbiA9IHRhc2suY2hpbGRyZW5cbiAgY29uc3QgdGFza05vZGUgPSB0YXNrLm5vZGVcbiAgaWYgKHRhc2tDaGlsZHJlbiA9PT0gbnVsbCkge1xuICAgIC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIGxlYWYgbm9kZSBvZiB0aGUgcGVuZGluZyB0YXNrLiBUaGUgc2VydmVyIGRhdGEgdHJlZVxuICAgIC8vIGxpbmVzIHVwIHRoZSBwZW5kaW5nIENhY2hlIE5vZGUgdHJlZS4gV2UgY2FuIG5vdyBzd2l0Y2ggdG8gdGhlXG4gICAgLy8gbm9ybWFsIGFsZ29yaXRobS5cbiAgICBpZiAodGFza05vZGUgIT09IG51bGwpIHtcbiAgICAgIGZpbmlzaFBlbmRpbmdDYWNoZU5vZGUoXG4gICAgICAgIHRhc2tOb2RlLFxuICAgICAgICB0YXNrLnJvdXRlLFxuICAgICAgICBzZXJ2ZXJSb3V0ZXJTdGF0ZSxcbiAgICAgICAgZHluYW1pY0RhdGEsXG4gICAgICAgIGR5bmFtaWNIZWFkXG4gICAgICApXG4gICAgICAvLyBTZXQgdGhpcyB0byBudWxsIHRvIGluZGljYXRlIHRoYXQgdGhpcyB0YXNrIGlzIG5vdyBjb21wbGV0ZS5cbiAgICAgIHRhc2suZHluYW1pY1JlcXVlc3RUcmVlID0gbnVsbFxuICAgIH1cbiAgICByZXR1cm5cbiAgfVxuICAvLyBUaGUgc2VydmVyIHJldHVybmVkIG1vcmUgZGF0YSB0aGFuIHdlIG5lZWQgdG8gZmluaXNoIHRoZSB0YXNrLiBTa2lwIG92ZXJcbiAgLy8gdGhlIGV4dHJhIHNlZ21lbnRzIHVudGlsIHdlIHJlYWNoIHRoZSBsZWFmIHRhc2sgbm9kZS5cbiAgY29uc3Qgc2VydmVyQ2hpbGRyZW4gPSBzZXJ2ZXJSb3V0ZXJTdGF0ZVsxXVxuICBjb25zdCBkeW5hbWljRGF0YUNoaWxkcmVuID0gZHluYW1pY0RhdGFbMl1cblxuICBmb3IgKGNvbnN0IHBhcmFsbGVsUm91dGVLZXkgaW4gc2VydmVyUm91dGVyU3RhdGUpIHtcbiAgICBjb25zdCBzZXJ2ZXJSb3V0ZXJTdGF0ZUNoaWxkOiBGbGlnaHRSb3V0ZXJTdGF0ZSA9XG4gICAgICBzZXJ2ZXJDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XVxuICAgIGNvbnN0IGR5bmFtaWNEYXRhQ2hpbGQ6IENhY2hlTm9kZVNlZWREYXRhIHwgbnVsbCB8IHZvaWQgPVxuICAgICAgZHluYW1pY0RhdGFDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XVxuXG4gICAgY29uc3QgdGFza0NoaWxkID0gdGFza0NoaWxkcmVuLmdldChwYXJhbGxlbFJvdXRlS2V5KVxuICAgIGlmICh0YXNrQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgdGFza1NlZ21lbnQgPSB0YXNrQ2hpbGQucm91dGVbMF1cbiAgICAgIGlmIChcbiAgICAgICAgbWF0Y2hTZWdtZW50KHNlcnZlclJvdXRlclN0YXRlQ2hpbGRbMF0sIHRhc2tTZWdtZW50KSAmJlxuICAgICAgICBkeW5hbWljRGF0YUNoaWxkICE9PSBudWxsICYmXG4gICAgICAgIGR5bmFtaWNEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZFxuICAgICAgKSB7XG4gICAgICAgIC8vIEZvdW5kIGEgbWF0Y2ggZm9yIHRoaXMgdGFzay4gS2VlcCB0cmF2ZXJzaW5nIGRvd24gdGhlIHRhc2sgdHJlZS5cbiAgICAgICAgcmV0dXJuIGZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZChcbiAgICAgICAgICB0YXNrQ2hpbGQsXG4gICAgICAgICAgc2VydmVyUm91dGVyU3RhdGVDaGlsZCxcbiAgICAgICAgICBkeW5hbWljRGF0YUNoaWxkLFxuICAgICAgICAgIGR5bmFtaWNIZWFkXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gV2UgZGlkbid0IGZpbmQgYSBjaGlsZCB0YXNrIHRoYXQgbWF0Y2hlcyB0aGUgc2VydmVyIGRhdGEuIFdlIHdvbid0IGFib3J0XG4gICAgLy8gdGhlIHRhc2ssIHRob3VnaCwgYmVjYXVzZSBhIGRpZmZlcmVudCBGbGlnaHREYXRhUGF0aCBtYXkgYmUgYWJsZSB0b1xuICAgIC8vIGZ1bGZpbGwgaXQgKHNlZSBsb29wIGluIGxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0KS4gV2Ugb25seSBhYm9ydCB0YXNrc1xuICAgIC8vIG9uY2Ugd2UndmUgcnVuIG91dCBvZiBkYXRhLlxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBlbmRpbmdDYWNoZU5vZGUoXG4gIG5hdmlnYXRlZEF0OiBudW1iZXIsXG4gIHJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgcHJlZmV0Y2hEYXRhOiBDYWNoZU5vZGVTZWVkRGF0YSB8IG51bGwsXG4gIHByZWZldGNoSGVhZDogSGVhZERhdGEgfCBudWxsLFxuICBpc1ByZWZldGNoSGVhZFBhcnRpYWw6IGJvb2xlYW4sXG4gIHNlZ21lbnRQYXRoOiBGbGlnaHRTZWdtZW50UGF0aCxcbiAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0OiBBcnJheTxGbGlnaHRTZWdtZW50UGF0aD5cbik6IFJlYWR5Q2FjaGVOb2RlIHtcbiAgY29uc3Qgcm91dGVyU3RhdGVDaGlsZHJlbiA9IHJvdXRlclN0YXRlWzFdXG4gIGNvbnN0IHByZWZldGNoRGF0YUNoaWxkcmVuID0gcHJlZmV0Y2hEYXRhICE9PSBudWxsID8gcHJlZmV0Y2hEYXRhWzJdIDogbnVsbFxuXG4gIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gbmV3IE1hcCgpXG4gIGZvciAobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gcm91dGVyU3RhdGVDaGlsZHJlbikge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGQ6IEZsaWdodFJvdXRlclN0YXRlID1cbiAgICAgIHJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICBjb25zdCBwcmVmZXRjaERhdGFDaGlsZDogQ2FjaGVOb2RlU2VlZERhdGEgfCBudWxsIHwgdm9pZCA9XG4gICAgICBwcmVmZXRjaERhdGFDaGlsZHJlbiAhPT0gbnVsbFxuICAgICAgICA/IHByZWZldGNoRGF0YUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldXG4gICAgICAgIDogbnVsbFxuXG4gICAgY29uc3Qgc2VnbWVudENoaWxkID0gcm91dGVyU3RhdGVDaGlsZFswXVxuICAgIGNvbnN0IHNlZ21lbnRQYXRoQ2hpbGQgPSBzZWdtZW50UGF0aC5jb25jYXQoW1xuICAgICAgcGFyYWxsZWxSb3V0ZUtleSxcbiAgICAgIHNlZ21lbnRDaGlsZCxcbiAgICBdKVxuICAgIGNvbnN0IHNlZ21lbnRLZXlDaGlsZCA9IGNyZWF0ZVJvdXRlckNhY2hlS2V5KHNlZ21lbnRDaGlsZClcblxuICAgIGNvbnN0IG5ld0NhY2hlTm9kZUNoaWxkID0gY3JlYXRlUGVuZGluZ0NhY2hlTm9kZShcbiAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgcm91dGVyU3RhdGVDaGlsZCxcbiAgICAgIHByZWZldGNoRGF0YUNoaWxkID09PSB1bmRlZmluZWQgPyBudWxsIDogcHJlZmV0Y2hEYXRhQ2hpbGQsXG4gICAgICBwcmVmZXRjaEhlYWQsXG4gICAgICBpc1ByZWZldGNoSGVhZFBhcnRpYWwsXG4gICAgICBzZWdtZW50UGF0aENoaWxkLFxuICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzUmVzdWx0XG4gICAgKVxuXG4gICAgY29uc3QgbmV3U2VnbWVudE1hcENoaWxkOiBDaGlsZFNlZ21lbnRNYXAgPSBuZXcgTWFwKClcbiAgICBuZXdTZWdtZW50TWFwQ2hpbGQuc2V0KHNlZ21lbnRLZXlDaGlsZCwgbmV3Q2FjaGVOb2RlQ2hpbGQpXG4gICAgcGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIG5ld1NlZ21lbnRNYXBDaGlsZClcbiAgfVxuXG4gIC8vIFRoZSBoZWFkIGlzIGFzc2lnbmVkIHRvIGV2ZXJ5IGxlYWYgc2VnbWVudCBkZWxpdmVyZWQgYnkgdGhlIHNlcnZlci4gQmFzZWRcbiAgLy8gb24gY29ycmVzcG9uZGluZyBsb2dpYyBpbiBmaWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZC50c1xuICBjb25zdCBpc0xlYWZTZWdtZW50ID0gcGFyYWxsZWxSb3V0ZXMuc2l6ZSA9PT0gMFxuXG4gIGlmIChpc0xlYWZTZWdtZW50KSB7XG4gICAgLy8gVGhlIHNlZ21lbnQgcGF0aCBvZiBldmVyeSBsZWFmIHNlZ21lbnQgKGkuZS4gcGFnZSkgaXMgY29sbGVjdGVkIGludG9cbiAgICAvLyBhIHJlc3VsdCBhcnJheS4gVGhpcyBpcyB1c2VkIGJ5IHRoZSBMYXlvdXRSb3V0ZXIgdG8gc2Nyb2xsIHRvIGVuc3VyZSB0aGF0XG4gICAgLy8gbmV3IHBhZ2VzIGFyZSB2aXNpYmxlIGFmdGVyIGEgbmF2aWdhdGlvbi5cbiAgICAvLyBUT0RPOiBXZSBzaG91bGQgdXNlIGEgc3RyaW5nIHRvIHJlcHJlc2VudCB0aGUgc2VnbWVudCBwYXRoIGluc3RlYWQgb2ZcbiAgICAvLyBhbiBhcnJheS4gV2UgYWxyZWFkeSB1c2UgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gZm9yIHRoZSBwYXRoIHdoZW5cbiAgICAvLyBhY2Nlc3NpbmcgdGhlIFNlZ21lbnQgQ2FjaGUsIHNvIHdlIGNhbiB1c2UgdGhlIHNhbWUgb25lLlxuICAgIHNjcm9sbGFibGVTZWdtZW50c1Jlc3VsdC5wdXNoKHNlZ21lbnRQYXRoKVxuICB9XG5cbiAgY29uc3QgbWF5YmVQcmVmZXRjaFJzYyA9IHByZWZldGNoRGF0YSAhPT0gbnVsbCA/IHByZWZldGNoRGF0YVsxXSA6IG51bGxcbiAgY29uc3QgbWF5YmVQcmVmZXRjaExvYWRpbmcgPSBwcmVmZXRjaERhdGEgIT09IG51bGwgPyBwcmVmZXRjaERhdGFbM10gOiBudWxsXG4gIHJldHVybiB7XG4gICAgbGF6eURhdGE6IG51bGwsXG4gICAgcGFyYWxsZWxSb3V0ZXM6IHBhcmFsbGVsUm91dGVzLFxuXG4gICAgcHJlZmV0Y2hSc2M6IG1heWJlUHJlZmV0Y2hSc2MgIT09IHVuZGVmaW5lZCA/IG1heWJlUHJlZmV0Y2hSc2MgOiBudWxsLFxuICAgIHByZWZldGNoSGVhZDogaXNMZWFmU2VnbWVudCA/IHByZWZldGNoSGVhZCA6IFtudWxsLCBudWxsXSxcblxuICAgIC8vIFRPRE86IFRlY2huaWNhbGx5LCBhIGxvYWRpbmcgYm91bmRhcnkgY291bGQgY29udGFpbiBkeW5hbWljIGRhdGEuIFdlIG11c3RcbiAgICAvLyBoYXZlIHNlcGFyYXRlIGBsb2FkaW5nYCBhbmQgYHByZWZldGNoTG9hZGluZ2AgZmllbGRzIHRvIGhhbmRsZSB0aGlzLCBsaWtlXG4gICAgLy8gd2UgZG8gZm9yIHRoZSBzZWdtZW50IGRhdGEgYW5kIGhlYWQuXG4gICAgbG9hZGluZzogbWF5YmVQcmVmZXRjaExvYWRpbmcgIT09IHVuZGVmaW5lZCA/IG1heWJlUHJlZmV0Y2hMb2FkaW5nIDogbnVsbCxcblxuICAgIC8vIENyZWF0ZSBhIGRlZmVycmVkIHByb21pc2UuIFRoaXMgd2lsbCBiZSBmdWxmaWxsZWQgb25jZSB0aGUgZHluYW1pY1xuICAgIC8vIHJlc3BvbnNlIGlzIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlci5cbiAgICByc2M6IGNyZWF0ZURlZmVycmVkUnNjKCkgYXMgUmVhY3QuUmVhY3ROb2RlLFxuICAgIGhlYWQ6IGlzTGVhZlNlZ21lbnQgPyAoY3JlYXRlRGVmZXJyZWRSc2MoKSBhcyBSZWFjdC5SZWFjdE5vZGUpIDogbnVsbCxcblxuICAgIG5hdmlnYXRlZEF0LFxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmlzaFBlbmRpbmdDYWNoZU5vZGUoXG4gIGNhY2hlTm9kZTogQ2FjaGVOb2RlLFxuICB0YXNrU3RhdGU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBzZXJ2ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIGR5bmFtaWNEYXRhOiBDYWNoZU5vZGVTZWVkRGF0YSxcbiAgZHluYW1pY0hlYWQ6IEhlYWREYXRhXG4pOiB2b2lkIHtcbiAgLy8gV3JpdGVzIGEgZHluYW1pYyByZXNwb25zZSBpbnRvIGFuIGV4aXN0aW5nIENhY2hlIE5vZGUgdHJlZS4gVGhpcyBkb2VzIF9ub3RfXG4gIC8vIGNyZWF0ZSBhIG5ldyB0cmVlLCBpdCB1cGRhdGVzIHRoZSBleGlzdGluZyB0cmVlIGluLXBsYWNlLiBTbyBpdCBtdXN0IGZvbGxvd1xuICAvLyB0aGUgU3VzcGVuc2UgcnVsZXMgb2YgY2FjaGUgc2FmZXR5IOKAlCBpdCBjYW4gcmVzb2x2ZSBwZW5kaW5nIHByb21pc2VzLCBidXRcbiAgLy8gaXQgY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBkYXRhLiBJdCBjYW4gYWRkIHNlZ21lbnRzIHRvIHRoZSB0cmVlIChiZWNhdXNlXG4gIC8vIGEgbWlzc2luZyBzZWdtZW50IHdpbGwgY2F1c2UgdGhlIGxheW91dCByb3V0ZXIgdG8gc3VzcGVuZCkuXG4gIC8vIGJ1dCBpdCBjYW5ub3QgZGVsZXRlIHRoZW0uXG4gIC8vXG4gIC8vIFdlIG11c3QgcmVzb2x2ZSBldmVyeSBwcm9taXNlIGluIHRoZSB0cmVlLCBvciBlbHNlIGl0IHdpbGwgc3VzcGVuZFxuICAvLyBpbmRlZmluaXRlbHkuIElmIHdlIGRpZCBub3QgcmVjZWl2ZSBkYXRhIGZvciBhIHNlZ21lbnQsIHdlIHdpbGwgcmVzb2x2ZSBpdHNcbiAgLy8gZGF0YSBwcm9taXNlIHRvIGBudWxsYCB0byB0cmlnZ2VyIGEgbGF6eSBmZXRjaCBkdXJpbmcgcmVuZGVyLlxuICBjb25zdCB0YXNrU3RhdGVDaGlsZHJlbiA9IHRhc2tTdGF0ZVsxXVxuICBjb25zdCBzZXJ2ZXJTdGF0ZUNoaWxkcmVuID0gc2VydmVyU3RhdGVbMV1cbiAgY29uc3QgZGF0YUNoaWxkcmVuID0gZHluYW1pY0RhdGFbMl1cblxuICAvLyBUaGUgcm91dGVyIHN0YXRlIHRoYXQgd2UgdHJhdmVyc2UgdGhlIHRyZWUgd2l0aCAodGFza1N0YXRlKSBpcyB0aGUgc2FtZSBvbmVcbiAgLy8gdGhhdCB3ZSB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgcGVuZGluZyBDYWNoZSBOb2RlIHRyZWUuIFRoYXQgd2F5IHdlJ3JlIHN1cmVcbiAgLy8gdG8gcmVzb2x2ZSBhbGwgdGhlIHBlbmRpbmcgcHJvbWlzZXMuXG4gIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gY2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzXG4gIGZvciAobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gdGFza1N0YXRlQ2hpbGRyZW4pIHtcbiAgICBjb25zdCB0YXNrU3RhdGVDaGlsZDogRmxpZ2h0Um91dGVyU3RhdGUgPVxuICAgICAgdGFza1N0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICBjb25zdCBzZXJ2ZXJTdGF0ZUNoaWxkOiBGbGlnaHRSb3V0ZXJTdGF0ZSB8IHZvaWQgPVxuICAgICAgc2VydmVyU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XVxuICAgIGNvbnN0IGRhdGFDaGlsZDogQ2FjaGVOb2RlU2VlZERhdGEgfCBudWxsIHwgdm9pZCA9XG4gICAgICBkYXRhQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV1cblxuICAgIGNvbnN0IHNlZ21lbnRNYXBDaGlsZCA9IHBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KVxuICAgIGNvbnN0IHRhc2tTZWdtZW50Q2hpbGQgPSB0YXNrU3RhdGVDaGlsZFswXVxuICAgIGNvbnN0IHRhc2tTZWdtZW50S2V5Q2hpbGQgPSBjcmVhdGVSb3V0ZXJDYWNoZUtleSh0YXNrU2VnbWVudENoaWxkKVxuXG4gICAgY29uc3QgY2FjaGVOb2RlQ2hpbGQgPVxuICAgICAgc2VnbWVudE1hcENoaWxkICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyBzZWdtZW50TWFwQ2hpbGQuZ2V0KHRhc2tTZWdtZW50S2V5Q2hpbGQpXG4gICAgICAgIDogdW5kZWZpbmVkXG5cbiAgICBpZiAoY2FjaGVOb2RlQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKFxuICAgICAgICBzZXJ2ZXJTdGF0ZUNoaWxkICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgbWF0Y2hTZWdtZW50KHRhc2tTZWdtZW50Q2hpbGQsIHNlcnZlclN0YXRlQ2hpbGRbMF0pXG4gICAgICApIHtcbiAgICAgICAgaWYgKGRhdGFDaGlsZCAhPT0gdW5kZWZpbmVkICYmIGRhdGFDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGhhcHB5IHBhdGguIFJlY3Vyc2l2ZWx5IHVwZGF0ZSBhbGwgdGhlIGNoaWxkcmVuLlxuICAgICAgICAgIGZpbmlzaFBlbmRpbmdDYWNoZU5vZGUoXG4gICAgICAgICAgICBjYWNoZU5vZGVDaGlsZCxcbiAgICAgICAgICAgIHRhc2tTdGF0ZUNoaWxkLFxuICAgICAgICAgICAgc2VydmVyU3RhdGVDaGlsZCxcbiAgICAgICAgICAgIGRhdGFDaGlsZCxcbiAgICAgICAgICAgIGR5bmFtaWNIZWFkXG4gICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgbmV2ZXIgcmV0dXJuZWQgZGF0YSBmb3IgdGhpcyBzZWdtZW50LiBUcmlnZ2VyIGEgbGF6eVxuICAgICAgICAgIC8vIGZldGNoIGR1cmluZyByZW5kZXIuIFRoaXMgc2hvdWxkbid0IGhhcHBlbiBiZWNhdXNlIHRoZSBSb3V0ZSBUcmVlXG4gICAgICAgICAgLy8gYW5kIHRoZSBTZWVkIERhdGEgdHJlZSBzZW50IGJ5IHRoZSBzZXJ2ZXIgc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZVxuICAgICAgICAgIC8vIHNoYXBlIHdoZW4gcGFydCBvZiB0aGUgc2FtZSBzZXJ2ZXIgcmVzcG9uc2UuXG4gICAgICAgICAgYWJvcnRQZW5kaW5nQ2FjaGVOb2RlKHRhc2tTdGF0ZUNoaWxkLCBjYWNoZU5vZGVDaGlsZCwgbnVsbClcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhlIHNlcnZlciBuZXZlciByZXR1cm5lZCBkYXRhIGZvciB0aGlzIHNlZ21lbnQuIFRyaWdnZXIgYSBsYXp5XG4gICAgICAgIC8vIGZldGNoIGR1cmluZyByZW5kZXIuXG4gICAgICAgIGFib3J0UGVuZGluZ0NhY2hlTm9kZSh0YXNrU3RhdGVDaGlsZCwgY2FjaGVOb2RlQ2hpbGQsIG51bGwpXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBzZXJ2ZXIgcmVzcG9uc2UgbWF0Y2hlcyB3aGF0IHdhcyBleHBlY3RlZCB0byByZWNlaXZlLCBidXQgdGhlcmUnc1xuICAgICAgLy8gbm8gbWF0Y2hpbmcgQ2FjaGUgTm9kZSBpbiB0aGUgdGFzayB0cmVlLiBUaGlzIGlzIGEgYnVnIGluIHRoZVxuICAgICAgLy8gaW1wbGVtZW50YXRpb24gYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBjcmVhdGVkIGEgbm9kZSBmb3IgZXZlcnlcbiAgICAgIC8vIHNlZ21lbnQgaW4gdGhlIHRyZWUgdGhhdCdzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRhc2suXG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRoZSBkeW5hbWljIGRhdGEgZnJvbSB0aGUgc2VydmVyIHRvIGZ1bGZpbGwgdGhlIGRlZmVycmVkIFJTQyBwcm9taXNlXG4gIC8vIG9uIHRoZSBDYWNoZSBOb2RlLlxuICBjb25zdCByc2MgPSBjYWNoZU5vZGUucnNjXG4gIGNvbnN0IGR5bmFtaWNTZWdtZW50RGF0YSA9IGR5bmFtaWNEYXRhWzFdXG4gIGlmIChyc2MgPT09IG51bGwpIHtcbiAgICAvLyBUaGlzIGlzIGEgbGF6eSBjYWNoZSBub2RlLiBXZSBjYW4gb3ZlcndyaXRlIGl0LiBUaGlzIGlzIG9ubHkgc2FmZVxuICAgIC8vIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBMYXlvdXRSb3V0ZXIgc3VzcGVuZHMgaWYgYHJzY2AgaXMgYG51bGxgLlxuICAgIGNhY2hlTm9kZS5yc2MgPSBkeW5hbWljU2VnbWVudERhdGFcbiAgfSBlbHNlIGlmIChpc0RlZmVycmVkUnNjKHJzYykpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVmZXJyZWQgUlNDIHByb21pc2UuIFdlIGNhbiBmdWxmaWxsIGl0IHdpdGggdGhlIGRhdGEgd2UganVzdFxuICAgIC8vIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlci4gSWYgaXQgd2FzIGFscmVhZHkgcmVzb2x2ZWQgYnkgYSBkaWZmZXJlbnRcbiAgICAvLyBuYXZpZ2F0aW9uLCB0aGVuIHRoaXMgZG9lcyBub3RoaW5nIGJlY2F1c2Ugd2UgY2FuJ3Qgb3ZlcndyaXRlIGRhdGEuXG4gICAgcnNjLnJlc29sdmUoZHluYW1pY1NlZ21lbnREYXRhKVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgbm90IGEgZGVmZXJyZWQgUlNDIHByb21pc2UsIG5vciBpcyBpdCBlbXB0eSwgc28gaXQgbXVzdCBoYXZlXG4gICAgLy8gYmVlbiBwb3B1bGF0ZWQgYnkgYSBkaWZmZXJlbnQgbmF2aWdhdGlvbi4gV2UgbXVzdCBub3Qgb3ZlcndyaXRlIGl0LlxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhpcyBpcyBhIGxlYWYgc2VnbWVudC4gSWYgc28sIGl0IHdpbGwgaGF2ZSBhIGBoZWFkYCBwcm9wZXJ0eSB3aXRoXG4gIC8vIGEgcGVuZGluZyBwcm9taXNlIHRoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQgd2l0aCB0aGUgZHluYW1pYyBoZWFkIGZyb21cbiAgLy8gdGhlIHNlcnZlci5cbiAgY29uc3QgaGVhZCA9IGNhY2hlTm9kZS5oZWFkXG4gIGlmIChpc0RlZmVycmVkUnNjKGhlYWQpKSB7XG4gICAgaGVhZC5yZXNvbHZlKGR5bmFtaWNIZWFkKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhYm9ydFRhc2sodGFzazogU1BBTmF2aWdhdGlvblRhc2ssIGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgY29uc3QgY2FjaGVOb2RlID0gdGFzay5ub2RlXG4gIGlmIChjYWNoZU5vZGUgPT09IG51bGwpIHtcbiAgICAvLyBUaGlzIGluZGljYXRlcyB0aGUgdGFzayBpcyBhbHJlYWR5IGNvbXBsZXRlLlxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgdGFza0NoaWxkcmVuID0gdGFzay5jaGlsZHJlblxuICBpZiAodGFza0NoaWxkcmVuID09PSBudWxsKSB7XG4gICAgLy8gUmVhY2hlZCB0aGUgbGVhZiB0YXNrIG5vZGUuIFRoaXMgaXMgdGhlIHJvb3Qgb2YgYSBwZW5kaW5nIGNhY2hlXG4gICAgLy8gbm9kZSB0cmVlLlxuICAgIGFib3J0UGVuZGluZ0NhY2hlTm9kZSh0YXNrLnJvdXRlLCBjYWNoZU5vZGUsIGVycm9yKVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYW4gaW50ZXJtZWRpYXRlIHRhc2sgbm9kZS4gS2VlcCB0cmF2ZXJzaW5nIHVudGlsIHdlIHJlYWNoIGFcbiAgICAvLyB0YXNrIG5vZGUgd2l0aCBubyBjaGlsZHJlbi4gVGhhdCB3aWxsIGJlIHRoZSByb290IG9mIHRoZSBjYWNoZSBub2RlIHRyZWVcbiAgICAvLyB0aGF0IG5lZWRzIHRvIGJlIHJlc29sdmVkLlxuICAgIGZvciAoY29uc3QgdGFza0NoaWxkIG9mIHRhc2tDaGlsZHJlbi52YWx1ZXMoKSkge1xuICAgICAgYWJvcnRUYXNrKHRhc2tDaGlsZCwgZXJyb3IpXG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGF0IHRoaXMgdGFzayBpcyBub3cgY29tcGxldGUuXG4gIHRhc2suZHluYW1pY1JlcXVlc3RUcmVlID0gbnVsbFxufVxuXG5mdW5jdGlvbiBhYm9ydFBlbmRpbmdDYWNoZU5vZGUoXG4gIHJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgY2FjaGVOb2RlOiBDYWNoZU5vZGUsXG4gIGVycm9yOiBhbnlcbik6IHZvaWQge1xuICAvLyBGb3IgZXZlcnkgcGVuZGluZyBzZWdtZW50IGluIHRoZSB0cmVlLCByZXNvbHZlIGl0cyBgcnNjYCBwcm9taXNlIHRvIGBudWxsYFxuICAvLyB0byB0cmlnZ2VyIGEgbGF6eSBmZXRjaCBkdXJpbmcgcmVuZGVyLlxuICAvL1xuICAvLyBPciwgaWYgYW4gZXJyb3Igb2JqZWN0IGlzIHByb3ZpZGVkLCBpdCB3aWxsIGVycm9yIGluc3RlYWQuXG4gIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGRyZW4gPSByb3V0ZXJTdGF0ZVsxXVxuICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IGNhY2hlTm9kZS5wYXJhbGxlbFJvdXRlc1xuICBmb3IgKGxldCBwYXJhbGxlbFJvdXRlS2V5IGluIHJvdXRlclN0YXRlQ2hpbGRyZW4pIHtcbiAgICBjb25zdCByb3V0ZXJTdGF0ZUNoaWxkOiBGbGlnaHRSb3V0ZXJTdGF0ZSA9XG4gICAgICByb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldXG4gICAgY29uc3Qgc2VnbWVudE1hcENoaWxkID0gcGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpXG4gICAgaWYgKHNlZ21lbnRNYXBDaGlsZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBUaGlzIHNob3VsZG4ndCBoYXBwZW4gYmVjYXVzZSB3ZSdyZSB0cmF2ZXJzaW5nIHRoZSBzYW1lIHRyZWUgdGhhdCB3YXNcbiAgICAgIC8vIHVzZWQgdG8gY29uc3RydWN0IHRoZSBjYWNoZSBub2RlcyBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBzZWdtZW50Q2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkWzBdXG4gICAgY29uc3Qgc2VnbWVudEtleUNoaWxkID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudENoaWxkKVxuICAgIGNvbnN0IGNhY2hlTm9kZUNoaWxkID0gc2VnbWVudE1hcENoaWxkLmdldChzZWdtZW50S2V5Q2hpbGQpXG4gICAgaWYgKGNhY2hlTm9kZUNoaWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFib3J0UGVuZGluZ0NhY2hlTm9kZShyb3V0ZXJTdGF0ZUNoaWxkLCBjYWNoZU5vZGVDaGlsZCwgZXJyb3IpXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgc2hvdWxkbid0IGhhcHBlbiBiZWNhdXNlIHdlJ3JlIHRyYXZlcnNpbmcgdGhlIHNhbWUgdHJlZSB0aGF0IHdhc1xuICAgICAgLy8gdXNlZCB0byBjb25zdHJ1Y3QgdGhlIGNhY2hlIG5vZGVzIGluIHRoZSBmaXJzdCBwbGFjZS5cbiAgICB9XG4gIH1cbiAgY29uc3QgcnNjID0gY2FjaGVOb2RlLnJzY1xuICBpZiAoaXNEZWZlcnJlZFJzYyhyc2MpKSB7XG4gICAgaWYgKGVycm9yID09PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciBhIGxhenkgZmV0Y2ggZHVyaW5nIHJlbmRlci5cbiAgICAgIHJzYy5yZXNvbHZlKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoaXMgd2lsbCB0cmlnZ2VyIGFuIGVycm9yIGR1cmluZyByZW5kZXJpbmcuXG4gICAgICByc2MucmVqZWN0KGVycm9yKVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBsZWFmIHNlZ21lbnQuIElmIHNvLCBpdCB3aWxsIGhhdmUgYSBgaGVhZGAgcHJvcGVydHkgd2l0aFxuICAvLyBhIHBlbmRpbmcgcHJvbWlzZSB0aGF0IG5lZWRzIHRvIGJlIHJlc29sdmVkLiBJZiBhbiBlcnJvciB3YXMgcHJvdmlkZWQsIHdlXG4gIC8vIHdpbGwgbm90IHJlc29sdmUgaXQgd2l0aCBhbiBlcnJvciwgc2luY2UgdGhpcyBpcyByZW5kZXJlZCBhdCB0aGUgcm9vdCBvZlxuICAvLyB0aGUgYXBwLiBXZSB3YW50IHRoZSBzZWdtZW50IHRvIGVycm9yLCBub3QgdGhlIGVudGlyZSBhcHAuXG4gIGNvbnN0IGhlYWQgPSBjYWNoZU5vZGUuaGVhZFxuICBpZiAoaXNEZWZlcnJlZFJzYyhoZWFkKSkge1xuICAgIGhlYWQucmVzb2x2ZShudWxsKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVDYWNoZU5vZGVPblBvcHN0YXRlUmVzdG9yYXRpb24oXG4gIG9sZENhY2hlTm9kZTogQ2FjaGVOb2RlLFxuICByb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGVcbik6IFJlYWR5Q2FjaGVOb2RlIHtcbiAgLy8gQSBwb3BzdGF0ZSBuYXZpZ2F0aW9uIHJlYWRzIGRhdGEgZnJvbSB0aGUgbG9jYWwgY2FjaGUuIEl0IGRvZXMgbm90IGlzc3VlXG4gIC8vIG5ldyBuZXR3b3JrIHJlcXVlc3RzICh1bmxlc3MgdGhlIGNhY2hlIGVudHJpZXMgaGF2ZSBiZWVuIGV2aWN0ZWQpLiBTbywgd2VcbiAgLy8gdXBkYXRlIHRoZSBjYWNoZSB0byBkcm9wIHRoZSBwcmVmZXRjaCBkYXRhIGZvciBhbnkgc2VnbWVudCB3aG9zZSBkeW5hbWljXG4gIC8vIGRhdGEgd2FzIGFscmVhZHkgcmVjZWl2ZWQuIFRoaXMgcHJldmVudHMgYW4gdW5uZWNlc3NhcnkgZmxhc2ggYmFjayB0byBQUFJcbiAgLy8gc3RhdGUgZHVyaW5nIGEgYmFjay9mb3J3YXJkIG5hdmlnYXRpb24uXG4gIC8vXG4gIC8vIFRoaXMgZnVuY3Rpb24gY2xvbmVzIHRoZSBlbnRpcmUgY2FjaGUgbm9kZSB0cmVlIGFuZCBzZXRzIHRoZSBgcHJlZmV0Y2hSc2NgXG4gIC8vIGZpZWxkIHRvIGBudWxsYCB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcgcmVuZGVyZWQuIFdlIGNhbid0IG11dGF0ZSB0aGUgbm9kZVxuICAvLyBpbiBwbGFjZSBiZWNhdXNlIHRoaXMgaXMgYSBjb25jdXJyZW50IGRhdGEgc3RydWN0dXJlLlxuXG4gIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGRyZW4gPSByb3V0ZXJTdGF0ZVsxXVxuICBjb25zdCBvbGRQYXJhbGxlbFJvdXRlcyA9IG9sZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlc1xuICBjb25zdCBuZXdQYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAob2xkUGFyYWxsZWxSb3V0ZXMpXG4gIGZvciAobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gcm91dGVyU3RhdGVDaGlsZHJlbikge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGQ6IEZsaWdodFJvdXRlclN0YXRlID1cbiAgICAgIHJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV1cbiAgICBjb25zdCBzZWdtZW50Q2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkWzBdXG4gICAgY29uc3Qgc2VnbWVudEtleUNoaWxkID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudENoaWxkKVxuICAgIGNvbnN0IG9sZFNlZ21lbnRNYXBDaGlsZCA9IG9sZFBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KVxuICAgIGlmIChvbGRTZWdtZW50TWFwQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgb2xkQ2FjaGVOb2RlQ2hpbGQgPSBvbGRTZWdtZW50TWFwQ2hpbGQuZ2V0KHNlZ21lbnRLZXlDaGlsZClcbiAgICAgIGlmIChvbGRDYWNoZU5vZGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG5ld0NhY2hlTm9kZUNoaWxkID0gdXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uKFxuICAgICAgICAgIG9sZENhY2hlTm9kZUNoaWxkLFxuICAgICAgICAgIHJvdXRlclN0YXRlQ2hpbGRcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBuZXdTZWdtZW50TWFwQ2hpbGQgPSBuZXcgTWFwKG9sZFNlZ21lbnRNYXBDaGlsZClcbiAgICAgICAgbmV3U2VnbWVudE1hcENoaWxkLnNldChzZWdtZW50S2V5Q2hpbGQsIG5ld0NhY2hlTm9kZUNoaWxkKVxuICAgICAgICBuZXdQYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgbmV3U2VnbWVudE1hcENoaWxkKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9ubHkgc2hvdyBwcmVmZXRjaGVkIGRhdGEgaWYgdGhlIGR5bmFtaWMgZGF0YSBpcyBzdGlsbCBwZW5kaW5nLlxuICAvL1xuICAvLyBUZWhuaWNhbGx5LCB3aGF0IHdlJ3JlIGFjdHVhbGx5IGNoZWNraW5nIGlzIHdoZXRoZXIgdGhlIGR5bmFtaWMgbmV0d29ya1xuICAvLyByZXNwb25zZSB3YXMgcmVjZWl2ZWQuIEJ1dCBzaW5jZSBpdCdzIGEgc3RyZWFtaW5nIHJlc3BvbnNlLCB0aGlzIGRvZXMgbm90XG4gIC8vIG1lYW4gdGhhdCBhbGwgdGhlIGR5bmFtaWMgZGF0YSBoYXMgZnVsbHkgc3RyZWFtZWQgaW4uIEl0IGp1c3QgbWVhbnMgdGhhdFxuICAvLyBfc29tZV8gb2YgdGhlIGR5bmFtaWMgZGF0YSB3YXMgcmVjZWl2ZWQuIEJ1dCBhcyBhIGhldXJpc3RpYywgd2UgYXNzdW1lIHRoYXRcbiAgLy8gdGhlIHJlc3QgZHluYW1pYyBkYXRhIHdpbGwgc3RyZWFtIGluIHF1aWNrbHksIHNvIGl0J3Mgc3RpbGwgYmV0dGVyIHRvIHNraXBcbiAgLy8gdGhlIHByZWZldGNoIHN0YXRlLlxuICBjb25zdCByc2MgPSBvbGRDYWNoZU5vZGUucnNjXG4gIGNvbnN0IHNob3VsZFVzZVByZWZldGNoID0gaXNEZWZlcnJlZFJzYyhyc2MpICYmIHJzYy5zdGF0dXMgPT09ICdwZW5kaW5nJ1xuXG4gIHJldHVybiB7XG4gICAgbGF6eURhdGE6IG51bGwsXG4gICAgcnNjLFxuICAgIGhlYWQ6IG9sZENhY2hlTm9kZS5oZWFkLFxuXG4gICAgcHJlZmV0Y2hIZWFkOiBzaG91bGRVc2VQcmVmZXRjaCA/IG9sZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQgOiBbbnVsbCwgbnVsbF0sXG4gICAgcHJlZmV0Y2hSc2M6IHNob3VsZFVzZVByZWZldGNoID8gb2xkQ2FjaGVOb2RlLnByZWZldGNoUnNjIDogbnVsbCxcbiAgICBsb2FkaW5nOiBvbGRDYWNoZU5vZGUubG9hZGluZyxcblxuICAgIC8vIFRoZXNlIGFyZSB0aGUgY2xvbmVkIGNoaWxkcmVuIHdlIGNvbXB1dGVkIGFib3ZlXG4gICAgcGFyYWxsZWxSb3V0ZXM6IG5ld1BhcmFsbGVsUm91dGVzLFxuXG4gICAgbmF2aWdhdGVkQXQ6IG9sZENhY2hlTm9kZS5uYXZpZ2F0ZWRBdCxcbiAgfVxufVxuXG5jb25zdCBERUZFUlJFRCA9IFN5bWJvbCgpXG5cbnR5cGUgUGVuZGluZ0RlZmVycmVkUnNjID0gUHJvbWlzZTxSZWFjdC5SZWFjdE5vZGU+ICYge1xuICBzdGF0dXM6ICdwZW5kaW5nJ1xuICByZXNvbHZlOiAodmFsdWU6IFJlYWN0LlJlYWN0Tm9kZSkgPT4gdm9pZFxuICByZWplY3Q6IChlcnJvcjogYW55KSA9PiB2b2lkXG4gIHRhZzogU3ltYm9sXG59XG5cbnR5cGUgRnVsZmlsbGVkRGVmZXJyZWRSc2MgPSBQcm9taXNlPFJlYWN0LlJlYWN0Tm9kZT4gJiB7XG4gIHN0YXR1czogJ2Z1bGZpbGxlZCdcbiAgdmFsdWU6IFJlYWN0LlJlYWN0Tm9kZVxuICByZXNvbHZlOiAodmFsdWU6IFJlYWN0LlJlYWN0Tm9kZSkgPT4gdm9pZFxuICByZWplY3Q6IChlcnJvcjogYW55KSA9PiB2b2lkXG4gIHRhZzogU3ltYm9sXG59XG5cbnR5cGUgUmVqZWN0ZWREZWZlcnJlZFJzYyA9IFByb21pc2U8UmVhY3QuUmVhY3ROb2RlPiAmIHtcbiAgc3RhdHVzOiAncmVqZWN0ZWQnXG4gIHJlYXNvbjogYW55XG4gIHJlc29sdmU6ICh2YWx1ZTogUmVhY3QuUmVhY3ROb2RlKSA9PiB2b2lkXG4gIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWRcbiAgdGFnOiBTeW1ib2xcbn1cblxudHlwZSBEZWZlcnJlZFJzYyA9XG4gIHwgUGVuZGluZ0RlZmVycmVkUnNjXG4gIHwgRnVsZmlsbGVkRGVmZXJyZWRSc2NcbiAgfCBSZWplY3RlZERlZmVycmVkUnNjXG5cbi8vIFRoaXMgdHlwZSBleGlzdHMgdG8gZGlzdGluZ3Vpc2ggYSBEZWZlcnJlZFJzYyBmcm9tIGEgRmxpZ2h0IHByb21pc2UuIEl0J3MgYVxuLy8gY29tcHJvbWlzZSB0byBhdm9pZCBhZGRpbmcgYW4gZXh0cmEgZmllbGQgb24gZXZlcnkgQ2FjaGUgTm9kZSwgd2hpY2ggd291bGQgYmVcbi8vIGF3a3dhcmQgYmVjYXVzZSB0aGUgcHJlLVBQUiBwYXJ0cyBvZiBjb2RlYmFzZSB3b3VsZCBuZWVkIHRvIGFjY291bnQgZm9yIGl0LFxuLy8gdG9vLiBXZSBjYW4gcmVtb3ZlIGl0IG9uY2UgdHlwZSBDYWNoZSBOb2RlIHR5cGUgaXMgbW9yZSBzZXR0bGVkLlxuZnVuY3Rpb24gaXNEZWZlcnJlZFJzYyh2YWx1ZTogYW55KTogdmFsdWUgaXMgRGVmZXJyZWRSc2Mge1xuICByZXR1cm4gdmFsdWUgJiYgdmFsdWUudGFnID09PSBERUZFUlJFRFxufVxuXG5mdW5jdGlvbiBjcmVhdGVEZWZlcnJlZFJzYygpOiBQZW5kaW5nRGVmZXJyZWRSc2Mge1xuICBsZXQgcmVzb2x2ZTogYW55XG4gIGxldCByZWplY3Q6IGFueVxuICBjb25zdCBwZW5kaW5nUnNjID0gbmV3IFByb21pc2U8UmVhY3QuUmVhY3ROb2RlPigocmVzLCByZWopID0+IHtcbiAgICByZXNvbHZlID0gcmVzXG4gICAgcmVqZWN0ID0gcmVqXG4gIH0pIGFzIFBlbmRpbmdEZWZlcnJlZFJzY1xuICBwZW5kaW5nUnNjLnN0YXR1cyA9ICdwZW5kaW5nJ1xuICBwZW5kaW5nUnNjLnJlc29sdmUgPSAodmFsdWU6IFJlYWN0LlJlYWN0Tm9kZSkgPT4ge1xuICAgIGlmIChwZW5kaW5nUnNjLnN0YXR1cyA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgICBjb25zdCBmdWxmaWxsZWRSc2M6IEZ1bGZpbGxlZERlZmVycmVkUnNjID0gcGVuZGluZ1JzYyBhcyBhbnlcbiAgICAgIGZ1bGZpbGxlZFJzYy5zdGF0dXMgPSAnZnVsZmlsbGVkJ1xuICAgICAgZnVsZmlsbGVkUnNjLnZhbHVlID0gdmFsdWVcbiAgICAgIHJlc29sdmUodmFsdWUpXG4gICAgfVxuICB9XG4gIHBlbmRpbmdSc2MucmVqZWN0ID0gKGVycm9yOiBhbnkpID0+IHtcbiAgICBpZiAocGVuZGluZ1JzYy5zdGF0dXMgPT09ICdwZW5kaW5nJykge1xuICAgICAgY29uc3QgcmVqZWN0ZWRSc2M6IFJlamVjdGVkRGVmZXJyZWRSc2MgPSBwZW5kaW5nUnNjIGFzIGFueVxuICAgICAgcmVqZWN0ZWRSc2Muc3RhdHVzID0gJ3JlamVjdGVkJ1xuICAgICAgcmVqZWN0ZWRSc2MucmVhc29uID0gZXJyb3JcbiAgICAgIHJlamVjdChlcnJvcilcbiAgICB9XG4gIH1cbiAgcGVuZGluZ1JzYy50YWcgPSBERUZFUlJFRFxuICByZXR1cm4gcGVuZGluZ1JzY1xufVxuIl0sIm5hbWVzIjpbImFib3J0VGFzayIsImxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0Iiwic3RhcnRQUFJOYXZpZ2F0aW9uIiwidXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uIiwiTVBBX05BVklHQVRJT05fVEFTSyIsInJvdXRlIiwibm9kZSIsImR5bmFtaWNSZXF1ZXN0VHJlZSIsImNoaWxkcmVuIiwibmF2aWdhdGVkQXQiLCJvbGRDYWNoZU5vZGUiLCJvbGRSb3V0ZXJTdGF0ZSIsIm5ld1JvdXRlclN0YXRlIiwicHJlZmV0Y2hEYXRhIiwicHJlZmV0Y2hIZWFkIiwiaXNQcmVmZXRjaEhlYWRQYXJ0aWFsIiwiaXNTYW1lUGFnZU5hdmlnYXRpb24iLCJzY3JvbGxhYmxlU2VnbWVudHNSZXN1bHQiLCJzZWdtZW50UGF0aCIsInVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbiIsImRpZEZpbmRSb290TGF5b3V0Iiwib2xkUm91dGVyU3RhdGVDaGlsZHJlbiIsIm5ld1JvdXRlclN0YXRlQ2hpbGRyZW4iLCJwcmVmZXRjaERhdGFDaGlsZHJlbiIsImlzUm9vdExheW91dCIsIm9sZFBhcmFsbGVsUm91dGVzIiwicGFyYWxsZWxSb3V0ZXMiLCJwcmVmZXRjaFBhcmFsbGVsUm91dGVzIiwiTWFwIiwicGF0Y2hlZFJvdXRlclN0YXRlQ2hpbGRyZW4iLCJ0YXNrQ2hpbGRyZW4iLCJuZWVkc0R5bmFtaWNSZXF1ZXN0IiwiZHluYW1pY1JlcXVlc3RUcmVlQ2hpbGRyZW4iLCJwYXJhbGxlbFJvdXRlS2V5IiwibmV3Um91dGVyU3RhdGVDaGlsZCIsIm9sZFJvdXRlclN0YXRlQ2hpbGQiLCJvbGRTZWdtZW50TWFwQ2hpbGQiLCJnZXQiLCJwcmVmZXRjaERhdGFDaGlsZCIsIm5ld1NlZ21lbnRDaGlsZCIsIm5ld1NlZ21lbnRQYXRoQ2hpbGQiLCJjb25jYXQiLCJuZXdTZWdtZW50S2V5Q2hpbGQiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsIm9sZFNlZ21lbnRDaGlsZCIsInVuZGVmaW5lZCIsIm9sZENhY2hlTm9kZUNoaWxkIiwidGFza0NoaWxkIiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsInNwYXduUmV1c2VkVGFzayIsImJlZ2luUmVuZGVyaW5nTmV3Um91dGVUcmVlIiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsIm1hdGNoU2VnbWVudCIsInNldCIsIm5ld0NhY2hlTm9kZUNoaWxkIiwibmV3U2VnbWVudE1hcENoaWxkIiwidGFza0NoaWxkUm91dGUiLCJkeW5hbWljUmVxdWVzdFRyZWVDaGlsZCIsIm5ld0NhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwibG9hZGluZyIsInBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4iLCJleGlzdGluZ0NhY2hlTm9kZSIsInBvc3NpYmx5UGFydGlhbFByZWZldGNoSGVhZCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNyZWF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbiIsInJvdXRlclN0YXRlIiwicm91dGVyU3RhdGVDaGlsZHJlbiIsImlzTGVhZlNlZ21lbnQiLCJjYWNoZU5vZGVOYXZpZ2F0ZWRBdCIsIkRZTkFNSUNfU1RBTEVUSU1FX01TIiwiaXNQcmVmZXRjaFJzY1BhcnRpYWwiLCJzcGF3blBlbmRpbmdUYXNrIiwiZXhpc3RpbmdDYWNoZU5vZGVDaGlsZHJlbiIsImNhY2hlTm9kZUNoaWxkcmVuIiwicHVzaCIsInJvdXRlclN0YXRlQ2hpbGQiLCJleGlzdGluZ1NlZ21lbnRNYXBDaGlsZCIsInNlZ21lbnRDaGlsZCIsInNlZ21lbnRQYXRoQ2hpbGQiLCJzZWdtZW50S2V5Q2hpbGQiLCJleGlzdGluZ0NhY2hlTm9kZUNoaWxkIiwiYmFzZVJvdXRlclN0YXRlIiwibmV3Q2hpbGRyZW4iLCJjbG9uZSIsIm5ld1Rhc2siLCJjcmVhdGVQZW5kaW5nQ2FjaGVOb2RlIiwicmV1c2VkUm91dGVyU3RhdGUiLCJ0YXNrIiwicmVzcG9uc2VQcm9taXNlIiwidGhlbiIsImZsaWdodERhdGEiLCJub3JtYWxpemVkRmxpZ2h0RGF0YSIsInRyZWUiLCJzZXJ2ZXJSb3V0ZXJTdGF0ZSIsInNlZWREYXRhIiwiZHluYW1pY0RhdGEiLCJkeW5hbWljSGVhZCIsIndyaXRlRHluYW1pY0RhdGFJbnRvUGVuZGluZ1Rhc2siLCJlcnJvciIsInJvb3RUYXNrIiwiaSIsInNlZ21lbnQiLCJ0YXNrU2VnbWVudCIsImZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZCIsInRhc2tOb2RlIiwiZmluaXNoUGVuZGluZ0NhY2hlTm9kZSIsInNlcnZlckNoaWxkcmVuIiwiZHluYW1pY0RhdGFDaGlsZHJlbiIsInNlcnZlclJvdXRlclN0YXRlQ2hpbGQiLCJkeW5hbWljRGF0YUNoaWxkIiwic2l6ZSIsIm1heWJlUHJlZmV0Y2hSc2MiLCJtYXliZVByZWZldGNoTG9hZGluZyIsImNyZWF0ZURlZmVycmVkUnNjIiwiY2FjaGVOb2RlIiwidGFza1N0YXRlIiwic2VydmVyU3RhdGUiLCJ0YXNrU3RhdGVDaGlsZHJlbiIsInNlcnZlclN0YXRlQ2hpbGRyZW4iLCJkYXRhQ2hpbGRyZW4iLCJ0YXNrU3RhdGVDaGlsZCIsInNlcnZlclN0YXRlQ2hpbGQiLCJkYXRhQ2hpbGQiLCJzZWdtZW50TWFwQ2hpbGQiLCJ0YXNrU2VnbWVudENoaWxkIiwidGFza1NlZ21lbnRLZXlDaGlsZCIsImNhY2hlTm9kZUNoaWxkIiwiYWJvcnRQZW5kaW5nQ2FjaGVOb2RlIiwiZHluYW1pY1NlZ21lbnREYXRhIiwiaXNEZWZlcnJlZFJzYyIsInJlc29sdmUiLCJ2YWx1ZXMiLCJyZWplY3QiLCJuZXdQYXJhbGxlbFJvdXRlcyIsInNob3VsZFVzZVByZWZldGNoIiwic3RhdHVzIiwiREVGRVJSRUQiLCJTeW1ib2wiLCJ2YWx1ZSIsInRhZyIsInBlbmRpbmdSc2MiLCJQcm9taXNlIiwicmVzIiwicmVqIiwiZnVsZmlsbGVkUnNjIiwicmVqZWN0ZWRSc2MiLCJyZWFzb24iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/prefetch-cache-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 DYNAMIC_STALETIME_MS: function() {\n return DYNAMIC_STALETIME_MS;\n },\n STATIC_STALETIME_MS: function() {\n return STATIC_STALETIME_MS;\n },\n createSeededPrefetchCacheEntry: function() {\n return createSeededPrefetchCacheEntry;\n },\n getOrCreatePrefetchCacheEntry: function() {\n return getOrCreatePrefetchCacheEntry;\n },\n prunePrefetchCache: function() {\n return prunePrefetchCache;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ./fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst INTERCEPTION_CACHE_KEY_MARKER = '%';\n/**\n * Creates a cache key for the router prefetch cache\n *\n * @param url - The URL being navigated to\n * @param nextUrl - an internal URL, primarily used for handling rewrites. Defaults to '/'.\n * @return The generated prefetch cache key.\n */ function createPrefetchCacheKeyImpl(url, includeSearchParams, prefix) {\n // Initially we only use the pathname as the cache key. We don't want to include\n // search params so that multiple URLs with the same search parameter can re-use\n // loading states.\n let pathnameFromUrl = url.pathname;\n // RSC responses can differ based on search params, specifically in the case where we aren't\n // returning a partial response (ie with `PrefetchKind.AUTO`).\n // In the auto case, since loading.js & layout.js won't have access to search params,\n // we can safely re-use that cache entry. But for full prefetches, we should not\n // re-use the cache entry as the response may differ.\n if (includeSearchParams) {\n // if we have a full prefetch, we can include the search param in the key,\n // as we'll be getting back a full response. The server might have read the search\n // params when generating the full response.\n pathnameFromUrl += url.search;\n }\n if (prefix) {\n return \"\" + prefix + INTERCEPTION_CACHE_KEY_MARKER + pathnameFromUrl;\n }\n return pathnameFromUrl;\n}\nfunction createPrefetchCacheKey(url, kind, nextUrl) {\n return createPrefetchCacheKeyImpl(url, kind === _routerreducertypes.PrefetchKind.FULL, nextUrl);\n}\nfunction getExistingCacheEntry(url, kind, nextUrl, prefetchCache, allowAliasing) {\n if (kind === void 0) kind = _routerreducertypes.PrefetchKind.TEMPORARY;\n // We first check if there's a more specific interception route prefetch entry\n // This is because when we detect a prefetch that corresponds with an interception route, we prefix it with nextUrl (see `createPrefetchCacheKey`)\n // to avoid conflicts with other pages that may have the same URL but render different things depending on the `Next-URL` header.\n for (const maybeNextUrl of [\n nextUrl,\n null\n ]){\n const cacheKeyWithParams = createPrefetchCacheKeyImpl(url, true, maybeNextUrl);\n const cacheKeyWithoutParams = createPrefetchCacheKeyImpl(url, false, maybeNextUrl);\n // First, we check if we have a cache entry that exactly matches the URL\n const cacheKeyToUse = url.search ? cacheKeyWithParams : cacheKeyWithoutParams;\n const existingEntry = prefetchCache.get(cacheKeyToUse);\n if (existingEntry && allowAliasing) {\n // We know we're returning an aliased entry when the pathname matches but the search params don't,\n const isAliased = existingEntry.url.pathname === url.pathname && existingEntry.url.search !== url.search;\n if (isAliased) {\n return {\n ...existingEntry,\n aliased: true\n };\n }\n return existingEntry;\n }\n // If the request contains search params, and we're not doing a full prefetch, we can return the\n // param-less entry if it exists.\n // This is technically covered by the check at the bottom of this function, which iterates over cache entries,\n // but lets us arrive there quicker in the param-full case.\n const entryWithoutParams = prefetchCache.get(cacheKeyWithoutParams);\n if (false) {}\n }\n // If we've gotten to this point, we didn't find a specific cache entry that matched\n // the request URL.\n // We attempt a partial match by checking if there's a cache entry with the same pathname.\n // Regardless of what we find, since it doesn't correspond with the requested URL, we'll mark it \"aliased\".\n // This will signal to the router that it should only apply the loading state on the prefetched data.\n if (false) {}\n return undefined;\n}\nfunction getOrCreatePrefetchCacheEntry(param) {\n let { url, nextUrl, tree, prefetchCache, kind, allowAliasing = true } = param;\n const existingCacheEntry = getExistingCacheEntry(url, kind, nextUrl, prefetchCache, allowAliasing);\n if (existingCacheEntry) {\n // Grab the latest status of the cache entry and update it\n existingCacheEntry.status = getPrefetchEntryCacheStatus(existingCacheEntry);\n // when `kind` is provided, an explicit prefetch was requested.\n // if the requested prefetch is \"full\" and the current cache entry wasn't, we want to re-prefetch with the new intent\n const switchedToFullPrefetch = existingCacheEntry.kind !== _routerreducertypes.PrefetchKind.FULL && kind === _routerreducertypes.PrefetchKind.FULL;\n if (switchedToFullPrefetch) {\n // If we switched to a full prefetch, validate that the existing cache entry contained partial data.\n // It's possible that the cache entry was seeded with full data but has a cache type of \"auto\" (ie when cache entries\n // are seeded but without a prefetch intent)\n existingCacheEntry.data.then((prefetchResponse)=>{\n const isFullPrefetch = Array.isArray(prefetchResponse.flightData) && prefetchResponse.flightData.some((flightData)=>{\n // If we started rendering from the root and we returned RSC data (seedData), we already had a full prefetch.\n return flightData.isRootRender && flightData.seedData !== null;\n });\n if (!isFullPrefetch) {\n return createLazyPrefetchEntry({\n tree,\n url,\n nextUrl,\n prefetchCache,\n // If we didn't get an explicit prefetch kind, we want to set a temporary kind\n // rather than assuming the same intent as the previous entry, to be consistent with how we\n // lazily create prefetch entries when intent is left unspecified.\n kind: kind != null ? kind : _routerreducertypes.PrefetchKind.TEMPORARY\n });\n }\n });\n }\n // If the existing cache entry was marked as temporary, it means it was lazily created when attempting to get an entry,\n // where we didn't have the prefetch intent. Now that we have the intent (in `kind`), we want to update the entry to the more accurate kind.\n if (kind && existingCacheEntry.kind === _routerreducertypes.PrefetchKind.TEMPORARY) {\n existingCacheEntry.kind = kind;\n }\n // We've determined that the existing entry we found is still valid, so we return it.\n return existingCacheEntry;\n }\n // If we didn't return an entry, create a new one.\n return createLazyPrefetchEntry({\n tree,\n url,\n nextUrl,\n prefetchCache,\n kind: kind || _routerreducertypes.PrefetchKind.TEMPORARY\n });\n}\n/*\n * Used to take an existing cache entry and prefix it with the nextUrl, if it exists.\n * This ensures that we don't have conflicting cache entries for the same URL (as is the case with route interception).\n */ function prefixExistingPrefetchCacheEntry(param) {\n let { url, nextUrl, prefetchCache, existingCacheKey } = param;\n const existingCacheEntry = prefetchCache.get(existingCacheKey);\n if (!existingCacheEntry) {\n // no-op -- there wasn't an entry to move\n return;\n }\n const newCacheKey = createPrefetchCacheKey(url, existingCacheEntry.kind, nextUrl);\n prefetchCache.set(newCacheKey, {\n ...existingCacheEntry,\n key: newCacheKey\n });\n prefetchCache.delete(existingCacheKey);\n return newCacheKey;\n}\nfunction createSeededPrefetchCacheEntry(param) {\n let { nextUrl, tree, prefetchCache, url, data, kind } = param;\n // The initial cache entry technically includes full data, but it isn't explicitly prefetched -- we just seed the\n // prefetch cache so that we can skip an extra prefetch request later, since we already have the data.\n // if the prefetch corresponds with an interception route, we use the nextUrl to prefix the cache key\n const prefetchCacheKey = data.couldBeIntercepted ? createPrefetchCacheKey(url, kind, nextUrl) : createPrefetchCacheKey(url, kind);\n const prefetchEntry = {\n treeAtTimeOfPrefetch: tree,\n data: Promise.resolve(data),\n kind,\n prefetchTime: Date.now(),\n lastUsedTime: Date.now(),\n staleTime: data.staleTime,\n key: prefetchCacheKey,\n status: _routerreducertypes.PrefetchCacheEntryStatus.fresh,\n url\n };\n prefetchCache.set(prefetchCacheKey, prefetchEntry);\n return prefetchEntry;\n}\n/**\n * Creates a prefetch entry entry and enqueues a fetch request to retrieve the data.\n */ function createLazyPrefetchEntry(param) {\n let { url, kind, tree, nextUrl, prefetchCache } = param;\n const prefetchCacheKey = createPrefetchCacheKey(url, kind);\n // initiates the fetch request for the prefetch and attaches a listener\n // to the promise to update the prefetch cache entry when the promise resolves (if necessary)\n const data = _prefetchreducer.prefetchQueue.enqueue(()=>(0, _fetchserverresponse.fetchServerResponse)(url, {\n flightRouterState: tree,\n nextUrl,\n prefetchKind: kind\n }).then((prefetchResponse)=>{\n // TODO: `fetchServerResponse` should be more tighly coupled to these prefetch cache operations\n // to avoid drift between this cache key prefixing logic\n // (which is currently directly influenced by the server response)\n let newCacheKey;\n if (prefetchResponse.couldBeIntercepted) {\n // Determine if we need to prefix the cache key with the nextUrl\n newCacheKey = prefixExistingPrefetchCacheEntry({\n url,\n existingCacheKey: prefetchCacheKey,\n nextUrl,\n prefetchCache\n });\n }\n // If the prefetch was a cache hit, we want to update the existing cache entry to reflect that it was a full prefetch.\n // This is because we know that a static response will contain the full RSC payload, and can be updated to respect the `static`\n // staleTime.\n if (prefetchResponse.prerendered) {\n const existingCacheEntry = prefetchCache.get(newCacheKey != null ? newCacheKey : prefetchCacheKey);\n if (existingCacheEntry) {\n existingCacheEntry.kind = _routerreducertypes.PrefetchKind.FULL;\n if (prefetchResponse.staleTime !== -1) {\n // This is the stale time that was collected by the server during\n // static generation. Use this in place of the default stale time.\n existingCacheEntry.staleTime = prefetchResponse.staleTime;\n }\n }\n }\n return prefetchResponse;\n }));\n const prefetchEntry = {\n treeAtTimeOfPrefetch: tree,\n data,\n kind,\n prefetchTime: Date.now(),\n lastUsedTime: null,\n staleTime: -1,\n key: prefetchCacheKey,\n status: _routerreducertypes.PrefetchCacheEntryStatus.fresh,\n url\n };\n prefetchCache.set(prefetchCacheKey, prefetchEntry);\n return prefetchEntry;\n}\nfunction prunePrefetchCache(prefetchCache) {\n for (const [href, prefetchCacheEntry] of prefetchCache){\n if (getPrefetchEntryCacheStatus(prefetchCacheEntry) === _routerreducertypes.PrefetchCacheEntryStatus.expired) {\n prefetchCache.delete(href);\n }\n }\n}\nconst DYNAMIC_STALETIME_MS = Number(\"0\") * 1000;\nconst STATIC_STALETIME_MS = Number(\"300\") * 1000;\nfunction getPrefetchEntryCacheStatus(param) {\n let { kind, prefetchTime, lastUsedTime, staleTime } = param;\n if (staleTime !== -1) {\n // `staleTime` is the value sent by the server during static generation.\n // When this is available, it takes precedence over any of the heuristics\n // that follow.\n //\n // TODO: When PPR is enabled, the server will *always* return a stale time\n // when prefetching. We should never use a prefetch entry that hasn't yet\n // received data from the server. So the only two cases should be 1) we use\n // the server-generated stale time 2) the unresolved entry is discarded.\n return Date.now() < prefetchTime + staleTime ? _routerreducertypes.PrefetchCacheEntryStatus.fresh : _routerreducertypes.PrefetchCacheEntryStatus.stale;\n }\n // We will re-use the cache entry data for up to the `dynamic` staletime window.\n if (Date.now() < (lastUsedTime != null ? lastUsedTime : prefetchTime) + DYNAMIC_STALETIME_MS) {\n return lastUsedTime ? _routerreducertypes.PrefetchCacheEntryStatus.reusable : _routerreducertypes.PrefetchCacheEntryStatus.fresh;\n }\n // For \"auto\" prefetching, we'll re-use only the loading boundary for up to `static` staletime window.\n // A stale entry will only re-use the `loading` boundary, not the full data.\n // This will trigger a \"lazy fetch\" for the full data.\n if (kind === _routerreducertypes.PrefetchKind.AUTO) {\n if (Date.now() < prefetchTime + STATIC_STALETIME_MS) {\n return _routerreducertypes.PrefetchCacheEntryStatus.stale;\n }\n }\n // for \"full\" prefetching, we'll re-use the cache entry data for up to `static` staletime window.\n if (kind === _routerreducertypes.PrefetchKind.FULL) {\n if (Date.now() < prefetchTime + STATIC_STALETIME_MS) {\n return _routerreducertypes.PrefetchCacheEntryStatus.reusable;\n }\n }\n return _routerreducertypes.PrefetchCacheEntryStatus.expired;\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=prefetch-cache-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcHJlZmV0Y2gtY2FjaGUtdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBNFlhQSxvQkFBb0I7ZUFBcEJBOztJQUdBQyxtQkFBbUI7ZUFBbkJBOztJQW5JR0MsOEJBQThCO2VBQTlCQTs7SUE5R0FDLDZCQUE2QjtlQUE3QkE7O0lBK05BQyxrQkFBa0I7ZUFBbEJBOzs7aURBMVhUO2dEQU1BOzZDQUN1QjtBQUU5QixNQUFNQyxnQ0FBZ0M7QUFVdEM7Ozs7OztDQU1DLEdBQ0QsU0FBU0MsMkJBQ1BDLEdBQVEsRUFDUkMsbUJBQTRCLEVBQzVCQyxNQUFzQjtJQUV0QixnRkFBZ0Y7SUFDaEYsZ0ZBQWdGO0lBQ2hGLGtCQUFrQjtJQUNsQixJQUFJQyxrQkFBa0JILElBQUlJLFFBQVE7SUFFbEMsNEZBQTRGO0lBQzVGLDhEQUE4RDtJQUM5RCxxRkFBcUY7SUFDckYsZ0ZBQWdGO0lBQ2hGLHFEQUFxRDtJQUNyRCxJQUFJSCxxQkFBcUI7UUFDdkIsMEVBQTBFO1FBQzFFLGtGQUFrRjtRQUNsRiw0Q0FBNEM7UUFDNUNFLG1CQUFtQkgsSUFBSUssTUFBTTtJQUMvQjtJQUVBLElBQUlILFFBQVE7UUFDVixPQUFRLEtBQUVBLFNBQVNKLGdDQUFnQ0s7SUFDckQ7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU0csdUJBQ1BOLEdBQVEsRUFDUk8sSUFBOEIsRUFDOUJDLE9BQXVCO0lBRXZCLE9BQU9ULDJCQUEyQkMsS0FBS08sU0FBU0Usb0JBQUFBLFlBQVksQ0FBQ0MsSUFBSSxFQUFFRjtBQUNyRTtBQUVBLFNBQVNHLHNCQUNQWCxHQUFRLEVBQ1JPLElBQTJDLEVBQzNDQyxPQUFzQixFQUN0QkksYUFBOEMsRUFDOUNDLGFBQXNCO0lBSHRCTixJQUFBQSxTQUFBQSxLQUFBQSxHQUFBQSxPQUFxQkUsb0JBQUFBLFlBQVksQ0FBQ0ss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QUE0RTtJQUM1RSxzREFBc0Q7SUFDdEQsSUFBSTFELFNBQVNFLG9CQUFBQSxZQUFZLENBQUN1RSxJQUFJLEVBQUU7UUFDOUIsSUFBSXBCLEtBQUtDLEdBQUcsS0FBS0YsZUFBZWpFLHFCQUFxQjtZQUNuRCxPQUFPc0Usb0JBQUFBLHdCQUF3QixDQUFDYyxLQUFLO1FBQ3ZDO0lBQ0Y7SUFFQSxpR0FBaUc7SUFDakcsSUFBSXZFLFNBQVNFLG9CQUFBQSxZQUFZLENBQUNDLElBQUksRUFBRTtRQUM5QixJQUFJa0QsS0FBS0MsR0FBRyxLQUFLRixlQUFlakUscUJBQXFCO1lBQ25ELE9BQU9zRSxvQkFBQUEsd0JBQXdCLENBQUNlLFFBQVE7UUFDMUM7SUFDRjtJQUVBLE9BQU9mLG9CQUFBQSx3QkFBd0IsQ0FBQ1UsT0FBTztBQUN6QyIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3ByZWZldGNoLWNhY2hlLXV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGZldGNoU2VydmVyUmVzcG9uc2UsXG4gIHR5cGUgRmV0Y2hTZXJ2ZXJSZXNwb25zZVJlc3VsdCxcbn0gZnJvbSAnLi9mZXRjaC1zZXJ2ZXItcmVzcG9uc2UnXG5pbXBvcnQge1xuICBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMsXG4gIHR5cGUgUHJlZmV0Y2hDYWNoZUVudHJ5LFxuICBQcmVmZXRjaEtpbmQsXG4gIHR5cGUgUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG59IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBwcmVmZXRjaFF1ZXVlIH0gZnJvbSAnLi9yZWR1Y2Vycy9wcmVmZXRjaC1yZWR1Y2VyJ1xuXG5jb25zdCBJTlRFUkNFUFRJT05fQ0FDSEVfS0VZX01BUktFUiA9ICclJ1xuXG5leHBvcnQgdHlwZSBBbGlhc2VkUHJlZmV0Y2hDYWNoZUVudHJ5ID0gUHJlZmV0Y2hDYWNoZUVudHJ5ICYge1xuICAvKiogVGhpcyBpcyBhIHNwZWNpYWwgcHJvcGVydHkgdGhhdCBpbmRpY2F0ZXMgYSBwcmVmZXRjaCBlbnRyeSBhc3NvY2lhdGVkIHdpdGggYSBkaWZmZXJlbnQgVVJMXG4gICAqIHdhcyByZXR1cm5lZCByYXRoZXIgdGhhbiB0aGUgcmVxdWVzdGVkIFVSTC4gVGhpcyBzaWduYWxzIHRvIHRoZSByb3V0ZXIgdGhhdCBpdCBzaG91bGQgb25seVxuICAgKiBhcHBseSB0aGUgcGFydCB0aGF0IGRvZXNuJ3QgZGVwZW5kIG9uIHNlYXJjaFBhcmFtcyAoc3BlY2lmaWNhbGx5IHRoZSBsb2FkaW5nIHN0YXRlKS5cbiAgICovXG4gIGFsaWFzZWQ/OiBib29sZWFuXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNhY2hlIGtleSBmb3IgdGhlIHJvdXRlciBwcmVmZXRjaCBjYWNoZVxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgVVJMIGJlaW5nIG5hdmlnYXRlZCB0b1xuICogQHBhcmFtIG5leHRVcmwgLSBhbiBpbnRlcm5hbCBVUkwsIHByaW1hcmlseSB1c2VkIGZvciBoYW5kbGluZyByZXdyaXRlcy4gRGVmYXVsdHMgdG8gJy8nLlxuICogQHJldHVybiBUaGUgZ2VuZXJhdGVkIHByZWZldGNoIGNhY2hlIGtleS5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlUHJlZmV0Y2hDYWNoZUtleUltcGwoXG4gIHVybDogVVJMLFxuICBpbmNsdWRlU2VhcmNoUGFyYW1zOiBib29sZWFuLFxuICBwcmVmaXg/OiBzdHJpbmcgfCBudWxsXG4pIHtcbiAgLy8gSW5pdGlhbGx5IHdlIG9ubHkgdXNlIHRoZSBwYXRobmFtZSBhcyB0aGUgY2FjaGUga2V5LiBXZSBkb24ndCB3YW50IHRvIGluY2x1ZGVcbiAgLy8gc2VhcmNoIHBhcmFtcyBzbyB0aGF0IG11bHRpcGxlIFVSTHMgd2l0aCB0aGUgc2FtZSBzZWFyY2ggcGFyYW1ldGVyIGNhbiByZS11c2VcbiAgLy8gbG9hZGluZyBzdGF0ZXMuXG4gIGxldCBwYXRobmFtZUZyb21VcmwgPSB1cmwucGF0aG5hbWVcblxuICAvLyBSU0MgcmVzcG9uc2VzIGNhbiBkaWZmZXIgYmFzZWQgb24gc2VhcmNoIHBhcmFtcywgc3BlY2lmaWNhbGx5IGluIHRoZSBjYXNlIHdoZXJlIHdlIGFyZW4ndFxuICAvLyByZXR1cm5pbmcgYSBwYXJ0aWFsIHJlc3BvbnNlIChpZSB3aXRoIGBQcmVmZXRjaEtpbmQuQVVUT2ApLlxuICAvLyBJbiB0aGUgYXV0byBjYXNlLCBzaW5jZSBsb2FkaW5nLmpzICYgbGF5b3V0LmpzIHdvbid0IGhhdmUgYWNjZXNzIHRvIHNlYXJjaCBwYXJhbXMsXG4gIC8vIHdlIGNhbiBzYWZlbHkgcmUtdXNlIHRoYXQgY2FjaGUgZW50cnkuIEJ1dCBmb3IgZnVsbCBwcmVmZXRjaGVzLCB3ZSBzaG91bGQgbm90XG4gIC8vIHJlLXVzZSB0aGUgY2FjaGUgZW50cnkgYXMgdGhlIHJlc3BvbnNlIG1heSBkaWZmZXIuXG4gIGlmIChpbmNsdWRlU2VhcmNoUGFyYW1zKSB7XG4gICAgLy8gaWYgd2UgaGF2ZSBhIGZ1bGwgcHJlZmV0Y2gsIHdlIGNhbiBpbmNsdWRlIHRoZSBzZWFyY2ggcGFyYW0gaW4gdGhlIGtleSxcbiAgICAvLyBhcyB3ZSdsbCBiZSBnZXR0aW5nIGJhY2sgYSBmdWxsIHJlc3BvbnNlLiBUaGUgc2VydmVyIG1pZ2h0IGhhdmUgcmVhZCB0aGUgc2VhcmNoXG4gICAgLy8gcGFyYW1zIHdoZW4gZ2VuZXJhdGluZyB0aGUgZnVsbCByZXNwb25zZS5cbiAgICBwYXRobmFtZUZyb21VcmwgKz0gdXJsLnNlYXJjaFxuICB9XG5cbiAgaWYgKHByZWZpeCkge1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtJTlRFUkNFUFRJT05fQ0FDSEVfS0VZX01BUktFUn0ke3BhdGhuYW1lRnJvbVVybH1gXG4gIH1cblxuICByZXR1cm4gcGF0aG5hbWVGcm9tVXJsXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVByZWZldGNoQ2FjaGVLZXkoXG4gIHVybDogVVJMLFxuICBraW5kOiBQcmVmZXRjaEtpbmQgfCB1bmRlZmluZWQsXG4gIG5leHRVcmw/OiBzdHJpbmcgfCBudWxsXG4pIHtcbiAgcmV0dXJuIGNyZWF0ZVByZWZldGNoQ2FjaGVLZXlJbXBsKHVybCwga2luZCA9PT0gUHJlZmV0Y2hLaW5kLkZVTEwsIG5leHRVcmwpXG59XG5cbmZ1bmN0aW9uIGdldEV4aXN0aW5nQ2FjaGVFbnRyeShcbiAgdXJsOiBVUkwsXG4gIGtpbmQ6IFByZWZldGNoS2luZCA9IFByZWZldGNoS2luZC5URU1QT1JBUlksXG4gIG5leHRVcmw6IHN0cmluZyB8IG51bGwsXG4gIHByZWZldGNoQ2FjaGU6IE1hcDxzdHJpbmcsIFByZWZldGNoQ2FjaGVFbnRyeT4sXG4gIGFsbG93QWxpYXNpbmc6IGJvb2xlYW5cbik6IEFsaWFzZWRQcmVmZXRjaENhY2hlRW50cnkgfCB1bmRlZmluZWQge1xuICAvLyBXZSBmaXJzdCBjaGVjayBpZiB0aGVyZSdzIGEgbW9yZSBzcGVjaWZpYyBpbnRlcmNlcHRpb24gcm91dGUgcHJlZmV0Y2ggZW50cnlcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIHdoZW4gd2UgZGV0ZWN0IGEgcHJlZmV0Y2ggdGhhdCBjb3JyZXNwb25kcyB3aXRoIGFuIGludGVyY2VwdGlvbiByb3V0ZSwgd2UgcHJlZml4IGl0IHdpdGggbmV4dFVybCAoc2VlIGBjcmVhdGVQcmVmZXRjaENhY2hlS2V5YClcbiAgLy8gdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggb3RoZXIgcGFnZXMgdGhhdCBtYXkgaGF2ZSB0aGUgc2FtZSBVUkwgYnV0IHJlbmRlciBkaWZmZXJlbnQgdGhpbmdzIGRlcGVuZGluZyBvbiB0aGUgYE5leHQtVVJMYCBoZWFkZXIuXG4gIGZvciAoY29uc3QgbWF5YmVOZXh0VXJsIG9mIFtuZXh0VXJsLCBudWxsXSkge1xuICAgIGNvbnN0IGNhY2hlS2V5V2l0aFBhcmFtcyA9IGNyZWF0ZVByZWZldGNoQ2FjaGVLZXlJbXBsKFxuICAgICAgdXJsLFxuICAgICAgdHJ1ZSxcbiAgICAgIG1heWJlTmV4dFVybFxuICAgIClcbiAgICBjb25zdCBjYWNoZUtleVdpdGhvdXRQYXJhbXMgPSBjcmVhdGVQcmVmZXRjaENhY2hlS2V5SW1wbChcbiAgICAgIHVybCxcbiAgICAgIGZhbHNlLFxuICAgICAgbWF5YmVOZXh0VXJsXG4gICAgKVxuXG4gICAgLy8gRmlyc3QsIHdlIGNoZWNrIGlmIHdlIGhhdmUgYSBjYWNoZSBlbnRyeSB0aGF0IGV4YWN0bHkgbWF0Y2hlcyB0aGUgVVJMXG4gICAgY29uc3QgY2FjaGVLZXlUb1VzZSA9IHVybC5zZWFyY2hcbiAgICAgID8gY2FjaGVLZXlXaXRoUGFyYW1zXG4gICAgICA6IGNhY2hlS2V5V2l0aG91dFBhcmFtc1xuXG4gICAgY29uc3QgZXhpc3RpbmdFbnRyeSA9IHByZWZldGNoQ2FjaGUuZ2V0KGNhY2hlS2V5VG9Vc2UpXG4gICAgaWYgKGV4aXN0aW5nRW50cnkgJiYgYWxsb3dBbGlhc2luZykge1xuICAgICAgLy8gV2Uga25vdyB3ZSdyZSByZXR1cm5pbmcgYW4gYWxpYXNlZCBlbnRyeSB3aGVuIHRoZSBwYXRobmFtZSBtYXRjaGVzIGJ1dCB0aGUgc2VhcmNoIHBhcmFtcyBkb24ndCxcbiAgICAgIGNvbnN0IGlzQWxpYXNlZCA9XG4gICAgICAgIGV4aXN0aW5nRW50cnkudXJsLnBhdGhuYW1lID09PSB1cmwucGF0aG5hbWUgJiZcbiAgICAgICAgZXhpc3RpbmdFbnRyeS51cmwuc2VhcmNoICE9PSB1cmwuc2VhcmNoXG5cbiAgICAgIGlmIChpc0FsaWFzZWQpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi5leGlzdGluZ0VudHJ5LFxuICAgICAgICAgIGFsaWFzZWQ6IHRydWUsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGV4aXN0aW5nRW50cnlcbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgcmVxdWVzdCBjb250YWlucyBzZWFyY2ggcGFyYW1zLCBhbmQgd2UncmUgbm90IGRvaW5nIGEgZnVsbCBwcmVmZXRjaCwgd2UgY2FuIHJldHVybiB0aGVcbiAgICAvLyBwYXJhbS1sZXNzIGVudHJ5IGlmIGl0IGV4aXN0cy5cbiAgICAvLyBUaGlzIGlzIHRlY2huaWNhbGx5IGNvdmVyZWQgYnkgdGhlIGNoZWNrIGF0IHRoZSBib3R0b20gb2YgdGhpcyBmdW5jdGlvbiwgd2hpY2ggaXRlcmF0ZXMgb3ZlciBjYWNoZSBlbnRyaWVzLFxuICAgIC8vIGJ1dCBsZXRzIHVzIGFycml2ZSB0aGVyZSBxdWlja2VyIGluIHRoZSBwYXJhbS1mdWxsIGNhc2UuXG4gICAgY29uc3QgZW50cnlXaXRob3V0UGFyYW1zID0gcHJlZmV0Y2hDYWNoZS5nZXQoY2FjaGVLZXlXaXRob3V0UGFyYW1zKVxuICAgIGlmIChcbiAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAnZGV2ZWxvcG1lbnQnICYmXG4gICAgICBhbGxvd0FsaWFzaW5nICYmXG4gICAgICB1cmwuc2VhcmNoICYmXG4gICAgICBraW5kICE9PSBQcmVmZXRjaEtpbmQuRlVMTCAmJlxuICAgICAgZW50cnlXaXRob3V0UGFyYW1zICYmXG4gICAgICAvLyBXZSBzaG91bGRuJ3QgcmV0dXJuIHRoZSBhbGlhc2VkIGVudHJ5IGlmIGl0IHdhcyByZWxvY2F0ZWQgdG8gYSBuZXcgY2FjaGUga2V5LlxuICAgICAgLy8gU2luY2UgaXQncyByZXdyaXR0ZW4sIGl0IGNvdWxkIHJlc3BvbmQgd2l0aCBhIGNvbXBsZXRlbHkgZGlmZmVyZW50IGxvYWRpbmcgc3RhdGUuXG4gICAgICAhZW50cnlXaXRob3V0UGFyYW1zLmtleS5pbmNsdWRlcyhJTlRFUkNFUFRJT05fQ0FDSEVfS0VZX01BUktFUilcbiAgICApIHtcbiAgICAgIHJldHVybiB7IC4uLmVudHJ5V2l0aG91dFBhcmFtcywgYWxpYXNlZDogdHJ1ZSB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2UndmUgZ290dGVuIHRvIHRoaXMgcG9pbnQsIHdlIGRpZG4ndCBmaW5kIGEgc3BlY2lmaWMgY2FjaGUgZW50cnkgdGhhdCBtYXRjaGVkXG4gIC8vIHRoZSByZXF1ZXN0IFVSTC5cbiAgLy8gV2UgYXR0ZW1wdCBhIHBhcnRpYWwgbWF0Y2ggYnkgY2hlY2tpbmcgaWYgdGhlcmUncyBhIGNhY2hlIGVudHJ5IHdpdGggdGhlIHNhbWUgcGF0aG5hbWUuXG4gIC8vIFJlZ2FyZGxlc3Mgb2Ygd2hhdCB3ZSBmaW5kLCBzaW5jZSBpdCBkb2Vzbid0IGNvcnJlc3BvbmQgd2l0aCB0aGUgcmVxdWVzdGVkIFVSTCwgd2UnbGwgbWFyayBpdCBcImFsaWFzZWRcIi5cbiAgLy8gVGhpcyB3aWxsIHNpZ25hbCB0byB0aGUgcm91dGVyIHRoYXQgaXQgc2hvdWxkIG9ubHkgYXBwbHkgdGhlIGxvYWRpbmcgc3RhdGUgb24gdGhlIHByZWZldGNoZWQgZGF0YS5cbiAgaWYgKFxuICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAnZGV2ZWxvcG1lbnQnICYmXG4gICAga2luZCAhPT0gUHJlZmV0Y2hLaW5kLkZVTEwgJiZcbiAgICBhbGxvd0FsaWFzaW5nXG4gICkge1xuICAgIGZvciAoY29uc3QgY2FjaGVFbnRyeSBvZiBwcmVmZXRjaENhY2hlLnZhbHVlcygpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIGNhY2hlRW50cnkudXJsLnBhdGhuYW1lID09PSB1cmwucGF0aG5hbWUgJiZcbiAgICAgICAgLy8gV2Ugc2hvdWxkbid0IHJldHVybiB0aGUgYWxpYXNlZCBlbnRyeSBpZiBpdCB3YXMgcmVsb2NhdGVkIHRvIGEgbmV3IGNhY2hlIGtleS5cbiAgICAgICAgLy8gU2luY2UgaXQncyByZXdyaXR0ZW4sIGl0IGNvdWxkIHJlc3BvbmQgd2l0aCBhIGNvbXBsZXRlbHkgZGlmZmVyZW50IGxvYWRpbmcgc3RhdGUuXG4gICAgICAgICFjYWNoZUVudHJ5LmtleS5pbmNsdWRlcyhJTlRFUkNFUFRJT05fQ0FDSEVfS0VZX01BUktFUilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4geyAuLi5jYWNoZUVudHJ5LCBhbGlhc2VkOiB0cnVlIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkXG59XG5cbi8qKlxuICogUmV0dXJucyBhIHByZWZldGNoIGNhY2hlIGVudHJ5IGlmIG9uZSBleGlzdHMuIE90aGVyd2lzZSBjcmVhdGVzIGEgbmV3IG9uZSBhbmQgZW5xdWV1ZXMgYSBmZXRjaCByZXF1ZXN0XG4gKiB0byByZXRyaWV2ZSB0aGUgcHJlZmV0Y2ggZGF0YSBmcm9tIHRoZSBzZXJ2ZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSh7XG4gIHVybCxcbiAgbmV4dFVybCxcbiAgdHJlZSxcbiAgcHJlZmV0Y2hDYWNoZSxcbiAga2luZCxcbiAgYWxsb3dBbGlhc2luZyA9IHRydWUsXG59OiBQaWNrPFJlYWRvbmx5UmVkdWNlclN0YXRlLCAnbmV4dFVybCcgfCAncHJlZmV0Y2hDYWNoZScgfCAndHJlZSc+ICYge1xuICB1cmw6IFVSTFxuICBraW5kPzogUHJlZmV0Y2hLaW5kXG4gIGFsbG93QWxpYXNpbmc6IGJvb2xlYW5cbn0pOiBBbGlhc2VkUHJlZmV0Y2hDYWNoZUVudHJ5IHtcbiAgY29uc3QgZXhpc3RpbmdDYWNoZUVudHJ5ID0gZ2V0RXhpc3RpbmdDYWNoZUVudHJ5KFxuICAgIHVybCxcbiAgICBraW5kLFxuICAgIG5leHRVcmwsXG4gICAgcHJlZmV0Y2hDYWNoZSxcbiAgICBhbGxvd0FsaWFzaW5nXG4gIClcblxuICBpZiAoZXhpc3RpbmdDYWNoZUVudHJ5KSB7XG4gICAgLy8gR3JhYiB0aGUgbGF0ZXN0IHN0YXR1cyBvZiB0aGUgY2FjaGUgZW50cnkgYW5kIHVwZGF0ZSBpdFxuICAgIGV4aXN0aW5nQ2FjaGVFbnRyeS5zdGF0dXMgPSBnZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMoZXhpc3RpbmdDYWNoZUVudHJ5KVxuXG4gICAgLy8gd2hlbiBga2luZGAgaXMgcHJvdmlkZWQsIGFuIGV4cGxpY2l0IHByZWZldGNoIHdhcyByZXF1ZXN0ZWQuXG4gICAgLy8gaWYgdGhlIHJlcXVlc3RlZCBwcmVmZXRjaCBpcyBcImZ1bGxcIiBhbmQgdGhlIGN1cnJlbnQgY2FjaGUgZW50cnkgd2Fzbid0LCB3ZSB3YW50IHRvIHJlLXByZWZldGNoIHdpdGggdGhlIG5ldyBpbnRlbnRcbiAgICBjb25zdCBzd2l0Y2hlZFRvRnVsbFByZWZldGNoID1cbiAgICAgIGV4aXN0aW5nQ2FjaGVFbnRyeS5raW5kICE9PSBQcmVmZXRjaEtpbmQuRlVMTCAmJlxuICAgICAga2luZCA9PT0gUHJlZmV0Y2hLaW5kLkZVTExcblxuICAgIGlmIChzd2l0Y2hlZFRvRnVsbFByZWZldGNoKSB7XG4gICAgICAvLyBJZiB3ZSBzd2l0Y2hlZCB0byBhIGZ1bGwgcHJlZmV0Y2gsIHZhbGlkYXRlIHRoYXQgdGhlIGV4aXN0aW5nIGNhY2hlIGVudHJ5IGNvbnRhaW5lZCBwYXJ0aWFsIGRhdGEuXG4gICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGNhY2hlIGVudHJ5IHdhcyBzZWVkZWQgd2l0aCBmdWxsIGRhdGEgYnV0IGhhcyBhIGNhY2hlIHR5cGUgb2YgXCJhdXRvXCIgKGllIHdoZW4gY2FjaGUgZW50cmllc1xuICAgICAgLy8gYXJlIHNlZWRlZCBidXQgd2l0aG91dCBhIHByZWZldGNoIGludGVudClcbiAgICAgIGV4aXN0aW5nQ2FjaGVFbnRyeS5kYXRhLnRoZW4oKHByZWZldGNoUmVzcG9uc2UpID0+IHtcbiAgICAgICAgY29uc3QgaXNGdWxsUHJlZmV0Y2ggPVxuICAgICAgICAgIEFycmF5LmlzQXJyYXkocHJlZmV0Y2hSZXNwb25zZS5mbGlnaHREYXRhKSAmJlxuICAgICAgICAgIHByZWZldGNoUmVzcG9uc2UuZmxpZ2h0RGF0YS5zb21lKChmbGlnaHREYXRhKSA9PiB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBzdGFydGVkIHJlbmRlcmluZyBmcm9tIHRoZSByb290IGFuZCB3ZSByZXR1cm5lZCBSU0MgZGF0YSAoc2VlZERhdGEpLCB3ZSBhbHJlYWR5IGhhZCBhIGZ1bGwgcHJlZmV0Y2guXG4gICAgICAgICAgICByZXR1cm4gZmxpZ2h0RGF0YS5pc1Jvb3RSZW5kZXIgJiYgZmxpZ2h0RGF0YS5zZWVkRGF0YSAhPT0gbnVsbFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgaWYgKCFpc0Z1bGxQcmVmZXRjaCkge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVMYXp5UHJlZmV0Y2hFbnRyeSh7XG4gICAgICAgICAgICB0cmVlLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgbmV4dFVybCxcbiAgICAgICAgICAgIHByZWZldGNoQ2FjaGUsXG4gICAgICAgICAgICAvLyBJZiB3ZSBkaWRuJ3QgZ2V0IGFuIGV4cGxpY2l0IHByZWZldGNoIGtpbmQsIHdlIHdhbnQgdG8gc2V0IGEgdGVtcG9yYXJ5IGtpbmRcbiAgICAgICAgICAgIC8vIHJhdGhlciB0aGFuIGFzc3VtaW5nIHRoZSBzYW1lIGludGVudCBhcyB0aGUgcHJldmlvdXMgZW50cnksIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBob3cgd2VcbiAgICAgICAgICAgIC8vIGxhemlseSBjcmVhdGUgcHJlZmV0Y2ggZW50cmllcyB3aGVuIGludGVudCBpcyBsZWZ0IHVuc3BlY2lmaWVkLlxuICAgICAgICAgICAga2luZDoga2luZCA/PyBQcmVmZXRjaEtpbmQuVEVNUE9SQVJZLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGV4aXN0aW5nIGNhY2hlIGVudHJ5IHdhcyBtYXJrZWQgYXMgdGVtcG9yYXJ5LCBpdCBtZWFucyBpdCB3YXMgbGF6aWx5IGNyZWF0ZWQgd2hlbiBhdHRlbXB0aW5nIHRvIGdldCBhbiBlbnRyeSxcbiAgICAvLyB3aGVyZSB3ZSBkaWRuJ3QgaGF2ZSB0aGUgcHJlZmV0Y2ggaW50ZW50LiBOb3cgdGhhdCB3ZSBoYXZlIHRoZSBpbnRlbnQgKGluIGBraW5kYCksIHdlIHdhbnQgdG8gdXBkYXRlIHRoZSBlbnRyeSB0byB0aGUgbW9yZSBhY2N1cmF0ZSBraW5kLlxuICAgIGlmIChraW5kICYmIGV4aXN0aW5nQ2FjaGVFbnRyeS5raW5kID09PSBQcmVmZXRjaEtpbmQuVEVNUE9SQVJZKSB7XG4gICAgICBleGlzdGluZ0NhY2hlRW50cnkua2luZCA9IGtpbmRcbiAgICB9XG5cbiAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgdGhlIGV4aXN0aW5nIGVudHJ5IHdlIGZvdW5kIGlzIHN0aWxsIHZhbGlkLCBzbyB3ZSByZXR1cm4gaXQuXG4gICAgcmV0dXJuIGV4aXN0aW5nQ2FjaGVFbnRyeVxuICB9XG5cbiAgLy8gSWYgd2UgZGlkbid0IHJldHVybiBhbiBlbnRyeSwgY3JlYXRlIGEgbmV3IG9uZS5cbiAgcmV0dXJuIGNyZWF0ZUxhenlQcmVmZXRjaEVudHJ5KHtcbiAgICB0cmVlLFxuICAgIHVybCxcbiAgICBuZXh0VXJsLFxuICAgIHByZWZldGNoQ2FjaGUsXG4gICAga2luZDoga2luZCB8fCBQcmVmZXRjaEtpbmQuVEVNUE9SQVJZLFxuICB9KVxufVxuXG4vKlxuICogVXNlZCB0byB0YWtlIGFuIGV4aXN0aW5nIGNhY2hlIGVudHJ5IGFuZCBwcmVmaXggaXQgd2l0aCB0aGUgbmV4dFVybCwgaWYgaXQgZXhpc3RzLlxuICogVGhpcyBlbnN1cmVzIHRoYXQgd2UgZG9uJ3QgaGF2ZSBjb25mbGljdGluZyBjYWNoZSBlbnRyaWVzIGZvciB0aGUgc2FtZSBVUkwgKGFzIGlzIHRoZSBjYXNlIHdpdGggcm91dGUgaW50ZXJjZXB0aW9uKS5cbiAqL1xuZnVuY3Rpb24gcHJlZml4RXhpc3RpbmdQcmVmZXRjaENhY2hlRW50cnkoe1xuICB1cmwsXG4gIG5leHRVcmwsXG4gIHByZWZldGNoQ2FjaGUsXG4gIGV4aXN0aW5nQ2FjaGVLZXksXG59OiBQaWNrPFJlYWRvbmx5UmVkdWNlclN0YXRlLCAnbmV4dFVybCcgfCAncHJlZmV0Y2hDYWNoZSc+ICYge1xuICB1cmw6IFVSTFxuICBleGlzdGluZ0NhY2hlS2V5OiBzdHJpbmdcbn0pIHtcbiAgY29uc3QgZXhpc3RpbmdDYWNoZUVudHJ5ID0gcHJlZmV0Y2hDYWNoZS5nZXQoZXhpc3RpbmdDYWNoZUtleSlcbiAgaWYgKCFleGlzdGluZ0NhY2hlRW50cnkpIHtcbiAgICAvLyBuby1vcCAtLSB0aGVyZSB3YXNuJ3QgYW4gZW50cnkgdG8gbW92ZVxuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgbmV3Q2FjaGVLZXkgPSBjcmVhdGVQcmVmZXRjaENhY2hlS2V5KFxuICAgIHVybCxcbiAgICBleGlzdGluZ0NhY2hlRW50cnkua2luZCxcbiAgICBuZXh0VXJsXG4gIClcbiAgcHJlZmV0Y2hDYWNoZS5zZXQobmV3Q2FjaGVLZXksIHsgLi4uZXhpc3RpbmdDYWNoZUVudHJ5LCBrZXk6IG5ld0NhY2hlS2V5IH0pXG4gIHByZWZldGNoQ2FjaGUuZGVsZXRlKGV4aXN0aW5nQ2FjaGVLZXkpXG5cbiAgcmV0dXJuIG5ld0NhY2hlS2V5XG59XG5cbi8qKlxuICogVXNlIHRvIHNlZWQgdGhlIHByZWZldGNoIGNhY2hlIHdpdGggZGF0YSB0aGF0IGhhcyBhbHJlYWR5IGJlZW4gZmV0Y2hlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlZWRlZFByZWZldGNoQ2FjaGVFbnRyeSh7XG4gIG5leHRVcmwsXG4gIHRyZWUsXG4gIHByZWZldGNoQ2FjaGUsXG4gIHVybCxcbiAgZGF0YSxcbiAga2luZCxcbn06IFBpY2s8UmVhZG9ubHlSZWR1Y2VyU3RhdGUsICduZXh0VXJsJyB8ICd0cmVlJyB8ICdwcmVmZXRjaENhY2hlJz4gJiB7XG4gIHVybDogVVJMXG4gIGRhdGE6IEZldGNoU2VydmVyUmVzcG9uc2VSZXN1bHRcbiAga2luZDogUHJlZmV0Y2hLaW5kXG59KSB7XG4gIC8vIFRoZSBpbml0aWFsIGNhY2hlIGVudHJ5IHRlY2huaWNhbGx5IGluY2x1ZGVzIGZ1bGwgZGF0YSwgYnV0IGl0IGlzbid0IGV4cGxpY2l0bHkgcHJlZmV0Y2hlZCAtLSB3ZSBqdXN0IHNlZWQgdGhlXG4gIC8vIHByZWZldGNoIGNhY2hlIHNvIHRoYXQgd2UgY2FuIHNraXAgYW4gZXh0cmEgcHJlZmV0Y2ggcmVxdWVzdCBsYXRlciwgc2luY2Ugd2UgYWxyZWFkeSBoYXZlIHRoZSBkYXRhLlxuICAvLyBpZiB0aGUgcHJlZmV0Y2ggY29ycmVzcG9uZHMgd2l0aCBhbiBpbnRlcmNlcHRpb24gcm91dGUsIHdlIHVzZSB0aGUgbmV4dFVybCB0byBwcmVmaXggdGhlIGNhY2hlIGtleVxuICBjb25zdCBwcmVmZXRjaENhY2hlS2V5ID0gZGF0YS5jb3VsZEJlSW50ZXJjZXB0ZWRcbiAgICA/IGNyZWF0ZVByZWZldGNoQ2FjaGVLZXkodXJsLCBraW5kLCBuZXh0VXJsKVxuICAgIDogY3JlYXRlUHJlZmV0Y2hDYWNoZUtleSh1cmwsIGtpbmQpXG5cbiAgY29uc3QgcHJlZmV0Y2hFbnRyeSA9IHtcbiAgICB0cmVlQXRUaW1lT2ZQcmVmZXRjaDogdHJlZSxcbiAgICBkYXRhOiBQcm9taXNlLnJlc29sdmUoZGF0YSksXG4gICAga2luZCxcbiAgICBwcmVmZXRjaFRpbWU6IERhdGUubm93KCksXG4gICAgbGFzdFVzZWRUaW1lOiBEYXRlLm5vdygpLFxuICAgIHN0YWxlVGltZTogZGF0YS5zdGFsZVRpbWUsXG4gICAga2V5OiBwcmVmZXRjaENhY2hlS2V5LFxuICAgIHN0YXR1czogUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLmZyZXNoLFxuICAgIHVybCxcbiAgfSBzYXRpc2ZpZXMgUHJlZmV0Y2hDYWNoZUVudHJ5XG5cbiAgcHJlZmV0Y2hDYWNoZS5zZXQocHJlZmV0Y2hDYWNoZUtleSwgcHJlZmV0Y2hFbnRyeSlcblxuICByZXR1cm4gcHJlZmV0Y2hFbnRyeVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBwcmVmZXRjaCBlbnRyeSBlbnRyeSBhbmQgZW5xdWV1ZXMgYSBmZXRjaCByZXF1ZXN0IHRvIHJldHJpZXZlIHRoZSBkYXRhLlxuICovXG5mdW5jdGlvbiBjcmVhdGVMYXp5UHJlZmV0Y2hFbnRyeSh7XG4gIHVybCxcbiAga2luZCxcbiAgdHJlZSxcbiAgbmV4dFVybCxcbiAgcHJlZmV0Y2hDYWNoZSxcbn06IFBpY2s8UmVhZG9ubHlSZWR1Y2VyU3RhdGUsICduZXh0VXJsJyB8ICd0cmVlJyB8ICdwcmVmZXRjaENhY2hlJz4gJiB7XG4gIHVybDogVVJMXG4gIGtpbmQ6IFByZWZldGNoS2luZFxufSk6IFByZWZldGNoQ2FjaGVFbnRyeSB7XG4gIGNvbnN0IHByZWZldGNoQ2FjaGVLZXkgPSBjcmVhdGVQcmVmZXRjaENhY2hlS2V5KHVybCwga2luZClcblxuICAvLyBpbml0aWF0ZXMgdGhlIGZldGNoIHJlcXVlc3QgZm9yIHRoZSBwcmVmZXRjaCBhbmQgYXR0YWNoZXMgYSBsaXN0ZW5lclxuICAvLyB0byB0aGUgcHJvbWlzZSB0byB1cGRhdGUgdGhlIHByZWZldGNoIGNhY2hlIGVudHJ5IHdoZW4gdGhlIHByb21pc2UgcmVzb2x2ZXMgKGlmIG5lY2Vzc2FyeSlcbiAgY29uc3QgZGF0YSA9IHByZWZldGNoUXVldWUuZW5xdWV1ZSgoKSA9PlxuICAgIGZldGNoU2VydmVyUmVzcG9uc2UodXJsLCB7XG4gICAgICBmbGlnaHRSb3V0ZXJTdGF0ZTogdHJlZSxcbiAgICAgIG5leHRVcmwsXG4gICAgICBwcmVmZXRjaEtpbmQ6IGtpbmQsXG4gICAgfSkudGhlbigocHJlZmV0Y2hSZXNwb25zZSkgPT4ge1xuICAgICAgLy8gVE9ETzogYGZldGNoU2VydmVyUmVzcG9uc2VgIHNob3VsZCBiZSBtb3JlIHRpZ2hseSBjb3VwbGVkIHRvIHRoZXNlIHByZWZldGNoIGNhY2hlIG9wZXJhdGlvbnNcbiAgICAgIC8vIHRvIGF2b2lkIGRyaWZ0IGJldHdlZW4gdGhpcyBjYWNoZSBrZXkgcHJlZml4aW5nIGxvZ2ljXG4gICAgICAvLyAod2hpY2ggaXMgY3VycmVudGx5IGRpcmVjdGx5IGluZmx1ZW5jZWQgYnkgdGhlIHNlcnZlciByZXNwb25zZSlcbiAgICAgIGxldCBuZXdDYWNoZUtleVxuXG4gICAgICBpZiAocHJlZmV0Y2hSZXNwb25zZS5jb3VsZEJlSW50ZXJjZXB0ZWQpIHtcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIHdlIG5lZWQgdG8gcHJlZml4IHRoZSBjYWNoZSBrZXkgd2l0aCB0aGUgbmV4dFVybFxuICAgICAgICBuZXdDYWNoZUtleSA9IHByZWZpeEV4aXN0aW5nUHJlZmV0Y2hDYWNoZUVudHJ5KHtcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAgZXhpc3RpbmdDYWNoZUtleTogcHJlZmV0Y2hDYWNoZUtleSxcbiAgICAgICAgICBuZXh0VXJsLFxuICAgICAgICAgIHByZWZldGNoQ2FjaGUsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBwcmVmZXRjaCB3YXMgYSBjYWNoZSBoaXQsIHdlIHdhbnQgdG8gdXBkYXRlIHRoZSBleGlzdGluZyBjYWNoZSBlbnRyeSB0byByZWZsZWN0IHRoYXQgaXQgd2FzIGEgZnVsbCBwcmVmZXRjaC5cbiAgICAgIC8vIFRoaXMgaXMgYmVjYXVzZSB3ZSBrbm93IHRoYXQgYSBzdGF0aWMgcmVzcG9uc2Ugd2lsbCBjb250YWluIHRoZSBmdWxsIFJTQyBwYXlsb2FkLCBhbmQgY2FuIGJlIHVwZGF0ZWQgdG8gcmVzcGVjdCB0aGUgYHN0YXRpY2BcbiAgICAgIC8vIHN0YWxlVGltZS5cbiAgICAgIGlmIChwcmVmZXRjaFJlc3BvbnNlLnByZXJlbmRlcmVkKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQ2FjaGVFbnRyeSA9IHByZWZldGNoQ2FjaGUuZ2V0KFxuICAgICAgICAgIC8vIGlmIHdlIHByZWZpeGVkIHRoZSBjYWNoZSBrZXkgZHVlIHRvIHJvdXRlIGludGVyY2VwdGlvbiwgd2Ugd2FudCB0byB1c2UgdGhlIG5ldyBrZXkuIE90aGVyd2lzZSB3ZSB1c2UgdGhlIG9yaWdpbmFsIGtleVxuICAgICAgICAgIG5ld0NhY2hlS2V5ID8/IHByZWZldGNoQ2FjaGVLZXlcbiAgICAgICAgKVxuICAgICAgICBpZiAoZXhpc3RpbmdDYWNoZUVudHJ5KSB7XG4gICAgICAgICAgZXhpc3RpbmdDYWNoZUVudHJ5LmtpbmQgPSBQcmVmZXRjaEtpbmQuRlVMTFxuICAgICAgICAgIGlmIChwcmVmZXRjaFJlc3BvbnNlLnN0YWxlVGltZSAhPT0gLTEpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIHN0YWxlIHRpbWUgdGhhdCB3YXMgY29sbGVjdGVkIGJ5IHRoZSBzZXJ2ZXIgZHVyaW5nXG4gICAgICAgICAgICAvLyBzdGF0aWMgZ2VuZXJhdGlvbi4gVXNlIHRoaXMgaW4gcGxhY2Ugb2YgdGhlIGRlZmF1bHQgc3RhbGUgdGltZS5cbiAgICAgICAgICAgIGV4aXN0aW5nQ2FjaGVFbnRyeS5zdGFsZVRpbWUgPSBwcmVmZXRjaFJlc3BvbnNlLnN0YWxlVGltZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcHJlZmV0Y2hSZXNwb25zZVxuICAgIH0pXG4gIClcblxuICBjb25zdCBwcmVmZXRjaEVudHJ5ID0ge1xuICAgIHRyZWVBdFRpbWVPZlByZWZldGNoOiB0cmVlLFxuICAgIGRhdGEsXG4gICAga2luZCxcbiAgICBwcmVmZXRjaFRpbWU6IERhdGUubm93KCksXG4gICAgbGFzdFVzZWRUaW1lOiBudWxsLFxuICAgIHN0YWxlVGltZTogLTEsXG4gICAga2V5OiBwcmVmZXRjaENhY2hlS2V5LFxuICAgIHN0YXR1czogUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLmZyZXNoLFxuICAgIHVybCxcbiAgfVxuXG4gIHByZWZldGNoQ2FjaGUuc2V0KHByZWZldGNoQ2FjaGVLZXksIHByZWZldGNoRW50cnkpXG5cbiAgcmV0dXJuIHByZWZldGNoRW50cnlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBydW5lUHJlZmV0Y2hDYWNoZShcbiAgcHJlZmV0Y2hDYWNoZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGVbJ3ByZWZldGNoQ2FjaGUnXVxuKSB7XG4gIGZvciAoY29uc3QgW2hyZWYsIHByZWZldGNoQ2FjaGVFbnRyeV0gb2YgcHJlZmV0Y2hDYWNoZSkge1xuICAgIGlmIChcbiAgICAgIGdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cyhwcmVmZXRjaENhY2hlRW50cnkpID09PVxuICAgICAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLmV4cGlyZWRcbiAgICApIHtcbiAgICAgIHByZWZldGNoQ2FjaGUuZGVsZXRlKGhyZWYpXG4gICAgfVxuICB9XG59XG5cbi8vIFRoZXNlIHZhbHVlcyBhcmUgc2V0IGJ5IGBkZWZpbmUtZW52LXBsdWdpbmAgKGJhc2VkIG9uIGBuZXh0Q29uZmlnLmV4cGVyaW1lbnRhbC5zdGFsZVRpbWVzYClcbi8vIGFuZCBkZWZhdWx0IHRvIDUgbWludXRlcyAoc3RhdGljKSAvIDAgc2Vjb25kcyAoZHluYW1pYylcbmV4cG9ydCBjb25zdCBEWU5BTUlDX1NUQUxFVElNRV9NUyA9XG4gIE51bWJlcihwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1JPVVRFUl9EWU5BTUlDX1NUQUxFVElNRSkgKiAxMDAwXG5cbmV4cG9ydCBjb25zdCBTVEFUSUNfU1RBTEVUSU1FX01TID1cbiAgTnVtYmVyKHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfUk9VVEVSX1NUQVRJQ19TVEFMRVRJTUUpICogMTAwMFxuXG5mdW5jdGlvbiBnZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMoe1xuICBraW5kLFxuICBwcmVmZXRjaFRpbWUsXG4gIGxhc3RVc2VkVGltZSxcbiAgc3RhbGVUaW1lLFxufTogUHJlZmV0Y2hDYWNoZUVudHJ5KTogUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIHtcbiAgaWYgKHN0YWxlVGltZSAhPT0gLTEpIHtcbiAgICAvLyBgc3RhbGVUaW1lYCBpcyB0aGUgdmFsdWUgc2VudCBieSB0aGUgc2VydmVyIGR1cmluZyBzdGF0aWMgZ2VuZXJhdGlvbi5cbiAgICAvLyBXaGVuIHRoaXMgaXMgYXZhaWxhYmxlLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYW55IG9mIHRoZSBoZXVyaXN0aWNzXG4gICAgLy8gdGhhdCBmb2xsb3cuXG4gICAgLy9cbiAgICAvLyBUT0RPOiBXaGVuIFBQUiBpcyBlbmFibGVkLCB0aGUgc2VydmVyIHdpbGwgKmFsd2F5cyogcmV0dXJuIGEgc3RhbGUgdGltZVxuICAgIC8vIHdoZW4gcHJlZmV0Y2hpbmcuIFdlIHNob3VsZCBuZXZlciB1c2UgYSBwcmVmZXRjaCBlbnRyeSB0aGF0IGhhc24ndCB5ZXRcbiAgICAvLyByZWNlaXZlZCBkYXRhIGZyb20gdGhlIHNlcnZlci4gU28gdGhlIG9ubHkgdHdvIGNhc2VzIHNob3VsZCBiZSAxKSB3ZSB1c2VcbiAgICAvLyB0aGUgc2VydmVyLWdlbmVyYXRlZCBzdGFsZSB0aW1lIDIpIHRoZSB1bnJlc29sdmVkIGVudHJ5IGlzIGRpc2NhcmRlZC5cbiAgICByZXR1cm4gRGF0ZS5ub3coKSA8IHByZWZldGNoVGltZSArIHN0YWxlVGltZVxuICAgICAgPyBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMuZnJlc2hcbiAgICAgIDogUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLnN0YWxlXG4gIH1cblxuICAvLyBXZSB3aWxsIHJlLXVzZSB0aGUgY2FjaGUgZW50cnkgZGF0YSBmb3IgdXAgdG8gdGhlIGBkeW5hbWljYCBzdGFsZXRpbWUgd2luZG93LlxuICBpZiAoRGF0ZS5ub3coKSA8IChsYXN0VXNlZFRpbWUgPz8gcHJlZmV0Y2hUaW1lKSArIERZTkFNSUNfU1RBTEVUSU1FX01TKSB7XG4gICAgcmV0dXJuIGxhc3RVc2VkVGltZVxuICAgICAgPyBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMucmV1c2FibGVcbiAgICAgIDogUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLmZyZXNoXG4gIH1cblxuICAvLyBGb3IgXCJhdXRvXCIgcHJlZmV0Y2hpbmcsIHdlJ2xsIHJlLXVzZSBvbmx5IHRoZSBsb2FkaW5nIGJvdW5kYXJ5IGZvciB1cCB0byBgc3RhdGljYCBzdGFsZXRpbWUgd2luZG93LlxuICAvLyBBIHN0YWxlIGVudHJ5IHdpbGwgb25seSByZS11c2UgdGhlIGBsb2FkaW5nYCBib3VuZGFyeSwgbm90IHRoZSBmdWxsIGRhdGEuXG4gIC8vIFRoaXMgd2lsbCB0cmlnZ2VyIGEgXCJsYXp5IGZldGNoXCIgZm9yIHRoZSBmdWxsIGRhdGEuXG4gIGlmIChraW5kID09PSBQcmVmZXRjaEtpbmQuQVVUTykge1xuICAgIGlmIChEYXRlLm5vdygpIDwgcHJlZmV0Y2hUaW1lICsgU1RBVElDX1NUQUxFVElNRV9NUykge1xuICAgICAgcmV0dXJuIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5zdGFsZVxuICAgIH1cbiAgfVxuXG4gIC8vIGZvciBcImZ1bGxcIiBwcmVmZXRjaGluZywgd2UnbGwgcmUtdXNlIHRoZSBjYWNoZSBlbnRyeSBkYXRhIGZvciB1cCB0byBgc3RhdGljYCBzdGFsZXRpbWUgd2luZG93LlxuICBpZiAoa2luZCA9PT0gUHJlZmV0Y2hLaW5kLkZVTEwpIHtcbiAgICBpZiAoRGF0ZS5ub3coKSA8IHByZWZldGNoVGltZSArIFNUQVRJQ19TVEFMRVRJTUVfTVMpIHtcbiAgICAgIHJldHVybiBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMucmV1c2FibGVcbiAgICB9XG4gIH1cblxuICByZXR1cm4gUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLmV4cGlyZWRcbn1cbiJdLCJuYW1lcyI6WyJEWU5BTUlDX1NUQUxFVElNRV9NUyIsIlNUQVRJQ19TVEFMRVRJTUVfTVMiLCJjcmVhdGVTZWVkZWRQcmVmZXRjaENhY2hlRW50cnkiLCJnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSIsInBydW5lUHJlZmV0Y2hDYWNoZSIsIklOVEVSQ0VQVElPTl9DQUNIRV9LRVlfTUFSS0VSIiwiY3JlYXRlUHJlZmV0Y2hDYWNoZUtleUltcGwiLCJ1cmwiLCJpbmNsdWRlU2VhcmNoUGFyYW1zIiwicHJlZml4IiwicGF0aG5hbWVGcm9tVXJsIiwicGF0aG5hbWUiLCJzZWFyY2giLCJjcmVhdGVQcmVmZXRjaENhY2hlS2V5Iiwia2luZCIsIm5leHRVcmwiLCJQcmVmZXRjaEtpbmQiLCJGVUxMIiwiZ2V0RXhpc3RpbmdDYWNoZUVudHJ5IiwicHJlZmV0Y2hDYWNoZSIsImFsbG93QWxpYXNpbmciLCJURU1QT1JBUlkiLCJtYXliZU5leHRVcmwiLCJjYWNoZUtleVdpdGhQYXJhbXMiLCJjYWNoZUtleVdpdGhvdXRQYXJhbXMiLCJjYWNoZUtleVRvVXNlIiwiZXhpc3RpbmdFbnRyeSIsImdldCIsImlzQWxpYXNlZCIsImFsaWFzZWQiLCJlbnRyeVdpdGhvdXRQYXJhbXMiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJrZXkiLCJpbmNsdWRlcyIsImNhY2hlRW50cnkiLCJ2YWx1ZXMiLCJ1bmRlZmluZWQiLCJ0cmVlIiwiZXhpc3RpbmdDYWNoZUVudHJ5Iiwic3RhdHVzIiwiZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzIiwic3dpdGNoZWRUb0Z1bGxQcmVmZXRjaCIsImRhdGEiLCJ0aGVuIiwicHJlZmV0Y2hSZXNwb25zZSIsImlzRnVsbFByZWZldGNoIiwiQXJyYXkiLCJpc0FycmF5IiwiZmxpZ2h0RGF0YSIsInNvbWUiLCJpc1Jvb3RSZW5kZXIiLCJzZWVkRGF0YSIsImNyZWF0ZUxhenlQcmVmZXRjaEVudHJ5IiwicHJlZml4RXhpc3RpbmdQcmVmZXRjaENhY2hlRW50cnkiLCJleGlzdGluZ0NhY2hlS2V5IiwibmV3Q2FjaGVLZXkiLCJzZXQiLCJkZWxldGUiLCJwcmVmZXRjaENhY2hlS2V5IiwiY291bGRCZUludGVyY2VwdGVkIiwicHJlZmV0Y2hFbnRyeSIsInRyZWVBdFRpbWVPZlByZWZldGNoIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcmVmZXRjaFRpbWUiLCJEYXRlIiwibm93IiwibGFzdFVzZWRUaW1lIiwic3RhbGVUaW1lIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwiZnJlc2giLCJwcmVmZXRjaFF1ZXVlIiwiZW5xdWV1ZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJmbGlnaHRSb3V0ZXJTdGF0ZSIsInByZWZldGNoS2luZCIsInByZXJlbmRlcmVkIiwiaHJlZiIsInByZWZldGNoQ2FjaGVFbnRyeSIsImV4cGlyZWQiLCJOdW1iZXIiLCJfX05FWFRfQ0xJRU5UX1JPVVRFUl9EWU5BTUlDX1NUQUxFVElNRSIsIl9fTkVYVF9DTElFTlRfUk9VVEVSX1NUQVRJQ19TVEFMRVRJTUUiLCJzdGFsZSIsInJldXNhYmxlIiwiQVVUTyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"findHeadInCache\", ({\n enumerable: true,\n get: function() {\n return findHeadInCache;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _createroutercachekey = __webpack_require__(/*! ../create-router-cache-key */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction findHeadInCache(cache, parallelRoutes) {\n return findHeadInCacheImpl(cache, parallelRoutes, '');\n}\nfunction findHeadInCacheImpl(cache, parallelRoutes, keyPrefix) {\n const isLastItem = Object.keys(parallelRoutes).length === 0;\n if (isLastItem) {\n // Returns the entire Cache Node of the segment whose head we will render.\n return [\n cache,\n keyPrefix\n ];\n }\n // First try the 'children' parallel route if it exists\n // when starting from the \"root\", this corresponds with the main page component\n const parallelRoutesKeys = Object.keys(parallelRoutes).filter((key)=>key !== 'children');\n // if we are at the root, we need to check the children slot first\n if ('children' in parallelRoutes) {\n parallelRoutesKeys.unshift('children');\n }\n for (const key of parallelRoutesKeys){\n const [segment, childParallelRoutes] = parallelRoutes[key];\n // If the parallel is not matched and using the default segment,\n // skip searching the head from it.\n if (segment === _segment.DEFAULT_SEGMENT_KEY) {\n continue;\n }\n const childSegmentMap = cache.parallelRoutes.get(key);\n if (!childSegmentMap) {\n continue;\n }\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const cacheNode = childSegmentMap.get(cacheKey);\n if (!cacheNode) {\n continue;\n }\n const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + '/' + cacheKey);\n if (item) {\n return item;\n }\n }\n return null;\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=find-head-in-cache.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmluZC1oZWFkLWluLWNhY2hlLmpzIiwibWFwcGluZ3MiOiI7Ozs7bURBS2dCQTs7O2VBQUFBOzs7cUNBSG9CO2tEQUNDO0FBRTlCLFNBQVNBLGdCQUNkQyxLQUFnQixFQUNoQkMsY0FBb0M7SUFFcEMsT0FBT0Msb0JBQW9CRixPQUFPQyxnQkFBZ0I7QUFDcEQ7QUFFQSxTQUFTQyxvQkFDUEYsS0FBZ0IsRUFDaEJDLGNBQW9DLEVBQ3BDRSxTQUFpQjtJQUVqQixNQUFNQyxhQUFhQyxPQUFPQyxJQUFJLENBQUNMLGdCQUFnQk0sTUFBTSxLQUFLO0lBQzFELElBQUlILFlBQVk7UUFDZCwwRUFBMEU7UUFDMUUsT0FBTztZQUFDSjtZQUFPRztTQUFVO0lBQzNCO0lBRUEsdURBQXVEO0lBQ3ZELCtFQUErRTtJQUMvRSxNQUFNSyxxQkFBcUJILE9BQU9DLElBQUksQ0FBQ0wsZ0JBQWdCUSxNQUFNLENBQzNELENBQUNDLE1BQVFBLFFBQVE7SUFHbkIsa0VBQWtFO0lBQ2xFLElBQUksY0FBY1QsZ0JBQWdCO1FBQ2hDTyxtQkFBbUJHLE9BQU8sQ0FBQztJQUM3QjtJQUVBLEtBQUssTUFBTUQsT0FBT0YsbUJBQW9CO1FBQ3BDLE1BQU0sQ0FBQ0ksU0FBU0Msb0JBQW9CLEdBQUdaLGNBQWMsQ0FBQ1MsSUFBSTtRQUMxRCxnRUFBZ0U7UUFDaEUsbUNBQW1DO1FBQ25DLElBQUlFLFlBQVlFLFNBQUFBLG1CQUFtQixFQUFFO1lBQ25DO1FBQ0Y7UUFDQSxNQUFNQyxrQkFBa0JmLE1BQU1DLGNBQWMsQ0FBQ2UsR0FBRyxDQUFDTjtRQUNqRCxJQUFJLENBQUNLLGlCQUFpQjtZQUNwQjtRQUNGO1FBRUEsTUFBTUUsV0FBV0MsQ0FBQUEsR0FBQUEsc0JBQUFBLG9CQUFBQSxFQUFxQk47UUFFdEMsTUFBTU8sWUFBWUosZ0JBQWdCQyxHQUFHLENBQUNDO1FBQ3RDLElBQUksQ0FBQ0UsV0FBVztZQUNkO1FBQ0Y7UUFFQSxNQUFNQyxPQUFPbEIsb0JBQ1hpQixXQUNBTixxQkFDQVYsWUFBWSxNQUFNYztRQUVwQixJQUFJRyxNQUFNO1lBQ1IsT0FBT0E7UUFDVDtJQUNGO0lBRUEsT0FBTztBQUNUIiwic291cmNlcyI6WyIvaG9tZS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmluZC1oZWFkLWluLWNhY2hlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBERUZBVUxUX1NFR01FTlRfS0VZIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50J1xuaW1wb3J0IHsgY3JlYXRlUm91dGVyQ2FjaGVLZXkgfSBmcm9tICcuLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleSdcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRIZWFkSW5DYWNoZShcbiAgY2FjaGU6IENhY2hlTm9kZSxcbiAgcGFyYWxsZWxSb3V0ZXM6IEZsaWdodFJvdXRlclN0YXRlWzFdXG4pOiBbQ2FjaGVOb2RlLCBzdHJpbmddIHwgbnVsbCB7XG4gIHJldHVybiBmaW5kSGVhZEluQ2FjaGVJbXBsKGNhY2hlLCBwYXJhbGxlbFJvdXRlcywgJycpXG59XG5cbmZ1bmN0aW9uIGZpbmRIZWFkSW5DYWNoZUltcGwoXG4gIGNhY2hlOiBDYWNoZU5vZGUsXG4gIHBhcmFsbGVsUm91dGVzOiBGbGlnaHRSb3V0ZXJTdGF0ZVsxXSxcbiAga2V5UHJlZml4OiBzdHJpbmdcbik6IFtDYWNoZU5vZGUsIHN0cmluZ10gfCBudWxsIHtcbiAgY29uc3QgaXNMYXN0SXRlbSA9IE9iamVjdC5rZXlzKHBhcmFsbGVsUm91dGVzKS5sZW5ndGggPT09IDBcbiAgaWYgKGlzTGFzdEl0ZW0pIHtcbiAgICAvLyBSZXR1cm5zIHRoZSBlbnRpcmUgQ2FjaGUgTm9kZSBvZiB0aGUgc2VnbWVudCB3aG9zZSBoZWFkIHdlIHdpbGwgcmVuZGVyLlxuICAgIHJldHVybiBbY2FjaGUsIGtleVByZWZpeF1cbiAgfVxuXG4gIC8vIEZpcnN0IHRyeSB0aGUgJ2NoaWxkcmVuJyBwYXJhbGxlbCByb3V0ZSBpZiBpdCBleGlzdHNcbiAgLy8gd2hlbiBzdGFydGluZyBmcm9tIHRoZSBcInJvb3RcIiwgdGhpcyBjb3JyZXNwb25kcyB3aXRoIHRoZSBtYWluIHBhZ2UgY29tcG9uZW50XG4gIGNvbnN0IHBhcmFsbGVsUm91dGVzS2V5cyA9IE9iamVjdC5rZXlzKHBhcmFsbGVsUm91dGVzKS5maWx0ZXIoXG4gICAgKGtleSkgPT4ga2V5ICE9PSAnY2hpbGRyZW4nXG4gIClcblxuICAvLyBpZiB3ZSBhcmUgYXQgdGhlIHJvb3QsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIGNoaWxkcmVuIHNsb3QgZmlyc3RcbiAgaWYgKCdjaGlsZHJlbicgaW4gcGFyYWxsZWxSb3V0ZXMpIHtcbiAgICBwYXJhbGxlbFJvdXRlc0tleXMudW5zaGlmdCgnY2hpbGRyZW4nKVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgcGFyYWxsZWxSb3V0ZXNLZXlzKSB7XG4gICAgY29uc3QgW3NlZ21lbnQsIGNoaWxkUGFyYWxsZWxSb3V0ZXNdID0gcGFyYWxsZWxSb3V0ZXNba2V5XVxuICAgIC8vIElmIHRoZSBwYXJhbGxlbCBpcyBub3QgbWF0Y2hlZCBhbmQgdXNpbmcgdGhlIGRlZmF1bHQgc2VnbWVudCxcbiAgICAvLyBza2lwIHNlYXJjaGluZyB0aGUgaGVhZCBmcm9tIGl0LlxuICAgIGlmIChzZWdtZW50ID09PSBERUZBVUxUX1NFR01FTlRfS0VZKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICBjb25zdCBjaGlsZFNlZ21lbnRNYXAgPSBjYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQoa2V5KVxuICAgIGlmICghY2hpbGRTZWdtZW50TWFwKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGNvbnN0IGNhY2hlS2V5ID0gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudClcblxuICAgIGNvbnN0IGNhY2hlTm9kZSA9IGNoaWxkU2VnbWVudE1hcC5nZXQoY2FjaGVLZXkpXG4gICAgaWYgKCFjYWNoZU5vZGUpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgY29uc3QgaXRlbSA9IGZpbmRIZWFkSW5DYWNoZUltcGwoXG4gICAgICBjYWNoZU5vZGUsXG4gICAgICBjaGlsZFBhcmFsbGVsUm91dGVzLFxuICAgICAga2V5UHJlZml4ICsgJy8nICsgY2FjaGVLZXlcbiAgICApXG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiBpdGVtXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cbiJdLCJuYW1lcyI6WyJmaW5kSGVhZEluQ2FjaGUiLCJjYWNoZSIsInBhcmFsbGVsUm91dGVzIiwiZmluZEhlYWRJbkNhY2hlSW1wbCIsImtleVByZWZpeCIsImlzTGFzdEl0ZW0iLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwicGFyYWxsZWxSb3V0ZXNLZXlzIiwiZmlsdGVyIiwia2V5IiwidW5zaGlmdCIsInNlZ21lbnQiLCJjaGlsZFBhcmFsbGVsUm91dGVzIiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsImNoaWxkU2VnbWVudE1hcCIsImdldCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJjYWNoZU5vZGUiLCJpdGVtIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js ***! \***********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentValue\", ({\n enumerable: true,\n get: function() {\n return getSegmentValue;\n }\n}));\nfunction getSegmentValue(segment) {\n return Array.isArray(segment) ? segment[1] : segment;\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=get-segment-value.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWUuanMiLCJtYXBwaW5ncyI6Ijs7OzttREFFZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLGdCQUFnQkMsT0FBZ0I7SUFDOUMsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRixXQUFXQSxPQUFPLENBQUMsRUFBRSxHQUFHQTtBQUMvQyIsInNvdXJjZXMiOlsiL2hvbWUvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU2VnbWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VnbWVudFZhbHVlKHNlZ21lbnQ6IFNlZ21lbnQpIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkoc2VnbWVudCkgPyBzZWdtZW50WzFdIDogc2VnbWVudFxufVxuIl0sIm5hbWVzIjpbImdldFNlZ21lbnRWYWx1ZSIsInNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js": /*!********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js ***! \********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasInterceptionRouteInCurrentTree\", ({\n enumerable: true,\n get: function() {\n return hasInterceptionRouteInCurrentTree;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../shared/lib/router/utils/interception-routes */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/interception-routes.js\");\nfunction hasInterceptionRouteInCurrentTree(param) {\n let [segment, parallelRoutes] = param;\n // If we have a dynamic segment, it's marked as an interception route by the presence of the `i` suffix.\n if (Array.isArray(segment) && (segment[2] === 'di' || segment[2] === 'ci')) {\n return true;\n }\n // If segment is not an array, apply the existing string-based check\n if (typeof segment === 'string' && (0, _interceptionroutes.isInterceptionRouteAppPath)(segment)) {\n return true;\n }\n // Iterate through parallelRoutes if they exist\n if (parallelRoutes) {\n for(const key in parallelRoutes){\n if (hasInterceptionRouteInCurrentTree(parallelRoutes[key])) {\n return true;\n }\n }\n }\n return false;\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=has-interception-route-in-current-tree.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvaGFzLWludGVyY2VwdGlvbi1yb3V0ZS1pbi1jdXJyZW50LXRyZWUuanMiLCJtYXBwaW5ncyI6Ijs7OztxRUFHZ0JBOzs7ZUFBQUE7OztnREFGMkI7QUFFcEMsU0FBU0Esa0NBQWtDLEtBRzlCO0lBSDhCLEtBQ2hEQyxTQUNBQyxlQUNrQixHQUg4QjtJQUloRCx3R0FBd0c7SUFDeEcsSUFBSUMsTUFBTUMsT0FBTyxDQUFDSCxZQUFhQSxDQUFBQSxPQUFPLENBQUMsRUFBRSxLQUFLLFFBQVFBLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBRyxFQUFJO1FBQzFFLE9BQU87SUFDVDtJQUVBLG9FQUFvRTtJQUNwRSxJQUFJLE9BQU9BLFlBQVksWUFBWUksQ0FBQUEsR0FBQUEsb0JBQUFBLDBCQUFBQSxFQUEyQkosVUFBVTtRQUN0RSxPQUFPO0lBQ1Q7SUFFQSwrQ0FBK0M7SUFDL0MsSUFBSUMsZ0JBQWdCO1FBQ2xCLElBQUssTUFBTUksT0FBT0osZUFBZ0I7WUFDaEMsSUFBSUYsa0NBQWtDRSxjQUFjLENBQUNJLElBQUksR0FBRztnQkFDMUQsT0FBTztZQUNUO1FBQ0Y7SUFDRjtJQUVBLE9BQU87QUFDVCIsInNvdXJjZXMiOlsiL2hvbWUvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2hhcy1pbnRlcmNlcHRpb24tcm91dGUtaW4tY3VycmVudC10cmVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB7IGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaW50ZXJjZXB0aW9uLXJvdXRlcydcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZShbXG4gIHNlZ21lbnQsXG4gIHBhcmFsbGVsUm91dGVzLFxuXTogRmxpZ2h0Um91dGVyU3RhdGUpOiBib29sZWFuIHtcbiAgLy8gSWYgd2UgaGF2ZSBhIGR5bmFtaWMgc2VnbWVudCwgaXQncyBtYXJrZWQgYXMgYW4gaW50ZXJjZXB0aW9uIHJvdXRlIGJ5IHRoZSBwcmVzZW5jZSBvZiB0aGUgYGlgIHN1ZmZpeC5cbiAgaWYgKEFycmF5LmlzQXJyYXkoc2VnbWVudCkgJiYgKHNlZ21lbnRbMl0gPT09ICdkaScgfHwgc2VnbWVudFsyXSA9PT0gJ2NpJykpIHtcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLy8gSWYgc2VnbWVudCBpcyBub3QgYW4gYXJyYXksIGFwcGx5IHRoZSBleGlzdGluZyBzdHJpbmctYmFzZWQgY2hlY2tcbiAgaWYgKHR5cGVvZiBzZWdtZW50ID09PSAnc3RyaW5nJyAmJiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChzZWdtZW50KSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvLyBJdGVyYXRlIHRocm91Z2ggcGFyYWxsZWxSb3V0ZXMgaWYgdGhleSBleGlzdFxuICBpZiAocGFyYWxsZWxSb3V0ZXMpIHtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBwYXJhbGxlbFJvdXRlcykge1xuICAgICAgaWYgKGhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZShwYXJhbGxlbFJvdXRlc1trZXldKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuIl0sIm5hbWVzIjpbImhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsIkFycmF5IiwiaXNBcnJheSIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwia2V5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js": /*!*************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js ***! \*************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hmrRefreshReducer\", ({\n enumerable: true,\n get: function() {\n return hmrRefreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n// A version of refresh reducer that keeps the cache around instead of wiping all of it.\nfunction hmrRefreshReducerImpl(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // If the current tree was intercepted, the nextUrl should be included in the request.\n // This is to ensure that the refresh request doesn't get intercepted, accidentally triggering the interception route.\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree);\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n const navigatedAt = Date.now();\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), {\n flightRouterState: [\n state.tree[0],\n state.tree[1],\n state.tree[2],\n 'refetch'\n ],\n nextUrl: includeNextUrl ? state.nextUrl : null,\n isHmrRefresh: true\n });\n return cache.lazyData.then((param)=>{\n let { flightData, canonicalUrl: canonicalUrlOverride } = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === 'string') {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const normalizedFlightData of flightData){\n const { tree: treePatch, isRootRender } = normalizedFlightData;\n if (!isRootRender) {\n // TODO-APP: handle this case better\n console.log('REFRESH FAILED');\n return state;\n }\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n ''\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const applied = (0, _applyflightdata.applyFlightData)(navigatedAt, currentCache, cache, normalizedFlightData);\n if (applied) {\n mutable.cache = cache;\n currentCache = cache;\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nfunction hmrRefreshReducerNoop(state, _action) {\n return state;\n}\nconst hmrRefreshReducer = false ? 0 : hmrRefreshReducerImpl;\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=hmr-refresh-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvaG1yLXJlZnJlc2gtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7O3FEQStIYUE7OztlQUFBQTs7O2lEQS9IdUI7K0NBQ0Y7eURBQ1U7eURBQ0E7NkNBT1Y7MkNBQ0o7NkNBQ0U7dUNBRUs7bURBQ0M7K0RBQ1k7QUFFbEQsd0ZBQXdGO0FBQ3hGLFNBQVNDLHNCQUNQQyxLQUEyQixFQUMzQkMsTUFBd0I7SUFFeEIsTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0Q7SUFDbkIsTUFBTUUsVUFBbUIsQ0FBQztJQUMxQixNQUFNQyxPQUFPSixNQUFNSyxZQUFZO0lBRS9CRixRQUFRRywwQkFBMEIsR0FBRztJQUVyQyxNQUFNQyxRQUFtQkMsQ0FBQUEsR0FBQUEsV0FBQUEsb0JBQUFBO0lBQ3pCLHNGQUFzRjtJQUN0RixzSEFBc0g7SUFDdEgsTUFBTUMsaUJBQWlCQyxDQUFBQSxHQUFBQSxtQ0FBQUEsaUNBQWlDLEVBQUNWLE1BQU1XLElBQUk7SUFFbkUsdURBQXVEO0lBQ3ZELHdDQUF3QztJQUN4QyxNQUFNQyxjQUFjQyxLQUFLQyxHQUFHO0lBQzVCUCxNQUFNUSxRQUFRLEdBQUdDLENBQUFBLEdBQUFBLHFCQUFBQSxtQkFBQUEsRUFBb0IsSUFBSUMsSUFBSWIsTUFBTUYsU0FBUztRQUMxRGdCLG1CQUFtQjtZQUFDbEIsTUFBTVcsSUFBSSxDQUFDLEVBQUU7WUFBRVgsTUFBTVcsSUFBSSxDQUFDLEVBQUU7WUFBRVgsTUFBTVcsSUFBSSxDQUFDLEVBQUU7WUFBRTtTQUFVO1FBQzNFUSxTQUFTVixpQkFBaUJULE1BQU1tQixPQUFPLEdBQUc7UUFDMUNDLGNBQWM7SUFDaEI7SUFFQSxPQUFPYixNQUFNUSxRQUFRLENBQUNNLElBQUksQ0FDeEI7WUFBQyxFQUFFQyxVQUFVLEVBQUVqQixjQUFja0Isb0JBQW9CLEVBQUU7UUFDakQsNERBQTREO1FBQzVELElBQUksT0FBT0QsZUFBZSxVQUFVO1lBQ2xDLE9BQU9FLENBQUFBLEdBQUFBLGlCQUFBQSxpQkFBQUEsRUFDTHhCLE9BQ0FHLFNBQ0FtQixZQUNBdEIsTUFBTXlCLE9BQU8sQ0FBQ0MsV0FBVztRQUU3QjtRQUVBLCtEQUErRDtRQUMvRG5CLE1BQU1RLFFBQVEsR0FBRztRQUVqQixJQUFJWSxjQUFjM0IsTUFBTVcsSUFBSTtRQUM1QixJQUFJaUIsZUFBZTVCLE1BQU1PLEtBQUs7UUFFOUIsS0FBSyxNQUFNc0Isd0JBQXdCUCxXQUFZO1lBQzdDLE1BQU0sRUFBRVgsTUFBTW1CLFNBQVMsRUFBRUMsWUFBWSxFQUFFLEdBQUdGO1lBQzFDLElBQUksQ0FBQ0UsY0FBYztnQkFDakIsb0NBQW9DO2dCQUNwQ0MsUUFBUUMsR0FBRyxDQUFDO2dCQUNaLE9BQU9qQztZQUNUO1lBRUEsTUFBTWtDLFVBQVVDLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBQUEsRUFDZDtnQkFDQzthQUFHLEVBQ0pSLGFBQ0FHLFdBQ0E5QixNQUFNSyxZQUFZO1lBR3BCLElBQUk2QixZQUFZLE1BQU07Z0JBQ3BCLE9BQU9FLENBQUFBLEdBQUFBLHVCQUFBQSxxQkFBQUEsRUFBc0JwQyxPQUFPQyxRQUFRNkI7WUFDOUM7WUFFQSxJQUFJTyxDQUFBQSxHQUFBQSw2QkFBQUEsMkJBQUFBLEVBQTRCVixhQUFhTyxVQUFVO2dCQUNyRCxPQUFPVixDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQUFBLEVBQ0x4QixPQUNBRyxTQUNBQyxNQUNBSixNQUFNeUIsT0FBTyxDQUFDQyxXQUFXO1lBRTdCO1lBRUEsTUFBTVksMkJBQTJCZix1QkFDN0JnQixDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQUFBLEVBQWtCaEIsd0JBQ2xCaUI7WUFFSixJQUFJakIsc0JBQXNCO2dCQUN4QnBCLFFBQVFFLFlBQVksR0FBR2lDO1lBQ3pCO1lBQ0EsTUFBTUcsVUFBVUMsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQUFBLEVBQ2Q5QixhQUNBZ0IsY0FDQXJCLE9BQ0FzQjtZQUdGLElBQUlZLFNBQVM7Z0JBQ1h0QyxRQUFRSSxLQUFLLEdBQUdBO2dCQUNoQnFCLGVBQWVyQjtZQUNqQjtZQUVBSixRQUFRd0MsV0FBVyxHQUFHVDtZQUN0Qi9CLFFBQVFFLFlBQVksR0FBR0Q7WUFFdkJ1QixjQUFjTztRQUNoQjtRQUNBLE9BQU9VLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWM1QyxPQUFPRztJQUM5QixHQUNBLElBQU1IO0FBRVY7QUFFQSxTQUFTNkMsc0JBQ1A3QyxLQUEyQixFQUMzQjhDLE9BQXlCO0lBRXpCLE9BQU85QztBQUNUO0FBRU8sTUFBTUYsb0JBQ1hpRCxNQUFvQixHQUNoQkYsQ0FBcUJBLEdBQ3JCOUMiLCJzb3VyY2VzIjpbIi9ob21lL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9obXItcmVmcmVzaC1yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoU2VydmVyUmVzcG9uc2UgfSBmcm9tICcuLi9mZXRjaC1zZXJ2ZXItcmVzcG9uc2UnXG5pbXBvcnQgeyBjcmVhdGVIcmVmRnJvbVVybCB9IGZyb20gJy4uL2NyZWF0ZS1ocmVmLWZyb20tdXJsJ1xuaW1wb3J0IHsgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIH0gZnJvbSAnLi4vYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUnXG5pbXBvcnQgeyBpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQgfSBmcm9tICcuLi9pcy1uYXZpZ2F0aW5nLXRvLW5ldy1yb290LWxheW91dCdcbmltcG9ydCB0eXBlIHtcbiAgUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIFJlZHVjZXJTdGF0ZSxcbiAgSG1yUmVmcmVzaEFjdGlvbixcbiAgTXV0YWJsZSxcbn0gZnJvbSAnLi4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBoYW5kbGVFeHRlcm5hbFVybCB9IGZyb20gJy4vbmF2aWdhdGUtcmVkdWNlcidcbmltcG9ydCB7IGhhbmRsZU11dGFibGUgfSBmcm9tICcuLi9oYW5kbGUtbXV0YWJsZSdcbmltcG9ydCB7IGFwcGx5RmxpZ2h0RGF0YSB9IGZyb20gJy4uL2FwcGx5LWZsaWdodC1kYXRhJ1xuaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vYXBwLXJvdXRlcidcbmltcG9ydCB7IGhhbmRsZVNlZ21lbnRNaXNtYXRjaCB9IGZyb20gJy4uL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoJ1xuaW1wb3J0IHsgaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlIH0gZnJvbSAnLi9oYXMtaW50ZXJjZXB0aW9uLXJvdXRlLWluLWN1cnJlbnQtdHJlZSdcblxuLy8gQSB2ZXJzaW9uIG9mIHJlZnJlc2ggcmVkdWNlciB0aGF0IGtlZXBzIHRoZSBjYWNoZSBhcm91bmQgaW5zdGVhZCBvZiB3aXBpbmcgYWxsIG9mIGl0LlxuZnVuY3Rpb24gaG1yUmVmcmVzaFJlZHVjZXJJbXBsKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIGFjdGlvbjogSG1yUmVmcmVzaEFjdGlvblxuKTogUmVkdWNlclN0YXRlIHtcbiAgY29uc3QgeyBvcmlnaW4gfSA9IGFjdGlvblxuICBjb25zdCBtdXRhYmxlOiBNdXRhYmxlID0ge31cbiAgY29uc3QgaHJlZiA9IHN0YXRlLmNhbm9uaWNhbFVybFxuXG4gIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZVxuXG4gIGNvbnN0IGNhY2hlOiBDYWNoZU5vZGUgPSBjcmVhdGVFbXB0eUNhY2hlTm9kZSgpXG4gIC8vIElmIHRoZSBjdXJyZW50IHRyZWUgd2FzIGludGVyY2VwdGVkLCB0aGUgbmV4dFVybCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QuXG4gIC8vIFRoaXMgaXMgdG8gZW5zdXJlIHRoYXQgdGhlIHJlZnJlc2ggcmVxdWVzdCBkb2Vzbid0IGdldCBpbnRlcmNlcHRlZCwgYWNjaWRlbnRhbGx5IHRyaWdnZXJpbmcgdGhlIGludGVyY2VwdGlvbiByb3V0ZS5cbiAgY29uc3QgaW5jbHVkZU5leHRVcmwgPSBoYXNJbnRlcmNlcHRpb25Sb3V0ZUluQ3VycmVudFRyZWUoc3RhdGUudHJlZSlcblxuICAvLyBUT0RPLUFQUDogdmVyaWZ5IHRoYXQgYGhyZWZgIGlzIG5vdCBhbiBleHRlcm5hbCB1cmwuXG4gIC8vIEZldGNoIGRhdGEgZnJvbSB0aGUgcm9vdCBvZiB0aGUgdHJlZS5cbiAgY29uc3QgbmF2aWdhdGVkQXQgPSBEYXRlLm5vdygpXG4gIGNhY2hlLmxhenlEYXRhID0gZmV0Y2hTZXJ2ZXJSZXNwb25zZShuZXcgVVJMKGhyZWYsIG9yaWdpbiksIHtcbiAgICBmbGlnaHRSb3V0ZXJTdGF0ZTogW3N0YXRlLnRyZWVbMF0sIHN0YXRlLnRyZWVbMV0sIHN0YXRlLnRyZWVbMl0sICdyZWZldGNoJ10sXG4gICAgbmV4dFVybDogaW5jbHVkZU5leHRVcmwgPyBzdGF0ZS5uZXh0VXJsIDogbnVsbCxcbiAgICBpc0htclJlZnJlc2g6IHRydWUsXG4gIH0pXG5cbiAgcmV0dXJuIGNhY2hlLmxhenlEYXRhLnRoZW4oXG4gICAgKHsgZmxpZ2h0RGF0YSwgY2Fub25pY2FsVXJsOiBjYW5vbmljYWxVcmxPdmVycmlkZSB9KSA9PiB7XG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIG11dGFibGUsXG4gICAgICAgICAgZmxpZ2h0RGF0YSxcbiAgICAgICAgICBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGNhY2hlLmxhenlEYXRhIGFzIGl0IGhhcyBiZWVuIHJlc29sdmVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICBjYWNoZS5sYXp5RGF0YSA9IG51bGxcblxuICAgICAgbGV0IGN1cnJlbnRUcmVlID0gc3RhdGUudHJlZVxuICAgICAgbGV0IGN1cnJlbnRDYWNoZSA9IHN0YXRlLmNhY2hlXG5cbiAgICAgIGZvciAoY29uc3Qgbm9ybWFsaXplZEZsaWdodERhdGEgb2YgZmxpZ2h0RGF0YSkge1xuICAgICAgICBjb25zdCB7IHRyZWU6IHRyZWVQYXRjaCwgaXNSb290UmVuZGVyIH0gPSBub3JtYWxpemVkRmxpZ2h0RGF0YVxuICAgICAgICBpZiAoIWlzUm9vdFJlbmRlcikge1xuICAgICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgdGhpcyBjYXNlIGJldHRlclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdSRUZSRVNIIEZBSUxFRCcpXG4gICAgICAgICAgcmV0dXJuIHN0YXRlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdUcmVlID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlKFxuICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICBbJyddLFxuICAgICAgICAgIGN1cnJlbnRUcmVlLFxuICAgICAgICAgIHRyZWVQYXRjaCxcbiAgICAgICAgICBzdGF0ZS5jYW5vbmljYWxVcmxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChuZXdUcmVlID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGhhbmRsZVNlZ21lbnRNaXNtYXRjaChzdGF0ZSwgYWN0aW9uLCB0cmVlUGF0Y2gpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KGN1cnJlbnRUcmVlLCBuZXdUcmVlKSkge1xuICAgICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChcbiAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgbXV0YWJsZSxcbiAgICAgICAgICAgIGhyZWYsXG4gICAgICAgICAgICBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoXG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmID0gY2Fub25pY2FsVXJsT3ZlcnJpZGVcbiAgICAgICAgICA/IGNyZWF0ZUhyZWZGcm9tVXJsKGNhbm9uaWNhbFVybE92ZXJyaWRlKVxuICAgICAgICAgIDogdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKGNhbm9uaWNhbFVybE92ZXJyaWRlKSB7XG4gICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWZcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBhcHBsaWVkID0gYXBwbHlGbGlnaHREYXRhKFxuICAgICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgICAgIGN1cnJlbnRDYWNoZSxcbiAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICBub3JtYWxpemVkRmxpZ2h0RGF0YVxuICAgICAgICApXG5cbiAgICAgICAgaWYgKGFwcGxpZWQpIHtcbiAgICAgICAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGVcbiAgICAgICAgICBjdXJyZW50Q2FjaGUgPSBjYWNoZVxuICAgICAgICB9XG5cbiAgICAgICAgbXV0YWJsZS5wYXRjaGVkVHJlZSA9IG5ld1RyZWVcbiAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBocmVmXG5cbiAgICAgICAgY3VycmVudFRyZWUgPSBuZXdUcmVlXG4gICAgICB9XG4gICAgICByZXR1cm4gaGFuZGxlTXV0YWJsZShzdGF0ZSwgbXV0YWJsZSlcbiAgICB9LFxuICAgICgpID0+IHN0YXRlXG4gIClcbn1cblxuZnVuY3Rpb24gaG1yUmVmcmVzaFJlZHVjZXJOb29wKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIF9hY3Rpb246IEhtclJlZnJlc2hBY3Rpb25cbik6IFJlZHVjZXJTdGF0ZSB7XG4gIHJldHVybiBzdGF0ZVxufVxuXG5leHBvcnQgY29uc3QgaG1yUmVmcmVzaFJlZHVjZXIgPVxuICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nXG4gICAgPyBobXJSZWZyZXNoUmVkdWNlck5vb3BcbiAgICA6IGhtclJlZnJlc2hSZWR1Y2VySW1wbFxuIl0sIm5hbWVzIjpbImhtclJlZnJlc2hSZWR1Y2VyIiwiaG1yUmVmcmVzaFJlZHVjZXJJbXBsIiwic3RhdGUiLCJhY3Rpb24iLCJvcmlnaW4iLCJtdXRhYmxlIiwiaHJlZiIsImNhbm9uaWNhbFVybCIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiY2FjaGUiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsImluY2x1ZGVOZXh0VXJsIiwiaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlIiwidHJlZSIsIm5hdmlnYXRlZEF0IiwiRGF0ZSIsIm5vdyIsImxhenlEYXRhIiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsIlVSTCIsImZsaWdodFJvdXRlclN0YXRlIiwibmV4dFVybCIsImlzSG1yUmVmcmVzaCIsInRoZW4iLCJmbGlnaHREYXRhIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwiY3VycmVudENhY2hlIiwibm9ybWFsaXplZEZsaWdodERhdGEiLCJ0cmVlUGF0Y2giLCJpc1Jvb3RSZW5kZXIiLCJjb25zb2xlIiwibG9nIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImhhbmRsZVNlZ21lbnRNaXNtYXRjaCIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiYXBwbGllZCIsImFwcGx5RmxpZ2h0RGF0YSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSIsImhtclJlZnJlc2hSZWR1Y2VyTm9vcCIsIl9hY3Rpb24iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js": /*!**********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.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 handleExternalUrl: function() {\n return handleExternalUrl;\n },\n navigateReducer: function() {\n return navigateReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _invalidatecachebelowflightsegmentpath = __webpack_require__(/*! ../invalidate-cache-below-flight-segmentpath */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _shouldhardnavigate = __webpack_require__(/*! ../should-hard-navigate */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _segment = __webpack_require__(/*! ../../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _clearcachenodedataforsegmentpath = __webpack_require__(/*! ../clear-cache-node-data-for-segment-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/clear-cache-node-data-for-segment-path.js\");\nconst _aliasedprefetchnavigations = __webpack_require__(/*! ../aliased-prefetch-navigations */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/aliased-prefetch-navigations.js\");\nconst _segmentcache = __webpack_require__(/*! ../../segment-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js\");\nfunction handleExternalUrl(state, mutable, url, pendingPush) {\n mutable.mpaNavigation = true;\n mutable.canonicalUrl = url;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = undefined;\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nfunction generateSegmentsFromPatch(flightRouterPatch) {\n const segments = [];\n const [segment, parallelRoutes] = flightRouterPatch;\n if (Object.keys(parallelRoutes).length === 0) {\n return [\n [\n segment\n ]\n ];\n }\n for (const [parallelRouteKey, parallelRoute] of Object.entries(parallelRoutes)){\n for (const childSegment of generateSegmentsFromPatch(parallelRoute)){\n // If the segment is empty, it means we are at the root of the tree\n if (segment === '') {\n segments.push([\n parallelRouteKey,\n ...childSegment\n ]);\n } else {\n segments.push([\n segment,\n parallelRouteKey,\n ...childSegment\n ]);\n }\n }\n }\n return segments;\n}\nfunction triggerLazyFetchForLeafSegments(newCache, currentCache, flightSegmentPath, treePatch) {\n let appliedPatch = false;\n newCache.rsc = currentCache.rsc;\n newCache.prefetchRsc = currentCache.prefetchRsc;\n newCache.loading = currentCache.loading;\n newCache.parallelRoutes = new Map(currentCache.parallelRoutes);\n const segmentPathsToFill = generateSegmentsFromPatch(treePatch).map((segment)=>[\n ...flightSegmentPath,\n ...segment\n ]);\n for (const segmentPaths of segmentPathsToFill){\n (0, _clearcachenodedataforsegmentpath.clearCacheNodeDataForSegmentPath)(newCache, currentCache, segmentPaths);\n appliedPatch = true;\n }\n return appliedPatch;\n}\nfunction handleNavigationResult(url, state, mutable, pendingPush, result) {\n switch(result.tag){\n case _segmentcache.NavigationResultTag.MPA:\n {\n // Perform an MPA navigation.\n const newUrl = result.data;\n return handleExternalUrl(state, mutable, newUrl, pendingPush);\n }\n case _segmentcache.NavigationResultTag.NoOp:\n {\n // The server responded with no change to the current page. However, if\n // the URL changed, we still need to update that.\n const newCanonicalUrl = result.data.canonicalUrl;\n mutable.canonicalUrl = newCanonicalUrl;\n // Check if the only thing that changed was the hash fragment.\n const oldUrl = new URL(state.canonicalUrl, url);\n const onlyHashChange = // navigations are always same-origin.\n url.pathname === oldUrl.pathname && url.search === oldUrl.search && url.hash !== oldUrl.hash;\n if (onlyHashChange) {\n // The only updated part of the URL is the hash.\n mutable.onlyHashChange = true;\n mutable.shouldScroll = result.data.shouldScroll;\n mutable.hashFragment = url.hash;\n // Setting this to an empty array triggers a scroll for all new and\n // updated segments. See `ScrollAndFocusHandler` for more details.\n mutable.scrollableSegments = [];\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }\n case _segmentcache.NavigationResultTag.Success:\n {\n // Received a new result.\n mutable.cache = result.data.cacheNode;\n mutable.patchedTree = result.data.flightRouterState;\n mutable.canonicalUrl = result.data.canonicalUrl;\n mutable.scrollableSegments = result.data.scrollableSegments;\n mutable.shouldScroll = result.data.shouldScroll;\n mutable.hashFragment = result.data.hash;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }\n case _segmentcache.NavigationResultTag.Async:\n {\n return result.data.then((asyncResult)=>handleNavigationResult(url, state, mutable, pendingPush, asyncResult), // TODO: This matches the current behavior but we need to do something\n // better here if the network fails.\n ()=>{\n return state;\n });\n }\n default:\n {\n result;\n return state;\n }\n }\n}\nfunction navigateReducer(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll, allowAliasing } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === 'push';\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n mutable.pendingPush = pendingPush;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n // Handles case where `` tag is present,\n // which will trigger an MPA navigation.\n if (document.getElementById('__next-page-redirect')) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n if (false) {}\n const prefetchValues = (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n tree: state.tree,\n prefetchCache: state.prefetchCache,\n allowAliasing\n });\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let { flightData, canonicalUrl: canonicalUrlOverride, postponed } = param;\n const navigatedAt = Date.now();\n let isFirstRead = false;\n // we only want to mark this once\n if (!prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = navigatedAt;\n isFirstRead = true;\n }\n if (prefetchValues.aliased) {\n // When alias is enabled, search param may not be included in the canonicalUrl.\n // But we want to set url to canonicalUrl so that we use redirected path for fetching dynamic data.\n const urlWithCanonicalPathname = new URL(url.href);\n if (canonicalUrlOverride) {\n urlWithCanonicalPathname.pathname = canonicalUrlOverride.pathname;\n }\n const result = (0, _aliasedprefetchnavigations.handleAliasedPrefetchEntry)(navigatedAt, state, flightData, urlWithCanonicalPathname, mutable);\n // We didn't return new router state because we didn't apply the aliased entry for some reason.\n // We'll re-invoke the navigation handler but ensure that we don't attempt to use the aliased entry. This\n // will create an on-demand prefetch entry.\n if (result === false) {\n return navigateReducer(state, {\n ...action,\n allowAliasing: false\n });\n }\n return result;\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === 'string') {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n const updatedCanonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n const onlyHashChange = !!hash && state.canonicalUrl.split('#', 1)[0] === updatedCanonicalUrl.split('#', 1)[0];\n // If only the hash has changed, the server hasn't sent us any new data. We can just update\n // the mutable properties responsible for URL and scroll handling and return early.\n if (onlyHashChange) {\n mutable.onlyHashChange = true;\n mutable.canonicalUrl = updatedCanonicalUrl;\n mutable.shouldScroll = shouldScroll;\n mutable.hashFragment = hash;\n mutable.scrollableSegments = [];\n return (0, _handlemutable.handleMutable)(state, mutable);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n let scrollableSegments = [];\n for (const normalizedFlightData of flightData){\n const { pathToSegment: flightSegmentPath, seedData, head, isHeadPartial, isRootRender } = normalizedFlightData;\n let treePatch = normalizedFlightData.tree;\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n '',\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch, href);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch, href);\n }\n if (newTree !== null) {\n if (// will send back a static response that's rendered from\n // the root. If for some reason it doesn't, we fall back to the\n // non-PPR implementation.\n // TODO: We should get rid of the else branch and do all navigations\n // via startPPRNavigation. The current structure is just\n // an incremental step.\n seedData && isRootRender && postponed) {\n const task = (0, _pprnavigations.startPPRNavigation)(navigatedAt, currentCache, currentTree, treePatch, seedData, head, isHeadPartial, false, scrollableSegments);\n if (task !== null) {\n if (task.route === null) {\n // Detected a change to the root layout. Perform an full-\n // page navigation.\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n // Use the tree computed by startPPRNavigation instead\n // of the one computed by applyRouterStatePatchToTree.\n // TODO: We should remove applyRouterStatePatchToTree\n // from the PPR path entirely.\n const patchedRouterState = task.route;\n newTree = patchedRouterState;\n const newCache = task.node;\n if (newCache !== null) {\n // We've created a new Cache Node tree that contains a prefetched\n // version of the next page. This can be rendered instantly.\n mutable.cache = newCache;\n }\n const dynamicRequestTree = task.dynamicRequestTree;\n if (dynamicRequestTree !== null) {\n // The prefetched tree has dynamic holes in it. We initiate a\n // dynamic request to fill them in.\n //\n // Do not block on the result. We'll immediately render the Cache\n // Node tree and suspend on the dynamic parts. When the request\n // comes in, we'll fill in missing data and ping React to\n // re-render. Unlike the lazy fetching model in the non-PPR\n // implementation, this is modeled as a single React update +\n // streaming, rather than multiple top-level updates. (However,\n // even in the new model, we'll still need to sometimes update the\n // root multiple times per navigation, like if the server sends us\n // a different response than we expected. For now, we revert back\n // to the lazy fetching mechanism in that case.)\n const dynamicRequest = (0, _fetchserverresponse.fetchServerResponse)(new URL(updatedCanonicalUrl, url.origin), {\n flightRouterState: dynamicRequestTree,\n nextUrl: state.nextUrl\n });\n (0, _pprnavigations.listenForDynamicRequest)(task, dynamicRequest);\n // We store the dynamic request on the `lazyData` property of the CacheNode\n // because we're not going to await the dynamic request here. Since we're not blocking\n // on the dynamic request, `layout-router` will\n // task.node.lazyData = dynamicRequest\n } else {\n // The prefetched tree does not contain dynamic holes — it's\n // fully static. We can skip the dynamic request.\n }\n } else {\n // Nothing changed, so reuse the old cache.\n // TODO: What if the head changed but not any of the segment data?\n // Is that possible? If so, we should clone the whole tree and\n // update the head.\n newTree = treePatch;\n }\n } else {\n // The static response does not include any dynamic holes, so\n // there's no need to do a second request.\n // TODO: As an incremental step this just reverts back to the\n // non-PPR implementation. We can simplify this branch further,\n // given that PPR prefetches are always static and return the whole\n // tree. Or in the meantime we could factor it out into a\n // separate function.\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = false;\n if (prefetchValues.status === _routerreducertypes.PrefetchCacheEntryStatus.stale && !isFirstRead) {\n // When we have a stale prefetch entry, we only want to re-use the loading state of the route we're navigating to, to support instant loading navigations\n // this will trigger a lazy fetch for the actual page data by nulling the `rsc` and `prefetchRsc` values for page data,\n // while copying over the `loading` for the segment that contains the page data.\n // We only do this on subsequent reads, as otherwise there'd be no loading data to re-use.\n // We skip this branch if only the hash fragment has changed, as we don't want to trigger a lazy fetch in that case\n applied = triggerLazyFetchForLeafSegments(cache, currentCache, flightSegmentPath, treePatch);\n // since we re-used the stale cache's loading state & refreshed the data,\n // update the `lastUsedTime` so that it can continue to be re-used for the next 30s\n prefetchValues.lastUsedTime = navigatedAt;\n } else {\n applied = (0, _applyflightdata.applyFlightData)(navigatedAt, currentCache, cache, normalizedFlightData, prefetchValues);\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n // If we applied the cache, we update the \"current cache\" value so any other\n // segments in the FlightDataPath will be able to reference the updated cache.\n currentCache = cache;\n }\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n currentTree = newTree;\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = updatedCanonicalUrl;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\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=navigate-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvbmF2aWdhdGUtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFvQ2dCQSxpQkFBaUI7ZUFBakJBOztJQXNJQUMsZUFBZTtlQUFmQTs7O2lEQXJLb0I7K0NBQ0Y7bUVBQ29CO3lEQUNWO2dEQUNUO3lEQUNTO2dEQU9yQzsyQ0FDdUI7NkNBQ0U7NkNBQ0Y7dUNBQ087cUNBQ0Q7NENBQ3dCO2dEQUlyRDs4REFDMEM7d0RBQ047MENBS3BDO0FBRUEsU0FBU0Qsa0JBQ2RFLEtBQTJCLEVBQzNCQyxPQUFnQixFQUNoQkMsR0FBVyxFQUNYQyxXQUFvQjtJQUVwQkYsUUFBUUcsYUFBYSxHQUFHO0lBQ3hCSCxRQUFRSSxZQUFZLEdBQUdIO0lBQ3ZCRCxRQUFRRSxXQUFXLEdBQUdBO0lBQ3RCRixRQUFRSyxrQkFBa0IsR0FBR0M7SUFFN0IsT0FBT0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBQUEsRUFBY1IsT0FBT0M7QUFDOUI7QUFFQSxTQUFTUSwwQkFDUEMsaUJBQW9DO0lBRXBDLE1BQU1DLFdBQWdDLEVBQUU7SUFDeEMsTUFBTSxDQUFDQyxTQUFTQyxlQUFlLEdBQUdIO0lBRWxDLElBQUlJLE9BQU9DLElBQUksQ0FBQ0YsZ0JBQWdCRyxNQUFNLEtBQUssR0FBRztRQUM1QyxPQUFPO1lBQUM7Z0JBQUNKO2FBQVE7U0FBQztJQUNwQjtJQUVBLEtBQUssTUFBTSxDQUFDSyxrQkFBa0JDLGNBQWMsSUFBSUosT0FBT0ssT0FBTyxDQUM1RE4sZ0JBQ0M7UUFDRCxLQUFLLE1BQU1PLGdCQUFnQlgsMEJBQTBCUyxlQUFnQjtZQUNuRSxtRUFBbUU7WUFDbkUsSUFBSU4sWUFBWSxJQUFJO2dCQUNsQkQsU0FBU1UsSUFBSSxDQUFDO29CQUFDSjt1QkFBcUJHO2lCQUFhO1lBQ25ELE9BQU87Z0JBQ0xULFNBQVNVLElB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QkFFQSxNQUFNNkMsZUFBZUMsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFBQSxFQUNuQixzQkFBc0IsYUFFdEI1QjtvQkFHRixJQUFJMkIsY0FBYzt3QkFDaEIsMkNBQTJDO3dCQUMzQ3RFLE1BQU0xQixHQUFHLEdBQUdKLGFBQWFJLEdBQUc7d0JBQzVCMEIsTUFBTXpCLFdBQVcsR0FBR0wsYUFBYUssV0FBVzt3QkFFNUNpRyxDQUFBQSxHQUFBQSx1Q0FBQUEscUNBQUFBLEVBQ0V4RSxPQUNBOUIsY0FDQUM7d0JBRUYsOEVBQThFO3dCQUM5RXhCLFFBQVFxRCxLQUFLLEdBQUdBO29CQUNsQixPQUFPLElBQUlpRSxTQUFTO3dCQUNsQnRILFFBQVFxRCxLQUFLLEdBQUdBO3dCQUNoQiw0RUFBNEU7d0JBQzVFLDhFQUE4RTt3QkFDOUU5QixlQUFlOEI7b0JBQ2pCO29CQUVBLEtBQUssTUFBTXlFLGNBQWN0SCwwQkFBMEJpQixXQUFZO3dCQUM3RCxNQUFNc0csd0JBQXdCOytCQUN6QnZHOytCQUNBc0c7eUJBQ0o7d0JBQ0Qsa0ZBQWtGO3dCQUNsRixJQUNFQyxxQkFBcUIsQ0FBQ0Esc0JBQXNCaEgsTUFBTSxHQUFHLEVBQUUsS0FDdkRpSCxTQUFBQSxtQkFBbUIsRUFDbkI7NEJBQ0EzSCxtQkFBbUJlLElBQUksQ0FBQzJHO3dCQUMxQjtvQkFDRjtnQkFDRjtnQkFFQS9CLGNBQWNRO1lBQ2hCO1FBQ0Y7UUFFQXhHLFFBQVF1RCxXQUFXLEdBQUd5QztRQUN0QmhHLFFBQVFJLFlBQVksR0FBRzBGO1FBQ3ZCOUYsUUFBUUssa0JBQWtCLEdBQUdBO1FBQzdCTCxRQUFRbUQsWUFBWSxHQUFHRjtRQUN2QmpELFFBQVFrRCxZQUFZLEdBQUdBO1FBRXZCLE9BQU8zQyxDQUFBQSxHQUFBQSxlQUFBQSxhQUFBQSxFQUFjUixPQUFPQztJQUM5QixHQUNBLElBQU1EO0FBRVYiLCJzb3VyY2VzIjpbIi9ob21lL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9uYXZpZ2F0ZS1yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgdHlwZSB7XG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBGbGlnaHRTZWdtZW50UGF0aCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvdHlwZXMnXG5pbXBvcnQgeyBmZXRjaFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnLi4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuaW1wb3J0IHsgY3JlYXRlSHJlZkZyb21VcmwgfSBmcm9tICcuLi9jcmVhdGUtaHJlZi1mcm9tLXVybCdcbmltcG9ydCB7IGludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGggfSBmcm9tICcuLi9pbnZhbGlkYXRlLWNhY2hlLWJlbG93LWZsaWdodC1zZWdtZW50cGF0aCdcbmltcG9ydCB7IGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSB9IGZyb20gJy4uL2FwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlJ1xuaW1wb3J0IHsgc2hvdWxkSGFyZE5hdmlnYXRlIH0gZnJvbSAnLi4vc2hvdWxkLWhhcmQtbmF2aWdhdGUnXG5pbXBvcnQgeyBpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQgfSBmcm9tICcuLi9pcy1uYXZpZ2F0aW5nLXRvLW5ldy1yb290LWxheW91dCdcbmltcG9ydCB7XG4gIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyxcbiAgdHlwZSBNdXRhYmxlLFxuICB0eXBlIE5hdmlnYXRlQWN0aW9uLFxuICB0eXBlIFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICB0eXBlIFJlZHVjZXJTdGF0ZSxcbn0gZnJvbSAnLi4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBoYW5kbGVNdXRhYmxlIH0gZnJvbSAnLi4vaGFuZGxlLW11dGFibGUnXG5pbXBvcnQgeyBhcHBseUZsaWdodERhdGEgfSBmcm9tICcuLi9hcHBseS1mbGlnaHQtZGF0YSdcbmltcG9ydCB7IHByZWZldGNoUXVldWUgfSBmcm9tICcuL3ByZWZldGNoLXJlZHVjZXInXG5pbXBvcnQgeyBjcmVhdGVFbXB0eUNhY2hlTm9kZSB9IGZyb20gJy4uLy4uL2FwcC1yb3V0ZXInXG5pbXBvcnQgeyBERUZBVUxUX1NFR01FTlRfS0VZIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50J1xuaW1wb3J0IHsgbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QsIHN0YXJ0UFBSTmF2aWdhdGlvbiB9IGZyb20gJy4uL3Bwci1uYXZpZ2F0aW9ucydcbmltcG9ydCB7XG4gIGdldE9yQ3JlYXRlUHJlZmV0Y2hDYWNoZUVudHJ5LFxuICBwcnVuZVByZWZldGNoQ2FjaGUsXG59IGZyb20gJy4uL3ByZWZldGNoLWNhY2hlLXV0aWxzJ1xuaW1wb3J0IHsgY2xlYXJDYWNoZU5vZGVEYXRhRm9yU2VnbWVudFBhdGggfSBmcm9tICcuLi9jbGVhci1jYWNoZS1ub2RlLWRhdGEtZm9yLXNlZ21lbnQtcGF0aCdcbmltcG9ydCB7IGhhbmRsZUFsaWFzZWRQcmVmZXRjaEVudHJ5IH0gZnJvbSAnLi4vYWxpYXNlZC1wcmVmZXRjaC1uYXZpZ2F0aW9ucydcbmltcG9ydCB7XG4gIG5hdmlnYXRlIGFzIG5hdmlnYXRlVXNpbmdTZWdtZW50Q2FjaGUsXG4gIE5hdmlnYXRpb25SZXN1bHRUYWcsXG4gIHR5cGUgTmF2aWdhdGlvblJlc3VsdCxcbn0gZnJvbSAnLi4vLi4vc2VnbWVudC1jYWNoZSdcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUV4dGVybmFsVXJsKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIG11dGFibGU6IE11dGFibGUsXG4gIHVybDogc3RyaW5nLFxuICBwZW5kaW5nUHVzaDogYm9vbGVhblxuKSB7XG4gIG11dGFibGUubXBhTmF2aWdhdGlvbiA9IHRydWVcbiAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSB1cmxcbiAgbXV0YWJsZS5wZW5kaW5nUHVzaCA9IHBlbmRpbmdQdXNoXG4gIG11dGFibGUuc2Nyb2xsYWJsZVNlZ21lbnRzID0gdW5kZWZpbmVkXG5cbiAgcmV0dXJuIGhhbmRsZU11dGFibGUoc3RhdGUsIG11dGFibGUpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2goXG4gIGZsaWdodFJvdXRlclBhdGNoOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKTogRmxpZ2h0U2VnbWVudFBhdGhbXSB7XG4gIGNvbnN0IHNlZ21lbnRzOiBGbGlnaHRTZWdtZW50UGF0aFtdID0gW11cbiAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVzXSA9IGZsaWdodFJvdXRlclBhdGNoXG5cbiAgaWYgKE9iamVjdC5rZXlzKHBhcmFsbGVsUm91dGVzKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW1tzZWdtZW50XV1cbiAgfVxuXG4gIGZvciAoY29uc3QgW3BhcmFsbGVsUm91dGVLZXksIHBhcmFsbGVsUm91dGVdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgIHBhcmFsbGVsUm91dGVzXG4gICkpIHtcbiAgICBmb3IgKGNvbnN0IGNoaWxkU2VnbWVudCBvZiBnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoKHBhcmFsbGVsUm91dGUpKSB7XG4gICAgICAvLyBJZiB0aGUgc2VnbWVudCBpcyBlbXB0eSwgaXQgbWVhbnMgd2UgYXJlIGF0IHRoZSByb290IG9mIHRoZSB0cmVlXG4gICAgICBpZiAoc2VnbWVudCA9PT0gJycpIHtcbiAgICAgICAgc2VnbWVudHMucHVzaChbcGFyYWxsZWxSb3V0ZUtleSwgLi4uY2hpbGRTZWdtZW50XSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNlZ21lbnRzLnB1c2goW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXksIC4uLmNoaWxkU2VnbWVudF0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHNlZ21lbnRzXG59XG5cbmZ1bmN0aW9uIHRyaWdnZXJMYXp5RmV0Y2hGb3JMZWFmU2VnbWVudHMoXG4gIG5ld0NhY2hlOiBDYWNoZU5vZGUsXG4gIGN1cnJlbnRDYWNoZTogQ2FjaGVOb2RlLFxuICBmbGlnaHRTZWdtZW50UGF0aDogRmxpZ2h0U2VnbWVudFBhdGgsXG4gIHRyZWVQYXRjaDogRmxpZ2h0Um91dGVyU3RhdGVcbikge1xuICBsZXQgYXBwbGllZFBhdGNoID0gZmFsc2VcblxuICBuZXdDYWNoZS5yc2MgPSBjdXJyZW50Q2FjaGUucnNjXG4gIG5ld0NhY2hlLnByZWZldGNoUnNjID0gY3VycmVudENhY2hlLnByZWZldGNoUnNjXG4gIG5ld0NhY2hlLmxvYWRpbmcgPSBjdXJyZW50Q2FjaGUubG9hZGluZ1xuICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAoY3VycmVudENhY2hlLnBhcmFsbGVsUm91dGVzKVxuXG4gIGNvbnN0IHNlZ21lbnRQYXRoc1RvRmlsbCA9IGdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2godHJlZVBhdGNoKS5tYXAoXG4gICAgKHNlZ21lbnQpID0+IFsuLi5mbGlnaHRTZWdtZW50UGF0aCwgLi4uc2VnbWVudF1cbiAgKVxuXG4gIGZvciAoY29uc3Qgc2VnbWVudFBhdGhzIG9mIHNlZ21lbnRQYXRoc1RvRmlsbCkge1xuICAgIGNsZWFyQ2FjaGVOb2RlRGF0YUZvclNlZ21lbnRQYXRoKG5ld0NhY2hlLCBjdXJyZW50Q2FjaGUsIHNlZ21lbnRQYXRocylcblxuICAgIGFwcGxpZWRQYXRjaCA9IHRydWVcbiAgfVxuXG4gIHJldHVybiBhcHBsaWVkUGF0Y2hcbn1cblxuZnVuY3Rpb24gaGFuZGxlTmF2aWdhdGlvblJlc3VsdChcbiAgdXJsOiBVUkwsXG4gIHN0YXRlOiBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgbXV0YWJsZTogTXV0YWJsZSxcbiAgcGVuZGluZ1B1c2g6IGJvb2xlYW4sXG4gIHJlc3VsdDogTmF2aWdhdGlvblJlc3VsdFxuKTogUmVkdWNlclN0YXRlIHtcbiAgc3dpdGNoIChyZXN1bHQudGFnKSB7XG4gICAgY2FzZSBOYXZpZ2F0aW9uUmVzdWx0VGFnLk1QQToge1xuICAgICAgLy8gUGVyZm9ybSBhbiBNUEEgbmF2aWdhdGlvbi5cbiAgICAgIGNvbnN0IG5ld1VybCA9IHJlc3VsdC5kYXRhXG4gICAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoc3RhdGUsIG11dGFibGUsIG5ld1VybCwgcGVuZGluZ1B1c2gpXG4gICAgfVxuICAgIGNhc2UgTmF2aWdhdGlvblJlc3VsdFRhZy5Ob09wOiB7XG4gICAgICAvLyBUaGUgc2VydmVyIHJlc3BvbmRlZCB3aXRoIG5vIGNoYW5nZSB0byB0aGUgY3VycmVudCBwYWdlLiBIb3dldmVyLCBpZlxuICAgICAgLy8gdGhlIFVSTCBjaGFuZ2VkLCB3ZSBzdGlsbCBuZWVkIHRvIHVwZGF0ZSB0aGF0LlxuICAgICAgY29uc3QgbmV3Q2Fub25pY2FsVXJsID0gcmVzdWx0LmRhdGEuY2Fub25pY2FsVXJsXG4gICAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IG5ld0Nhbm9uaWNhbFVybFxuXG4gICAgICAvLyBDaGVjayBpZiB0aGUgb25seSB0aGluZyB0aGF0IGNoYW5nZWQgd2FzIHRoZSBoYXNoIGZyYWdtZW50LlxuICAgICAgY29uc3Qgb2xkVXJsID0gbmV3IFVSTChzdGF0ZS5jYW5vbmljYWxVcmwsIHVybClcbiAgICAgIGNvbnN0IG9ubHlIYXNoQ2hhbmdlID1cbiAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBjb21wYXJlIHRoZSBvcmlnaW5zLCBiZWNhdXNlIGNsaWVudC1kcml2ZW5cbiAgICAgICAgLy8gbmF2aWdhdGlvbnMgYXJlIGFsd2F5cyBzYW1lLW9yaWdpbi5cbiAgICAgICAgdXJsLnBhdGhuYW1lID09PSBvbGRVcmwucGF0aG5hbWUgJiZcbiAgICAgICAgdXJsLnNlYXJjaCA9PT0gb2xkVXJsLnNlYXJjaCAmJlxuICAgICAgICB1cmwuaGFzaCAhPT0gb2xkVXJsLmhhc2hcbiAgICAgIGlmIChvbmx5SGFzaENoYW5nZSkge1xuICAgICAgICAvLyBUaGUgb25seSB1cGRhdGVkIHBhcnQgb2YgdGhlIFVSTCBpcyB0aGUgaGFzaC5cbiAgICAgICAgbXV0YWJsZS5vbmx5SGFzaENoYW5nZSA9IHRydWVcbiAgICAgICAgbXV0YWJsZS5zaG91bGRTY3JvbGwgPSByZXN1bHQuZGF0YS5zaG91bGRTY3JvbGxcbiAgICAgICAgbXV0YWJsZS5oYXNoRnJhZ21lbnQgPSB1cmwuaGFzaFxuICAgICAgICAvLyBTZXR0aW5nIHRoaXMgdG8gYW4gZW1wdHkgYXJyYXkgdHJpZ2dlcnMgYSBzY3JvbGwgZm9yIGFsbCBuZXcgYW5kXG4gICAgICAgIC8vIHVwZGF0ZWQgc2VnbWVudHMuIFNlZSBgU2Nyb2xsQW5kRm9jdXNIYW5kbGVyYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICBtdXRhYmxlLnNjcm9sbGFibGVTZWdtZW50cyA9IFtdXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBoYW5kbGVNdXRhYmxlKHN0YXRlLCBtdXRhYmxlKVxuICAgIH1cbiAgICBjYXNlIE5hdmlnYXRpb25SZXN1bHRUYWcuU3VjY2Vzczoge1xuICAgICAgLy8gUmVjZWl2ZWQgYSBuZXcgcmVzdWx0LlxuICAgICAgbXV0YWJsZS5jYWNoZSA9IHJlc3VsdC5kYXRhLmNhY2hlTm9kZVxuICAgICAgbXV0YWJsZS5wYXRjaGVkVHJlZSA9IHJlc3VsdC5kYXRhLmZsaWdodFJvdXRlclN0YXRlXG4gICAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IHJlc3VsdC5kYXRhLmNhbm9uaWNhbFVybFxuICAgICAgbXV0YWJsZS5zY3JvbGxhYmxlU2VnbWVudHMgPSByZXN1bHQuZGF0YS5zY3JvbGxhYmxlU2VnbWVudHNcbiAgICAgIG11dGFibGUuc2hvdWxkU2Nyb2xsID0gcmVzdWx0LmRhdGEuc2hvdWxkU2Nyb2xsXG4gICAgICBtdXRhYmxlLmhhc2hGcmFnbWVudCA9IHJlc3VsdC5kYXRhLmhhc2hcbiAgICAgIHJldHVybiBoYW5kbGVNdXRhYmxlKHN0YXRlLCBtdXRhYmxlKVxuICAgIH1cbiAgICBjYXNlIE5hdmlnYXRpb25SZXN1bHRUYWcuQXN5bmM6IHtcbiAgICAgIHJldHVybiByZXN1bHQuZGF0YS50aGVuKFxuICAgICAgICAoYXN5bmNSZXN1bHQpID0+XG4gICAgICAgICAgaGFuZGxlTmF2aWdhdGlvblJlc3VsdCh1cmwsIHN0YXRlLCBtdXRhYmxlLCBwZW5kaW5nUHVzaCwgYXN5bmNSZXN1bHQpLFxuICAgICAgICAvLyBJZiB0aGUgbmF2aWdhdGlvbiBmYWlsZWQsIHJldHVybiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICAgICAgLy8gVE9ETzogVGhpcyBtYXRjaGVzIHRoZSBjdXJyZW50IGJlaGF2aW9yIGJ1dCB3ZSBuZWVkIHRvIGRvIHNvbWV0aGluZ1xuICAgICAgICAvLyBiZXR0ZXIgaGVyZSBpZiB0aGUgbmV0d29yayBmYWlscy5cbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBzdGF0ZVxuICAgICAgICB9XG4gICAgICApXG4gICAgfVxuICAgIGRlZmF1bHQ6IHtcbiAgICAgIHJlc3VsdCBzYXRpc2ZpZXMgbmV2ZXJcbiAgICAgIHJldHVybiBzdGF0ZVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbmF2aWdhdGVSZWR1Y2VyKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIGFjdGlvbjogTmF2aWdhdGVBY3Rpb25cbik6IFJlZHVjZXJTdGF0ZSB7XG4gIGNvbnN0IHsgdXJsLCBpc0V4dGVybmFsVXJsLCBuYXZpZ2F0ZVR5cGUsIHNob3VsZFNjcm9sbCwgYWxsb3dBbGlhc2luZyB9ID1cbiAgICBhY3Rpb25cbiAgY29uc3QgbXV0YWJsZTogTXV0YWJsZSA9IHt9XG4gIGNvbnN0IHsgaGFzaCB9ID0gdXJsXG4gIGNvbnN0IGhyZWYgPSBjcmVhdGVIcmVmRnJvbVVybCh1cmwpXG4gIGNvbnN0IHBlbmRpbmdQdXNoID0gbmF2aWdhdGVUeXBlID09PSAncHVzaCdcbiAgLy8gd2Ugd2FudCB0byBwcnVuZSB0aGUgcHJlZmV0Y2ggY2FjaGUgb24gZXZlcnkgbmF2aWdhdGlvbiB0byBhdm9pZCBpdCBncm93aW5nIHRvbyBsYXJnZVxuICBwcnVuZVByZWZldGNoQ2FjaGUoc3RhdGUucHJlZmV0Y2hDYWNoZSlcblxuICBtdXRhYmxlLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlID0gZmFsc2VcbiAgbXV0YWJsZS5wZW5kaW5nUHVzaCA9IHBlbmRpbmdQdXNoXG5cbiAgaWYgKGlzRXh0ZXJuYWxVcmwpIHtcbiAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoc3RhdGUsIG11dGFibGUsIHVybC50b1N0cmluZygpLCBwZW5kaW5nUHVzaClcbiAgfVxuXG4gIC8vIEhhbmRsZXMgY2FzZSB3aGVyZSBgPG1ldGEgaHR0cC1lcXVpdj1cInJlZnJlc2hcIj5gIHRhZyBpcyBwcmVzZW50LFxuICAvLyB3aGljaCB3aWxsIHRyaWdnZXIgYW4gTVBBIG5hdmlnYXRpb24uXG4gIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnX19uZXh0LXBhZ2UtcmVkaXJlY3QnKSkge1xuICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgaHJlZiwgcGVuZGluZ1B1c2gpXG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFKSB7XG4gICAgLy8gKFZlcnkgRWFybHkgRXhwZXJpbWVudGFsIEZlYXR1cmUpIFNlZ21lbnQgQ2FjaGVcbiAgICAvL1xuICAgIC8vIEJ5cGFzcyB0aGUgbm9ybWFsIHByZWZldGNoIGNhY2hlIGFuZCB1c2UgdGhlIG5ldyBwZXItc2VnbWVudCBjYWNoZVxuICAgIC8vIGltcGxlbWVudGF0aW9uIGluc3RlYWQuIFRoaXMgaXMgb25seSBzdXBwb3J0ZWQgaWYgUFBSIGlzIGVuYWJsZWQsIHRvby5cbiAgICAvL1xuICAgIC8vIFRlbXBvcmFyeSBnbHVlIGNvZGUgYmV0d2VlbiB0aGUgcm91dGVyIHJlZHVjZXIgYW5kIHRoZSBuZXcgbmF2aWdhdGlvblxuICAgIC8vIGltcGxlbWVudGF0aW9uLiBFdmVudHVhbGx5IHdlJ2xsIHJld3JpdGUgdGhlIHJvdXRlciByZWR1Y2VyIHRvIGFcbiAgICAvLyBzdGF0ZSBtYWNoaW5lLlxuICAgIGNvbnN0IHJlc3VsdCA9IG5hdmlnYXRlVXNpbmdTZWdtZW50Q2FjaGUoXG4gICAgICB1cmwsXG4gICAgICBzdGF0ZS5jYWNoZSxcbiAgICAgIHN0YXRlLnRyZWUsXG4gICAgICBzdGF0ZS5uZXh0VXJsLFxuICAgICAgc2hvdWxkU2Nyb2xsXG4gICAgKVxuICAgIHJldHVybiBoYW5kbGVOYXZpZ2F0aW9uUmVzdWx0KHVybCwgc3RhdGUsIG11dGFibGUsIHBlbmRpbmdQdXNoLCByZXN1bHQpXG4gIH1cblxuICBjb25zdCBwcmVmZXRjaFZhbHVlcyA9IGdldE9yQ3JlYXRlUHJlZmV0Y2hDYWNoZUVudHJ5KHtcbiAgICB1cmwsXG4gICAgbmV4dFVybDogc3RhdGUubmV4dFVybCxcbiAgICB0cmVlOiBzdGF0ZS50cmVlLFxuICAgIHByZWZldGNoQ2FjaGU6IHN0YXRlLnByZWZldGNoQ2FjaGUsXG4gICAgYWxsb3dBbGlhc2luZyxcbiAgfSlcbiAgY29uc3QgeyB0cmVlQXRUaW1lT2ZQcmVmZXRjaCwgZGF0YSB9ID0gcHJlZmV0Y2hWYWx1ZXNcblxuICBwcmVmZXRjaFF1ZXVlLmJ1bXAoZGF0YSlcblxuICByZXR1cm4gZGF0YS50aGVuKFxuICAgICh7IGZsaWdodERhdGEsIGNhbm9uaWNhbFVybDogY2Fub25pY2FsVXJsT3ZlcnJpZGUsIHBvc3Rwb25lZCB9KSA9PiB7XG4gICAgICBjb25zdCBuYXZpZ2F0ZWRBdCA9IERhdGUubm93KClcblxuICAgICAgbGV0IGlzRmlyc3RSZWFkID0gZmFsc2VcbiAgICAgIC8vIHdlIG9ubHkgd2FudCB0byBtYXJrIHRoaXMgb25jZVxuICAgICAgaWYgKCFwcmVmZXRjaFZhbHVlcy5sYXN0VXNlZFRpbWUpIHtcbiAgICAgICAgLy8gaW1wb3J0YW50OiB3ZSBzaG91bGQgb25seSBtYXJrIHRoZSBjYWNoZSBub2RlIGFzIGRpcnR5IGFmdGVyIHdlIHVuc3VzcGVuZCBmcm9tIHRoZSBjYWxsIGFib3ZlXG4gICAgICAgIHByZWZldGNoVmFsdWVzLmxhc3RVc2VkVGltZSA9IG5hdmlnYXRlZEF0XG4gICAgICAgIGlzRmlyc3RSZWFkID0gdHJ1ZVxuICAgICAgfVxuXG4gICAgICBpZiAocHJlZmV0Y2hWYWx1ZXMuYWxpYXNlZCkge1xuICAgICAgICAvLyBXaGVuIGFsaWFzIGlzIGVuYWJsZWQsIHNlYXJjaCBwYXJhbSBtYXkgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBjYW5vbmljYWxVcmwuXG4gICAgICAgIC8vIEJ1dCB3ZSB3YW50IHRvIHNldCB1cmwgdG8gY2Fub25pY2FsVXJsIHNvIHRoYXQgd2UgdXNlIHJlZGlyZWN0ZWQgcGF0aCBmb3IgZmV0Y2hpbmcgZHluYW1pYyBkYXRhLlxuICAgICAgICBjb25zdCB1cmxXaXRoQ2Fub25pY2FsUGF0aG5hbWUgPSBuZXcgVVJMKHVybC5ocmVmKVxuICAgICAgICBpZiAoY2Fub25pY2FsVXJsT3ZlcnJpZGUpIHtcbiAgICAgICAgICB1cmxXaXRoQ2Fub25pY2FsUGF0aG5hbWUucGF0aG5hbWUgPSBjYW5vbmljYWxVcmxPdmVycmlkZS5wYXRobmFtZVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gaGFuZGxlQWxpYXNlZFByZWZldGNoRW50cnkoXG4gICAgICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgZmxpZ2h0RGF0YSxcbiAgICAgICAgICB1cmxXaXRoQ2Fub25pY2FsUGF0aG5hbWUsXG4gICAgICAgICAgbXV0YWJsZVxuICAgICAgICApXG5cbiAgICAgICAgLy8gV2UgZGlkbid0IHJldHVybiBuZXcgcm91dGVyIHN0YXRlIGJlY2F1c2Ugd2UgZGlkbid0IGFwcGx5IHRoZSBhbGlhc2VkIGVudHJ5IGZvciBzb21lIHJlYXNvbi5cbiAgICAgICAgLy8gV2UnbGwgcmUtaW52b2tlIHRoZSBuYXZpZ2F0aW9uIGhhbmRsZXIgYnV0IGVuc3VyZSB0aGF0IHdlIGRvbid0IGF0dGVtcHQgdG8gdXNlIHRoZSBhbGlhc2VkIGVudHJ5LiBUaGlzXG4gICAgICAgIC8vIHdpbGwgY3JlYXRlIGFuIG9uLWRlbWFuZCBwcmVmZXRjaCBlbnRyeS5cbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICByZXR1cm4gbmF2aWdhdGVSZWR1Y2VyKHN0YXRlLCB7IC4uLmFjdGlvbiwgYWxsb3dBbGlhc2luZzogZmFsc2UgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH1cblxuICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlbiBuYXZpZ2F0aW5nIHRvIHBhZ2UgaW4gYHBhZ2VzYCBmcm9tIGBhcHBgXG4gICAgICBpZiAodHlwZW9mIGZsaWdodERhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgZmxpZ2h0RGF0YSwgcGVuZGluZ1B1c2gpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHVwZGF0ZWRDYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZVxuICAgICAgICA/IGNyZWF0ZUhyZWZGcm9tVXJsKGNhbm9uaWNhbFVybE92ZXJyaWRlKVxuICAgICAgICA6IGhyZWZcblxuICAgICAgY29uc3Qgb25seUhhc2hDaGFuZ2UgPVxuICAgICAgICAhIWhhc2ggJiZcbiAgICAgICAgc3RhdGUuY2Fub25pY2FsVXJsLnNwbGl0KCcjJywgMSlbMF0gPT09XG4gICAgICAgICAgdXBkYXRlZENhbm9uaWNhbFVybC5zcGxpdCgnIycsIDEpWzBdXG5cbiAgICAgIC8vIElmIG9ubHkgdGhlIGhhc2ggaGFzIGNoYW5nZWQsIHRoZSBzZXJ2ZXIgaGFzbid0IHNlbnQgdXMgYW55IG5ldyBkYXRhLiBXZSBjYW4ganVzdCB1cGRhdGVcbiAgICAgIC8vIHRoZSBtdXRhYmxlIHByb3BlcnRpZXMgcmVzcG9uc2libGUgZm9yIFVSTCBhbmQgc2Nyb2xsIGhhbmRsaW5nIGFuZCByZXR1cm4gZWFybHkuXG4gICAgICBpZiAob25seUhhc2hDaGFuZ2UpIHtcbiAgICAgICAgbXV0YWJsZS5vbmx5SGFzaENoYW5nZSA9IHRydWVcbiAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSB1cGRhdGVkQ2Fub25pY2FsVXJsXG4gICAgICAgIG11dGFibGUuc2hvdWxkU2Nyb2xsID0gc2hvdWxkU2Nyb2xsXG4gICAgICAgIG11dGFibGUuaGFzaEZyYWdtZW50ID0gaGFzaFxuICAgICAgICBtdXRhYmxlLnNjcm9sbGFibGVTZWdtZW50cyA9IFtdXG4gICAgICAgIHJldHVybiBoYW5kbGVNdXRhYmxlKHN0YXRlLCBtdXRhYmxlKVxuICAgICAgfVxuXG4gICAgICBsZXQgY3VycmVudFRyZWUgPSBzdGF0ZS50cmVlXG4gICAgICBsZXQgY3VycmVudENhY2hlID0gc3RhdGUuY2FjaGVcbiAgICAgIGxldCBzY3JvbGxhYmxlU2VnbWVudHM6IEZsaWdodFNlZ21lbnRQYXRoW10gPSBbXVxuICAgICAgZm9yIChjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSBvZiBmbGlnaHREYXRhKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICBwYXRoVG9TZWdtZW50OiBmbGlnaHRTZWdtZW50UGF0aCxcbiAgICAgICAgICBzZWVkRGF0YSxcbiAgICAgICAgICBoZWFkLFxuICAgICAgICAgIGlzSGVhZFBhcnRpYWwsXG4gICAgICAgICAgaXNSb290UmVuZGVyLFxuICAgICAgICB9ID0gbm9ybWFsaXplZEZsaWdodERhdGFcbiAgICAgICAgbGV0IHRyZWVQYXRjaCA9IG5vcm1hbGl6ZWRGbGlnaHREYXRhLnRyZWVcblxuICAgICAgICAvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgIGNvbnN0IGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSA9IFsnJywgLi4uZmxpZ2h0U2VnbWVudFBhdGhdXG5cbiAgICAgICAgLy8gQ3JlYXRlIG5ldyB0cmVlIGJhc2VkIG9uIHRoZSBmbGlnaHRTZWdtZW50UGF0aCBhbmQgcm91dGVyIHN0YXRlIHBhdGNoXG4gICAgICAgIGxldCBuZXdUcmVlID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlKFxuICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksXG4gICAgICAgICAgY3VycmVudFRyZWUsXG4gICAgICAgICAgdHJlZVBhdGNoLFxuICAgICAgICAgIGhyZWZcbiAgICAgICAgKVxuXG4gICAgICAgIC8vIElmIHRoZSB0cmVlIHBhdGNoIGNhbid0IGJlIGFwcGxpZWQgdG8gdGhlIGN1cnJlbnQgdHJlZSB0aGVuIHdlIHVzZSB0aGUgdHJlZSBhdCB0aW1lIG9mIHByZWZldGNoXG4gICAgICAgIC8vIFRPRE8tQVBQOiBUaGlzIHNob3VsZCBpbnN0ZWFkIGZpbGwgaW4gdGhlIG1pc3NpbmcgcGllY2VzIGluIGBjdXJyZW50VHJlZWAgd2l0aCB0aGUgZGF0YSBmcm9tIGB0cmVlQXRUaW1lT2ZQcmVmZXRjaGAsIHRoZW4gYXBwbHkgdGhlIHBhdGNoLlxuICAgICAgICBpZiAobmV3VHJlZSA9PT0gbnVsbCkge1xuICAgICAgICAgIG5ld1RyZWUgPSBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUoXG4gICAgICAgICAgICAvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksXG4gICAgICAgICAgICB0cmVlQXRUaW1lT2ZQcmVmZXRjaCxcbiAgICAgICAgICAgIHRyZWVQYXRjaCxcbiAgICAgICAgICAgIGhyZWZcbiAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobmV3VHJlZSAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIC8vIFRoaXMgaXMganVzdCBhIHBhcmFub2lkIGNoZWNrLiBXaGVuIGEgcm91dGUgaXMgUFBSZWQsIHRoZSBzZXJ2ZXJcbiAgICAgICAgICAgIC8vIHdpbGwgc2VuZCBiYWNrIGEgc3RhdGljIHJlc3BvbnNlIHRoYXQncyByZW5kZXJlZCBmcm9tXG4gICAgICAgICAgICAvLyB0aGUgcm9vdC4gSWYgZm9yIHNvbWUgcmVhc29uIGl0IGRvZXNuJ3QsIHdlIGZhbGwgYmFjayB0byB0aGVcbiAgICAgICAgICAgIC8vIG5vbi1QUFIgaW1wbGVtZW50YXRpb24uXG4gICAgICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgZ2V0IHJpZCBvZiB0aGUgZWxzZSBicmFuY2ggYW5kIGRvIGFsbCBuYXZpZ2F0aW9uc1xuICAgICAgICAgICAgLy8gdmlhIHN0YXJ0UFBSTmF2aWdhdGlvbi4gVGhlIGN1cnJlbnQgc3RydWN0dXJlIGlzIGp1c3RcbiAgICAgICAgICAgIC8vIGFuIGluY3JlbWVudGFsIHN0ZXAuXG4gICAgICAgICAgICBzZWVkRGF0YSAmJlxuICAgICAgICAgICAgaXNSb290UmVuZGVyICYmXG4gICAgICAgICAgICBwb3N0cG9uZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHRhc2sgPSBzdGFydFBQUk5hdmlnYXRpb24oXG4gICAgICAgICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgICAgICAgICBjdXJyZW50Q2FjaGUsXG4gICAgICAgICAgICAgIGN1cnJlbnRUcmVlLFxuICAgICAgICAgICAgICB0cmVlUGF0Y2gsXG4gICAgICAgICAgICAgIHNlZWREYXRhLFxuICAgICAgICAgICAgICBoZWFkLFxuICAgICAgICAgICAgICBpc0hlYWRQYXJ0aWFsLFxuICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzXG4gICAgICAgICAgICApXG5cbiAgICAgICAgICAgIGlmICh0YXNrICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmICh0YXNrLnJvdXRlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gRGV0ZWN0ZWQgYSBjaGFuZ2UgdG8gdGhlIHJvb3QgbGF5b3V0LiBQZXJmb3JtIGFuIGZ1bGwtXG4gICAgICAgICAgICAgICAgLy8gcGFnZSBuYXZpZ2F0aW9uLlxuICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgaHJlZiwgcGVuZGluZ1B1c2gpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gVXNlIHRoZSB0cmVlIGNvbXB1dGVkIGJ5IHN0YXJ0UFBSTmF2aWdhdGlvbiBpbnN0ZWFkXG4gICAgICAgICAgICAgIC8vIG9mIHRoZSBvbmUgY29tcHV0ZWQgYnkgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlLlxuICAgICAgICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgcmVtb3ZlIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVxuICAgICAgICAgICAgICAvLyBmcm9tIHRoZSBQUFIgcGF0aCBlbnRpcmVseS5cbiAgICAgICAgICAgICAgY29uc3QgcGF0Y2hlZFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZSA9IHRhc2sucm91dGVcbiAgICAgICAgICAgICAgbmV3VHJlZSA9IHBhdGNoZWRSb3V0ZXJTdGF0ZVxuXG4gICAgICAgICAgICAgIGNvbnN0IG5ld0NhY2hlID0gdGFzay5ub2RlXG4gICAgICAgICAgICAgIGlmIChuZXdDYWNoZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFdlJ3ZlIGNyZWF0ZWQgYSBuZXcgQ2FjaGUgTm9kZSB0cmVlIHRoYXQgY29udGFpbnMgYSBwcmVmZXRjaGVkXG4gICAgICAgICAgICAgICAgLy8gdmVyc2lvbiBvZiB0aGUgbmV4dCBwYWdlLiBUaGlzIGNhbiBiZSByZW5kZXJlZCBpbnN0YW50bHkuXG4gICAgICAgICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IG5ld0NhY2hlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3QgZHluYW1pY1JlcXVlc3RUcmVlID0gdGFzay5keW5hbWljUmVxdWVzdFRyZWVcbiAgICAgICAgICAgICAgaWYgKGR5bmFtaWNSZXF1ZXN0VHJlZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBwcmVmZXRjaGVkIHRyZWUgaGFzIGR5bmFtaWMgaG9sZXMgaW4gaXQuIFdlIGluaXRpYXRlIGFcbiAgICAgICAgICAgICAgICAvLyBkeW5hbWljIHJlcXVlc3QgdG8gZmlsbCB0aGVtIGluLlxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgLy8gRG8gbm90IGJsb2NrIG9uIHRoZSByZXN1bHQuIFdlJ2xsIGltbWVkaWF0ZWx5IHJlbmRlciB0aGUgQ2FjaGVcbiAgICAgICAgICAgICAgICAvLyBOb2RlIHRyZWUgYW5kIHN1c3BlbmQgb24gdGhlIGR5bmFtaWMgcGFydHMuIFdoZW4gdGhlIHJlcXVlc3RcbiAgICAgICAgICAgICAgICAvLyBjb21lcyBpbiwgd2UnbGwgZmlsbCBpbiBtaXNzaW5nIGRhdGEgYW5kIHBpbmcgUmVhY3QgdG9cbiAgICAgICAgICAgICAgICAvLyByZS1yZW5kZXIuIFVubGlrZSB0aGUgbGF6eSBmZXRjaGluZyBtb2RlbCBpbiB0aGUgbm9uLVBQUlxuICAgICAgICAgICAgICAgIC8vIGltcGxlbWVudGF0aW9uLCB0aGlzIGlzIG1vZGVsZWQgYXMgYSBzaW5nbGUgUmVhY3QgdXBkYXRlICtcbiAgICAgICAgICAgICAgICAvLyBzdHJlYW1pbmcsIHJhdGhlciB0aGFuIG11bHRpcGxlIHRvcC1sZXZlbCB1cGRhdGVzLiAoSG93ZXZlcixcbiAgICAgICAgICAgICAgICAvLyBldmVuIGluIHRoZSBuZXcgbW9kZWwsIHdlJ2xsIHN0aWxsIG5lZWQgdG8gc29tZXRpbWVzIHVwZGF0ZSB0aGVcbiAgICAgICAgICAgICAgICAvLyByb290IG11bHRpcGxlIHRpbWVzIHBlciBuYXZpZ2F0aW9uLCBsaWtlIGlmIHRoZSBzZXJ2ZXIgc2VuZHMgdXNcbiAgICAgICAgICAgICAgICAvLyBhIGRpZmZlcmVudCByZXNwb25zZSB0aGFuIHdlIGV4cGVjdGVkLiBGb3Igbm93LCB3ZSByZXZlcnQgYmFja1xuICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBsYXp5IGZldGNoaW5nIG1lY2hhbmlzbSBpbiB0aGF0IGNhc2UuKVxuICAgICAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNSZXF1ZXN0ID0gZmV0Y2hTZXJ2ZXJSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgIG5ldyBVUkwodXBkYXRlZENhbm9uaWNhbFVybCwgdXJsLm9yaWdpbiksXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZsaWdodFJvdXRlclN0YXRlOiBkeW5hbWljUmVxdWVzdFRyZWUsXG4gICAgICAgICAgICAgICAgICAgIG5leHRVcmw6IHN0YXRlLm5leHRVcmwsXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QodGFzaywgZHluYW1pY1JlcXVlc3QpXG4gICAgICAgICAgICAgICAgLy8gV2Ugc3RvcmUgdGhlIGR5bmFtaWMgcmVxdWVzdCBvbiB0aGUgYGxhenlEYXRhYCBwcm9wZXJ0eSBvZiB0aGUgQ2FjaGVOb2RlXG4gICAgICAgICAgICAgICAgLy8gYmVjYXVzZSB3ZSdyZSBub3QgZ29pbmcgdG8gYXdhaXQgdGhlIGR5bmFtaWMgcmVxdWVzdCBoZXJlLiBTaW5jZSB3ZSdyZSBub3QgYmxvY2tpbmdcbiAgICAgICAgICAgICAgICAvLyBvbiB0aGUgZHluYW1pYyByZXF1ZXN0LCBgbGF5b3V0LXJvdXRlcmAgd2lsbFxuICAgICAgICAgICAgICAgIC8vIHRhc2subm9kZS5sYXp5RGF0YSA9IGR5bmFtaWNSZXF1ZXN0XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIHByZWZldGNoZWQgdHJlZSBkb2VzIG5vdCBjb250YWluIGR5bmFtaWMgaG9sZXMg4oCUIGl0J3NcbiAgICAgICAgICAgICAgICAvLyBmdWxseSBzdGF0aWMuIFdlIGNhbiBza2lwIHRoZSBkeW5hbWljIHJlcXVlc3QuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIE5vdGhpbmcgY2hhbmdlZCwgc28gcmV1c2UgdGhlIG9sZCBjYWNoZS5cbiAgICAgICAgICAgICAgLy8gVE9ETzogV2hhdCBpZiB0aGUgaGVhZCBjaGFuZ2VkIGJ1dCBub3QgYW55IG9mIHRoZSBzZWdtZW50IGRhdGE/XG4gICAgICAgICAgICAgIC8vIElzIHRoYXQgcG9zc2libGU/IElmIHNvLCB3ZSBzaG91bGQgY2xvbmUgdGhlIHdob2xlIHRyZWUgYW5kXG4gICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgaGVhZC5cbiAgICAgICAgICAgICAgbmV3VHJlZSA9IHRyZWVQYXRjaFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgc3RhdGljIHJlc3BvbnNlIGRvZXMgbm90IGluY2x1ZGUgYW55IGR5bmFtaWMgaG9sZXMsIHNvXG4gICAgICAgICAgICAvLyB0aGVyZSdzIG5vIG5lZWQgdG8gZG8gYSBzZWNvbmQgcmVxdWVzdC5cbiAgICAgICAgICAgIC8vIFRPRE86IEFzIGFuIGluY3JlbWVudGFsIHN0ZXAgdGhpcyBqdXN0IHJldmVydHMgYmFjayB0byB0aGVcbiAgICAgICAgICAgIC8vIG5vbi1QUFIgaW1wbGVtZW50YXRpb24uIFdlIGNhbiBzaW1wbGlmeSB0aGlzIGJyYW5jaCBmdXJ0aGVyLFxuICAgICAgICAgICAgLy8gZ2l2ZW4gdGhhdCBQUFIgcHJlZmV0Y2hlcyBhcmUgYWx3YXlzIHN0YXRpYyBhbmQgcmV0dXJuIHRoZSB3aG9sZVxuICAgICAgICAgICAgLy8gdHJlZS4gT3IgaW4gdGhlIG1lYW50aW1lIHdlIGNvdWxkIGZhY3RvciBpdCBvdXQgaW50byBhXG4gICAgICAgICAgICAvLyBzZXBhcmF0ZSBmdW5jdGlvbi5cblxuICAgICAgICAgICAgaWYgKGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dChjdXJyZW50VHJlZSwgbmV3VHJlZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCBocmVmLCBwZW5kaW5nUHVzaClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2FjaGU6IENhY2hlTm9kZSA9IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKClcbiAgICAgICAgICAgIGxldCBhcHBsaWVkID0gZmFsc2VcblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBwcmVmZXRjaFZhbHVlcy5zdGF0dXMgPT09IFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5zdGFsZSAmJlxuICAgICAgICAgICAgICAhaXNGaXJzdFJlYWRcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAvLyBXaGVuIHdlIGhhdmUgYSBzdGFsZSBwcmVmZXRjaCBlbnRyeSwgd2Ugb25seSB3YW50IHRvIHJlLXVzZSB0aGUgbG9hZGluZyBzdGF0ZSBvZiB0aGUgcm91dGUgd2UncmUgbmF2aWdhdGluZyB0bywgdG8gc3VwcG9ydCBpbnN0YW50IGxvYWRpbmcgbmF2aWdhdGlvbnNcbiAgICAgICAgICAgICAgLy8gdGhpcyB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoIGZvciB0aGUgYWN0dWFsIHBhZ2UgZGF0YSBieSBudWxsaW5nIHRoZSBgcnNjYCBhbmQgYHByZWZldGNoUnNjYCB2YWx1ZXMgZm9yIHBhZ2UgZGF0YSxcbiAgICAgICAgICAgICAgLy8gd2hpbGUgY29weWluZyBvdmVyIHRoZSBgbG9hZGluZ2AgZm9yIHRoZSBzZWdtZW50IHRoYXQgY29udGFpbnMgdGhlIHBhZ2UgZGF0YS5cbiAgICAgICAgICAgICAgLy8gV2Ugb25seSBkbyB0aGlzIG9uIHN1YnNlcXVlbnQgcmVhZHMsIGFzIG90aGVyd2lzZSB0aGVyZSdkIGJlIG5vIGxvYWRpbmcgZGF0YSB0byByZS11c2UuXG5cbiAgICAgICAgICAgICAgLy8gV2Ugc2tpcCB0aGlzIGJyYW5jaCBpZiBvbmx5IHRoZSBoYXNoIGZyYWdtZW50IGhhcyBjaGFuZ2VkLCBhcyB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgYSBsYXp5IGZldGNoIGluIHRoYXQgY2FzZVxuICAgICAgICAgICAgICBhcHBsaWVkID0gdHJpZ2dlckxhenlGZXRjaEZvckxlYWZTZWdtZW50cyhcbiAgICAgICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgICAgICBjdXJyZW50Q2FjaGUsXG4gICAgICAgICAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGgsXG4gICAgICAgICAgICAgICAgdHJlZVBhdGNoXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLy8gc2luY2Ugd2UgcmUtdXNlZCB0aGUgc3RhbGUgY2FjaGUncyBsb2FkaW5nIHN0YXRlICYgcmVmcmVzaGVkIHRoZSBkYXRhLFxuICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIGBsYXN0VXNlZFRpbWVgIHNvIHRoYXQgaXQgY2FuIGNvbnRpbnVlIHRvIGJlIHJlLXVzZWQgZm9yIHRoZSBuZXh0IDMwc1xuICAgICAgICAgICAgICBwcmVmZXRjaFZhbHVlcy5sYXN0VXNlZFRpbWUgPSBuYXZpZ2F0ZWRBdFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgYXBwbGllZCA9IGFwcGx5RmxpZ2h0RGF0YShcbiAgICAgICAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICAgICAgICBjdXJyZW50Q2FjaGUsXG4gICAgICAgICAgICAgICAgY2FjaGUsXG4gICAgICAgICAgICAgICAgbm9ybWFsaXplZEZsaWdodERhdGEsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hWYWx1ZXNcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBoYXJkTmF2aWdhdGUgPSBzaG91bGRIYXJkTmF2aWdhdGUoXG4gICAgICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5LFxuICAgICAgICAgICAgICBjdXJyZW50VHJlZVxuICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICBpZiAoaGFyZE5hdmlnYXRlKSB7XG4gICAgICAgICAgICAgIC8vIENvcHkgcnNjIGZvciB0aGUgcm9vdCBub2RlIG9mIHRoZSBjYWNoZS5cbiAgICAgICAgICAgICAgY2FjaGUucnNjID0gY3VycmVudENhY2hlLnJzY1xuICAgICAgICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IGN1cnJlbnRDYWNoZS5wcmVmZXRjaFJzY1xuXG4gICAgICAgICAgICAgIGludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgoXG4gICAgICAgICAgICAgICAgY2FjaGUsXG4gICAgICAgICAgICAgICAgY3VycmVudENhY2hlLFxuICAgICAgICAgICAgICAgIGZsaWdodFNlZ21lbnRQYXRoXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSBleGlzdGluZyBjYWNoZSB2YWx1ZSBpcyB1c2VkIHdoZW4gdGhlIGNhY2hlIHdhcyBub3QgaW52YWxpZGF0ZWQuXG4gICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZVxuICAgICAgICAgICAgfSBlbHNlIGlmIChhcHBsaWVkKSB7XG4gICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZVxuICAgICAgICAgICAgICAvLyBJZiB3ZSBhcHBsaWVkIHRoZSBjYWNoZSwgd2UgdXBkYXRlIHRoZSBcImN1cnJlbnQgY2FjaGVcIiB2YWx1ZSBzbyBhbnkgb3RoZXJcbiAgICAgICAgICAgICAgLy8gc2VnbWVudHMgaW4gdGhlIEZsaWdodERhdGFQYXRoIHdpbGwgYmUgYWJsZSB0byByZWZlcmVuY2UgdGhlIHVwZGF0ZWQgY2FjaGUuXG4gICAgICAgICAgICAgIGN1cnJlbnRDYWNoZSA9IGNhY2hlXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3ViU2VnbWVudCBvZiBnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoKHRyZWVQYXRjaCkpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsYWJsZVNlZ21lbnRQYXRoID0gW1xuICAgICAgICAgICAgICAgIC4uLmZsaWdodFNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgIC4uLnN1YlNlZ21lbnQsXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgLy8gRmlsdGVyIG91dCB0aGUgX19ERUZBVUxUX18gcGF0aHMgYXMgdGhleSBzaG91bGRuJ3QgYmUgc2Nyb2xsZWQgdG8gaW4gdGhpcyBjYXNlLlxuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRQYXRoW3Njcm9sbGFibGVTZWdtZW50UGF0aC5sZW5ndGggLSAxXSAhPT1cbiAgICAgICAgICAgICAgICBERUZBVUxUX1NFR01FTlRfS0VZXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHNjcm9sbGFibGVTZWdtZW50cy5wdXNoKHNjcm9sbGFibGVTZWdtZW50UGF0aClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBjdXJyZW50VHJlZVxuICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSB1cGRhdGVkQ2Fub25pY2FsVXJsXG4gICAgICBtdXRhYmxlLnNjcm9sbGFibGVTZWdtZW50cyA9IHNjcm9sbGFibGVTZWdtZW50c1xuICAgICAgbXV0YWJsZS5oYXNoRnJhZ21lbnQgPSBoYXNoXG4gICAgICBtdXRhYmxlLnNob3VsZFNjcm9sbCA9IHNob3VsZFNjcm9sbFxuXG4gICAgICByZXR1cm4gaGFuZGxlTXV0YWJsZShzdGF0ZSwgbXV0YWJsZSlcbiAgICB9LFxuICAgICgpID0+IHN0YXRlXG4gIClcbn1cbiJdLCJuYW1lcyI6WyJoYW5kbGVFeHRlcm5hbFVybCIsIm5hdmlnYXRlUmVkdWNlciIsInN0YXRlIiwibXV0YWJsZSIsInVybCIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsImNhbm9uaWNhbFVybCIsInNjcm9sbGFibGVTZWdtZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZU11dGFibGUiLCJnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoIiwiZmxpZ2h0Um91dGVyUGF0Y2giLCJzZWdtZW50cyIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5IiwicGFyYWxsZWxSb3V0ZSIsImVudHJpZXMiLCJjaGlsZFNlZ21lbnQiLCJwdXNoIiwidHJpZ2dlckxhenlGZXRjaEZvckxlYWZTZWdtZW50cyIsIm5ld0NhY2hlIiwiY3VycmVudENhY2hlIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJ0cmVlUGF0Y2giLCJhcHBsaWVkUGF0Y2giLCJyc2MiLCJwcmVmZXRjaFJzYyIsImxvYWRpbmciLCJNYXAiLCJzZWdtZW50UGF0aHNUb0ZpbGwiLCJtYXAiLCJzZWdtZW50UGF0aHMiLCJjbGVhckNhY2hlTm9kZURhdGFGb3JTZWdtZW50UGF0aCIsImhhbmRsZU5hdmlnYXRpb25SZXN1bHQiLCJyZXN1bHQiLCJ0YWciLCJOYXZpZ2F0aW9uUmVzdWx0VGFnIiwiTVBBIiwibmV3VXJsIiwiZGF0YSIsIk5vT3AiLCJuZXdDYW5vbmljYWxVcmwiLCJvbGRVcmwiLCJVUkwiLCJvbmx5SGFzaENoYW5nZSIsInBhdGhuYW1lIiwic2VhcmNoIiwiaGFzaCIsInNob3VsZFNjcm9sbCIsImhhc2hGcmFnbWVudCIsIlN1Y2Nlc3MiLCJjYWNoZSIsImNhY2hlTm9kZSIsInBhdGNoZWRUcmVlIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJBc3luYyIsInRoZW4iLCJhc3luY1Jlc3VsdCIsImFjdGlvbiIsImlzRXh0ZXJuYWxVcmwiLCJuYXZpZ2F0ZVR5cGUiLCJhbGxvd0FsaWFzaW5nIiwiaHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwicHJ1bmVQcmVmZXRjaENhY2hlIiwicHJlZmV0Y2hDYWNoZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwidG9TdHJpbmciLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRSIsIm5hdmlnYXRlVXNpbmdTZWdtZW50Q2FjaGUiLCJ0cmVlIiwibmV4dFVybCIsInByZWZldGNoVmFsdWVzIiwiZ2V0T3JDcmVhdGVQcmVmZXRjaENhY2hlRW50cnkiLCJ0cmVlQXRUaW1lT2ZQcmVmZXRjaCIsInByZWZldGNoUXVldWUiLCJidW1wIiwiZmxpZ2h0RGF0YSIsImNhbm9uaWNhbFVybE92ZXJyaWRlIiwicG9zdHBvbmVkIiwibmF2aWdhdGVkQXQiLCJEYXRlIiwibm93IiwiaXNGaXJzdFJlYWQiLCJsYXN0VXNlZFRpbWUiLCJhbGlhc2VkIiwidXJsV2l0aENhbm9uaWNhbFBhdGhuYW1lIiwiaGFuZGxlQWxpYXNlZFByZWZldGNoRW50cnkiLCJ1cGRhdGVkQ2Fub25pY2FsVXJsIiwic3BsaXQiLCJjdXJyZW50VHJlZSIsIm5vcm1hbGl6ZWRGbGlnaHREYXRhIiwicGF0aFRvU2VnbWVudCIsInNlZWREYXRhIiwiaGVhZCIsImlzSGVhZFBhcnRpYWwiLCJpc1Jvb3RSZW5kZXIiLCJmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHkiLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIiwidGFzayIsInN0YXJ0UFBSTmF2aWdhdGlvbiIsInJvdXRlIiwicGF0Y2hlZFJvdXRlclN0YXRlIiwibm9kZSIsImR5bmFtaWNSZXF1ZXN0VHJlZSIsImR5bmFtaWNSZXF1ZXN0IiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsIm9yaWdpbiIsImxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0IiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBsaWVkIiwic3RhdHVzIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwic3RhbGUiLCJhcHBseUZsaWdodERhdGEiLCJoYXJkTmF2aWdhdGUiLCJzaG91bGRIYXJkTmF2aWdhdGUiLCJpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoIiwic3ViU2VnbWVudCIsInNjcm9sbGFibGVTZWdtZW50UGF0aCIsIkRFRkFVTFRfU0VHTUVOVF9LRVkiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js": /*!**********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.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 prefetchQueue: function() {\n return prefetchQueue;\n },\n prefetchReducer: function() {\n return prefetchReducer;\n }\n});\nconst _promisequeue = __webpack_require__(/*! ../../promise-queue */ \"(app-pages-browser)/./node_modules/next/dist/client/components/promise-queue.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst prefetchQueue = new _promisequeue.PromiseQueue(5);\nconst prefetchReducer = false ? 0 : prefetchReducerImpl;\nfunction identityReducerWhenSegmentCacheIsEnabled(state) {\n // Unlike the old implementation, the Segment Cache doesn't store its data in\n // the router reducer state.\n //\n // This shouldn't be reachable because we wrap the prefetch API in a check,\n // too, which prevents the action from being dispatched. But it's here for\n // clarity + code elimination.\n return state;\n}\nfunction prefetchReducerImpl(state, action) {\n // let's prune the prefetch cache before we do anything else\n (0, _prefetchcacheutils.prunePrefetchCache)(state.prefetchCache);\n const { url } = action;\n (0, _prefetchcacheutils.getOrCreatePrefetchCacheEntry)({\n url,\n nextUrl: state.nextUrl,\n prefetchCache: state.prefetchCache,\n kind: action.kind,\n tree: state.tree,\n allowAliasing: true\n });\n return state;\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=prefetch-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcHJlZmV0Y2gtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFVYUEsYUFBYTtlQUFiQTs7SUFFQUMsZUFBZTtlQUFmQTs7OzBDQVBnQjtnREFJdEI7QUFDQSxNQUFNRCxnQkFBZ0IsSUFBSUUsY0FBQUEsWUFBWSxDQUFDO0FBRXZDLE1BQU1ELGtCQUFrQkUsTUFBdUMsR0FDbEVHLENBQXdDQSxHQUN4Q0M7QUFFSixTQUFTRCx5Q0FBNENFLEtBQVE7SUFDM0QsNkVBQTZFO0lBQzdFLDRCQUE0QjtJQUM1QixFQUFFO0lBQ0YsMkVBQTJFO0lBQzNFLDBFQUEwRTtJQUMxRSw4QkFBOEI7SUFDOUIsT0FBT0E7QUFDVDtBQUVBLFNBQVNELG9CQUNQQyxLQUEyQixFQUMzQkMsTUFBc0I7SUFFdEIsNERBQTREO0lBQzVEQyxDQUFBQSxHQUFBQSxvQkFBQUEsa0JBQUFBLEVBQW1CRixNQUFNRyxhQUFhO0lBRXRDLE1BQU0sRUFBRUMsR0FBRyxFQUFFLEdBQUdIO0lBRWhCSSxDQUFBQSxHQUFBQSxvQkFBQUEsNkJBQUFBLEVBQThCO1FBQzVCRDtRQUNBRSxTQUFTTixNQUFNTSxPQUFPO1FBQ3RCSCxlQUFlSCxNQUFNRyxhQUFhO1FBQ2xDSSxNQUFNTixPQUFPTSxJQUFJO1FBQ2pCQyxNQUFNUixNQUFNUSxJQUFJO1FBQ2hCQyxlQUFlO0lBQ2pCO0lBRUEsT0FBT1Q7QUFDVCIsInNvdXJjZXMiOlsiL2hvbWUvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBQcmVmZXRjaEFjdGlvbixcbiAgUmVkdWNlclN0YXRlLFxuICBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbn0gZnJvbSAnLi4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBQcm9taXNlUXVldWUgfSBmcm9tICcuLi8uLi9wcm9taXNlLXF1ZXVlJ1xuaW1wb3J0IHtcbiAgZ2V0T3JDcmVhdGVQcmVmZXRjaENhY2hlRW50cnksXG4gIHBydW5lUHJlZmV0Y2hDYWNoZSxcbn0gZnJvbSAnLi4vcHJlZmV0Y2gtY2FjaGUtdXRpbHMnXG5leHBvcnQgY29uc3QgcHJlZmV0Y2hRdWV1ZSA9IG5ldyBQcm9taXNlUXVldWUoNSlcblxuZXhwb3J0IGNvbnN0IHByZWZldGNoUmVkdWNlciA9IHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRVxuICA/IGlkZW50aXR5UmVkdWNlcldoZW5TZWdtZW50Q2FjaGVJc0VuYWJsZWRcbiAgOiBwcmVmZXRjaFJlZHVjZXJJbXBsXG5cbmZ1bmN0aW9uIGlkZW50aXR5UmVkdWNlcldoZW5TZWdtZW50Q2FjaGVJc0VuYWJsZWQ8VD4oc3RhdGU6IFQpOiBUIHtcbiAgLy8gVW5saWtlIHRoZSBvbGQgaW1wbGVtZW50YXRpb24sIHRoZSBTZWdtZW50IENhY2hlIGRvZXNuJ3Qgc3RvcmUgaXRzIGRhdGEgaW5cbiAgLy8gdGhlIHJvdXRlciByZWR1Y2VyIHN0YXRlLlxuICAvL1xuICAvLyBUaGlzIHNob3VsZG4ndCBiZSByZWFjaGFibGUgYmVjYXVzZSB3ZSB3cmFwIHRoZSBwcmVmZXRjaCBBUEkgaW4gYSBjaGVjayxcbiAgLy8gdG9vLCB3aGljaCBwcmV2ZW50cyB0aGUgYWN0aW9uIGZyb20gYmVpbmcgZGlzcGF0Y2hlZC4gQnV0IGl0J3MgaGVyZSBmb3JcbiAgLy8gY2xhcml0eSArIGNvZGUgZWxpbWluYXRpb24uXG4gIHJldHVybiBzdGF0ZVxufVxuXG5mdW5jdGlvbiBwcmVmZXRjaFJlZHVjZXJJbXBsKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIGFjdGlvbjogUHJlZmV0Y2hBY3Rpb25cbik6IFJlZHVjZXJTdGF0ZSB7XG4gIC8vIGxldCdzIHBydW5lIHRoZSBwcmVmZXRjaCBjYWNoZSBiZWZvcmUgd2UgZG8gYW55dGhpbmcgZWxzZVxuICBwcnVuZVByZWZldGNoQ2FjaGUoc3RhdGUucHJlZmV0Y2hDYWNoZSlcblxuICBjb25zdCB7IHVybCB9ID0gYWN0aW9uXG5cbiAgZ2V0T3JDcmVhdGVQcmVmZXRjaENhY2hlRW50cnkoe1xuICAgIHVybCxcbiAgICBuZXh0VXJsOiBzdGF0ZS5uZXh0VXJsLFxuICAgIHByZWZldGNoQ2FjaGU6IHN0YXRlLnByZWZldGNoQ2FjaGUsXG4gICAga2luZDogYWN0aW9uLmtpbmQsXG4gICAgdHJlZTogc3RhdGUudHJlZSxcbiAgICBhbGxvd0FsaWFzaW5nOiB0cnVlLFxuICB9KVxuXG4gIHJldHVybiBzdGF0ZVxufVxuIl0sIm5hbWVzIjpbInByZWZldGNoUXVldWUiLCJwcmVmZXRjaFJlZHVjZXIiLCJQcm9taXNlUXVldWUiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFIiwiaWRlbnRpdHlSZWR1Y2VyV2hlblNlZ21lbnRDYWNoZUlzRW5hYmxlZCIsInByZWZldGNoUmVkdWNlckltcGwiLCJzdGF0ZSIsImFjdGlvbiIsInBydW5lUHJlZmV0Y2hDYWNoZSIsInByZWZldGNoQ2FjaGUiLCJ1cmwiLCJnZXRPckNyZWF0ZVByZWZldGNoQ2FjaGVFbnRyeSIsIm5leHRVcmwiLCJraW5kIiwidHJlZSIsImFsbG93QWxpYXNpbmciXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js ***! \*********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"refreshReducer\", ({\n enumerable: true,\n get: function() {\n return refreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ../refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nconst _segmentcache = __webpack_require__(/*! ../../segment-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js\");\nfunction refreshReducer(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // If the current tree was intercepted, the nextUrl should be included in the request.\n // This is to ensure that the refresh request doesn't get intercepted, accidentally triggering the interception route.\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree);\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), {\n flightRouterState: [\n currentTree[0],\n currentTree[1],\n currentTree[2],\n 'refetch'\n ],\n nextUrl: includeNextUrl ? state.nextUrl : null\n });\n const navigatedAt = Date.now();\n return cache.lazyData.then(async (param)=>{\n let { flightData, canonicalUrl: canonicalUrlOverride } = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === 'string') {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n for (const normalizedFlightData of flightData){\n const { tree: treePatch, seedData: cacheNodeSeedData, head, isRootRender } = normalizedFlightData;\n if (!isRootRender) {\n // TODO-APP: handle this case better\n console.log('REFRESH FAILED');\n return state;\n }\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n ''\n ], currentTree, treePatch, state.canonicalUrl);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData !== null) {\n const rsc = cacheNodeSeedData[1];\n const loading = cacheNodeSeedData[3];\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n cache.loading = loading;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(navigatedAt, cache, undefined, treePatch, cacheNodeSeedData, head, undefined);\n if (false) {} else {\n mutable.prefetchCache = new Map();\n }\n }\n await (0, _refetchinactiveparallelsegments.refreshInactiveParallelSegments)({\n navigatedAt,\n state,\n updatedTree: newTree,\n updatedCache: cache,\n includeNextUrl,\n canonicalUrl: mutable.canonicalUrl || state.canonicalUrl\n });\n mutable.cache = cache;\n mutable.patchedTree = newTree;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\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=refresh-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVmcmVzaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBb0JnQkE7OztlQUFBQTs7O2lEQXBCb0I7K0NBQ0Y7eURBQ1U7eURBQ0E7NkNBT1Y7MkNBQ0o7MkRBRWdCO3VDQUNUO21EQUNDOytEQUNZOzZEQUNGOzBDQUNWO0FBRS9CLFNBQVNBLGVBQ2RDLEtBQTJCLEVBQzNCQyxNQUFxQjtJQUVyQixNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtJQUNuQixNQUFNRSxVQUFtQixDQUFDO0lBQzFCLE1BQU1DLE9BQU9KLE1BQU1LLFlBQVk7SUFFL0IsSUFBSUMsY0FBY04sTUFBTU8sSUFBSTtJQUU1QkosUUFBUUssMEJBQTBCLEdBQUc7SUFFckMsTUFBTUMsUUFBbUJDLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFBQTtJQUV6QixzRkFBc0Y7SUFDdEYsc0hBQXNIO0lBQ3RILE1BQU1DLGlCQUFpQkMsQ0FBQUEsR0FBQUEsbUNBQUFBLGlDQUFpQyxFQUFDWixNQUFNTyxJQUFJO0lBRW5FLHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENFLE1BQU1JLFFBQVEsR0FBR0MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFBQSxFQUFvQixJQUFJQyxJQUFJWCxNQUFNRixTQUFTO1FBQzFEYyxtQkFBbUI7WUFDakJWLFdBQVcsQ0FBQyxFQUFFO1lBQ2RBLFdBQVcsQ0FBQyxFQUFFO1lBQ2RBLFdBQVcsQ0FBQyxFQUFFO1lBQ2Q7U0FDRDtRQUNEVyxTQUFTTixpQkFBaUJYLE1BQU1pQixPQUFPLEdBQUc7SUFDNUM7SUFFQSxNQUFNQyxjQUFjQyxLQUFLQyxHQUFHO0lBQzVCLE9BQU9YLE1BQU1JLFFBQVEsQ0FBQ1EsSUFBSSxDQUN4QjtZQUFPLEVBQUVDLFVBQVUsRUFBRWpCLGNBQWNrQixvQkFBb0IsRUFBRTtRQUN2RCw0REFBNEQ7UUFDNUQsSUFBSSxPQUFPRCxlQUFlLFVBQVU7WUFDbEMsT0FBT0UsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFBQSxFQUNMeEIsT0FDQUcsU0FDQW1CLFlBQ0F0QixNQUFNeUIsT0FBTyxDQUFDQyxXQUFXO1FBRTdCO1FBRUEsK0RBQStEO1FBQy9EakIsTUFBTUksUUFBUSxHQUFHO1FBRWpCLEtBQUssTUFBTWMsd0JBQXdCTCxXQUFZO1lBQzdDLE1BQU0sRUFDSmYsTUFBTXFCLFNBQVMsRUFDZkMsVUFBVUMsaUJBQWlCLEVBQzNCQyxJQUFJLEVBQ0pDLFlBQVksRUFDYixHQUFHTDtZQUVKLElBQUksQ0FBQ0ssY0FBYztnQkFDakIsb0NBQW9DO2dCQUNwQ0MsUUFBUUMsR0FBRyxDQUFDO2dCQUNaLE9BQU9sQztZQUNUO1lBRUEsTUFBTW1DLFVBQVVDLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBQUEsRUFDZDtnQkFDQzthQUFHLEVBQ0o5QixhQUNBc0IsV0FDQTVCLE1BQU1LLFlBQVk7WUFHcEIsSUFBSThCLFlBQVksTUFBTTtnQkFDcEIsT0FBT0UsQ0FBQUEsR0FBQUEsdUJBQUFBLHFCQUFBQSxFQUFzQnJDLE9BQU9DLFFBQVEyQjtZQUM5QztZQUVBLElBQUlVLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBQUEsRUFBNEJoQyxhQUFhNkIsVUFBVTtnQkFDckQsT0FBT1gsQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFBQSxFQUNMeEIsT0FDQUcsU0FDQUMsTUFDQUosTUFBTXlCLE9BQU8sQ0FBQ0MsV0FBVztZQUU3QjtZQUVBLE1BQU1hLDJCQUEyQmhCLHVCQUM3QmlCLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBQUEsRUFBa0JqQix3QkFDbEJrQjtZQUVKLElBQUlsQixzQkFBc0I7Z0JBQ3hCcEIsUUFBUUUsWUFBWSxHQUFHa0M7WUFDekI7WUFFQSw4RkFBOEY7WUFDOUYsSUFBSVQsc0JBQXNCLE1BQU07Z0JBQzlCLE1BQU1ZLE1BQU1aLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ2hDLE1BQU1hLFVBQVViLGlCQUFpQixDQUFDLEVBQUU7Z0JBQ3BDckIsTUFBTWlDLEdBQUcsR0FBR0E7Z0JBQ1pqQyxNQUFNbUMsV0FBVyxHQUFHO2dCQUNwQm5DLE1BQU1rQyxPQUFPLEdBQUdBO2dCQUNoQkUsQ0FBQUEsR0FBQUEsK0JBQUFBLDZCQUFBQSxFQUNFM0IsYUFDQVQsT0FDQSxXQUVBbUIsV0FDQUUsbUJBQ0FDLE1BQ0FVO2dCQUVGLElBQUlLLEtBQXVDLEVBQUUsRUFFNUMsTUFBTTtvQkFDTDNDLFFBQVErQyxhQUFhLEdBQUcsSUFBSUM7Z0JBQzlCO1lBQ0Y7WUFFQSxNQUFNQyxDQUFBQSxHQUFBQSxpQ0FBQUEsK0JBQUFBLEVBQWdDO2dCQUNwQ2xDO2dCQUNBbEI7Z0JBQ0FxRCxhQUFhbEI7Z0JBQ2JtQixjQUFjN0M7Z0JBQ2RFO2dCQUNBTixjQUFjRixRQUFRRSxZQUFZLElBQUlMLE1BQU1LLFlBQVk7WUFDMUQ7WUFFQUYsUUFBUU0sS0FBSyxHQUFHQTtZQUNoQk4sUUFBUW9ELFdBQVcsR0FBR3BCO1lBRXRCN0IsY0FBYzZCO1FBQ2hCO1FBRUEsT0FBT3FCLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWN4RCxPQUFPRztJQUM5QixHQUNBLElBQU1IO0FBRVYiLCJzb3VyY2VzIjpbIi9ob21lL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9yZWZyZXNoLXJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmV0Y2hTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJy4uL2ZldGNoLXNlcnZlci1yZXNwb25zZSdcbmltcG9ydCB7IGNyZWF0ZUhyZWZGcm9tVXJsIH0gZnJvbSAnLi4vY3JlYXRlLWhyZWYtZnJvbS11cmwnXG5pbXBvcnQgeyBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUgfSBmcm9tICcuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZSdcbmltcG9ydCB7IGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCB9IGZyb20gJy4uL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0J1xuaW1wb3J0IHR5cGUge1xuICBNdXRhYmxlLFxuICBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgUmVkdWNlclN0YXRlLFxuICBSZWZyZXNoQWN0aW9uLFxufSBmcm9tICcuLi9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IGhhbmRsZUV4dGVybmFsVXJsIH0gZnJvbSAnLi9uYXZpZ2F0ZS1yZWR1Y2VyJ1xuaW1wb3J0IHsgaGFuZGxlTXV0YWJsZSB9IGZyb20gJy4uL2hhbmRsZS1tdXRhYmxlJ1xuaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIH0gZnJvbSAnLi4vZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQnXG5pbXBvcnQgeyBjcmVhdGVFbXB0eUNhY2hlTm9kZSB9IGZyb20gJy4uLy4uL2FwcC1yb3V0ZXInXG5pbXBvcnQgeyBoYW5kbGVTZWdtZW50TWlzbWF0Y2ggfSBmcm9tICcuLi9oYW5kbGUtc2VnbWVudC1taXNtYXRjaCdcbmltcG9ydCB7IGhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSB9IGZyb20gJy4vaGFzLWludGVyY2VwdGlvbi1yb3V0ZS1pbi1jdXJyZW50LXRyZWUnXG5pbXBvcnQgeyByZWZyZXNoSW5hY3RpdmVQYXJhbGxlbFNlZ21lbnRzIH0gZnJvbSAnLi4vcmVmZXRjaC1pbmFjdGl2ZS1wYXJhbGxlbC1zZWdtZW50cydcbmltcG9ydCB7IHJldmFsaWRhdGVFbnRpcmVDYWNoZSB9IGZyb20gJy4uLy4uL3NlZ21lbnQtY2FjaGUnXG5cbmV4cG9ydCBmdW5jdGlvbiByZWZyZXNoUmVkdWNlcihcbiAgc3RhdGU6IFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICBhY3Rpb246IFJlZnJlc2hBY3Rpb25cbik6IFJlZHVjZXJTdGF0ZSB7XG4gIGNvbnN0IHsgb3JpZ2luIH0gPSBhY3Rpb25cbiAgY29uc3QgbXV0YWJsZTogTXV0YWJsZSA9IHt9XG4gIGNvbnN0IGhyZWYgPSBzdGF0ZS5jYW5vbmljYWxVcmxcblxuICBsZXQgY3VycmVudFRyZWUgPSBzdGF0ZS50cmVlXG5cbiAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlXG5cbiAgY29uc3QgY2FjaGU6IENhY2hlTm9kZSA9IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKClcblxuICAvLyBJZiB0aGUgY3VycmVudCB0cmVlIHdhcyBpbnRlcmNlcHRlZCwgdGhlIG5leHRVcmwgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0LlxuICAvLyBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHRoZSByZWZyZXNoIHJlcXVlc3QgZG9lc24ndCBnZXQgaW50ZXJjZXB0ZWQsIGFjY2lkZW50YWxseSB0cmlnZ2VyaW5nIHRoZSBpbnRlcmNlcHRpb24gcm91dGUuXG4gIGNvbnN0IGluY2x1ZGVOZXh0VXJsID0gaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlKHN0YXRlLnRyZWUpXG5cbiAgLy8gVE9ETy1BUFA6IHZlcmlmeSB0aGF0IGBocmVmYCBpcyBub3QgYW4gZXh0ZXJuYWwgdXJsLlxuICAvLyBGZXRjaCBkYXRhIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHRyZWUuXG4gIGNhY2hlLmxhenlEYXRhID0gZmV0Y2hTZXJ2ZXJSZXNwb25zZShuZXcgVVJMKGhyZWYsIG9yaWdpbiksIHtcbiAgICBmbGlnaHRSb3V0ZXJTdGF0ZTogW1xuICAgICAgY3VycmVudFRyZWVbMF0sXG4gICAgICBjdXJyZW50VHJlZVsxXSxcbiAgICAgIGN1cnJlbnRUcmVlWzJdLFxuICAgICAgJ3JlZmV0Y2gnLFxuICAgIF0sXG4gICAgbmV4dFVybDogaW5jbHVkZU5leHRVcmwgPyBzdGF0ZS5uZXh0VXJsIDogbnVsbCxcbiAgfSlcblxuICBjb25zdCBuYXZpZ2F0ZWRBdCA9IERhdGUubm93KClcbiAgcmV0dXJuIGNhY2hlLmxhenlEYXRhLnRoZW4oXG4gICAgYXN5bmMgKHsgZmxpZ2h0RGF0YSwgY2Fub25pY2FsVXJsOiBjYW5vbmljYWxVcmxPdmVycmlkZSB9KSA9PiB7XG4gICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIG11dGFibGUsXG4gICAgICAgICAgZmxpZ2h0RGF0YSxcbiAgICAgICAgICBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGNhY2hlLmxhenlEYXRhIGFzIGl0IGhhcyBiZWVuIHJlc29sdmVkIGF0IHRoaXMgcG9pbnQuXG4gICAgICBjYWNoZS5sYXp5RGF0YSA9IG51bGxcblxuICAgICAgZm9yIChjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSBvZiBmbGlnaHREYXRhKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB0cmVlOiB0cmVlUGF0Y2gsXG4gICAgICAgICAgc2VlZERhdGE6IGNhY2hlTm9kZVNlZWREYXRhLFxuICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgaXNSb290UmVuZGVyLFxuICAgICAgICB9ID0gbm9ybWFsaXplZEZsaWdodERhdGFcblxuICAgICAgICBpZiAoIWlzUm9vdFJlbmRlcikge1xuICAgICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgdGhpcyBjYXNlIGJldHRlclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdSRUZSRVNIIEZBSUxFRCcpXG4gICAgICAgICAgcmV0dXJuIHN0YXRlXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdUcmVlID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlKFxuICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICBbJyddLFxuICAgICAgICAgIGN1cnJlbnRUcmVlLFxuICAgICAgICAgIHRyZWVQYXRjaCxcbiAgICAgICAgICBzdGF0ZS5jYW5vbmljYWxVcmxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChuZXdUcmVlID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGhhbmRsZVNlZ21lbnRNaXNtYXRjaChzdGF0ZSwgYWN0aW9uLCB0cmVlUGF0Y2gpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KGN1cnJlbnRUcmVlLCBuZXdUcmVlKSkge1xuICAgICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChcbiAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgbXV0YWJsZSxcbiAgICAgICAgICAgIGhyZWYsXG4gICAgICAgICAgICBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoXG4gICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmID0gY2Fub25pY2FsVXJsT3ZlcnJpZGVcbiAgICAgICAgICA/IGNyZWF0ZUhyZWZGcm9tVXJsKGNhbm9uaWNhbFVybE92ZXJyaWRlKVxuICAgICAgICAgIDogdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKGNhbm9uaWNhbFVybE92ZXJyaWRlKSB7XG4gICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWZcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhhbmRsZXMgY2FzZSB3aGVyZSBwcmVmZXRjaCBvbmx5IHJldHVybnMgdGhlIHJvdXRlciB0cmVlIHBhdGNoIHdpdGhvdXQgcmVuZGVyZWQgY29tcG9uZW50cy5cbiAgICAgICAgaWYgKGNhY2hlTm9kZVNlZWREYXRhICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3QgcnNjID0gY2FjaGVOb2RlU2VlZERhdGFbMV1cbiAgICAgICAgICBjb25zdCBsb2FkaW5nID0gY2FjaGVOb2RlU2VlZERhdGFbM11cbiAgICAgICAgICBjYWNoZS5yc2MgPSByc2NcbiAgICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IG51bGxcbiAgICAgICAgICBjYWNoZS5sb2FkaW5nID0gbG9hZGluZ1xuICAgICAgICAgIGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKFxuICAgICAgICAgICAgbmF2aWdhdGVkQXQsXG4gICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgIC8vIEV4aXN0aW5nIGNhY2hlIGlzIG5vdCBwYXNzZWQgaW4gYXMgYHJvdXRlci5yZWZyZXNoKClgIGhhcyB0byBpbnZhbGlkYXRlIHRoZSBlbnRpcmUgY2FjaGUuXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICB0cmVlUGF0Y2gsXG4gICAgICAgICAgICBjYWNoZU5vZGVTZWVkRGF0YSxcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgICApXG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRSkge1xuICAgICAgICAgICAgcmV2YWxpZGF0ZUVudGlyZUNhY2hlKHN0YXRlLm5leHRVcmwsIG5ld1RyZWUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG11dGFibGUucHJlZmV0Y2hDYWNoZSA9IG5ldyBNYXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IHJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMoe1xuICAgICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIHVwZGF0ZWRUcmVlOiBuZXdUcmVlLFxuICAgICAgICAgIHVwZGF0ZWRDYWNoZTogY2FjaGUsXG4gICAgICAgICAgaW5jbHVkZU5leHRVcmwsXG4gICAgICAgICAgY2Fub25pY2FsVXJsOiBtdXRhYmxlLmNhbm9uaWNhbFVybCB8fCBzdGF0ZS5jYW5vbmljYWxVcmwsXG4gICAgICAgIH0pXG5cbiAgICAgICAgbXV0YWJsZS5jYWNoZSA9IGNhY2hlXG4gICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBuZXdUcmVlXG5cbiAgICAgICAgY3VycmVudFRyZWUgPSBuZXdUcmVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBoYW5kbGVNdXRhYmxlKHN0YXRlLCBtdXRhYmxlKVxuICAgIH0sXG4gICAgKCkgPT4gc3RhdGVcbiAgKVxufVxuIl0sIm5hbWVzIjpbInJlZnJlc2hSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJvcmlnaW4iLCJtdXRhYmxlIiwiaHJlZiIsImNhbm9uaWNhbFVybCIsImN1cnJlbnRUcmVlIiwidHJlZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiY2FjaGUiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsImluY2x1ZGVOZXh0VXJsIiwiaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlIiwibGF6eURhdGEiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJuZXh0VXJsIiwibmF2aWdhdGVkQXQiLCJEYXRlIiwibm93IiwidGhlbiIsImZsaWdodERhdGEiLCJjYW5vbmljYWxVcmxPdmVycmlkZSIsImhhbmRsZUV4dGVybmFsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibm9ybWFsaXplZEZsaWdodERhdGEiLCJ0cmVlUGF0Y2giLCJzZWVkRGF0YSIsImNhY2hlTm9kZVNlZWREYXRhIiwiaGVhZCIsImlzUm9vdFJlbmRlciIsImNvbnNvbGUiLCJsb2ciLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJ1bmRlZmluZWQiLCJyc2MiLCJsb2FkaW5nIiwicHJlZmV0Y2hSc2MiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEUiLCJyZXZhbGlkYXRlRW50aXJlQ2FjaGUiLCJwcmVmZXRjaENhY2hlIiwiTWFwIiwicmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50cyIsInVwZGF0ZWRUcmVlIiwidXBkYXRlZENhY2hlIiwicGF0Y2hlZFRyZWUiLCJoYW5kbGVNdXRhYmxlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js ***! \*********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"restoreReducer\", ({\n enumerable: true,\n get: function() {\n return restoreReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nfunction restoreReducer(state, action) {\n const { url, tree } = action;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n // This action is used to restore the router state from the history state.\n // However, it's possible that the history state no longer contains the `FlightRouterState`.\n // We will copy over the internal state on pushState/replaceState events, but if a history entry\n // occurred before hydration, or if the user navigated to a hash using a regular anchor link,\n // the history state will not contain the `FlightRouterState`.\n // In this case, we'll continue to use the existing tree so the router doesn't get into an invalid state.\n const treeToRestore = tree || state.tree;\n const oldCache = state.cache;\n const newCache = false ? // prevents an unnecessary flash back to PPR state during a\n // back/forward navigation.\n 0 : oldCache;\n var _extractPathFromFlightRouterState;\n return {\n // Set canonical url\n canonicalUrl: href,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // Ensures that the custom history state that was set is preserved when applying this update.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: state.focusAndScrollRef,\n cache: newCache,\n prefetchCache: state.prefetchCache,\n // Restore provided tree\n tree: treeToRestore,\n nextUrl: (_extractPathFromFlightRouterState = (0, _computechangedpath.extractPathFromFlightRouterState)(treeToRestore)) != null ? _extractPathFromFlightRouterState : url.pathname\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=restore-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVzdG9yZS1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7a0RBU2dCQTs7O2VBQUFBOzs7K0NBVGtCO2dEQU1lOzRDQUNJO0FBRTlDLFNBQVNBLGVBQ2RDLEtBQTJCLEVBQzNCQyxNQUFxQjtJQUVyQixNQUFNLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxFQUFFLEdBQUdGO0lBQ3RCLE1BQU1HLE9BQU9DLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBQUEsRUFBa0JIO0lBQy9CLDBFQUEwRTtJQUMxRSw0RkFBNEY7SUFDNUYsZ0dBQWdHO0lBQ2hHLDZGQUE2RjtJQUM3Riw4REFBOEQ7SUFDOUQseUdBQXlHO0lBQ3pHLE1BQU1JLGdCQUFnQkgsUUFBUUgsTUFBTUcsSUFBSTtJQUV4QyxNQUFNSSxXQUFXUCxNQUFNUSxLQUFLO0lBQzVCLE1BQU1DLFdBQVdDLE1BQXNCLEdBRW5DLDJEQUMyRDtJQUMzRCwyQkFBMkI7SUFDM0JHLENBQTZEUCxHQUM3REM7UUFnQk9PO0lBZFgsT0FBTztRQUNMLG9CQUFvQjtRQUNwQkMsY0FBY1g7UUFDZFksU0FBUztZQUNQQyxhQUFhO1lBQ2JDLGVBQWU7WUFDZiw2RkFBNkY7WUFDN0ZDLDRCQUE0QjtRQUM5QjtRQUNBQyxtQkFBbUJwQixNQUFNb0IsaUJBQWlCO1FBQzFDWixPQUFPQztRQUNQWSxlQUFlckIsTUFBTXFCLGFBQWE7UUFDbEMsd0JBQXdCO1FBQ3hCbEIsTUFBTUc7UUFDTmdCLFNBQVNSLENBQUFBLG9DQUFBQSxDQUFBQSxHQUFBQSxvQkFBQUEsZ0NBQUFBLEVBQWlDUixjQUFBQSxLQUFBQSxPQUFqQ1Esb0NBQW1EWixJQUFJcUIsUUFBUTtJQUMxRTtBQUNGIiwic291cmNlcyI6WyIvaG9tZS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVzdG9yZS1yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhyZWZGcm9tVXJsIH0gZnJvbSAnLi4vY3JlYXRlLWhyZWYtZnJvbS11cmwnXG5pbXBvcnQgdHlwZSB7XG4gIFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICBSZWR1Y2VyU3RhdGUsXG4gIFJlc3RvcmVBY3Rpb24sXG59IGZyb20gJy4uL3JvdXRlci1yZWR1Y2VyLXR5cGVzJ1xuaW1wb3J0IHsgZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi9jb21wdXRlLWNoYW5nZWQtcGF0aCdcbmltcG9ydCB7IHVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbiB9IGZyb20gJy4uL3Bwci1uYXZpZ2F0aW9ucydcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc3RvcmVSZWR1Y2VyKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIGFjdGlvbjogUmVzdG9yZUFjdGlvblxuKTogUmVkdWNlclN0YXRlIHtcbiAgY29uc3QgeyB1cmwsIHRyZWUgfSA9IGFjdGlvblxuICBjb25zdCBocmVmID0gY3JlYXRlSHJlZkZyb21VcmwodXJsKVxuICAvLyBUaGlzIGFjdGlvbiBpcyB1c2VkIHRvIHJlc3RvcmUgdGhlIHJvdXRlciBzdGF0ZSBmcm9tIHRoZSBoaXN0b3J5IHN0YXRlLlxuICAvLyBIb3dldmVyLCBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIGhpc3Rvcnkgc3RhdGUgbm8gbG9uZ2VyIGNvbnRhaW5zIHRoZSBgRmxpZ2h0Um91dGVyU3RhdGVgLlxuICAvLyBXZSB3aWxsIGNvcHkgb3ZlciB0aGUgaW50ZXJuYWwgc3RhdGUgb24gcHVzaFN0YXRlL3JlcGxhY2VTdGF0ZSBldmVudHMsIGJ1dCBpZiBhIGhpc3RvcnkgZW50cnlcbiAgLy8gb2NjdXJyZWQgYmVmb3JlIGh5ZHJhdGlvbiwgb3IgaWYgdGhlIHVzZXIgbmF2aWdhdGVkIHRvIGEgaGFzaCB1c2luZyBhIHJlZ3VsYXIgYW5jaG9yIGxpbmssXG4gIC8vIHRoZSBoaXN0b3J5IHN0YXRlIHdpbGwgbm90IGNvbnRhaW4gdGhlIGBGbGlnaHRSb3V0ZXJTdGF0ZWAuXG4gIC8vIEluIHRoaXMgY2FzZSwgd2UnbGwgY29udGludWUgdG8gdXNlIHRoZSBleGlzdGluZyB0cmVlIHNvIHRoZSByb3V0ZXIgZG9lc24ndCBnZXQgaW50byBhbiBpbnZhbGlkIHN0YXRlLlxuICBjb25zdCB0cmVlVG9SZXN0b3JlID0gdHJlZSB8fCBzdGF0ZS50cmVlXG5cbiAgY29uc3Qgb2xkQ2FjaGUgPSBzdGF0ZS5jYWNoZVxuICBjb25zdCBuZXdDYWNoZSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9QUFJcbiAgICA/IC8vIFdoZW4gUFBSIGlzIGVuYWJsZWQsIHdlIHVwZGF0ZSB0aGUgY2FjaGUgdG8gZHJvcCB0aGUgcHJlZmV0Y2hcbiAgICAgIC8vIGRhdGEgZm9yIGFueSBzZWdtZW50IHdob3NlIGR5bmFtaWMgZGF0YSB3YXMgYWxyZWFkeSByZWNlaXZlZC4gVGhpc1xuICAgICAgLy8gcHJldmVudHMgYW4gdW5uZWNlc3NhcnkgZmxhc2ggYmFjayB0byBQUFIgc3RhdGUgZHVyaW5nIGFcbiAgICAgIC8vIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uLlxuICAgICAgdXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uKG9sZENhY2hlLCB0cmVlVG9SZXN0b3JlKVxuICAgIDogb2xkQ2FjaGVcblxuICByZXR1cm4ge1xuICAgIC8vIFNldCBjYW5vbmljYWwgdXJsXG4gICAgY2Fub25pY2FsVXJsOiBocmVmLFxuICAgIHB1c2hSZWY6IHtcbiAgICAgIHBlbmRpbmdQdXNoOiBmYWxzZSxcbiAgICAgIG1wYU5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBjdXN0b20gaGlzdG9yeSBzdGF0ZSB0aGF0IHdhcyBzZXQgaXMgcHJlc2VydmVkIHdoZW4gYXBwbHlpbmcgdGhpcyB1cGRhdGUuXG4gICAgICBwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTogdHJ1ZSxcbiAgICB9LFxuICAgIGZvY3VzQW5kU2Nyb2xsUmVmOiBzdGF0ZS5mb2N1c0FuZFNjcm9sbFJlZixcbiAgICBjYWNoZTogbmV3Q2FjaGUsXG4gICAgcHJlZmV0Y2hDYWNoZTogc3RhdGUucHJlZmV0Y2hDYWNoZSxcbiAgICAvLyBSZXN0b3JlIHByb3ZpZGVkIHRyZWVcbiAgICB0cmVlOiB0cmVlVG9SZXN0b3JlLFxuICAgIG5leHRVcmw6IGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKHRyZWVUb1Jlc3RvcmUpID8/IHVybC5wYXRobmFtZSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbInJlc3RvcmVSZWR1Y2VyIiwic3RhdGUiLCJhY3Rpb24iLCJ1cmwiLCJ0cmVlIiwiaHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidHJlZVRvUmVzdG9yZSIsIm9sZENhY2hlIiwiY2FjaGUiLCJuZXdDYWNoZSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUFBSIiwidXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uIiwiZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJjYW5vbmljYWxVcmwiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJtcGFOYXZpZ2F0aW9uIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJmb2N1c0FuZFNjcm9sbFJlZiIsInByZWZldGNoQ2FjaGUiLCJuZXh0VXJsIiwicGF0aG5hbWUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js ***! \***************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverActionReducer\", ({\n enumerable: true,\n get: function() {\n return serverActionReducer;\n }\n}));\nconst _appcallserver = __webpack_require__(/*! ../../../app-call-server */ \"(app-pages-browser)/./node_modules/next/dist/client/app-call-server.js\");\nconst _appfindsourcemapurl = __webpack_require__(/*! ../../../app-find-source-map-url */ \"(app-pages-browser)/./node_modules/next/dist/client/app-find-source-map-url.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _client = __webpack_require__(/*! react-server-dom-webpack/client */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-server-dom-webpack/client.browser.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _assignlocation = __webpack_require__(/*! ../../../assign-location */ \"(app-pages-browser)/./node_modules/next/dist/client/assign-location.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./has-interception-route-in-current-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nconst _refetchinactiveparallelsegments = __webpack_require__(/*! ../refetch-inactive-parallel-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\");\nconst _flightdatahelpers = __webpack_require__(/*! ../../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _redirect = __webpack_require__(/*! ../../redirect */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect.js\");\nconst _redirecterror = __webpack_require__(/*! ../../redirect-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/redirect-error.js\");\nconst _prefetchcacheutils = __webpack_require__(/*! ../prefetch-cache-utils */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/prefetch-cache-utils.js\");\nconst _removebasepath = __webpack_require__(/*! ../../../remove-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nconst _serverreferenceinfo = __webpack_require__(/*! ../../../../shared/lib/server-reference-info */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/server-reference-info.js\");\nconst _segmentcache = __webpack_require__(/*! ../../segment-cache */ \"(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js\");\nconst createFromFetch = _client.createFromFetch;\nasync function fetchServerAction(state, nextUrl, param) {\n let { actionId, actionArgs } = param;\n const temporaryReferences = (0, _client.createTemporaryReferenceSet)();\n const info = (0, _serverreferenceinfo.extractInfoFromServerReferenceId)(actionId);\n // TODO: Currently, we're only omitting unused args for the experimental \"use\n // cache\" functions. Once the server reference info byte feature is stable, we\n // should apply this to server actions as well.\n const usedArgs = info.type === 'use-cache' ? (0, _serverreferenceinfo.omitUnusedArgs)(actionArgs, info) : actionArgs;\n const body = await (0, _client.encodeReply)(usedArgs, {\n temporaryReferences\n });\n const res = await fetch(state.canonicalUrl, {\n method: 'POST',\n headers: {\n Accept: _approuterheaders.RSC_CONTENT_TYPE_HEADER,\n [_approuterheaders.ACTION_HEADER]: actionId,\n [_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER]: (0, _flightdatahelpers.prepareFlightRouterStateForRequest)(state.tree),\n ... false ? 0 : {},\n ...nextUrl ? {\n [_approuterheaders.NEXT_URL]: nextUrl\n } : {}\n },\n body\n });\n // Handle server actions that the server didn't recognize.\n const unrecognizedActionHeader = res.headers.get(_approuterheaders.NEXT_ACTION_NOT_FOUND_HEADER);\n if (unrecognizedActionHeader === '1') {\n throw Object.defineProperty(new Error('Server Action \"' + actionId + '\" was not found on the server. \\nRead more: https://nextjs.org/docs/messages/failed-to-find-server-action'), \"__NEXT_ERROR_CODE\", {\n value: \"E715\",\n enumerable: false,\n configurable: true\n });\n }\n const redirectHeader = res.headers.get('x-action-redirect');\n const [location, _redirectType] = (redirectHeader == null ? void 0 : redirectHeader.split(';')) || [];\n let redirectType;\n switch(_redirectType){\n case 'push':\n redirectType = _redirecterror.RedirectType.push;\n break;\n case 'replace':\n redirectType = _redirecterror.RedirectType.replace;\n break;\n default:\n redirectType = undefined;\n }\n const isPrerender = !!res.headers.get(_approuterheaders.NEXT_IS_PRERENDER_HEADER);\n let revalidatedParts;\n try {\n const revalidatedHeader = JSON.parse(res.headers.get('x-action-revalidated') || '[[],0,0]');\n revalidatedParts = {\n paths: revalidatedHeader[0] || [],\n tag: !!revalidatedHeader[1],\n cookie: revalidatedHeader[2]\n };\n } catch (e) {\n revalidatedParts = NO_REVALIDATED_PARTS;\n }\n const redirectLocation = location ? (0, _assignlocation.assignLocation)(location, new URL(state.canonicalUrl, window.location.href)) : undefined;\n const contentType = res.headers.get('content-type');\n const isRscResponse = !!(contentType && contentType.startsWith(_approuterheaders.RSC_CONTENT_TYPE_HEADER));\n // Handle invalid server action responses.\n // A valid response must have `content-type: text/x-component`, unless it's an external redirect.\n // (external redirects have an 'x-action-redirect' header, but the body is an empty 'text/plain')\n if (!isRscResponse && !redirectLocation) {\n // The server can respond with a text/plain error message, but we'll fallback to something generic\n // if there isn't one.\n const message = res.status >= 400 && contentType === 'text/plain' ? await res.text() : 'An unexpected response was received from the server.';\n throw Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n let actionResult;\n let actionFlightData;\n if (isRscResponse) {\n const response = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer,\n findSourceMapURL: _appfindsourcemapurl.findSourceMapURL,\n temporaryReferences\n });\n // An internal redirect can send an RSC response, but does not have a useful `actionResult`.\n actionResult = redirectLocation ? undefined : response.a;\n actionFlightData = (0, _flightdatahelpers.normalizeFlightData)(response.f);\n } else {\n // An external redirect doesn't contain RSC data.\n actionResult = undefined;\n actionFlightData = undefined;\n }\n return {\n actionResult,\n actionFlightData,\n redirectLocation,\n redirectType,\n revalidatedParts,\n isPrerender\n };\n}\nconst NO_REVALIDATED_PARTS = {\n paths: [],\n tag: false,\n cookie: false\n};\nfunction serverActionReducer(state, action) {\n const { resolve, reject } = action;\n const mutable = {};\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n // only pass along the `nextUrl` param (used for interception routes) if the current route was intercepted.\n // If the route has been intercepted, the action should be as well.\n // Otherwise the server action might be intercepted with the wrong action id\n // (ie, one that corresponds with the intercepted route)\n const nextUrl = state.nextUrl && (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(state.tree) ? state.nextUrl : null;\n const navigatedAt = Date.now();\n return fetchServerAction(state, nextUrl, action).then(async (param)=>{\n let { actionResult, actionFlightData: flightData, redirectLocation, redirectType, isPrerender, revalidatedParts } = param;\n let redirectHref;\n // honor the redirect type instead of defaulting to push in case of server actions.\n if (redirectLocation) {\n if (redirectType === _redirecterror.RedirectType.replace) {\n state.pushRef.pendingPush = false;\n mutable.pendingPush = false;\n } else {\n state.pushRef.pendingPush = true;\n mutable.pendingPush = true;\n }\n redirectHref = (0, _createhreffromurl.createHrefFromUrl)(redirectLocation, false);\n mutable.canonicalUrl = redirectHref;\n }\n if (!flightData) {\n resolve(actionResult);\n // If there is a redirect but no flight data we need to do a mpaNavigation.\n if (redirectLocation) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectLocation.href, state.pushRef.pendingPush);\n }\n return state;\n }\n if (typeof flightData === 'string') {\n // Handle case when navigating to page in `pages` from `app`\n resolve(actionResult);\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n const actionRevalidated = revalidatedParts.paths.length > 0 || revalidatedParts.tag || revalidatedParts.cookie;\n for (const normalizedFlightData of flightData){\n const { tree: treePatch, seedData: cacheNodeSeedData, head, isRootRender } = normalizedFlightData;\n if (!isRootRender) {\n // TODO-APP: handle this case better\n console.log('SERVER ACTION APPLY FAILED');\n resolve(actionResult);\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n ''\n ], currentTree, treePatch, redirectHref ? redirectHref : state.canonicalUrl);\n if (newTree === null) {\n resolve(actionResult);\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n resolve(actionResult);\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectHref || state.canonicalUrl, state.pushRef.pendingPush);\n }\n // The server sent back RSC data for the server action, so we need to apply it to the cache.\n if (cacheNodeSeedData !== null) {\n const rsc = cacheNodeSeedData[1];\n const cache = (0, _approuter.createEmptyCacheNode)();\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n cache.loading = cacheNodeSeedData[3];\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(navigatedAt, cache, undefined, treePatch, cacheNodeSeedData, head, undefined);\n mutable.cache = cache;\n if (false) {} else {\n mutable.prefetchCache = new Map();\n }\n if (actionRevalidated) {\n await (0, _refetchinactiveparallelsegments.refreshInactiveParallelSegments)({\n navigatedAt,\n state,\n updatedTree: newTree,\n updatedCache: cache,\n includeNextUrl: Boolean(nextUrl),\n canonicalUrl: mutable.canonicalUrl || state.canonicalUrl\n });\n }\n }\n mutable.patchedTree = newTree;\n currentTree = newTree;\n }\n if (redirectLocation && redirectHref) {\n if ( true && !actionRevalidated) {\n // Because the RedirectBoundary will trigger a navigation, we need to seed the prefetch cache\n // with the FlightData that we got from the server action for the target page, so that it's\n // available when the page is navigated to and doesn't need to be re-fetched.\n // We only do this if the server action didn't revalidate any data, as in that case the\n // client cache will be cleared and the data will be re-fetched anyway.\n // NOTE: We don't do this in the Segment Cache implementation.\n // Dynamic data should never be placed into the cache, unless it's\n // \"converted\" to static data using . What we\n // do instead is re-prefetch links and forms whenever the cache is\n // invalidated.\n (0, _prefetchcacheutils.createSeededPrefetchCacheEntry)({\n url: redirectLocation,\n data: {\n flightData,\n canonicalUrl: undefined,\n couldBeIntercepted: false,\n prerendered: false,\n postponed: false,\n // TODO: We should be able to set this if the server action\n // returned a fully static response.\n staleTime: -1\n },\n tree: state.tree,\n prefetchCache: state.prefetchCache,\n nextUrl: state.nextUrl,\n kind: isPrerender ? _routerreducertypes.PrefetchKind.FULL : _routerreducertypes.PrefetchKind.AUTO\n });\n mutable.prefetchCache = state.prefetchCache;\n }\n // If the action triggered a redirect, the action promise will be rejected with\n // a redirect so that it's handled by RedirectBoundary as we won't have a valid\n // action result to resolve the promise with. This will effectively reset the state of\n // the component that called the action as the error boundary will remount the tree.\n // The status code doesn't matter here as the action handler will have already sent\n // a response with the correct status code.\n reject((0, _redirect.getRedirectError)((0, _hasbasepath.hasBasePath)(redirectHref) ? (0, _removebasepath.removeBasePath)(redirectHref) : redirectHref, redirectType || _redirecterror.RedirectType.push));\n } else {\n resolve(actionResult);\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, (e)=>{\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n reject(e);\n return state;\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=server-action-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLWFjdGlvbi1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7dURBbU5nQkE7OztlQUFBQTs7OzJDQS9NVztpREFDTTs4Q0FRMUI7b0NBUUE7Z0RBUUE7NENBQ3dCOytDQUNHOzZDQUNBO3lEQUNVO3lEQUNBOzJDQUVkOzJEQUNnQjt1Q0FDVDsrREFDYTttREFDWjs2REFDVTsrQ0FLekM7c0NBQzBCOzJDQUNKO2dEQUNrQjs0Q0FDaEI7eUNBQ0g7aURBSXJCOzBDQUMrQjtBQUV0QyxNQUFNQyxrQkFDSkMsUUFBQUEsZUFBc0I7QUFleEIsZUFBZUMsa0JBQ2JDLEtBQTJCLEVBQzNCQyxPQUF3QyxFQUN4QyxLQUE0QztJQUE1QyxNQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBc0IsR0FBNUM7SUFFQSxNQUFNQyxzQkFBc0JDLENBQUFBLEdBQUFBLFFBQUFBLDJCQUFBQTtJQUM1QixNQUFNQyxPQUFPQyxDQUFBQSxHQUFBQSxxQkFBQUEsZ0NBQWdDLEVBQUNMO0lBRTlDLDZFQUE2RTtJQUM3RSw4RUFBOEU7SUFDOUUsK0NBQStDO0lBQy9DLE1BQU1NLFdBQ0pGLEtBQUtHLElBQUksS0FBSyxjQUFjQyxDQUFBQSxHQUFBQSxxQkFBQUEsY0FBQUEsRUFBZVAsWUFBWUcsUUFBUUg7SUFFakUsTUFBTVEsT0FBTyxNQUFNQyxDQUFBQSxHQUFBQSxRQUFBQSxXQUFBQSxFQUFZSixVQUFVO1FBQUVKO0lBQW9CO0lBRS9ELE1BQU1TLE1BQU0sTUFBTUMsTUFBTWQsTUFBTWUsWUFBWSxFQUFFO1FBQzFDQyxRQUFRO1FBQ1JDLFNBQVM7WUFDUEMsUUFBUUMsa0JBQUFBLHVCQUF1QjtZQUMvQixDQUFDQyxrQkFBQUEsYUFBYSxDQUFDLEVBQUVsQjtZQUNqQixDQUFDbUIsa0JBQUFBLDZCQUE2QixDQUFDLEVBQUVDLENB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ZS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLWFjdGlvbi1yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQWN0aW9uRmxpZ2h0UmVzcG9uc2UsXG4gIEFjdGlvblJlc3VsdCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvdHlwZXMnXG5pbXBvcnQgeyBjYWxsU2VydmVyIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNhbGwtc2VydmVyJ1xuaW1wb3J0IHsgZmluZFNvdXJjZU1hcFVSTCB9IGZyb20gJy4uLy4uLy4uL2FwcC1maW5kLXNvdXJjZS1tYXAtdXJsJ1xuaW1wb3J0IHtcbiAgQUNUSU9OX0hFQURFUixcbiAgTkVYVF9BQ1RJT05fTk9UX0ZPVU5EX0hFQURFUixcbiAgTkVYVF9JU19QUkVSRU5ERVJfSEVBREVSLFxuICBORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUixcbiAgTkVYVF9VUkwsXG4gIFJTQ19DT05URU5UX1RZUEVfSEVBREVSLFxufSBmcm9tICcuLi8uLi9hcHAtcm91dGVyLWhlYWRlcnMnXG5cbi8vIFRPRE86IEV4cGxpY2l0bHkgaW1wb3J0IGZyb20gY2xpZW50LmJyb3dzZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7XG4gIGNyZWF0ZUZyb21GZXRjaCBhcyBjcmVhdGVGcm9tRmV0Y2hCcm93c2VyLFxuICBjcmVhdGVUZW1wb3JhcnlSZWZlcmVuY2VTZXQsXG4gIGVuY29kZVJlcGx5LFxufSBmcm9tICdyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50J1xuXG5pbXBvcnQge1xuICBQcmVmZXRjaEtpbmQsXG4gIHR5cGUgUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIHR5cGUgUmVkdWNlclN0YXRlLFxuICB0eXBlIFNlcnZlckFjdGlvbkFjdGlvbixcbiAgdHlwZSBTZXJ2ZXJBY3Rpb25NdXRhYmxlLFxufSBmcm9tICcuLi9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IGFzc2lnbkxvY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYXNzaWduLWxvY2F0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlSHJlZkZyb21VcmwgfSBmcm9tICcuLi9jcmVhdGUtaHJlZi1mcm9tLXVybCdcbmltcG9ydCB7IGhhbmRsZUV4dGVybmFsVXJsIH0gZnJvbSAnLi9uYXZpZ2F0ZS1yZWR1Y2VyJ1xuaW1wb3J0IHsgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIH0gZnJvbSAnLi4vYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUnXG5pbXBvcnQgeyBpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQgfSBmcm9tICcuLi9pcy1uYXZpZ2F0aW5nLXRvLW5ldy1yb290LWxheW91dCdcbmltcG9ydCB0eXBlIHsgQ2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBoYW5kbGVNdXRhYmxlIH0gZnJvbSAnLi4vaGFuZGxlLW11dGFibGUnXG5pbXBvcnQgeyBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCB9IGZyb20gJy4uL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkJ1xuaW1wb3J0IHsgY3JlYXRlRW1wdHlDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi9hcHAtcm91dGVyJ1xuaW1wb3J0IHsgaGFzSW50ZXJjZXB0aW9uUm91dGVJbkN1cnJlbnRUcmVlIH0gZnJvbSAnLi9oYXMtaW50ZXJjZXB0aW9uLXJvdXRlLWluLWN1cnJlbnQtdHJlZSdcbmltcG9ydCB7IGhhbmRsZVNlZ21lbnRNaXNtYXRjaCB9IGZyb20gJy4uL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoJ1xuaW1wb3J0IHsgcmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50cyB9IGZyb20gJy4uL3JlZmV0Y2gtaW5hY3RpdmUtcGFyYWxsZWwtc2VnbWVudHMnXG5pbXBvcnQge1xuICBub3JtYWxpemVGbGlnaHREYXRhLFxuICBwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0LFxuICB0eXBlIE5vcm1hbGl6ZWRGbGlnaHREYXRhLFxufSBmcm9tICcuLi8uLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgZ2V0UmVkaXJlY3RFcnJvciB9IGZyb20gJy4uLy4uL3JlZGlyZWN0J1xuaW1wb3J0IHsgUmVkaXJlY3RUeXBlIH0gZnJvbSAnLi4vLi4vcmVkaXJlY3QtZXJyb3InXG5pbXBvcnQgeyBjcmVhdGVTZWVkZWRQcmVmZXRjaENhY2hlRW50cnkgfSBmcm9tICcuLi9wcmVmZXRjaC1jYWNoZS11dGlscydcbmltcG9ydCB7IHJlbW92ZUJhc2VQYXRoIH0gZnJvbSAnLi4vLi4vLi4vcmVtb3ZlLWJhc2UtcGF0aCdcbmltcG9ydCB7IGhhc0Jhc2VQYXRoIH0gZnJvbSAnLi4vLi4vLi4vaGFzLWJhc2UtcGF0aCdcbmltcG9ydCB7XG4gIGV4dHJhY3RJbmZvRnJvbVNlcnZlclJlZmVyZW5jZUlkLFxuICBvbWl0VW51c2VkQXJncyxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9zZXJ2ZXItcmVmZXJlbmNlLWluZm8nXG5pbXBvcnQgeyByZXZhbGlkYXRlRW50aXJlQ2FjaGUgfSBmcm9tICcuLi8uLi9zZWdtZW50LWNhY2hlJ1xuXG5jb25zdCBjcmVhdGVGcm9tRmV0Y2ggPVxuICBjcmVhdGVGcm9tRmV0Y2hCcm93c2VyIGFzICh0eXBlb2YgaW1wb3J0KCdyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50LmJyb3dzZXInKSlbJ2NyZWF0ZUZyb21GZXRjaCddXG5cbnR5cGUgRmV0Y2hTZXJ2ZXJBY3Rpb25SZXN1bHQgPSB7XG4gIHJlZGlyZWN0TG9jYXRpb246IFVSTCB8IHVuZGVmaW5lZFxuICByZWRpcmVjdFR5cGU6IFJlZGlyZWN0VHlwZSB8IHVuZGVmaW5lZFxuICBhY3Rpb25SZXN1bHQ6IEFjdGlvblJlc3VsdCB8IHVuZGVmaW5lZFxuICBhY3Rpb25GbGlnaHREYXRhOiBOb3JtYWxpemVkRmxpZ2h0RGF0YVtdIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG4gIGlzUHJlcmVuZGVyOiBib29sZWFuXG4gIHJldmFsaWRhdGVkUGFydHM6IHtcbiAgICB0YWc6IGJvb2xlYW5cbiAgICBjb29raWU6IGJvb2xlYW5cbiAgICBwYXRoczogc3RyaW5nW11cbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBmZXRjaFNlcnZlckFjdGlvbihcbiAgc3RhdGU6IFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICBuZXh0VXJsOiBSZWFkb25seVJlZHVjZXJTdGF0ZVsnbmV4dFVybCddLFxuICB7IGFjdGlvbklkLCBhY3Rpb25BcmdzIH06IFNlcnZlckFjdGlvbkFjdGlvblxuKTogUHJvbWlzZTxGZXRjaFNlcnZlckFjdGlvblJlc3VsdD4ge1xuICBjb25zdCB0ZW1wb3JhcnlSZWZlcmVuY2VzID0gY3JlYXRlVGVtcG9yYXJ5UmVmZXJlbmNlU2V0KClcbiAgY29uc3QgaW5mbyA9IGV4dHJhY3RJbmZvRnJvbVNlcnZlclJlZmVyZW5jZUlkKGFjdGlvbklkKVxuXG4gIC8vIFRPRE86IEN1cnJlbnRseSwgd2UncmUgb25seSBvbWl0dGluZyB1bnVzZWQgYXJncyBmb3IgdGhlIGV4cGVyaW1lbnRhbCBcInVzZVxuICAvLyBjYWNoZVwiIGZ1bmN0aW9ucy4gT25jZSB0aGUgc2VydmVyIHJlZmVyZW5jZSBpbmZvIGJ5dGUgZmVhdHVyZSBpcyBzdGFibGUsIHdlXG4gIC8vIHNob3VsZCBhcHBseSB0aGlzIHRvIHNlcnZlciBhY3Rpb25zIGFzIHdlbGwuXG4gIGNvbnN0IHVzZWRBcmdzID1cbiAgICBpbmZvLnR5cGUgPT09ICd1c2UtY2FjaGUnID8gb21pdFVudXNlZEFyZ3MoYWN0aW9uQXJncywgaW5mbykgOiBhY3Rpb25BcmdzXG5cbiAgY29uc3QgYm9keSA9IGF3YWl0IGVuY29kZVJlcGx5KHVzZWRBcmdzLCB7IHRlbXBvcmFyeVJlZmVyZW5jZXMgfSlcblxuICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChzdGF0ZS5jYW5vbmljYWxVcmwsIHtcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzOiB7XG4gICAgICBBY2NlcHQ6IFJTQ19DT05URU5UX1RZUEVfSEVBREVSLFxuICAgICAgW0FDVElPTl9IRUFERVJdOiBhY3Rpb25JZCxcbiAgICAgIFtORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUl06IHByZXBhcmVGbGlnaHRSb3V0ZXJTdGF0ZUZvclJlcXVlc3QoXG4gICAgICAgIHN0YXRlLnRyZWVcbiAgICAgICksXG4gICAgICAuLi4ocHJvY2Vzcy5lbnYuTkVYVF9ERVBMT1lNRU5UX0lEXG4gICAgICAgID8ge1xuICAgICAgICAgICAgJ3gtZGVwbG95bWVudC1pZCc6IHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRCxcbiAgICAgICAgICB9XG4gICAgICAgIDoge30pLFxuICAgICAgLi4uKG5leHRVcmxcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBbTkVYVF9VUkxdOiBuZXh0VXJsLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB7fSksXG4gICAgfSxcbiAgICBib2R5LFxuICB9KVxuXG4gIC8vIEhhbmRsZSBzZXJ2ZXIgYWN0aW9ucyB0aGF0IHRoZSBzZXJ2ZXIgZGlkbid0IHJlY29nbml6ZS5cbiAgY29uc3QgdW5yZWNvZ25pemVkQWN0aW9uSGVhZGVyID0gcmVzLmhlYWRlcnMuZ2V0KE5FWFRfQUNUSU9OX05PVF9GT1VORF9IRUFERVIpXG4gIGlmICh1bnJlY29nbml6ZWRBY3Rpb25IZWFkZXIgPT09ICcxJykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBTZXJ2ZXIgQWN0aW9uIFwiJHthY3Rpb25JZH1cIiB3YXMgbm90IGZvdW5kIG9uIHRoZSBzZXJ2ZXIuIFxcblJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZmFpbGVkLXRvLWZpbmQtc2VydmVyLWFjdGlvbmBcbiAgICApXG4gIH1cblxuICBjb25zdCByZWRpcmVjdEhlYWRlciA9IHJlcy5oZWFkZXJzLmdldCgneC1hY3Rpb24tcmVkaXJlY3QnKVxuICBjb25zdCBbbG9jYXRpb24sIF9yZWRpcmVjdFR5cGVdID0gcmVkaXJlY3RIZWFkZXI/LnNwbGl0KCc7JykgfHwgW11cbiAgbGV0IHJlZGlyZWN0VHlwZTogUmVkaXJlY3RUeXBlIHwgdW5kZWZpbmVkXG4gIHN3aXRjaCAoX3JlZGlyZWN0VHlwZSkge1xuICAgIGNhc2UgJ3B1c2gnOlxuICAgICAgcmVkaXJlY3RUeXBlID0gUmVkaXJlY3RUeXBlLnB1c2hcbiAgICAgIGJyZWFrXG4gICAgY2FzZSAncmVwbGFjZSc6XG4gICAgICByZWRpcmVjdFR5cGUgPSBSZWRpcmVjdFR5cGUucmVwbGFjZVxuICAgICAgYnJlYWtcbiAgICBkZWZhdWx0OlxuICAgICAgcmVkaXJlY3RUeXBlID0gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBpc1ByZXJlbmRlciA9ICEhcmVzLmhlYWRlcnMuZ2V0KE5FWFRfSVNfUFJFUkVOREVSX0hFQURFUilcbiAgbGV0IHJldmFsaWRhdGVkUGFydHM6IEZldGNoU2VydmVyQWN0aW9uUmVzdWx0WydyZXZhbGlkYXRlZFBhcnRzJ11cbiAgdHJ5IHtcbiAgICBjb25zdCByZXZhbGlkYXRlZEhlYWRlciA9IEpTT04ucGFyc2UoXG4gICAgICByZXMuaGVhZGVycy5nZXQoJ3gtYWN0aW9uLXJldmFsaWRhdGVkJykgfHwgJ1tbXSwwLDBdJ1xuICAgIClcbiAgICByZXZhbGlkYXRlZFBhcnRzID0ge1xuICAgICAgcGF0aHM6IHJldmFsaWRhdGVkSGVhZGVyWzBdIHx8IFtdLFxuICAgICAgdGFnOiAhIXJldmFsaWRhdGVkSGVhZGVyWzFdLFxuICAgICAgY29va2llOiByZXZhbGlkYXRlZEhlYWRlclsyXSxcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXZhbGlkYXRlZFBhcnRzID0gTk9fUkVWQUxJREFURURfUEFSVFNcbiAgfVxuXG4gIGNvbnN0IHJlZGlyZWN0TG9jYXRpb24gPSBsb2NhdGlvblxuICAgID8gYXNzaWduTG9jYXRpb24oXG4gICAgICAgIGxvY2F0aW9uLFxuICAgICAgICBuZXcgVVJMKHN0YXRlLmNhbm9uaWNhbFVybCwgd2luZG93LmxvY2F0aW9uLmhyZWYpXG4gICAgICApXG4gICAgOiB1bmRlZmluZWRcblxuICBjb25zdCBjb250ZW50VHlwZSA9IHJlcy5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJylcbiAgY29uc3QgaXNSc2NSZXNwb25zZSA9ICEhKFxuICAgIGNvbnRlbnRUeXBlICYmIGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIpXG4gIClcblxuICAvLyBIYW5kbGUgaW52YWxpZCBzZXJ2ZXIgYWN0aW9uIHJlc3BvbnNlcy5cbiAgLy8gQSB2YWxpZCByZXNwb25zZSBtdXN0IGhhdmUgYGNvbnRlbnQtdHlwZTogdGV4dC94LWNvbXBvbmVudGAsIHVubGVzcyBpdCdzIGFuIGV4dGVybmFsIHJlZGlyZWN0LlxuICAvLyAoZXh0ZXJuYWwgcmVkaXJlY3RzIGhhdmUgYW4gJ3gtYWN0aW9uLXJlZGlyZWN0JyBoZWFkZXIsIGJ1dCB0aGUgYm9keSBpcyBhbiBlbXB0eSAndGV4dC9wbGFpbicpXG4gIGlmICghaXNSc2NSZXNwb25zZSAmJiAhcmVkaXJlY3RMb2NhdGlvbikge1xuICAgIC8vIFRoZSBzZXJ2ZXIgY2FuIHJlc3BvbmQgd2l0aCBhIHRleHQvcGxhaW4gZXJyb3IgbWVzc2FnZSwgYnV0IHdlJ2xsIGZhbGxiYWNrIHRvIHNvbWV0aGluZyBnZW5lcmljXG4gICAgLy8gaWYgdGhlcmUgaXNuJ3Qgb25lLlxuICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgcmVzLnN0YXR1cyA+PSA0MDAgJiYgY29udGVudFR5cGUgPT09ICd0ZXh0L3BsYWluJ1xuICAgICAgICA/IGF3YWl0IHJlcy50ZXh0KClcbiAgICAgICAgOiAnQW4gdW5leHBlY3RlZCByZXNwb25zZSB3YXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLidcblxuICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKVxuICB9XG5cbiAgbGV0IGFjdGlvblJlc3VsdDogRmV0Y2hTZXJ2ZXJBY3Rpb25SZXN1bHRbJ2FjdGlvblJlc3VsdCddXG4gIGxldCBhY3Rpb25GbGlnaHREYXRhOiBGZXRjaFNlcnZlckFjdGlvblJlc3VsdFsnYWN0aW9uRmxpZ2h0RGF0YSddXG4gIGlmIChpc1JzY1Jlc3BvbnNlKSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEFjdGlvbkZsaWdodFJlc3BvbnNlID0gYXdhaXQgY3JlYXRlRnJvbUZldGNoKFxuICAgICAgUHJvbWlzZS5yZXNvbHZlKHJlcyksXG4gICAgICB7IGNhbGxTZXJ2ZXIsIGZpbmRTb3VyY2VNYXBVUkwsIHRlbXBvcmFyeVJlZmVyZW5jZXMgfVxuICAgIClcbiAgICAvLyBBbiBpbnRlcm5hbCByZWRpcmVjdCBjYW4gc2VuZCBhbiBSU0MgcmVzcG9uc2UsIGJ1dCBkb2VzIG5vdCBoYXZlIGEgdXNlZnVsIGBhY3Rpb25SZXN1bHRgLlxuICAgIGFjdGlvblJlc3VsdCA9IHJlZGlyZWN0TG9jYXRpb24gPyB1bmRlZmluZWQgOiByZXNwb25zZS5hXG4gICAgYWN0aW9uRmxpZ2h0RGF0YSA9IG5vcm1hbGl6ZUZsaWdodERhdGEocmVzcG9uc2UuZilcbiAgfSBlbHNlIHtcbiAgICAvLyBBbiBleHRlcm5hbCByZWRpcmVjdCBkb2Vzbid0IGNvbnRhaW4gUlNDIGRhdGEuXG4gICAgYWN0aW9uUmVzdWx0ID0gdW5kZWZpbmVkXG4gICAgYWN0aW9uRmxpZ2h0RGF0YSA9IHVuZGVmaW5lZFxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhY3Rpb25SZXN1bHQsXG4gICAgYWN0aW9uRmxpZ2h0RGF0YSxcbiAgICByZWRpcmVjdExvY2F0aW9uLFxuICAgIHJlZGlyZWN0VHlwZSxcbiAgICByZXZhbGlkYXRlZFBhcnRzLFxuICAgIGlzUHJlcmVuZGVyLFxuICB9XG59XG5cbmNvbnN0IE5PX1JFVkFMSURBVEVEX1BBUlRTID0ge1xuICBwYXRoczogW10sXG4gIHRhZzogZmFsc2UsXG4gIGNvb2tpZTogZmFsc2UsXG59XG5cbi8qXG4gKiBUaGlzIHJlZHVjZXIgaXMgcmVzcG9uc2libGUgZm9yIGNhbGxpbmcgdGhlIHNlcnZlciBhY3Rpb24gYW5kIHByb2Nlc3NpbmcgYW55IHNpZGUtZWZmZWN0cyBmcm9tIHRoZSBzZXJ2ZXIgYWN0aW9uLlxuICogSXQgZG9lcyBub3QgbXV0YXRlIHRoZSBzdGF0ZSBieSBpdHNlbGYgYnV0IHJhdGhlciBkZWxlZ2F0ZXMgdG8gb3RoZXIgcmVkdWNlcnMgdG8gZG8gdGhlIGFjdHVhbCBtdXRhdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcnZlckFjdGlvblJlZHVjZXIoXG4gIHN0YXRlOiBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgYWN0aW9uOiBTZXJ2ZXJBY3Rpb25BY3Rpb25cbik6IFJlZHVjZXJTdGF0ZSB7XG4gIGNvbnN0IHsgcmVzb2x2ZSwgcmVqZWN0IH0gPSBhY3Rpb25cbiAgY29uc3QgbXV0YWJsZTogU2VydmVyQWN0aW9uTXV0YWJsZSA9IHt9XG5cbiAgbGV0IGN1cnJlbnRUcmVlID0gc3RhdGUudHJlZVxuXG4gIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZVxuXG4gIC8vIG9ubHkgcGFzcyBhbG9uZyB0aGUgYG5leHRVcmxgIHBhcmFtICh1c2VkIGZvciBpbnRlcmNlcHRpb24gcm91dGVzKSBpZiB0aGUgY3VycmVudCByb3V0ZSB3YXMgaW50ZXJjZXB0ZWQuXG4gIC8vIElmIHRoZSByb3V0ZSBoYXMgYmVlbiBpbnRlcmNlcHRlZCwgdGhlIGFjdGlvbiBzaG91bGQgYmUgYXMgd2VsbC5cbiAgLy8gT3RoZXJ3aXNlIHRoZSBzZXJ2ZXIgYWN0aW9uIG1pZ2h0IGJlIGludGVyY2VwdGVkIHdpdGggdGhlIHdyb25nIGFjdGlvbiBpZFxuICAvLyAoaWUsIG9uZSB0aGF0IGNvcnJlc3BvbmRzIHdpdGggdGhlIGludGVyY2VwdGVkIHJvdXRlKVxuICBjb25zdCBuZXh0VXJsID1cbiAgICBzdGF0ZS5uZXh0VXJsICYmIGhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZShzdGF0ZS50cmVlKVxuICAgICAgPyBzdGF0ZS5uZXh0VXJsXG4gICAgICA6IG51bGxcblxuICBjb25zdCBuYXZpZ2F0ZWRBdCA9IERhdGUubm93KClcblxuICByZXR1cm4gZmV0Y2hTZXJ2ZXJBY3Rpb24oc3RhdGUsIG5leHRVcmwsIGFjdGlvbikudGhlbihcbiAgICBhc3luYyAoe1xuICAgICAgYWN0aW9uUmVzdWx0LFxuICAgICAgYWN0aW9uRmxpZ2h0RGF0YTogZmxpZ2h0RGF0YSxcbiAgICAgIHJlZGlyZWN0TG9jYXRpb24sXG4gICAgICByZWRpcmVjdFR5cGUsXG4gICAgICBpc1ByZXJlbmRlcixcbiAgICAgIHJldmFsaWRhdGVkUGFydHMsXG4gICAgfSkgPT4ge1xuICAgICAgbGV0IHJlZGlyZWN0SHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgICAgIC8vIGhvbm9yIHRoZSByZWRpcmVjdCB0eXBlIGluc3RlYWQgb2YgZGVmYXVsdGluZyB0byBwdXNoIGluIGNhc2Ugb2Ygc2VydmVyIGFjdGlvbnMuXG4gICAgICBpZiAocmVkaXJlY3RMb2NhdGlvbikge1xuICAgICAgICBpZiAocmVkaXJlY3RUeXBlID09PSBSZWRpcmVjdFR5cGUucmVwbGFjZSkge1xuICAgICAgICAgIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2ggPSBmYWxzZVxuICAgICAgICAgIG11dGFibGUucGVuZGluZ1B1c2ggPSBmYWxzZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2ggPSB0cnVlXG4gICAgICAgICAgbXV0YWJsZS5wZW5kaW5nUHVzaCA9IHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIHJlZGlyZWN0SHJlZiA9IGNyZWF0ZUhyZWZGcm9tVXJsKHJlZGlyZWN0TG9jYXRpb24sIGZhbHNlKVxuICAgICAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IHJlZGlyZWN0SHJlZlxuICAgICAgfVxuXG4gICAgICBpZiAoIWZsaWdodERhdGEpIHtcbiAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpXG5cbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSByZWRpcmVjdCBidXQgbm8gZmxpZ2h0IGRhdGEgd2UgbmVlZCB0byBkbyBhIG1wYU5hdmlnYXRpb24uXG4gICAgICAgIGlmIChyZWRpcmVjdExvY2F0aW9uKSB7XG4gICAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKFxuICAgICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgICBtdXRhYmxlLFxuICAgICAgICAgICAgcmVkaXJlY3RMb2NhdGlvbi5ocmVmLFxuICAgICAgICAgICAgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RhdGVcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpXG5cbiAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgIG11dGFibGUsXG4gICAgICAgICAgZmxpZ2h0RGF0YSxcbiAgICAgICAgICBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0aW9uUmV2YWxpZGF0ZWQgPVxuICAgICAgICByZXZhbGlkYXRlZFBhcnRzLnBhdGhzLmxlbmd0aCA+IDAgfHxcbiAgICAgICAgcmV2YWxpZGF0ZWRQYXJ0cy50YWcgfHxcbiAgICAgICAgcmV2YWxpZGF0ZWRQYXJ0cy5jb29raWVcblxuICAgICAgZm9yIChjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSBvZiBmbGlnaHREYXRhKSB7XG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB0cmVlOiB0cmVlUGF0Y2gsXG4gICAgICAgICAgc2VlZERhdGE6IGNhY2hlTm9kZVNlZWREYXRhLFxuICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgaXNSb290UmVuZGVyLFxuICAgICAgICB9ID0gbm9ybWFsaXplZEZsaWdodERhdGFcblxuICAgICAgICBpZiAoIWlzUm9vdFJlbmRlcikge1xuICAgICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgdGhpcyBjYXNlIGJldHRlclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdTRVJWRVIgQUNUSU9OIEFQUExZIEZBSUxFRCcpXG4gICAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpXG5cbiAgICAgICAgICByZXR1cm4gc3RhdGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEdpdmVuIHRoZSBwYXRoIGNhbiBvbmx5IGhhdmUgdHdvIGl0ZW1zIHRoZSBpdGVtcyBhcmUgb25seSB0aGUgcm91dGVyIHN0YXRlIGFuZCByc2MgZm9yIHRoZSByb290LlxuICAgICAgICBjb25zdCBuZXdUcmVlID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlKFxuICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICBbJyddLFxuICAgICAgICAgIGN1cnJlbnRUcmVlLFxuICAgICAgICAgIHRyZWVQYXRjaCxcbiAgICAgICAgICByZWRpcmVjdEhyZWYgPyByZWRpcmVjdEhyZWYgOiBzdGF0ZS5jYW5vbmljYWxVcmxcbiAgICAgICAgKVxuXG4gICAgICAgIGlmIChuZXdUcmVlID09PSBudWxsKSB7XG4gICAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpXG5cbiAgICAgICAgICByZXR1cm4gaGFuZGxlU2VnbWVudE1pc21hdGNoKHN0YXRlLCBhY3Rpb24sIHRyZWVQYXRjaClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQoY3VycmVudFRyZWUsIG5ld1RyZWUpKSB7XG4gICAgICAgICAgcmVzb2x2ZShhY3Rpb25SZXN1bHQpXG5cbiAgICAgICAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoXG4gICAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICAgIG11dGFibGUsXG4gICAgICAgICAgICByZWRpcmVjdEhyZWYgfHwgc3RhdGUuY2Fub25pY2FsVXJsLFxuICAgICAgICAgICAgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaFxuICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoZSBzZXJ2ZXIgc2VudCBiYWNrIFJTQyBkYXRhIGZvciB0aGUgc2VydmVyIGFjdGlvbiwgc28gd2UgbmVlZCB0byBhcHBseSBpdCB0byB0aGUgY2FjaGUuXG4gICAgICAgIGlmIChjYWNoZU5vZGVTZWVkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHJzYyA9IGNhY2hlTm9kZVNlZWREYXRhWzFdXG4gICAgICAgICAgY29uc3QgY2FjaGU6IENhY2hlTm9kZSA9IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKClcbiAgICAgICAgICBjYWNoZS5yc2MgPSByc2NcbiAgICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IG51bGxcbiAgICAgICAgICBjYWNoZS5sb2FkaW5nID0gY2FjaGVOb2RlU2VlZERhdGFbM11cbiAgICAgICAgICBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZChcbiAgICAgICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgICAgICAgY2FjaGUsXG4gICAgICAgICAgICAvLyBFeGlzdGluZyBjYWNoZSBpcyBub3QgcGFzc2VkIGluIGFzIHNlcnZlciBhY3Rpb25zIGhhdmUgdG8gaW52YWxpZGF0ZSB0aGUgZW50aXJlIGNhY2hlLlxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdHJlZVBhdGNoLFxuICAgICAgICAgICAgY2FjaGVOb2RlU2VlZERhdGEsXG4gICAgICAgICAgICBoZWFkLFxuICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IGNhY2hlXG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRSkge1xuICAgICAgICAgICAgcmV2YWxpZGF0ZUVudGlyZUNhY2hlKHN0YXRlLm5leHRVcmwsIG5ld1RyZWUpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG11dGFibGUucHJlZmV0Y2hDYWNoZSA9IG5ldyBNYXAoKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYWN0aW9uUmV2YWxpZGF0ZWQpIHtcbiAgICAgICAgICAgIGF3YWl0IHJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMoe1xuICAgICAgICAgICAgICBuYXZpZ2F0ZWRBdCxcbiAgICAgICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgICAgIHVwZGF0ZWRUcmVlOiBuZXdUcmVlLFxuICAgICAgICAgICAgICB1cGRhdGVkQ2FjaGU6IGNhY2hlLFxuICAgICAgICAgICAgICBpbmNsdWRlTmV4dFVybDogQm9vbGVhbihuZXh0VXJsKSxcbiAgICAgICAgICAgICAgY2Fub25pY2FsVXJsOiBtdXRhYmxlLmNhbm9uaWNhbFVybCB8fCBzdGF0ZS5jYW5vbmljYWxVcmwsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBuZXdUcmVlXG4gICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZVxuICAgICAgfVxuXG4gICAgICBpZiAocmVkaXJlY3RMb2NhdGlvbiAmJiByZWRpcmVjdEhyZWYpIHtcbiAgICAgICAgaWYgKCFwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEUgJiYgIWFjdGlvblJldmFsaWRhdGVkKSB7XG4gICAgICAgICAgLy8gQmVjYXVzZSB0aGUgUmVkaXJlY3RCb3VuZGFyeSB3aWxsIHRyaWdnZXIgYSBuYXZpZ2F0aW9uLCB3ZSBuZWVkIHRvIHNlZWQgdGhlIHByZWZldGNoIGNhY2hlXG4gICAgICAgICAgLy8gd2l0aCB0aGUgRmxpZ2h0RGF0YSB0aGF0IHdlIGdvdCBmcm9tIHRoZSBzZXJ2ZXIgYWN0aW9uIGZvciB0aGUgdGFyZ2V0IHBhZ2UsIHNvIHRoYXQgaXQnc1xuICAgICAgICAgIC8vIGF2YWlsYWJsZSB3aGVuIHRoZSBwYWdlIGlzIG5hdmlnYXRlZCB0byBhbmQgZG9lc24ndCBuZWVkIHRvIGJlIHJlLWZldGNoZWQuXG4gICAgICAgICAgLy8gV2Ugb25seSBkbyB0aGlzIGlmIHRoZSBzZXJ2ZXIgYWN0aW9uIGRpZG4ndCByZXZhbGlkYXRlIGFueSBkYXRhLCBhcyBpbiB0aGF0IGNhc2UgdGhlXG4gICAgICAgICAgLy8gY2xpZW50IGNhY2hlIHdpbGwgYmUgY2xlYXJlZCBhbmQgdGhlIGRhdGEgd2lsbCBiZSByZS1mZXRjaGVkIGFueXdheS5cbiAgICAgICAgICAvLyBOT1RFOiBXZSBkb24ndCBkbyB0aGlzIGluIHRoZSBTZWdtZW50IENhY2hlIGltcGxlbWVudGF0aW9uLlxuICAgICAgICAgIC8vIER5bmFtaWMgZGF0YSBzaG91bGQgbmV2ZXIgYmUgcGxhY2VkIGludG8gdGhlIGNhY2hlLCB1bmxlc3MgaXQnc1xuICAgICAgICAgIC8vIFwiY29udmVydGVkXCIgdG8gc3RhdGljIGRhdGEgdXNpbmcgPExpbmsgcHJlZmV0Y2g9e3RydWV9Pi4gV2hhdCB3ZVxuICAgICAgICAgIC8vIGRvIGluc3RlYWQgaXMgcmUtcHJlZmV0Y2ggbGlua3MgYW5kIGZvcm1zIHdoZW5ldmVyIHRoZSBjYWNoZSBpc1xuICAgICAgICAgIC8vIGludmFsaWRhdGVkLlxuICAgICAgICAgIGNyZWF0ZVNlZWRlZFByZWZldGNoQ2FjaGVFbnRyeSh7XG4gICAgICAgICAgICB1cmw6IHJlZGlyZWN0TG9jYXRpb24sXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIGZsaWdodERhdGEsXG4gICAgICAgICAgICAgIGNhbm9uaWNhbFVybDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBjb3VsZEJlSW50ZXJjZXB0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICBwcmVyZW5kZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgIHBvc3Rwb25lZDogZmFsc2UsXG4gICAgICAgICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCBiZSBhYmxlIHRvIHNldCB0aGlzIGlmIHRoZSBzZXJ2ZXIgYWN0aW9uXG4gICAgICAgICAgICAgIC8vIHJldHVybmVkIGEgZnVsbHkgc3RhdGljIHJlc3BvbnNlLlxuICAgICAgICAgICAgICBzdGFsZVRpbWU6IC0xLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRyZWU6IHN0YXRlLnRyZWUsXG4gICAgICAgICAgICBwcmVmZXRjaENhY2hlOiBzdGF0ZS5wcmVmZXRjaENhY2hlLFxuICAgICAgICAgICAgbmV4dFVybDogc3RhdGUubmV4dFVybCxcbiAgICAgICAgICAgIGtpbmQ6IGlzUHJlcmVuZGVyID8gUHJlZmV0Y2hLaW5kLkZVTEwgOiBQcmVmZXRjaEtpbmQuQVVUTyxcbiAgICAgICAgICB9KVxuICAgICAgICAgIG11dGFibGUucHJlZmV0Y2hDYWNoZSA9IHN0YXRlLnByZWZldGNoQ2FjaGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBhY3Rpb24gdHJpZ2dlcmVkIGEgcmVkaXJlY3QsIHRoZSBhY3Rpb24gcHJvbWlzZSB3aWxsIGJlIHJlamVjdGVkIHdpdGhcbiAgICAgICAgLy8gYSByZWRpcmVjdCBzbyB0aGF0IGl0J3MgaGFuZGxlZCBieSBSZWRpcmVjdEJvdW5kYXJ5IGFzIHdlIHdvbid0IGhhdmUgYSB2YWxpZFxuICAgICAgICAvLyBhY3Rpb24gcmVzdWx0IHRvIHJlc29sdmUgdGhlIHByb21pc2Ugd2l0aC4gVGhpcyB3aWxsIGVmZmVjdGl2ZWx5IHJlc2V0IHRoZSBzdGF0ZSBvZlxuICAgICAgICAvLyB0aGUgY29tcG9uZW50IHRoYXQgY2FsbGVkIHRoZSBhY3Rpb24gYXMgdGhlIGVycm9yIGJvdW5kYXJ5IHdpbGwgcmVtb3VudCB0aGUgdHJlZS5cbiAgICAgICAgLy8gVGhlIHN0YXR1cyBjb2RlIGRvZXNuJ3QgbWF0dGVyIGhlcmUgYXMgdGhlIGFjdGlvbiBoYW5kbGVyIHdpbGwgaGF2ZSBhbHJlYWR5IHNlbnRcbiAgICAgICAgLy8gYSByZXNwb25zZSB3aXRoIHRoZSBjb3JyZWN0IHN0YXR1cyBjb2RlLlxuICAgICAgICByZWplY3QoXG4gICAgICAgICAgZ2V0UmVkaXJlY3RFcnJvcihcbiAgICAgICAgICAgIGhhc0Jhc2VQYXRoKHJlZGlyZWN0SHJlZilcbiAgICAgICAgICAgICAgPyByZW1vdmVCYXNlUGF0aChyZWRpcmVjdEhyZWYpXG4gICAgICAgICAgICAgIDogcmVkaXJlY3RIcmVmLFxuICAgICAgICAgICAgcmVkaXJlY3RUeXBlIHx8IFJlZGlyZWN0VHlwZS5wdXNoXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGFjdGlvblJlc3VsdClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGhhbmRsZU11dGFibGUoc3RhdGUsIG11dGFibGUpXG4gICAgfSxcbiAgICAoZTogYW55KSA9PiB7XG4gICAgICAvLyBXaGVuIHRoZSBzZXJ2ZXIgYWN0aW9uIGlzIHJlamVjdGVkIHdlIGRvbid0IHVwZGF0ZSB0aGUgc3RhdGUgYW5kIGluc3RlYWQgY2FsbCB0aGUgcmVqZWN0IGhhbmRsZXIgb2YgdGhlIHByb21pc2UuXG4gICAgICByZWplY3QoZSlcblxuICAgICAgcmV0dXJuIHN0YXRlXG4gICAgfVxuICApXG59XG4iXSwibmFtZXMiOlsic2VydmVyQWN0aW9uUmVkdWNlciIsImNyZWF0ZUZyb21GZXRjaCIsImNyZWF0ZUZyb21GZXRjaEJyb3dzZXIiLCJmZXRjaFNlcnZlckFjdGlvbiIsInN0YXRlIiwibmV4dFVybCIsImFjdGlvbklkIiwiYWN0aW9uQXJncyIsInRlbXBvcmFyeVJlZmVyZW5jZXMiLCJjcmVhdGVUZW1wb3JhcnlSZWZlcmVuY2VTZXQiLCJpbmZvIiwiZXh0cmFjdEluZm9Gcm9tU2VydmVyUmVmZXJlbmNlSWQiLCJ1c2VkQXJncyIsInR5cGUiLCJvbWl0VW51c2VkQXJncyIsImJvZHkiLCJlbmNvZGVSZXBseSIsInJlcyIsImZldGNoIiwiY2Fub25pY2FsVXJsIiwibWV0aG9kIiwiaGVhZGVycyIsIkFjY2VwdCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiQUNUSU9OX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSIiwicHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCIsInRyZWUiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9ERVBMT1lNRU5UX0lEIiwiTkVYVF9VUkwiLCJ1bnJlY29nbml6ZWRBY3Rpb25IZWFkZXIiLCJnZXQiLCJORVhUX0FDVElPTl9OT1RfRk9VTkRfSEVBREVSIiwiRXJyb3IiLCJyZWRpcmVjdEhlYWRlciIsImxvY2F0aW9uIiwiX3JlZGlyZWN0VHlwZSIsInNwbGl0IiwicmVkaXJlY3RUeXBlIiwiUmVkaXJlY3RUeXBlIiwicHVzaCIsInJlcGxhY2UiLCJ1bmRlZmluZWQiLCJpc1ByZXJlbmRlciIsIk5FWFRfSVNfUFJFUkVOREVSX0hFQURFUiIsInJldmFsaWRhdGVkUGFydHMiLCJyZXZhbGlkYXRlZEhlYWRlciIsIkpTT04iLCJwYXJzZSIsInBhdGhzIiwidGFnIiwiY29va2llIiwiZSIsIk5PX1JFVkFMSURBVEVEX1BBUlRTIiwicmVkaXJlY3RMb2NhdGlvbiIsImFzc2lnbkxvY2F0aW9uIiwiVVJMIiwid2luZG93IiwiaHJlZiIsImNvbnRlbnRUeXBlIiwiaXNSc2NSZXNwb25zZSIsInN0YXJ0c1dpdGgiLCJtZXNzYWdlIiwic3RhdHVzIiwidGV4dCIsImFjdGlvblJlc3VsdCIsImFjdGlvbkZsaWdodERhdGEiLCJyZXNwb25zZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiY2FsbFNlcnZlciIsImZpbmRTb3VyY2VNYXBVUkwiLCJhIiwibm9ybWFsaXplRmxpZ2h0RGF0YSIsImYiLCJhY3Rpb24iLCJyZWplY3QiLCJtdXRhYmxlIiwiY3VycmVudFRyZWUiLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsImhhc0ludGVyY2VwdGlvblJvdXRlSW5DdXJyZW50VHJlZSIsIm5hdmlnYXRlZEF0IiwiRGF0ZSIsIm5vdyIsInRoZW4iLCJmbGlnaHREYXRhIiwicmVkaXJlY3RIcmVmIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJoYW5kbGVFeHRlcm5hbFVybCIsImFjdGlvblJldmFsaWRhdGVkIiwibGVuZ3RoIiwibm9ybWFsaXplZEZsaWdodERhdGEiLCJ0cmVlUGF0Y2giLCJzZWVkRGF0YSIsImNhY2hlTm9kZVNlZWREYXRhIiwiaGVhZCIsImlzUm9vdFJlbmRlciIsImNvbnNvbGUiLCJsb2ciLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlIiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwicnNjIiwiY2FjaGUiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsInByZWZldGNoUnNjIiwibG9hZGluZyIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwiX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFIiwicmV2YWxpZGF0ZUVudGlyZUNhY2hlIiwicHJlZmV0Y2hDYWNoZSIsIk1hcCIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJ1cGRhdGVkVHJlZSIsInVwZGF0ZWRDYWNoZSIsImluY2x1ZGVOZXh0VXJsIiwiQm9vbGVhbiIsInBhdGNoZWRUcmVlIiwiY3JlYXRlU2VlZGVkUHJlZmV0Y2hDYWNoZUVudHJ5IiwidXJsIiwiZGF0YSIsImNvdWxkQmVJbnRlcmNlcHRlZCIsInByZXJlbmRlcmVkIiwicG9zdHBvbmVkIiwic3RhbGVUaW1lIiwia2luZCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJBVVRPIiwiZ2V0UmVkaXJlY3RFcnJvciIsImhhc0Jhc2VQYXRoIiwicmVtb3ZlQmFzZVBhdGgiLCJoYW5kbGVNdXRhYmxlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverPatchReducer\", ({\n enumerable: true,\n get: function() {\n return serverPatchReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js\");\nfunction serverPatchReducer(state, action) {\n const { serverResponse: { flightData, canonicalUrl: canonicalUrlOverride }, navigatedAt } = action;\n const mutable = {};\n mutable.preserveCustomHistoryState = false;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === 'string') {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const normalizedFlightData of flightData){\n const { segmentPath: flightSegmentPath, tree: treePatch } = normalizedFlightData;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTree)([\n '',\n ...flightSegmentPath\n ], currentTree, treePatch, state.canonicalUrl);\n // `applyRouterStatePatchToTree` returns `null` when it determined that the server response is not applicable to the current tree.\n // In other words, the server responded with a tree that doesn't match what the client is currently rendering.\n // This can happen if the server patch action took longer to resolve than a subsequent navigation which would have changed the tree.\n // Previously this case triggered an MPA navigation but it should be safe to simply discard the server response rather than forcing\n // the entire page to reload.\n if (newTree === null) {\n return state;\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, state.canonicalUrl, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverrideHref) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n (0, _applyflightdata.applyFlightData)(navigatedAt, currentCache, cache, normalizedFlightData);\n mutable.patchedTree = newTree;\n mutable.cache = cache;\n currentCache = cache;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\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=server-patch-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLXBhdGNoLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFlZ0JBOzs7ZUFBQUE7OzsrQ0Fma0I7eURBQ1U7eURBQ0E7NkNBT1Y7NkNBQ0Y7MkNBQ0Y7dUNBRU87QUFFOUIsU0FBU0EsbUJBQ2RDLEtBQTJCLEVBQzNCQyxNQUF5QjtJQUV6QixNQUFNLEVBQ0pDLGdCQUFnQixFQUFFQyxVQUFVLEVBQUVDLGNBQWNDLG9CQUFvQixFQUFFLEVBQ2xFQyxXQUFXLEVBQ1osR0FBR0w7SUFFSixNQUFNTSxVQUFtQixDQUFDO0lBRTFCQSxRQUFRQywwQkFBMEIsR0FBRztJQUVyQyw0REFBNEQ7SUFDNUQsSUFBSSxPQUFPTCxlQUFlLFVBQVU7UUFDbEMsT0FBT00sQ0FBQUEsR0FBQUEsaUJBQUFBLGlCQUFBQSxFQUNMVCxPQUNBTyxTQUNBSixZQUNBSCxNQUFNVSxPQUFPLENBQUNDLFdBQVc7SUFFN0I7SUFFQSxJQUFJQyxjQUFjWixNQUFNYSxJQUFJO0lBQzVCLElBQUlDLGVBQWVkLE1BQU1lLEtBQUs7SUFFOUIsS0FBSyxNQUFNQyx3QkFBd0JiLFdBQVk7UUFDN0MsTUFBTSxFQUFFYyxhQUFhQyxpQkFBaUIsRUFBRUwsTUFBTU0sU0FBUyxFQUFFLEdBQ3ZESDtRQUVGLE1BQU1JLFVBQVVDLENBQUFBLEdBQUFBLDZCQUFBQSwyQkFBQUEsRUFDZDtZQUNDO2VBQU9IO1NBQWtCLEVBQzFCTixhQUNBTyxXQUNBbkIsTUFBTUksWUFBWTtRQUdwQixrSUFBa0k7UUFDbEksOEdBQThHO1FBQzlHLG9JQUFvSTtRQUNwSSxtSUFBbUk7UUFDbkksNkJBQTZCO1FBQzdCLElBQUlnQixZQUFZLE1BQU07WUFDcEIsT0FBT3BCO1FBQ1Q7UUFFQSxJQUFJc0IsQ0FBQUEsR0FBQUEsNkJBQUFBLDJCQUFBQSxFQUE0QlYsYUFBYVEsVUFBVTtZQUNyRCxPQUFPWCxDQUFBQSxHQUFBQSxpQkFBQUEsaUJBQUFBLEVBQ0xULE9BQ0FPLFNBQ0FQLE1BQU1JLFlBQVksRUFDbEJKLE1BQU1VLE9BQU8sQ0FBQ0MsV0FBVztRQUU3QjtRQUVBLE1BQU1ZLDJCQUEyQmxCLHVCQUM3Qm1CLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBQUEsRUFBa0JuQix3QkFDbEJvQjtRQUVKLElBQUlGLDBCQUEwQjtZQUM1QmhCLFFBQVFILFlBQVksR0FBR21CO1FBQ3pCO1FBRUEsTUFBTVIsUUFBbUJXLENBQUFBLEdBQUFBLFdBQUFBLG9CQUFBQTtRQUN6QkMsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQUFBLEVBQWdCckIsYUFBYVEsY0FBY0MsT0FBT0M7UUFFbERULFFBQVFxQixXQUFXLEdBQUdSO1FBQ3RCYixRQUFRUSxLQUFLLEdBQUdBO1FBRWhCRCxlQUFlQztRQUNmSCxjQUFjUTtJQUNoQjtJQUVBLE9BQU9TLENBQUFBLEdBQUFBLGVBQUFBLGFBQUFBLEVBQWM3QixPQUFPTztBQUM5QiIsInNvdXJjZXMiOlsiL2hvbWUvc3JjL2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUhyZWZGcm9tVXJsIH0gZnJvbSAnLi4vY3JlYXRlLWhyZWYtZnJvbS11cmwnXG5pbXBvcnQgeyBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWUgfSBmcm9tICcuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZSdcbmltcG9ydCB7IGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCB9IGZyb20gJy4uL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0J1xuaW1wb3J0IHR5cGUge1xuICBTZXJ2ZXJQYXRjaEFjdGlvbixcbiAgUmVkdWNlclN0YXRlLFxuICBSZWFkb25seVJlZHVjZXJTdGF0ZSxcbiAgTXV0YWJsZSxcbn0gZnJvbSAnLi4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBoYW5kbGVFeHRlcm5hbFVybCB9IGZyb20gJy4vbmF2aWdhdGUtcmVkdWNlcidcbmltcG9ydCB7IGFwcGx5RmxpZ2h0RGF0YSB9IGZyb20gJy4uL2FwcGx5LWZsaWdodC1kYXRhJ1xuaW1wb3J0IHsgaGFuZGxlTXV0YWJsZSB9IGZyb20gJy4uL2hhbmRsZS1tdXRhYmxlJ1xuaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB7IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vYXBwLXJvdXRlcidcblxuZXhwb3J0IGZ1bmN0aW9uIHNlcnZlclBhdGNoUmVkdWNlcihcbiAgc3RhdGU6IFJlYWRvbmx5UmVkdWNlclN0YXRlLFxuICBhY3Rpb246IFNlcnZlclBhdGNoQWN0aW9uXG4pOiBSZWR1Y2VyU3RhdGUge1xuICBjb25zdCB7XG4gICAgc2VydmVyUmVzcG9uc2U6IHsgZmxpZ2h0RGF0YSwgY2Fub25pY2FsVXJsOiBjYW5vbmljYWxVcmxPdmVycmlkZSB9LFxuICAgIG5hdmlnYXRlZEF0LFxuICB9ID0gYWN0aW9uXG5cbiAgY29uc3QgbXV0YWJsZTogTXV0YWJsZSA9IHt9XG5cbiAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlXG5cbiAgLy8gSGFuZGxlIGNhc2Ugd2hlbiBuYXZpZ2F0aW5nIHRvIHBhZ2UgaW4gYHBhZ2VzYCBmcm9tIGBhcHBgXG4gIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmwoXG4gICAgICBzdGF0ZSxcbiAgICAgIG11dGFibGUsXG4gICAgICBmbGlnaHREYXRhLFxuICAgICAgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaFxuICAgIClcbiAgfVxuXG4gIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWVcbiAgbGV0IGN1cnJlbnRDYWNoZSA9IHN0YXRlLmNhY2hlXG5cbiAgZm9yIChjb25zdCBub3JtYWxpemVkRmxpZ2h0RGF0YSBvZiBmbGlnaHREYXRhKSB7XG4gICAgY29uc3QgeyBzZWdtZW50UGF0aDogZmxpZ2h0U2VnbWVudFBhdGgsIHRyZWU6IHRyZWVQYXRjaCB9ID1cbiAgICAgIG5vcm1hbGl6ZWRGbGlnaHREYXRhXG5cbiAgICBjb25zdCBuZXdUcmVlID0gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlKFxuICAgICAgLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgWycnLCAuLi5mbGlnaHRTZWdtZW50UGF0aF0sXG4gICAgICBjdXJyZW50VHJlZSxcbiAgICAgIHRyZWVQYXRjaCxcbiAgICAgIHN0YXRlLmNhbm9uaWNhbFVybFxuICAgIClcblxuICAgIC8vIGBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVgIHJldHVybnMgYG51bGxgIHdoZW4gaXQgZGV0ZXJtaW5lZCB0aGF0IHRoZSBzZXJ2ZXIgcmVzcG9uc2UgaXMgbm90IGFwcGxpY2FibGUgdG8gdGhlIGN1cnJlbnQgdHJlZS5cbiAgICAvLyBJbiBvdGhlciB3b3JkcywgdGhlIHNlcnZlciByZXNwb25kZWQgd2l0aCBhIHRyZWUgdGhhdCBkb2Vzbid0IG1hdGNoIHdoYXQgdGhlIGNsaWVudCBpcyBjdXJyZW50bHkgcmVuZGVyaW5nLlxuICAgIC8vIFRoaXMgY2FuIGhhcHBlbiBpZiB0aGUgc2VydmVyIHBhdGNoIGFjdGlvbiB0b29rIGxvbmdlciB0byByZXNvbHZlIHRoYW4gYSBzdWJzZXF1ZW50IG5hdmlnYXRpb24gd2hpY2ggd291bGQgaGF2ZSBjaGFuZ2VkIHRoZSB0cmVlLlxuICAgIC8vIFByZXZpb3VzbHkgdGhpcyBjYXNlIHRyaWdnZXJlZCBhbiBNUEEgbmF2aWdhdGlvbiBidXQgaXQgc2hvdWxkIGJlIHNhZmUgdG8gc2ltcGx5IGRpc2NhcmQgdGhlIHNlcnZlciByZXNwb25zZSByYXRoZXIgdGhhbiBmb3JjaW5nXG4gICAgLy8gdGhlIGVudGlyZSBwYWdlIHRvIHJlbG9hZC5cbiAgICBpZiAobmV3VHJlZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHN0YXRlXG4gICAgfVxuXG4gICAgaWYgKGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dChjdXJyZW50VHJlZSwgbmV3VHJlZSkpIHtcbiAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChcbiAgICAgICAgc3RhdGUsXG4gICAgICAgIG11dGFibGUsXG4gICAgICAgIHN0YXRlLmNhbm9uaWNhbFVybCxcbiAgICAgICAgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaFxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IGNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiA9IGNhbm9uaWNhbFVybE92ZXJyaWRlXG4gICAgICA/IGNyZWF0ZUhyZWZGcm9tVXJsKGNhbm9uaWNhbFVybE92ZXJyaWRlKVxuICAgICAgOiB1bmRlZmluZWRcblxuICAgIGlmIChjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYpIHtcbiAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmXG4gICAgfVxuXG4gICAgY29uc3QgY2FjaGU6IENhY2hlTm9kZSA9IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKClcbiAgICBhcHBseUZsaWdodERhdGEobmF2aWdhdGVkQXQsIGN1cnJlbnRDYWNoZSwgY2FjaGUsIG5vcm1hbGl6ZWRGbGlnaHREYXRhKVxuXG4gICAgbXV0YWJsZS5wYXRjaGVkVHJlZSA9IG5ld1RyZWVcbiAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGVcblxuICAgIGN1cnJlbnRDYWNoZSA9IGNhY2hlXG4gICAgY3VycmVudFRyZWUgPSBuZXdUcmVlXG4gIH1cblxuICByZXR1cm4gaGFuZGxlTXV0YWJsZShzdGF0ZSwgbXV0YWJsZSlcbn1cbiJdLCJuYW1lcyI6WyJzZXJ2ZXJQYXRjaFJlZHVjZXIiLCJzdGF0ZSIsImFjdGlvbiIsInNlcnZlclJlc3BvbnNlIiwiZmxpZ2h0RGF0YSIsImNhbm9uaWNhbFVybCIsImNhbm9uaWNhbFVybE92ZXJyaWRlIiwibmF2aWdhdGVkQXQiLCJtdXRhYmxlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwidHJlZSIsImN1cnJlbnRDYWNoZSIsImNhY2hlIiwibm9ybWFsaXplZEZsaWdodERhdGEiLCJzZWdtZW50UGF0aCIsImZsaWdodFNlZ21lbnRQYXRoIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZSIsImlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCIsImNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZiIsImNyZWF0ZUhyZWZGcm9tVXJsIiwidW5kZWZpbmVkIiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBseUZsaWdodERhdGEiLCJwYXRjaGVkVHJlZSIsImhhbmRsZU11dGFibGUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.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 addRefreshMarkerToActiveParallelSegments: function() {\n return addRefreshMarkerToActiveParallelSegments;\n },\n refreshInactiveParallelSegments: function() {\n return refreshInactiveParallelSegments;\n }\n});\nconst _applyflightdata = __webpack_require__(/*! ./apply-flight-data */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./fetch-server-response */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nasync function refreshInactiveParallelSegments(options) {\n const fetchedSegments = new Set();\n await refreshInactiveParallelSegmentsImpl({\n ...options,\n rootTree: options.updatedTree,\n fetchedSegments\n });\n}\nasync function refreshInactiveParallelSegmentsImpl(param) {\n let { navigatedAt, state, updatedTree, updatedCache, includeNextUrl, fetchedSegments, rootTree = updatedTree, canonicalUrl } = param;\n const [, parallelRoutes, refetchPath, refetchMarker] = updatedTree;\n const fetchPromises = [];\n if (refetchPath && refetchPath !== canonicalUrl && refetchMarker === 'refresh' && // it's possible for the tree to contain multiple segments that contain data at the same URL\n // we keep track of them so we can dedupe the requests\n !fetchedSegments.has(refetchPath)) {\n fetchedSegments.add(refetchPath) // Mark this URL as fetched\n ;\n // Eagerly kick off the fetch for the refetch path & the parallel routes. This should be fine to do as they each operate\n // independently on their own cache nodes, and `applyFlightData` will copy anything it doesn't care about from the existing cache.\n const fetchPromise = (0, _fetchserverresponse.fetchServerResponse)(new URL(refetchPath, location.origin), {\n // refetch from the root of the updated tree, otherwise it will be scoped to the current segment\n // and might not contain the data we need to patch in interception route data (such as dynamic params from a previous segment)\n flightRouterState: [\n rootTree[0],\n rootTree[1],\n rootTree[2],\n 'refetch'\n ],\n nextUrl: includeNextUrl ? state.nextUrl : null\n }).then((param)=>{\n let { flightData } = param;\n if (typeof flightData !== 'string') {\n for (const flightDataPath of flightData){\n // we only pass the new cache as this function is called after clearing the router cache\n // and filling in the new page data from the server. Meaning the existing cache is actually the cache that's\n // just been created & has been written to, but hasn't been \"committed\" yet.\n (0, _applyflightdata.applyFlightData)(navigatedAt, updatedCache, updatedCache, flightDataPath);\n }\n } else {\n // When flightData is a string, it suggests that the server response should have triggered an MPA navigation\n // I'm not 100% sure of this decision, but it seems unlikely that we'd want to introduce a redirect side effect\n // when refreshing on-screen data, so handling this has been ommitted.\n }\n });\n fetchPromises.push(fetchPromise);\n }\n for(const key in parallelRoutes){\n const parallelFetchPromise = refreshInactiveParallelSegmentsImpl({\n navigatedAt,\n state,\n updatedTree: parallelRoutes[key],\n updatedCache,\n includeNextUrl,\n fetchedSegments,\n rootTree,\n canonicalUrl\n });\n fetchPromises.push(parallelFetchPromise);\n }\n await Promise.all(fetchPromises);\n}\nfunction addRefreshMarkerToActiveParallelSegments(tree, path) {\n const [segment, parallelRoutes, , refetchMarker] = tree;\n // a page segment might also contain concatenated search params, so we do a partial match on the key\n if (segment.includes(_segment.PAGE_SEGMENT_KEY) && refetchMarker !== 'refresh') {\n tree[2] = path;\n tree[3] = 'refresh';\n }\n for(const key in parallelRoutes){\n addRefreshMarkerToActiveParallelSegments(parallelRoutes[key], path);\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=refetch-inactive-parallel-segments.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVmZXRjaC1pbmFjdGl2ZS1wYXJhbGxlbC1zZWdtZW50cy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUF5SGdCQSx3Q0FBd0M7ZUFBeENBOztJQTlGTUMsK0JBQStCO2VBQS9CQTs7OzZDQXhCVTtpREFDSTtxQ0FDSDtBQXNCMUIsZUFBZUEsZ0NBQ3BCQyxPQUF3QztJQUV4QyxNQUFNQyxrQkFBa0IsSUFBSUM7SUFDNUIsTUFBTUMsb0NBQW9DO1FBQ3hDLEdBQUdILE9BQU87UUFDVkksVUFBVUosUUFBUUssV0FBVztRQUM3Qko7SUFDRjtBQUNGO0FBRUEsZUFBZUUsb0NBQW9DLEtBWWxEO0lBWmtELE1BQ2pERyxXQUFXLEVBQ1hDLEtBQUssRUFDTEYsV0FBVyxFQUNYRyxZQUFZLEVBQ1pDLGNBQWMsRUFDZFIsZUFBZSxFQUNmRyxXQUFXQyxXQUFXLEVBQ3RCSyxZQUFZLEVBSWIsR0Faa0Q7SUFhakQsTUFBTSxHQUFHQyxnQkFBZ0JDLGFBQWFDLGNBQWMsR0FBR1I7SUFDdkQsTUFBTVMsZ0JBQWdCLEVBQUU7SUFFeEIsSUFDRUYsZUFDQUEsZ0JBQWdCRixnQkFDaEJHLGtCQUFrQixhQUNsQiw0RkFBNEY7SUFDNUYsc0RBQXNEO0lBQ3RELENBQUNaLGdCQUFnQmMsR0FBRyxDQUFDSCxjQUNyQjtRQUNBWCxnQkFBZ0JlLEdBQUcsQ0FBQ0osYUFBYSwyQkFBMkI7O1FBRTVELHdIQUF3SDtRQUN4SCxrSUFBa0k7UUFDbEksTUFBTUssZUFBZUMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFBQSxFQUNuQixJQUFJQyxJQUFJUCxhQUFhUSxTQUFTQyxNQUFNLEdBQ3BDO1lBQ0UsZ0dBQWdHO1lBQ2hHLDhIQUE4SDtZQUM5SEMsbUJBQW1CO2dCQUFDbEIsUUFBUSxDQUFDLEVBQUU7Z0JBQUVBLFFBQVEsQ0FBQyxFQUFFO2dCQUFFQSxRQUFRLENBQUMsRUFBRTtnQkFBRTthQUFVO1lBQ3JFbUIsU0FBU2QsaUJBQWlCRixNQUFNZ0IsT0FBTyxHQUFHO1FBQzVDLEdBQ0FDLElBQUksQ0FBQztnQkFBQyxFQUFFQyxVQUFVLEVBQUU7WUFDcEIsSUFBSSxPQUFPQSxlQUFlLFVBQVU7Z0JBQ2xDLEtBQUssTUFBTUMsa0JBQWtCRCxXQUFZO29CQUN2Qyx3RkFBd0Y7b0JBQ3hGLDRHQUE0RztvQkFDNUcsNEVBQTRFO29CQUM1RUUsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQUFBLEVBQ0VyQixhQUNBRSxjQUNBQSxjQUNBa0I7Z0JBRUo7WUFDRixPQUFPO1lBQ0wsNEdBQTRHO1lBQzVHLCtHQUErRztZQUMvRyxzRUFBc0U7WUFDeEU7UUFDRjtRQUVBWixjQUFjYyxJQUFJLENBQUNYO0lBQ3JCO0lBRUEsSUFBSyxNQUFNWSxPQUFPbEIsZUFBZ0I7UUFDaEMsTUFBTW1CLHVCQUF1QjNCLG9DQUFvQztZQUMvREc7WUFDQUM7WUFDQUYsYUFBYU0sY0FBYyxDQUFDa0IsSUFBSTtZQUNoQ3JCO1lBQ0FDO1lBQ0FSO1lBQ0FHO1lBQ0FNO1FBQ0Y7UUFFQUksY0FBY2MsSUFBSSxDQUFDRTtJQUNyQjtJQUVBLE1BQU1DLFFBQVFDLEdBQUcsQ0FBQ2xCO0FBQ3BCO0FBUU8sU0FBU2hCLHlDQUNkbUMsSUFBdUIsRUFDdkJDLElBQVk7SUFFWixNQUFNLENBQUNDLFNBQVN4QixrQkFBa0JFLGNBQWMsR0FBR29CO0lBQ25ELG9HQUFvRztJQUNwRyxJQUFJRSxRQUFRQyxRQUFRLENBQUNDLFNBQUFBLGdCQUFnQixLQUFLeEIsa0JBQWtCLFdBQVc7UUFDckVvQixJQUFJLENBQUMsRUFBRSxHQUFHQztRQUNWRCxJQUFJLENBQUMsRUFBRSxHQUFHO0lBQ1o7SUFFQSxJQUFLLE1BQU1KLE9BQU9sQixlQUFnQjtRQUNoQ2IseUNBQXlDYSxjQUFjLENBQUNrQixJQUFJLEVBQUVLO0lBQ2hFO0FBQ0YiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWZldGNoLWluYWN0aXZlLXBhcmFsbGVsLXNlZ21lbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmxpZ2h0Um91dGVyU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgQ2FjaGVOb2RlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgdHlwZSB7IEFwcFJvdXRlclN0YXRlIH0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB7IGFwcGx5RmxpZ2h0RGF0YSB9IGZyb20gJy4vYXBwbHktZmxpZ2h0LWRhdGEnXG5pbXBvcnQgeyBmZXRjaFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnLi9mZXRjaC1zZXJ2ZXItcmVzcG9uc2UnXG5pbXBvcnQgeyBQQUdFX1NFR01FTlRfS0VZIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50J1xuXG5pbnRlcmZhY2UgUmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50cyB7XG4gIG5hdmlnYXRlZEF0OiBudW1iZXJcbiAgc3RhdGU6IEFwcFJvdXRlclN0YXRlXG4gIHVwZGF0ZWRUcmVlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuICB1cGRhdGVkQ2FjaGU6IENhY2hlTm9kZVxuICBpbmNsdWRlTmV4dFVybDogYm9vbGVhblxuICBjYW5vbmljYWxVcmw6IHN0cmluZ1xufVxuXG4vKipcbiAqIFJlZnJlc2hlcyBpbmFjdGl2ZSBzZWdtZW50cyB0aGF0IGFyZSBzdGlsbCBpbiB0aGUgY3VycmVudCBGbGlnaHRSb3V0ZXJTdGF0ZS5cbiAqIEEgc2VnbWVudCBpcyBjb25zaWRlcmVkIFwiaW5hY3RpdmVcIiB3aGVuIHRoZSBzZXJ2ZXIgcmVzcG9uc2UgaW5kaWNhdGVzIGl0IGRpZG4ndCBtYXRjaCB0byBhIHBhZ2UgY29tcG9uZW50LlxuICogVGhpcyBoYXBwZW5zIGR1cmluZyBhIHNvZnQtbmF2aWdhdGlvbiwgd2hlcmUgdGhlIHNlcnZlciB3aWxsIHdhbnQgdG8gcGF0Y2ggaW4gdGhlIHNlZ21lbnRcbiAqIHdpdGggdGhlIFwiZGVmYXVsdFwiIGNvbXBvbmVudCwgYnV0IHdlIGV4cGxpY2l0bHkgaWdub3JlIHRoZSBzZXJ2ZXIgaW4gdGhpcyBjYXNlXG4gKiBhbmQga2VlcCB0aGUgZXhpc3Rpbmcgc3RhdGUgZm9yIHRoYXQgc2VnbWVudC4gTmV3IGRhdGEgZm9yIGluYWN0aXZlIHNlZ21lbnRzIGFyZSBpbmhlcmVudGx5XG4gKiBub3QgcGFydCBvZiB0aGUgc2VydmVyIHJlc3BvbnNlIHdoZW4gd2UgcGF0Y2ggdGhlIHRyZWUsIGJlY2F1c2UgdGhleSB3ZXJlIGFzc29jaWF0ZWQgd2l0aCBhIHJlc3BvbnNlXG4gKiBmcm9tIGFuIGVhcmxpZXIgbmF2aWdhdGlvbi9yZXF1ZXN0LiBGb3IgZWFjaCBzZWdtZW50LCBvbmNlIGl0IGJlY29tZXMgXCJhY3RpdmVcIiwgd2UgZW5jb2RlIHRoZSBVUkwgdGhhdCBwcm92aWRlZFxuICogdGhlIGRhdGEgZm9yIGl0LiBUaGlzIGZ1bmN0aW9uIHRyYXZlcnNlcyBwYXJhbGxlbCByb3V0ZXMgbG9va2luZyBmb3IgdGhlc2UgbWFya2VycyBzbyB0aGF0IGl0IGNhbiByZS1mZXRjaFxuICogYW5kIHBhdGNoIHRoZSBuZXcgZGF0YSBpbnRvIHRoZSB0cmVlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50cyhcbiAgb3B0aW9uczogUmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50c1xuKSB7XG4gIGNvbnN0IGZldGNoZWRTZWdtZW50cyA9IG5ldyBTZXQ8c3RyaW5nPigpXG4gIGF3YWl0IHJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHNJbXBsKHtcbiAgICAuLi5vcHRpb25zLFxuICAgIHJvb3RUcmVlOiBvcHRpb25zLnVwZGF0ZWRUcmVlLFxuICAgIGZldGNoZWRTZWdtZW50cyxcbiAgfSlcbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVmcmVzaEluYWN0aXZlUGFyYWxsZWxTZWdtZW50c0ltcGwoe1xuICBuYXZpZ2F0ZWRBdCxcbiAgc3RhdGUsXG4gIHVwZGF0ZWRUcmVlLFxuICB1cGRhdGVkQ2FjaGUsXG4gIGluY2x1ZGVOZXh0VXJsLFxuICBmZXRjaGVkU2VnbWVudHMsXG4gIHJvb3RUcmVlID0gdXBkYXRlZFRyZWUsXG4gIGNhbm9uaWNhbFVybCxcbn06IFJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHMgJiB7XG4gIGZldGNoZWRTZWdtZW50czogU2V0PHN0cmluZz5cbiAgcm9vdFRyZWU6IEZsaWdodFJvdXRlclN0YXRlXG59KSB7XG4gIGNvbnN0IFssIHBhcmFsbGVsUm91dGVzLCByZWZldGNoUGF0aCwgcmVmZXRjaE1hcmtlcl0gPSB1cGRhdGVkVHJlZVxuICBjb25zdCBmZXRjaFByb21pc2VzID0gW11cblxuICBpZiAoXG4gICAgcmVmZXRjaFBhdGggJiZcbiAgICByZWZldGNoUGF0aCAhPT0gY2Fub25pY2FsVXJsICYmXG4gICAgcmVmZXRjaE1hcmtlciA9PT0gJ3JlZnJlc2gnICYmXG4gICAgLy8gaXQncyBwb3NzaWJsZSBmb3IgdGhlIHRyZWUgdG8gY29udGFpbiBtdWx0aXBsZSBzZWdtZW50cyB0aGF0IGNvbnRhaW4gZGF0YSBhdCB0aGUgc2FtZSBVUkxcbiAgICAvLyB3ZSBrZWVwIHRyYWNrIG9mIHRoZW0gc28gd2UgY2FuIGRlZHVwZSB0aGUgcmVxdWVzdHNcbiAgICAhZmV0Y2hlZFNlZ21lbnRzLmhhcyhyZWZldGNoUGF0aClcbiAgKSB7XG4gICAgZmV0Y2hlZFNlZ21lbnRzLmFkZChyZWZldGNoUGF0aCkgLy8gTWFyayB0aGlzIFVSTCBhcyBmZXRjaGVkXG5cbiAgICAvLyBFYWdlcmx5IGtpY2sgb2ZmIHRoZSBmZXRjaCBmb3IgdGhlIHJlZmV0Y2ggcGF0aCAmIHRoZSBwYXJhbGxlbCByb3V0ZXMuIFRoaXMgc2hvdWxkIGJlIGZpbmUgdG8gZG8gYXMgdGhleSBlYWNoIG9wZXJhdGVcbiAgICAvLyBpbmRlcGVuZGVudGx5IG9uIHRoZWlyIG93biBjYWNoZSBub2RlcywgYW5kIGBhcHBseUZsaWdodERhdGFgIHdpbGwgY29weSBhbnl0aGluZyBpdCBkb2Vzbid0IGNhcmUgYWJvdXQgZnJvbSB0aGUgZXhpc3RpbmcgY2FjaGUuXG4gICAgY29uc3QgZmV0Y2hQcm9taXNlID0gZmV0Y2hTZXJ2ZXJSZXNwb25zZShcbiAgICAgIG5ldyBVUkwocmVmZXRjaFBhdGgsIGxvY2F0aW9uLm9yaWdpbiksXG4gICAgICB7XG4gICAgICAgIC8vIHJlZmV0Y2ggZnJvbSB0aGUgcm9vdCBvZiB0aGUgdXBkYXRlZCB0cmVlLCBvdGhlcndpc2UgaXQgd2lsbCBiZSBzY29wZWQgdG8gdGhlIGN1cnJlbnQgc2VnbWVudFxuICAgICAgICAvLyBhbmQgbWlnaHQgbm90IGNvbnRhaW4gdGhlIGRhdGEgd2UgbmVlZCB0byBwYXRjaCBpbiBpbnRlcmNlcHRpb24gcm91dGUgZGF0YSAoc3VjaCBhcyBkeW5hbWljIHBhcmFtcyBmcm9tIGEgcHJldmlvdXMgc2VnbWVudClcbiAgICAgICAgZmxpZ2h0Um91dGVyU3RhdGU6IFtyb290VHJlZVswXSwgcm9vdFRyZWVbMV0sIHJvb3RUcmVlWzJdLCAncmVmZXRjaCddLFxuICAgICAgICBuZXh0VXJsOiBpbmNsdWRlTmV4dFVybCA/IHN0YXRlLm5leHRVcmwgOiBudWxsLFxuICAgICAgfVxuICAgICkudGhlbigoeyBmbGlnaHREYXRhIH0pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgZm9yIChjb25zdCBmbGlnaHREYXRhUGF0aCBvZiBmbGlnaHREYXRhKSB7XG4gICAgICAgICAgLy8gd2Ugb25seSBwYXNzIHRoZSBuZXcgY2FjaGUgYXMgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgYWZ0ZXIgY2xlYXJpbmcgdGhlIHJvdXRlciBjYWNoZVxuICAgICAgICAgIC8vIGFuZCBmaWxsaW5nIGluIHRoZSBuZXcgcGFnZSBkYXRhIGZyb20gdGhlIHNlcnZlci4gTWVhbmluZyB0aGUgZXhpc3RpbmcgY2FjaGUgaXMgYWN0dWFsbHkgdGhlIGNhY2hlIHRoYXQnc1xuICAgICAgICAgIC8vIGp1c3QgYmVlbiBjcmVhdGVkICYgaGFzIGJlZW4gd3JpdHRlbiB0bywgYnV0IGhhc24ndCBiZWVuIFwiY29tbWl0dGVkXCIgeWV0LlxuICAgICAgICAgIGFwcGx5RmxpZ2h0RGF0YShcbiAgICAgICAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgICAgICAgdXBkYXRlZENhY2hlLFxuICAgICAgICAgICAgdXBkYXRlZENhY2hlLFxuICAgICAgICAgICAgZmxpZ2h0RGF0YVBhdGhcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdoZW4gZmxpZ2h0RGF0YSBpcyBhIHN0cmluZywgaXQgc3VnZ2VzdHMgdGhhdCB0aGUgc2VydmVyIHJlc3BvbnNlIHNob3VsZCBoYXZlIHRyaWdnZXJlZCBhbiBNUEEgbmF2aWdhdGlvblxuICAgICAgICAvLyBJJ20gbm90IDEwMCUgc3VyZSBvZiB0aGlzIGRlY2lzaW9uLCBidXQgaXQgc2VlbXMgdW5saWtlbHkgdGhhdCB3ZSdkIHdhbnQgdG8gaW50cm9kdWNlIGEgcmVkaXJlY3Qgc2lkZSBlZmZlY3RcbiAgICAgICAgLy8gd2hlbiByZWZyZXNoaW5nIG9uLXNjcmVlbiBkYXRhLCBzbyBoYW5kbGluZyB0aGlzIGhhcyBiZWVuIG9tbWl0dGVkLlxuICAgICAgfVxuICAgIH0pXG5cbiAgICBmZXRjaFByb21pc2VzLnB1c2goZmV0Y2hQcm9taXNlKVxuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gcGFyYWxsZWxSb3V0ZXMpIHtcbiAgICBjb25zdCBwYXJhbGxlbEZldGNoUHJvbWlzZSA9IHJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHNJbXBsKHtcbiAgICAgIG5hdmlnYXRlZEF0LFxuICAgICAgc3RhdGUsXG4gICAgICB1cGRhdGVkVHJlZTogcGFyYWxsZWxSb3V0ZXNba2V5XSxcbiAgICAgIHVwZGF0ZWRDYWNoZSxcbiAgICAgIGluY2x1ZGVOZXh0VXJsLFxuICAgICAgZmV0Y2hlZFNlZ21lbnRzLFxuICAgICAgcm9vdFRyZWUsXG4gICAgICBjYW5vbmljYWxVcmwsXG4gICAgfSlcblxuICAgIGZldGNoUHJvbWlzZXMucHVzaChwYXJhbGxlbEZldGNoUHJvbWlzZSlcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKGZldGNoUHJvbWlzZXMpXG59XG5cbi8qKlxuICogV2Fsa3MgdGhlIGN1cnJlbnQgcGFyYWxsZWwgc2VnbWVudHMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIFwiYWN0aXZlXCIuXG4gKiBBbiBhY3RpdmUgcGFyYWxsZWwgcm91dGUgd2lsbCBoYXZlIGEgYF9fUEFHRV9fYCBzZWdtZW50IGluIHRoZSBGbGlnaHRSb3V0ZXJTdGF0ZS5cbiAqIEFzIG9wcG9zZWQgdG8gYSBgX19ERUZBVUxUX19gIHNlZ21lbnQsIHdoaWNoIG1lYW5zIHRoZXJlIHdhcyBubyBtYXRjaCBmb3IgdGhhdCBwYXJhbGxlbCByb3V0ZS5cbiAqIFdlIGFkZCBhIHNwZWNpYWwgbWFya2VyIGhlcmUgc28gdGhhdCB3ZSBrbm93IGhvdyB0byByZWZyZXNoIGl0cyBkYXRhIHdoZW4gdGhlIHJvdXRlciBpcyByZXZhbGlkYXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlZnJlc2hNYXJrZXJUb0FjdGl2ZVBhcmFsbGVsU2VnbWVudHMoXG4gIHRyZWU6IEZsaWdodFJvdXRlclN0YXRlLFxuICBwYXRoOiBzdHJpbmdcbikge1xuICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZXMsICwgcmVmZXRjaE1hcmtlcl0gPSB0cmVlXG4gIC8vIGEgcGFnZSBzZWdtZW50IG1pZ2h0IGFsc28gY29udGFpbiBjb25jYXRlbmF0ZWQgc2VhcmNoIHBhcmFtcywgc28gd2UgZG8gYSBwYXJ0aWFsIG1hdGNoIG9uIHRoZSBrZXlcbiAgaWYgKHNlZ21lbnQuaW5jbHVkZXMoUEFHRV9TRUdNRU5UX0tFWSkgJiYgcmVmZXRjaE1hcmtlciAhPT0gJ3JlZnJlc2gnKSB7XG4gICAgdHJlZVsyXSA9IHBhdGhcbiAgICB0cmVlWzNdID0gJ3JlZnJlc2gnXG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBpbiBwYXJhbGxlbFJvdXRlcykge1xuICAgIGFkZFJlZnJlc2hNYXJrZXJUb0FjdGl2ZVBhcmFsbGVsU2VnbWVudHMocGFyYWxsZWxSb3V0ZXNba2V5XSwgcGF0aClcbiAgfVxufVxuIl0sIm5hbWVzIjpbImFkZFJlZnJlc2hNYXJrZXJUb0FjdGl2ZVBhcmFsbGVsU2VnbWVudHMiLCJyZWZyZXNoSW5hY3RpdmVQYXJhbGxlbFNlZ21lbnRzIiwib3B0aW9ucyIsImZldGNoZWRTZWdtZW50cyIsIlNldCIsInJlZnJlc2hJbmFjdGl2ZVBhcmFsbGVsU2VnbWVudHNJbXBsIiwicm9vdFRyZWUiLCJ1cGRhdGVkVHJlZSIsIm5hdmlnYXRlZEF0Iiwic3RhdGUiLCJ1cGRhdGVkQ2FjaGUiLCJpbmNsdWRlTmV4dFVybCIsImNhbm9uaWNhbFVybCIsInBhcmFsbGVsUm91dGVzIiwicmVmZXRjaFBhdGgiLCJyZWZldGNoTWFya2VyIiwiZmV0Y2hQcm9taXNlcyIsImhhcyIsImFkZCIsImZldGNoUHJvbWlzZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJsb2NhdGlvbiIsIm9yaWdpbiIsImZsaWdodFJvdXRlclN0YXRlIiwibmV4dFVybCIsInRoZW4iLCJmbGlnaHREYXRhIiwiZmxpZ2h0RGF0YVBhdGgiLCJhcHBseUZsaWdodERhdGEiLCJwdXNoIiwia2V5IiwicGFyYWxsZWxGZXRjaFByb21pc2UiLCJQcm9taXNlIiwiYWxsIiwidHJlZSIsInBhdGgiLCJzZWdtZW50IiwiaW5jbHVkZXMiLCJQQUdFX1NFR01FTlRfS0VZIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/refetch-inactive-parallel-segments.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer-types.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_HMR_REFRESH: function() {\n return ACTION_HMR_REFRESH;\n },\n ACTION_NAVIGATE: function() {\n return ACTION_NAVIGATE;\n },\n ACTION_PREFETCH: function() {\n return ACTION_PREFETCH;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_RESTORE: function() {\n return ACTION_RESTORE;\n },\n ACTION_SERVER_ACTION: function() {\n return ACTION_SERVER_ACTION;\n },\n ACTION_SERVER_PATCH: function() {\n return ACTION_SERVER_PATCH;\n },\n PrefetchCacheEntryStatus: function() {\n return PrefetchCacheEntryStatus;\n },\n PrefetchKind: function() {\n return PrefetchKind;\n }\n});\nconst ACTION_REFRESH = 'refresh';\nconst ACTION_NAVIGATE = 'navigate';\nconst ACTION_RESTORE = 'restore';\nconst ACTION_SERVER_PATCH = 'server-patch';\nconst ACTION_PREFETCH = 'prefetch';\nconst ACTION_HMR_REFRESH = 'hmr-refresh';\nconst ACTION_SERVER_ACTION = 'server-action';\nvar PrefetchKind = /*#__PURE__*/ function(PrefetchKind) {\n PrefetchKind[\"AUTO\"] = \"auto\";\n PrefetchKind[\"FULL\"] = \"full\";\n PrefetchKind[\"TEMPORARY\"] = \"temporary\";\n return PrefetchKind;\n}({});\nvar PrefetchCacheEntryStatus = /*#__PURE__*/ function(PrefetchCacheEntryStatus) {\n PrefetchCacheEntryStatus[\"fresh\"] = \"fresh\";\n PrefetchCacheEntryStatus[\"reusable\"] = \"reusable\";\n PrefetchCacheEntryStatus[\"expired\"] = \"expired\";\n PrefetchCacheEntryStatus[\"stale\"] = \"stale\";\n return PrefetchCacheEntryStatus;\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=router-reducer-types.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBWWFBLGtCQUFrQjtlQUFsQkE7O0lBSkFDLGVBQWU7ZUFBZkE7O0lBR0FDLGVBQWU7ZUFBZkE7O0lBSkFDLGNBQWM7ZUFBZEE7O0lBRUFDLGNBQWM7ZUFBZEE7O0lBSUFDLG9CQUFvQjtlQUFwQkE7O0lBSEFDLG1CQUFtQjtlQUFuQkE7O0lBeU1EQyx3QkFBd0I7ZUFBeEJBOztJQWhFQUMsWUFBWTtlQUFaQTs7O0FBNUlMLE1BQU1MLGlCQUFpQjtBQUN2QixNQUFNRixrQkFBa0I7QUFDeEIsTUFBTUcsaUJBQWlCO0FBQ3ZCLE1BQU1FLHNCQUFzQjtBQUM1QixNQUFNSixrQkFBa0I7QUFDeEIsTUFBTUYscUJBQXFCO0FBQzNCLE1BQU1LLHVCQUF1QjtBQXNJN0IsSUFBS0csZUFBQUEsV0FBQUEsR0FBQUEsU0FBQUEsWUFBQUE7Ozs7V0FBQUE7O0FBZ0VMLElBQUtELDJCQUFBQSxXQUFBQSxHQUFBQSxTQUFBQSx3QkFBQUE7Ozs7O1dBQUFBIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYWNoZU5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZSdcbmltcG9ydCB0eXBlIHtcbiAgRmxpZ2h0Um91dGVyU3RhdGUsXG4gIEZsaWdodFNlZ21lbnRQYXRoLFxufSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvYXBwLXJlbmRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmV0Y2hTZXJ2ZXJSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuXG5leHBvcnQgY29uc3QgQUNUSU9OX1JFRlJFU0ggPSAncmVmcmVzaCdcbmV4cG9ydCBjb25zdCBBQ1RJT05fTkFWSUdBVEUgPSAnbmF2aWdhdGUnXG5leHBvcnQgY29uc3QgQUNUSU9OX1JFU1RPUkUgPSAncmVzdG9yZSdcbmV4cG9ydCBjb25zdCBBQ1RJT05fU0VSVkVSX1BBVENIID0gJ3NlcnZlci1wYXRjaCdcbmV4cG9ydCBjb25zdCBBQ1RJT05fUFJFRkVUQ0ggPSAncHJlZmV0Y2gnXG5leHBvcnQgY29uc3QgQUNUSU9OX0hNUl9SRUZSRVNIID0gJ2htci1yZWZyZXNoJ1xuZXhwb3J0IGNvbnN0IEFDVElPTl9TRVJWRVJfQUNUSU9OID0gJ3NlcnZlci1hY3Rpb24nXG5cbmV4cG9ydCB0eXBlIFJvdXRlckNoYW5nZUJ5U2VydmVyUmVzcG9uc2UgPSAoe1xuICBuYXZpZ2F0ZWRBdCxcbiAgcHJldmlvdXNUcmVlLFxuICBzZXJ2ZXJSZXNwb25zZSxcbn06IHtcbiAgbmF2aWdhdGVkQXQ6IG51bWJlclxuICBwcmV2aW91c1RyZWU6IEZsaWdodFJvdXRlclN0YXRlXG4gIHNlcnZlclJlc3BvbnNlOiBGZXRjaFNlcnZlclJlc3BvbnNlUmVzdWx0XG59KSA9PiB2b2lkXG5cbmV4cG9ydCBpbnRlcmZhY2UgTXV0YWJsZSB7XG4gIG1wYU5hdmlnYXRpb24/OiBib29sZWFuXG4gIHBhdGNoZWRUcmVlPzogRmxpZ2h0Um91dGVyU3RhdGVcbiAgY2Fub25pY2FsVXJsPzogc3RyaW5nXG4gIHNjcm9sbGFibGVTZWdtZW50cz86IEZsaWdodFNlZ21lbnRQYXRoW11cbiAgcGVuZGluZ1B1c2g/OiBib29sZWFuXG4gIGNhY2hlPzogQ2FjaGVOb2RlXG4gIHByZWZldGNoQ2FjaGU/OiBBcHBSb3V0ZXJTdGF0ZVsncHJlZmV0Y2hDYWNoZSddXG4gIGhhc2hGcmFnbWVudD86IHN0cmluZ1xuICBzaG91bGRTY3JvbGw/OiBib29sZWFuXG4gIHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlPzogYm9vbGVhblxuICBvbmx5SGFzaENoYW5nZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXJBY3Rpb25NdXRhYmxlIGV4dGVuZHMgTXV0YWJsZSB7XG4gIGluRmxpZ2h0U2VydmVyQWN0aW9uPzogUHJvbWlzZTxhbnk+IHwgbnVsbFxufVxuXG4vKipcbiAqIFJlZnJlc2ggdHJpZ2dlcnMgYSByZWZyZXNoIG9mIHRoZSBmdWxsIHBhZ2UgZGF0YS5cbiAqIC0gZmV0Y2hlcyB0aGUgRmxpZ2h0IGRhdGEgYW5kIGZpbGxzIHJzYyBhdCB0aGUgcm9vdCBvZiB0aGUgY2FjaGUuXG4gKiAtIFRoZSByb3V0ZXIgc3RhdGUgaXMgdXBkYXRlZCBhdCB0aGUgcm9vdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIEFDVElPTl9SRUZSRVNIXG4gIG9yaWdpbjogTG9jYXRpb25bJ29yaWdpbiddXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG1yUmVmcmVzaEFjdGlvbiB7XG4gIHR5cGU6IHR5cGVvZiBBQ1RJT05fSE1SX1JFRlJFU0hcbiAgb3JpZ2luOiBMb2NhdGlvblsnb3JpZ2luJ11cbn1cblxuZXhwb3J0IHR5cGUgU2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9IChcbiAgYXJnczogT21pdDxcbiAgICBTZXJ2ZXJBY3Rpb25BY3Rpb24sXG4gICAgJ3R5cGUnIHwgJ211dGFibGUnIHwgJ25hdmlnYXRlJyB8ICdjaGFuZ2VCeVNlcnZlclJlc3BvbnNlJyB8ICdjYWNoZSdcbiAgPlxuKSA9PiB2b2lkXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQWN0aW9uQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIEFDVElPTl9TRVJWRVJfQUNUSU9OXG4gIGFjdGlvbklkOiBzdHJpbmdcbiAgYWN0aW9uQXJnczogYW55W11cbiAgcmVzb2x2ZTogKHZhbHVlOiBhbnkpID0+IHZvaWRcbiAgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkXG59XG5cbi8qKlxuICogTmF2aWdhdGUgdHJpZ2dlcnMgYSBuYXZpZ2F0aW9uIHRvIHRoZSBwcm92aWRlZCB1cmwuIEl0IHN1cHBvcnRzIHR3byB0eXBlczogYHB1c2hgIGFuZCBgcmVwbGFjZWAuXG4gKlxuICogYG5hdmlnYXRlVHlwZWA6XG4gKiAtIGBwdXNoYCAtIHB1c2hlcyBhIG5ldyBoaXN0b3J5IGVudHJ5IGluIHRoZSBicm93c2VyIGhpc3RvcnlcbiAqIC0gYHJlcGxhY2VgIC0gcmVwbGFjZXMgdGhlIGN1cnJlbnQgaGlzdG9yeSBlbnRyeSBpbiB0aGUgYnJvd3NlciBoaXN0b3J5XG4gKlxuICogTmF2aWdhdGUgaGFzIG11bHRpcGxlIGNhY2hlIGhldXJpc3RpY3M6XG4gKiAtIHBhZ2Ugd2FzIHByZWZldGNoZWRcbiAqICAtIEFwcGx5IHJvdXRlciBzdGF0ZSB0cmVlIGZyb20gcHJlZmV0Y2hcbiAqICAtIEFwcGx5IEZsaWdodCBkYXRhIGZyb20gcHJlZmV0Y2ggdG8gdGhlIGNhY2hlXG4gKiAgLSBJZiBGbGlnaHQgZGF0YSBpcyBhIHN0cmluZywgaXQncyBhIHJlZGlyZWN0IGFuZCB0aGUgc3RhdGUgaXMgdXBkYXRlZCB0byB0cmlnZ2VyIGEgcmVkaXJlY3RcbiAqICAtIENoZWNrIGlmIGhhcmQgbmF2aWdhdGlvbiBpcyBuZWVkZWRcbiAqICAgIC0gSGFyZCBuYXZpZ2F0aW9uIGhhcHBlbnMgd2hlbiBhIGR5bmFtaWMgcGFyYW1ldGVyIGJlbG93IHRoZSBjb21tb24gbGF5b3V0IGNoYW5nZWRcbiAqICAgIC0gV2hlbiBoYXJkIG5hdmlnYXRpb24gaXMgbmVlZGVkIHRoZSBjYWNoZSBpcyBpbnZhbGlkYXRlZCBiZWxvdyB0aGUgZmxpZ2h0U2VnbWVudFBhdGhcbiAqICAgIC0gVGhlIG1pc3NpbmcgY2FjaGUgbm9kZXMgb2YgdGhlIHBhZ2Ugd2lsbCBiZSBmZXRjaGVkIGluIGxheW91dC1yb3V0ZXIgYW5kIHRyaWdnZXIgdGhlIFNFUlZFUl9QQVRDSCBhY3Rpb25cbiAqICAtIElmIGhhcmQgbmF2aWdhdGlvbiBpcyBub3QgbmVlZGVkXG4gKiAgICAtIFRoZSBjYWNoZSBpcyByZXVzZWRcbiAqICAgIC0gSWYgYW55IGNhY2hlIG5vZGVzIGFyZSBtaXNzaW5nIHRoZXknbGwgYmUgZmV0Y2hlZCBpbiBsYXlvdXQtcm91dGVyIGFuZCB0cmlnZ2VyIHRoZSBTRVJWRVJfUEFUQ0ggYWN0aW9uXG4gKiAtIHBhZ2Ugd2FzIG5vdCBwcmVmZXRjaGVkXG4gKiAgLSBUaGUgbmF2aWdhdGUgd2FzIGNhbGxlZCBmcm9tIGBuZXh0L3JvdXRlcmAgKGByb3V0ZXIucHVzaCgpYCAvIGByb3V0ZXIucmVwbGFjZSgpYCkgLyBgbmV4dC9saW5rYCB3aXRob3V0IHByZWZldGNoZWQgZGF0YSBhdmFpbGFibGUgKGUuZy4gdGhlIHByZWZldGNoIGRpZG4ndCBjb21lIGJhY2sgZnJvbSB0aGUgc2VydmVyIGJlZm9yZSBjbGlja2luZyB0aGUgbGluaylcbiAqICAgIC0gRmxpZ2h0IGRhdGEgaXMgZmV0Y2hlZCBpbiB0aGUgcmVkdWNlciAoc3VzcGVuZHMgdGhlIHJlZHVjZXIpXG4gKiAgICAtIFJvdXRlciBzdGF0ZSB0cmVlIGlzIGNyZWF0ZWQgYmFzZWQgb24gRmxpZ2h0IGRhdGFcbiAqICAgIC0gQ2FjaGUgaXMgZmlsbGVkIGJhc2VkIG9uIHRoZSBGbGlnaHQgZGF0YVxuICpcbiAqIEFib3ZlIHN0ZXBzIGV4cGxhaW4gMyBjYXNlczpcbiAqIC0gYHNvZnRgIC0gUmV1c2VzIHRoZSBleGlzdGluZyBjYWNoZSBhbmQgZmV0Y2hlcyBtaXNzaW5nIG5vZGVzIGluIGxheW91dC1yb3V0ZXIuXG4gKiAtIGBoYXJkYCAtIENyZWF0ZXMgYSBuZXcgY2FjaGUgd2hlcmUgY2FjaGUgbm9kZXMgYXJlIHJlbW92ZWQgYmVsb3cgdGhlIGNvbW1vbiBsYXlvdXQgYW5kIGZldGNoZXMgbWlzc2luZyBub2RlcyBpbiBsYXlvdXQtcm91dGVyLlxuICogLSBgb3B0aW1pc3RpY2AgKGV4cGxpY2l0IG5vIHByZWZldGNoKSAtIENyZWF0ZXMgYSBuZXcgY2FjaGUgYW5kIGtpY2tzIG9mZiB0aGUgZGF0YSBmZXRjaCBpbiB0aGUgcmVkdWNlci4gVGhlIGRhdGEgZmV0Y2ggaXMgYXdhaXRlZCBpbiB0aGUgbGF5b3V0LXJvdXRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0ZUFjdGlvbiB7XG4gIHR5cGU6IHR5cGVvZiBBQ1RJT05fTkFWSUdBVEVcbiAgdXJsOiBVUkxcbiAgaXNFeHRlcm5hbFVybDogYm9vbGVhblxuICBsb2NhdGlvblNlYXJjaDogTG9jYXRpb25bJ3NlYXJjaCddXG4gIG5hdmlnYXRlVHlwZTogJ3B1c2gnIHwgJ3JlcGxhY2UnXG4gIHNob3VsZFNjcm9sbDogYm9vbGVhblxuICBhbGxvd0FsaWFzaW5nOiBib29sZWFuXG59XG5cbi8qKlxuICogUmVzdG9yZSBhcHBsaWVzIHRoZSBwcm92aWRlZCByb3V0ZXIgc3RhdGUuXG4gKiAtIFVzZWQgZm9yIGBwb3BzdGF0ZWAgKGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uKSB3aGVyZSBhIGtub3duIHJvdXRlciBzdGF0ZSBoYXMgdG8gYmUgYXBwbGllZC5cbiAqIC0gQWxzbyB1c2VkIHdoZW4gc3luY2luZyB0aGUgcm91dGVyIHN0YXRlIHdpdGggYHB1c2hTdGF0ZWAvYHJlcGxhY2VTdGF0ZWAgY2FsbHMuXG4gKiAtIFJvdXRlciBzdGF0ZSBpcyBhcHBsaWVkIGFzLWlzIGZyb20gdGhlIGhpc3Rvcnkgc3RhdGUsIGlmIGF2YWlsYWJsZS5cbiAqIC0gSWYgdGhlIGhpc3Rvcnkgc3RhdGUgZG9lcyBub3QgY29udGFpbiB0aGUgcm91dGVyIHN0YXRlLCB0aGUgZXhpc3Rpbmcgcm91dGVyIHN0YXRlIGlzIHVzZWQuXG4gKiAtIElmIGFueSBjYWNoZSBub2RlIGlzIG1pc3NpbmcgaXQgd2lsbCBiZSBmZXRjaGVkIGluIGxheW91dC1yb3V0ZXIgZHVyaW5nIHJlbmRlcmluZyBhbmQgdGhlIHNlcnZlci1wYXRjaCBjYXNlLlxuICogLSBJZiBleGlzdGluZyBjYWNoZSBub2RlcyBtYXRjaCB0aGVzZSBhcmUgdXNlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXN0b3JlQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIEFDVElPTl9SRVNUT1JFXG4gIHVybDogVVJMXG4gIHRyZWU6IEZsaWdodFJvdXRlclN0YXRlIHwgdW5kZWZpbmVkXG59XG5cbi8qKlxuICogU2VydmVyLXBhdGNoIGFwcGxpZXMgdGhlIHByb3ZpZGVkIEZsaWdodCBkYXRhIHRvIHRoZSBjYWNoZSBhbmQgcm91dGVyIHRyZWUuXG4gKiAtIE9ubHkgdHJpZ2dlcmVkIGluIGxheW91dC1yb3V0ZXIuXG4gKiAtIENyZWF0ZXMgYSBuZXcgY2FjaGUgYW5kIHJvdXRlciBzdGF0ZSB3aXRoIHRoZSBGbGlnaHQgZGF0YSBhcHBsaWVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlclBhdGNoQWN0aW9uIHtcbiAgdHlwZTogdHlwZW9mIEFDVElPTl9TRVJWRVJfUEFUQ0hcbiAgbmF2aWdhdGVkQXQ6IG51bWJlclxuICBzZXJ2ZXJSZXNwb25zZTogRmV0Y2hTZXJ2ZXJSZXNwb25zZVJlc3VsdFxuICBwcmV2aW91c1RyZWU6IEZsaWdodFJvdXRlclN0YXRlXG59XG5cbi8qKlxuICogUHJlZmV0Y2hLaW5kIGRlZmluZXMgdGhlIHR5cGUgb2YgcHJlZmV0Y2hpbmcgdGhhdCBzaG91bGQgYmUgZG9uZS5cbiAqIC0gYGF1dG9gIC0gaWYgdGhlIHBhZ2UgaXMgZHluYW1pYywgcHJlZmV0Y2ggdGhlIHBhZ2UgZGF0YSBwYXJ0aWFsbHksIGlmIHN0YXRpYyBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5LlxuICogLSBgZnVsbGAgLSBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIGZ1bGx5LlxuICogLSBgdGVtcG9yYXJ5YCAtIGEgdGVtcG9yYXJ5IHByZWZldGNoIGVudHJ5IGlzIGFkZGVkIHRvIHRoZSBjYWNoZSwgdGhpcyBpcyB1c2VkIHdoZW4gcHJlZmV0Y2g9e2ZhbHNlfSBpcyB1c2VkIGluIG5leHQvbGluayBvciB3aGVuIHlvdSBwdXNoIGEgcm91dGUgcHJvZ3JhbW1hdGljYWxseS5cbiAqL1xuXG5leHBvcnQgZW51bSBQcmVmZXRjaEtpbmQge1xuICBBVVRPID0gJ2F1dG8nLFxuICBGVUxMID0gJ2Z1bGwnLFxuICBURU1QT1JBUlkgPSAndGVtcG9yYXJ5Jyxcbn1cblxuLyoqXG4gKiBQcmVmZXRjaCBhZGRzIHRoZSBwcm92aWRlZCBGbGlnaHREYXRhIHRvIHRoZSBwcmVmZXRjaCBjYWNoZVxuICogLSBDcmVhdGVzIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBiYXNlZCBvbiB0aGUgcGF0Y2ggaW4gRmxpZ2h0RGF0YVxuICogLSBBZGRzIHRoZSBGbGlnaHREYXRhIHRvIHRoZSBwcmVmZXRjaCBjYWNoZVxuICogLSBJbiBBQ1RJT05fTkFWSUdBVEUgdGhlIHByZWZldGNoIGNhY2hlIGlzIGNoZWNrZWQgYW5kIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBhbmQgRmxpZ2h0RGF0YSBhcmUgYXBwbGllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVmZXRjaEFjdGlvbiB7XG4gIHR5cGU6IHR5cGVvZiBBQ1RJT05fUFJFRkVUQ0hcbiAgdXJsOiBVUkxcbiAga2luZDogUHJlZmV0Y2hLaW5kXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVzaFJlZiB7XG4gIC8qKlxuICAgKiBJZiB0aGUgYXBwLXJvdXRlciBzaG91bGQgcHVzaCBhIG5ldyBoaXN0b3J5IGVudHJ5IGluIGFwcC1yb3V0ZXIncyB1c2VFZmZlY3QoKVxuICAgKi9cbiAgcGVuZGluZ1B1c2g6IGJvb2xlYW5cbiAgLyoqXG4gICAqIE11bHRpLXBhZ2UgbmF2aWdhdGlvbiB0aHJvdWdoIGxvY2F0aW9uLmhyZWYuXG4gICAqL1xuICBtcGFOYXZpZ2F0aW9uOiBib29sZWFuXG4gIC8qKlxuICAgKiBTa2lwIGFwcGx5aW5nIHRoZSByb3V0ZXIgc3RhdGUgdG8gdGhlIGJyb3dzZXIgaGlzdG9yeSBzdGF0ZS5cbiAgICovXG4gIHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEZvY3VzQW5kU2Nyb2xsUmVmID0ge1xuICAvKipcbiAgICogSWYgZm9jdXMgYW5kIHNjcm9sbCBzaG91bGQgYmUgc2V0IGluIHRoZSBsYXlvdXQtcm91dGVyJ3MgdXNlRWZmZWN0KClcbiAgICovXG4gIGFwcGx5OiBib29sZWFuXG4gIC8qKlxuICAgKiBUaGUgaGFzaCBmcmFnbWVudCB0aGF0IHNob3VsZCBiZSBzY3JvbGxlZCB0by5cbiAgICovXG4gIGhhc2hGcmFnbWVudDogc3RyaW5nIHwgbnVsbFxuICAvKipcbiAgICogVGhlIHBhdGhzIG9mIHRoZSBzZWdtZW50cyB0aGF0IHNob3VsZCBiZSBmb2N1c2VkLlxuICAgKi9cbiAgc2VnbWVudFBhdGhzOiBGbGlnaHRTZWdtZW50UGF0aFtdXG4gIC8qKlxuICAgKiBJZiBvbmx5IHRoZSBVUkxzIGhhc2ggZnJhZ21lbnQgY2hhbmdlZFxuICAgKi9cbiAgb25seUhhc2hDaGFuZ2U6IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgUHJlZmV0Y2hDYWNoZUVudHJ5ID0ge1xuICB0cmVlQXRUaW1lT2ZQcmVmZXRjaDogRmxpZ2h0Um91dGVyU3RhdGVcbiAgZGF0YTogUHJvbWlzZTxGZXRjaFNlcnZlclJlc3BvbnNlUmVzdWx0PlxuICBraW5kOiBQcmVmZXRjaEtpbmRcbiAgcHJlZmV0Y2hUaW1lOiBudW1iZXJcbiAgc3RhbGVUaW1lOiBudW1iZXJcbiAgbGFzdFVzZWRUaW1lOiBudW1iZXIgfCBudWxsXG4gIGtleTogc3RyaW5nXG4gIHN0YXR1czogUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzXG4gIHVybDogVVJMXG59XG5cbmV4cG9ydCBlbnVtIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyB7XG4gIGZyZXNoID0gJ2ZyZXNoJyxcbiAgcmV1c2FibGUgPSAncmV1c2FibGUnLFxuICBleHBpcmVkID0gJ2V4cGlyZWQnLFxuICBzdGFsZSA9ICdzdGFsZScsXG59XG5cbi8qKlxuICogSGFuZGxlcyBrZWVwaW5nIHRoZSBzdGF0ZSBvZiBhcHAtcm91dGVyLlxuICovXG5leHBvcnQgdHlwZSBBcHBSb3V0ZXJTdGF0ZSA9IHtcbiAgLyoqXG4gICAqIFRoZSByb3V0ZXIgc3RhdGUsIHRoaXMgaXMgd3JpdHRlbiBpbnRvIHRoZSBoaXN0b3J5IHN0YXRlIGluIGFwcC1yb3V0ZXIgdXNpbmcgcmVwbGFjZVN0YXRlL3B1c2hTdGF0ZS5cbiAgICogLSBIYXMgdG8gYmUgc2VyaWFsaXphYmxlIGFzIGl0IGlzIHdyaXR0ZW4gaW50byB0aGUgaGlzdG9yeSBzdGF0ZS5cbiAgICogLSBIb2xkcyB3aGljaCBzZWdtZW50cyBhbmQgcGFyYWxsZWwgcm91dGVzIGFyZSBzaG93biBvbiB0aGUgc2NyZWVuLlxuICAgKi9cbiAgdHJlZTogRmxpZ2h0Um91dGVyU3RhdGVcbiAgLyoqXG4gICAqIFRoZSBjYWNoZSBob2xkcyBSZWFjdCBub2RlcyBmb3IgZXZlcnkgc2VnbWVudCB0aGF0IGlzIHNob3duIG9uIHNjcmVlbiBhcyB3ZWxsIGFzIHByZXZpb3VzbHkgc2hvd24gc2VnbWVudHMuXG4gICAqIEl0IGFsc28gaG9sZHMgaW4tcHJvZ3Jlc3MgZGF0YSByZXF1ZXN0cy5cbiAgICogUHJlZmV0Y2hlZCBkYXRhIGlzIHN0b3JlZCBzZXBhcmF0ZWx5IGluIGBwcmVmZXRjaENhY2hlYCwgdGhhdCBpcyBhcHBsaWVkIGR1cmluZyBBQ1RJT05fTkFWSUdBVEUuXG4gICAqL1xuICBjYWNoZTogQ2FjaGVOb2RlXG4gIC8qKlxuICAgKiBDYWNoZSB0aGF0IGhvbGRzIHByZWZldGNoZWQgRmxpZ2h0IHJlc3BvbnNlcyBrZXllZCBieSB1cmwuXG4gICAqL1xuICBwcmVmZXRjaENhY2hlOiBNYXA8c3RyaW5nLCBQcmVmZXRjaENhY2hlRW50cnk+XG4gIC8qKlxuICAgKiBEZWNpZGVzIGlmIHRoZSB1cGRhdGUgc2hvdWxkIGNyZWF0ZSBhIG5ldyBoaXN0b3J5IGVudHJ5IGFuZCBpZiB0aGUgbmF2aWdhdGlvbiBoYXMgdG8gdHJpZ2dlciBhIGJyb3dzZXIgbmF2aWdhdGlvbi5cbiAgICovXG4gIHB1c2hSZWY6IFB1c2hSZWZcbiAgLyoqXG4gICAqIERlY2lkZXMgaWYgdGhlIHVwZGF0ZSBzaG91bGQgYXBwbHkgc2Nyb2xsIGFuZCBmb2N1cyBtYW5hZ2VtZW50LlxuICAgKi9cbiAgZm9jdXNBbmRTY3JvbGxSZWY6IEZvY3VzQW5kU2Nyb2xsUmVmXG4gIC8qKlxuICAgKiBUaGUgY2Fub25pY2FsIHVybCB0aGF0IGlzIHB1c2hlZC9yZXBsYWNlZC5cbiAgICogLSBUaGlzIGlzIHRoZSB1cmwgeW91IHNlZSBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIGNhbm9uaWNhbFVybDogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgdW5kZXJseWluZyBcInVybFwiIHJlcHJlc2VudGluZyB0aGUgVUkgc3RhdGUsIHdoaWNoIGlzIHVzZWQgZm9yIGludGVyY2VwdGluZyByb3V0ZXMuXG4gICAqL1xuICBuZXh0VXJsOiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIFJlYWRvbmx5UmVkdWNlclN0YXRlID0gUmVhZG9ubHk8QXBwUm91dGVyU3RhdGU+XG5leHBvcnQgdHlwZSBSZWR1Y2VyU3RhdGUgPSBQcm9taXNlPEFwcFJvdXRlclN0YXRlPiB8IEFwcFJvdXRlclN0YXRlXG5leHBvcnQgdHlwZSBSZWR1Y2VyQWN0aW9ucyA9IFJlYWRvbmx5PFxuICB8IFJlZnJlc2hBY3Rpb25cbiAgfCBOYXZpZ2F0ZUFjdGlvblxuICB8IFJlc3RvcmVBY3Rpb25cbiAgfCBTZXJ2ZXJQYXRjaEFjdGlvblxuICB8IFByZWZldGNoQWN0aW9uXG4gIHwgSG1yUmVmcmVzaEFjdGlvblxuICB8IFNlcnZlckFjdGlvbkFjdGlvblxuPlxuIl0sIm5hbWVzIjpbIkFDVElPTl9ITVJfUkVGUkVTSCIsIkFDVElPTl9OQVZJR0FURSIsIkFDVElPTl9QUkVGRVRDSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1JFU1RPUkUiLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsIkFDVElPTl9TRVJWRVJfUEFUQ0giLCJQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMiLCJQcmVmZXRjaEtpbmQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer.js ***! \***********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"reducer\", ({\n enumerable: true,\n get: function() {\n return reducer;\n }\n}));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _serverpatchreducer = __webpack_require__(/*! ./reducers/server-patch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\");\nconst _restorereducer = __webpack_require__(/*! ./reducers/restore-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\");\nconst _refreshreducer = __webpack_require__(/*! ./reducers/refresh-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _hmrrefreshreducer = __webpack_require__(/*! ./reducers/hmr-refresh-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/hmr-refresh-reducer.js\");\nconst _serveractionreducer = __webpack_require__(/*! ./reducers/server-action-reducer */ \"(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\");\n/**\n * Reducer that handles the app-router state updates.\n */ function clientReducer(state, action) {\n switch(action.type){\n case _routerreducertypes.ACTION_NAVIGATE:\n {\n return (0, _navigatereducer.navigateReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_PATCH:\n {\n return (0, _serverpatchreducer.serverPatchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_RESTORE:\n {\n return (0, _restorereducer.restoreReducer)(state, action);\n }\n case _routerreducertypes.ACTION_REFRESH:\n {\n return (0, _refreshreducer.refreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_HMR_REFRESH:\n {\n return (0, _hmrrefreshreducer.hmrRefreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_PREFETCH:\n {\n return (0, _prefetchreducer.prefetchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_ACTION:\n {\n return (0, _serveractionreducer.serverActionReducer)(state, action);\n }\n // This case should never be hit as dispatch is strongly typed.\n default:\n throw Object.defineProperty(new Error('Unknown action'), \"__NEXT_ERROR_CODE\", {\n value: \"E295\",\n enumerable: false,\n configurable: true\n });\n }\n}\nfunction serverReducer(state, _action) {\n return state;\n}\nconst reducer = false ? 0 : clientReducer;\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=router-reducer.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FpRWFBOzs7ZUFBQUE7OztnREF6RE47NkNBTXlCO2dEQUNHOzRDQUNKOzRDQUNBOzZDQUNDOytDQUNFO2lEQUNFO0FBRXBDOztDQUVDLEdBQ0QsU0FBU0MsY0FDUEMsS0FBMkIsRUFDM0JDLE1BQXNCO0lBRXRCLE9BQVFBLE9BQU9DLElBQUk7UUFDakIsS0FBS0Msb0JBQUFBLGVBQWU7WUFBRTtnQkFDcEIsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQUFBLEVBQWdCSixPQUFPQztZQUNoQztRQUNBLEtBQUtJLG9CQUFBQSxtQkFBbUI7WUFBRTtnQkFDeEIsT0FBT0MsQ0FBQUEsR0FBQUEsb0JBQUFBLGtCQUFBQSxFQUFtQk4sT0FBT0M7WUFDbkM7UUFDQSxLQUFLTSxvQkFBQUEsY0FBYztZQUFFO2dCQUNuQixPQUFPQyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBQUEsRUFBZVIsT0FBT0M7WUFDL0I7UUFDQSxLQUFLUSxvQkFBQUEsY0FBYztZQUFFO2dCQUNuQixPQUFPQyxDQUFBQSxHQUFBQSxnQkFBQUEsY0FBQUEsRUFBZVYsT0FBT0M7WUFDL0I7UUFDQSxLQUFLVSxvQkFBQUEsa0JBQWtCO1lBQUU7Z0JBQ3ZCLE9BQU9DLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBQUEsRUFBa0JaLE9BQU9DO1lBQ2xDO1FBQ0EsS0FBS1ksb0JBQUFBLGVBQWU7WUFBRTtnQkFDcEIsT0FBT0MsQ0FBQUEsR0FBQUEsaUJBQUFBLGVBQUFBLEVBQWdCZCxPQUFPQztZQUNoQztRQUNBLEtBQUtjLG9CQUFBQSxvQkFBb0I7WUFBRTtnQkFDekIsT0FBT0MsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFBQSxFQUFvQmhCLE9BQU9DO1lBQ3BDO1FBQ0EsK0RBQStEO1FBQy9EO1lBQ0UsTUFBTSxxQkFBMkIsQ0FBM0IsSUFBSWdCLE1BQU0sbUJBQVY7dUJBQUE7NEJBQUE7OEJBQUE7WUFBMEI7SUFDcEM7QUFDRjtBQUVBLFNBQVNDLGNBQ1BsQixLQUEyQixFQUMzQm1CLE9BQXVCO0lBRXZCLE9BQU9uQjtBQUNUO0FBR08sTUFBTUYsVUFDWCxNQUE2QixHQUFHb0IsQ0FBYUEsR0FBR25CIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQUNUSU9OX05BVklHQVRFLFxuICBBQ1RJT05fU0VSVkVSX1BBVENILFxuICBBQ1RJT05fUkVTVE9SRSxcbiAgQUNUSU9OX1JFRlJFU0gsXG4gIEFDVElPTl9QUkVGRVRDSCxcbiAgQUNUSU9OX0hNUl9SRUZSRVNILFxuICBBQ1RJT05fU0VSVkVSX0FDVElPTixcbn0gZnJvbSAnLi9yb3V0ZXItcmVkdWNlci10eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgUmVkdWNlckFjdGlvbnMsXG4gIFJlZHVjZXJTdGF0ZSxcbiAgUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG59IGZyb20gJy4vcm91dGVyLXJlZHVjZXItdHlwZXMnXG5pbXBvcnQgeyBuYXZpZ2F0ZVJlZHVjZXIgfSBmcm9tICcuL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXInXG5pbXBvcnQgeyBzZXJ2ZXJQYXRjaFJlZHVjZXIgfSBmcm9tICcuL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyJ1xuaW1wb3J0IHsgcmVzdG9yZVJlZHVjZXIgfSBmcm9tICcuL3JlZHVjZXJzL3Jlc3RvcmUtcmVkdWNlcidcbmltcG9ydCB7IHJlZnJlc2hSZWR1Y2VyIH0gZnJvbSAnLi9yZWR1Y2Vycy9yZWZyZXNoLXJlZHVjZXInXG5pbXBvcnQgeyBwcmVmZXRjaFJlZHVjZXIgfSBmcm9tICcuL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXInXG5pbXBvcnQgeyBobXJSZWZyZXNoUmVkdWNlciB9IGZyb20gJy4vcmVkdWNlcnMvaG1yLXJlZnJlc2gtcmVkdWNlcidcbmltcG9ydCB7IHNlcnZlckFjdGlvblJlZHVjZXIgfSBmcm9tICcuL3JlZHVjZXJzL3NlcnZlci1hY3Rpb24tcmVkdWNlcidcblxuLyoqXG4gKiBSZWR1Y2VyIHRoYXQgaGFuZGxlcyB0aGUgYXBwLXJvdXRlciBzdGF0ZSB1cGRhdGVzLlxuICovXG5mdW5jdGlvbiBjbGllbnRSZWR1Y2VyKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIGFjdGlvbjogUmVkdWNlckFjdGlvbnNcbik6IFJlZHVjZXJTdGF0ZSB7XG4gIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICBjYXNlIEFDVElPTl9OQVZJR0FURToge1xuICAgICAgcmV0dXJuIG5hdmlnYXRlUmVkdWNlcihzdGF0ZSwgYWN0aW9uKVxuICAgIH1cbiAgICBjYXNlIEFDVElPTl9TRVJWRVJfUEFUQ0g6IHtcbiAgICAgIHJldHVybiBzZXJ2ZXJQYXRjaFJlZHVjZXIoc3RhdGUsIGFjdGlvbilcbiAgICB9XG4gICAgY2FzZSBBQ1RJT05fUkVTVE9SRToge1xuICAgICAgcmV0dXJuIHJlc3RvcmVSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG4gICAgfVxuICAgIGNhc2UgQUNUSU9OX1JFRlJFU0g6IHtcbiAgICAgIHJldHVybiByZWZyZXNoUmVkdWNlcihzdGF0ZSwgYWN0aW9uKVxuICAgIH1cbiAgICBjYXNlIEFDVElPTl9ITVJfUkVGUkVTSDoge1xuICAgICAgcmV0dXJuIGhtclJlZnJlc2hSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG4gICAgfVxuICAgIGNhc2UgQUNUSU9OX1BSRUZFVENIOiB7XG4gICAgICByZXR1cm4gcHJlZmV0Y2hSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG4gICAgfVxuICAgIGNhc2UgQUNUSU9OX1NFUlZFUl9BQ1RJT046IHtcbiAgICAgIHJldHVybiBzZXJ2ZXJBY3Rpb25SZWR1Y2VyKHN0YXRlLCBhY3Rpb24pXG4gICAgfVxuICAgIC8vIFRoaXMgY2FzZSBzaG91bGQgbmV2ZXIgYmUgaGl0IGFzIGRpc3BhdGNoIGlzIHN0cm9uZ2x5IHR5cGVkLlxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gYWN0aW9uJylcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXJ2ZXJSZWR1Y2VyKFxuICBzdGF0ZTogUmVhZG9ubHlSZWR1Y2VyU3RhdGUsXG4gIF9hY3Rpb246IFJlZHVjZXJBY3Rpb25zXG4pOiBSZWR1Y2VyU3RhdGUge1xuICByZXR1cm4gc3RhdGVcbn1cblxuLy8gd2UgZG9uJ3QgcnVuIHRoZSBjbGllbnQgcmVkdWNlciBvbiB0aGUgc2VydmVyLCBzbyB3ZSB1c2UgYSBub29wIGZ1bmN0aW9uIGZvciBiZXR0ZXIgdHJlZSBzaGFraW5nXG5leHBvcnQgY29uc3QgcmVkdWNlciA9XG4gIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gc2VydmVyUmVkdWNlciA6IGNsaWVudFJlZHVjZXJcbiJdLCJuYW1lcyI6WyJyZWR1Y2VyIiwiY2xpZW50UmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIkFDVElPTl9OQVZJR0FURSIsIm5hdmlnYXRlUmVkdWNlciIsIkFDVElPTl9TRVJWRVJfUEFUQ0giLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLCJBQ1RJT05fUkVTVE9SRSIsInJlc3RvcmVSZWR1Y2VyIiwiQUNUSU9OX1JFRlJFU0giLCJyZWZyZXNoUmVkdWNlciIsIkFDVElPTl9ITVJfUkVGUkVTSCIsImhtclJlZnJlc2hSZWR1Y2VyIiwiQUNUSU9OX1BSRUZFVENIIiwicHJlZmV0Y2hSZWR1Y2VyIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJzZXJ2ZXJBY3Rpb25SZWR1Y2VyIiwiRXJyb3IiLCJzZXJ2ZXJSZWR1Y2VyIiwiX2FjdGlvbiIsIndpbmRvdyJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js ***! \***************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/* __next_internal_client_entry_do_not_use__ cjs */ \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 setCacheBustingSearchParam: function() {\n return setCacheBustingSearchParam;\n },\n setCacheBustingSearchParamWithHash: function() {\n return setCacheBustingSearchParamWithHash;\n }\n});\nconst _cachebustingsearchparam = __webpack_require__(/*! ../../../shared/lib/router/utils/cache-busting-search-param */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/cache-busting-search-param.js\");\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst setCacheBustingSearchParam = (url, headers)=>{\n const uniqueCacheKey = (0, _cachebustingsearchparam.computeCacheBustingSearchParam)(headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER], headers[_approuterheaders.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER], headers[_approuterheaders.NEXT_ROUTER_STATE_TREE_HEADER], headers[_approuterheaders.NEXT_URL]);\n setCacheBustingSearchParamWithHash(url, uniqueCacheKey);\n};\nconst setCacheBustingSearchParamWithHash = (url, hash)=>{\n /**\n * Note that we intentionally do not use `url.searchParams.set` here:\n *\n * const url = new URL('https://example.com/search?q=custom%20spacing');\n * url.searchParams.set('_rsc', 'abc123');\n * console.log(url.toString()); // Outputs: https://example.com/search?q=custom+spacing&_rsc=abc123\n * ^ <--- this is causing confusion\n * This is in fact intended based on https://url.spec.whatwg.org/#interface-urlsearchparams, but\n * we want to preserve the %20 as %20 if that's what the user passed in, hence the custom\n * logic below.\n */ const existingSearch = url.search;\n const rawQuery = existingSearch.startsWith('?') ? existingSearch.slice(1) : existingSearch;\n // Always remove any existing cache busting param and add a fresh one to ensure\n // we have the correct value based on current request headers\n const pairs = rawQuery.split('&').filter((pair)=>pair && !pair.startsWith(\"\" + _approuterheaders.NEXT_RSC_UNION_QUERY + \"=\"));\n if (hash.length > 0) {\n pairs.push(_approuterheaders.NEXT_RSC_UNION_QUERY + \"=\" + hash);\n } else {\n pairs.push(\"\" + _approuterheaders.NEXT_RSC_UNION_QUERY);\n }\n url.search = pairs.length ? \"?\" + pairs.join('&') : '';\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=set-cache-busting-search-param.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvc2V0LWNhY2hlLWJ1c3Rpbmctc2VhcmNoLXBhcmFtLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQTRCYUEsMEJBQTBCO2VBQTFCQTs7SUE2QkFDLGtDQUFrQztlQUFsQ0E7OztxREF2RGtDOzhDQU94QztBQW1CQSxNQUFNRCw2QkFBNkIsQ0FDeENFLEtBQ0FDO0lBRUEsTUFBTUMsaUJBQWlCQyxDQUFBQSxHQUFBQSx5QkFBQUEsOEJBQUFBLEVBQ3JCRixPQUFPLENBQUNHLGtCQUFBQSwyQkFBMkIsQ0FBQyxFQUNwQ0gsT0FBTyxDQUFDSSxrQkFBQUEsbUNBQW1DLENBQUMsRUFDNUNKLE9BQU8sQ0FBQ0ssa0JBQUFBLDZCQUE2QixDQUFDLEVBQ3RDTCxPQUFPLENBQUNNLGtCQUFBQSxRQUFRLENBQUM7SUFFbkJSLG1DQUFtQ0MsS0FBS0U7QUFDMUM7QUFrQk8sTUFBTUgscUNBQXFDLENBQ2hEQyxLQUNBUTtJQUVBOzs7Ozs7Ozs7O0dBVUMsR0FDRCxNQUFNQyxpQkFBaUJULElBQUlVLE1BQU07SUFDakMsTUFBTUMsV0FBV0YsZUFBZUcsVUFBVSxDQUFDLE9BQ3ZDSCxlQUFlSSxLQUFLLENBQUMsS0FDckJKO0lBRUosK0VBQStFO0lBQy9FLDZEQUE2RDtJQUM3RCxNQUFNSyxRQUFRSCxTQUNYSSxLQUFLLENBQUMsS0FDTkMsTUFBTSxDQUFDLENBQUNDLE9BQVNBLFFBQVEsQ0FBQ0EsS0FBS0wsVUFBVSxDQUFFLEtBQUVNLGtCQUFBQSxvQkFBb0IsR0FBQztJQUVyRSxJQUFJVixLQUFLVyxNQUFNLEdBQUcsR0FBRztRQUNuQkwsTUFBTU0sSUFBSSxDQUFJRixrQkFBQUEsb0JBQW9CLEdBQUMsTUFBR1Y7SUFDeEMsT0FBTztRQUNMTSxNQUFNTSxJQUFJLENBQUUsS0FBRUYsa0JBQUFBLG9CQUFvQjtJQUNwQztJQUNBbEIsSUFBSVUsTUFBTSxHQUFHSSxNQUFNSyxNQUFNLEdBQUksTUFBR0wsTUFBTU8sSUFBSSxDQUFDLE9BQVM7QUFDdEQiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9zZXQtY2FjaGUtYnVzdGluZy1zZWFyY2gtcGFyYW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB7IGNvbXB1dGVDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2NhY2hlLWJ1c3Rpbmctc2VhcmNoLXBhcmFtJ1xuaW1wb3J0IHtcbiAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSLFxuICBORVhUX1JPVVRFUl9TRUdNRU5UX1BSRUZFVENIX0hFQURFUixcbiAgTkVYVF9ST1VURVJfU1RBVEVfVFJFRV9IRUFERVIsXG4gIE5FWFRfVVJMLFxuICBORVhUX1JTQ19VTklPTl9RVUVSWSxcbn0gZnJvbSAnLi4vYXBwLXJvdXRlci1oZWFkZXJzJ1xuaW1wb3J0IHR5cGUgeyBSZXF1ZXN0SGVhZGVycyB9IGZyb20gJy4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlJ1xuXG4vKipcbiAqIE11dGF0ZXMgdGhlIHByb3ZpZGVkIFVSTCBieSBhZGRpbmcgYSBjYWNoZS1idXN0aW5nIHNlYXJjaCBwYXJhbWV0ZXIgZm9yIENETnMgdGhhdCBkb24ndFxuICogc3VwcG9ydCBjdXN0b20gaGVhZGVycy4gVGhpcyBoZWxwcyBhdm9pZCBjYWNoaW5nIGNvbmZsaWN0cyBieSBtYWtpbmcgZWFjaCByZXF1ZXN0IHVuaXF1ZS5cbiAqXG4gKiBSYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBWYXJ5IGhlYWRlciB3aGljaCBzb21lIENETnMgaWdub3JlLCB3ZSBhcHBlbmQgYSBzZWFyY2ggcGFyYW1cbiAqIHRvIGNyZWF0ZSBhIHVuaXF1ZSBVUkwgdGhhdCBmb3JjZXMgYSBmcmVzaCByZXF1ZXN0LlxuICpcbiAqIEV4YW1wbGU6XG4gKiBVUkwgYmVmb3JlOiBodHRwczovL2V4YW1wbGUuY29tL3BhdGg/cXVlcnk9MVxuICogVVJMIGFmdGVyOiBodHRwczovL2V4YW1wbGUuY29tL3BhdGg/cXVlcnk9MSZfcnNjPWFiYzEyM1xuICpcbiAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gbXV0YXRlcyB0aGUgaW5wdXQgVVJMIGRpcmVjdGx5IGFuZCBkb2VzIG5vdCByZXR1cm4gYW55dGhpbmcuXG4gKlxuICogVE9ETzogU2luY2Ugd2UgbmVlZCB0byB1c2UgYSBzZWFyY2ggcGFyYW0gYW55d2F5LCB3ZSBjb3VsZCBzaW1wbGlmeSBieSByZW1vdmluZyB0aGUgY3VzdG9tXG4gKiBoZWFkZXJzIGFwcHJvYWNoIGVudGlyZWx5IGFuZCBqdXN0IHVzZSBzZWFyY2ggcGFyYW1zLlxuICovXG5leHBvcnQgY29uc3Qgc2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0gPSAoXG4gIHVybDogVVJMLFxuICBoZWFkZXJzOiBSZXF1ZXN0SGVhZGVyc1xuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHVuaXF1ZUNhY2hlS2V5ID0gY29tcHV0ZUNhY2hlQnVzdGluZ1NlYXJjaFBhcmFtKFxuICAgIGhlYWRlcnNbTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSxcbiAgICBoZWFkZXJzW05FWFRfUk9VVEVSX1NFR01FTlRfUFJFRkVUQ0hfSEVBREVSXSxcbiAgICBoZWFkZXJzW05FWFRfUk9VVEVSX1NUQVRFX1RSRUVfSEVBREVSXSxcbiAgICBoZWFkZXJzW05FWFRfVVJMXVxuICApXG4gIHNldENhY2hlQnVzdGluZ1NlYXJjaFBhcmFtV2l0aEhhc2godXJsLCB1bmlxdWVDYWNoZUtleSlcbn1cblxuLyoqXG4gKiBTZXRzIGEgY2FjaGUtYnVzdGluZyBzZWFyY2ggcGFyYW1ldGVyIG9uIGEgVVJMIHVzaW5nIGEgcHJvdmlkZWQgaGFzaCB2YWx1ZS5cbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIHBlcmZvcm1zIHRoZSBzYW1lIGxvZ2ljIGFzIGBzZXRDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbWAgYnV0IGFjY2VwdHNcbiAqIGEgcHJlLWNvbXB1dGVkIGhhc2ggaW5zdGVhZCBvZiBjb21wdXRpbmcgaXQgZnJvbSBoZWFkZXJzLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBVUkwgYmVmb3JlOiBodHRwczovL2V4YW1wbGUuY29tL3BhdGg/cXVlcnk9MVxuICogaGFzaDogXCJhYmMxMjNcIlxuICogVVJMIGFmdGVyOiBodHRwczovL2V4YW1wbGUuY29tL3BhdGg/cXVlcnk9MSZfcnNjPWFiYzEyM1xuICpcbiAqIElmIHRoZSBoYXNoIGlzIG51bGwsIHdlIHdpbGwgc2V0IGBfcnNjYCBzZWFyY2ggcGFyYW0gd2l0aG91dCBhIHZhbHVlLlxuICogTGlrZSB0aGlzOiBodHRwczovL2V4YW1wbGUuY29tL3BhdGg/cXVlcnk9MSZfcnNjXG4gKlxuICogTm90ZTogVGhpcyBmdW5jdGlvbiBtdXRhdGVzIHRoZSBpbnB1dCBVUkwgZGlyZWN0bHkgYW5kIGRvZXMgbm90IHJldHVybiBhbnl0aGluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldENhY2hlQnVzdGluZ1NlYXJjaFBhcmFtV2l0aEhhc2ggPSAoXG4gIHVybDogVVJMLFxuICBoYXNoOiBzdHJpbmdcbik6IHZvaWQgPT4ge1xuICAvKipcbiAgICogTm90ZSB0aGF0IHdlIGludGVudGlvbmFsbHkgZG8gbm90IHVzZSBgdXJsLnNlYXJjaFBhcmFtcy5zZXRgIGhlcmU6XG4gICAqXG4gICAqIGNvbnN0IHVybCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5jb20vc2VhcmNoP3E9Y3VzdG9tJTIwc3BhY2luZycpO1xuICAgKiB1cmwuc2VhcmNoUGFyYW1zLnNldCgnX3JzYycsICdhYmMxMjMnKTtcbiAgICogY29uc29sZS5sb2codXJsLnRvU3RyaW5nKCkpOyAvLyBPdXRwdXRzOiBodHRwczovL2V4YW1wbGUuY29tL3NlYXJjaD9xPWN1c3RvbStzcGFjaW5nJl9yc2M9YWJjMTIzXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeIDwtLS0gdGhpcyBpcyBjYXVzaW5nIGNvbmZ1c2lvblxuICAgKiBUaGlzIGlzIGluIGZhY3QgaW50ZW5kZWQgYmFzZWQgb24gaHR0cHM6Ly91cmwuc3BlYy53aGF0d2cub3JnLyNpbnRlcmZhY2UtdXJsc2VhcmNocGFyYW1zLCBidXRcbiAgICogd2Ugd2FudCB0byBwcmVzZXJ2ZSB0aGUgJTIwIGFzICUyMCBpZiB0aGF0J3Mgd2hhdCB0aGUgdXNlciBwYXNzZWQgaW4sIGhlbmNlIHRoZSBjdXN0b21cbiAgICogbG9naWMgYmVsb3cuXG4gICAqL1xuICBjb25zdCBleGlzdGluZ1NlYXJjaCA9IHVybC5zZWFyY2hcbiAgY29uc3QgcmF3UXVlcnkgPSBleGlzdGluZ1NlYXJjaC5zdGFydHNXaXRoKCc/JylcbiAgICA/IGV4aXN0aW5nU2VhcmNoLnNsaWNlKDEpXG4gICAgOiBleGlzdGluZ1NlYXJjaFxuXG4gIC8vIEFsd2F5cyByZW1vdmUgYW55IGV4aXN0aW5nIGNhY2hlIGJ1c3RpbmcgcGFyYW0gYW5kIGFkZCBhIGZyZXNoIG9uZSB0byBlbnN1cmVcbiAgLy8gd2UgaGF2ZSB0aGUgY29ycmVjdCB2YWx1ZSBiYXNlZCBvbiBjdXJyZW50IHJlcXVlc3QgaGVhZGVyc1xuICBjb25zdCBwYWlycyA9IHJhd1F1ZXJ5XG4gICAgLnNwbGl0KCcmJylcbiAgICAuZmlsdGVyKChwYWlyKSA9PiBwYWlyICYmICFwYWlyLnN0YXJ0c1dpdGgoYCR7TkVYVF9SU0NfVU5JT05fUVVFUll9PWApKVxuXG4gIGlmIChoYXNoLmxlbmd0aCA+IDApIHtcbiAgICBwYWlycy5wdXNoKGAke05FWFRfUlNDX1VOSU9OX1FVRVJZfT0ke2hhc2h9YClcbiAgfSBlbHNlIHtcbiAgICBwYWlycy5wdXNoKGAke05FWFRfUlNDX1VOSU9OX1FVRVJZfWApXG4gIH1cbiAgdXJsLnNlYXJjaCA9IHBhaXJzLmxlbmd0aCA/IGA/JHtwYWlycy5qb2luKCcmJyl9YCA6ICcnXG59XG4iXSwibmFtZXMiOlsic2V0Q2FjaGVCdXN0aW5nU2VhcmNoUGFyYW0iLCJzZXRDYWNoZUJ1c3RpbmdTZWFyY2hQYXJhbVdpdGhIYXNoIiwidXJsIiwiaGVhZGVycyIsInVuaXF1ZUNhY2hlS2V5IiwiY29tcHV0ZUNhY2hlQnVzdGluZ1NlYXJjaFBhcmFtIiwiTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSIiwiTkVYVF9ST1VURVJfU0VHTUVOVF9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFX0hFQURFUiIsIk5FWFRfVVJMIiwiaGFzaCIsImV4aXN0aW5nU2VhcmNoIiwic2VhcmNoIiwicmF3UXVlcnkiLCJzdGFydHNXaXRoIiwic2xpY2UiLCJwYWlycyIsInNwbGl0IiwiZmlsdGVyIiwicGFpciIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwibGVuZ3RoIiwicHVzaCIsImpvaW4iXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/set-cache-busting-search-param.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"shouldHardNavigate\", ({\n enumerable: true,\n get: function() {\n return shouldHardNavigate;\n }\n}));\nconst _flightdatahelpers = __webpack_require__(/*! ../../flight-data-helpers */ \"(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(app-pages-browser)/./node_modules/next/dist/client/components/match-segments.js\");\nfunction shouldHardNavigate(flightSegmentPath, flightRouterState) {\n const [segment, parallelRoutes] = flightRouterState;\n // TODO-APP: Check if `as` can be replaced.\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Check if current segment matches the existing segment.\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n // If dynamic parameter in tree doesn't match up with segment path a hard navigation is triggered.\n if (Array.isArray(currentSegment)) {\n return true;\n }\n // If the existing segment did not match soft navigation is triggered.\n return false;\n }\n const lastSegment = flightSegmentPath.length <= 2;\n if (lastSegment) {\n return false;\n }\n return shouldHardNavigate((0, _flightdatahelpers.getNextFlightSegmentPath)(flightSegmentPath), parallelRoutes[parallelRouteKey]);\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=should-hard-navigate.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvc2hvdWxkLWhhcmQtbmF2aWdhdGUuanMiLCJtYXBwaW5ncyI6Ijs7OztzREFTZ0JBOzs7ZUFBQUE7OzsrQ0FKeUI7MkNBQ1o7QUFHdEIsU0FBU0EsbUJBQ2RDLGlCQUFpQyxFQUNqQ0MsaUJBQW9DO0lBRXBDLE1BQU0sQ0FBQ0MsU0FBU0MsZUFBZSxHQUFHRjtJQUNsQywyQ0FBMkM7SUFDM0MsTUFBTSxDQUFDRyxnQkFBZ0JDLGlCQUFpQixHQUFHTDtJQUszQyx5REFBeUQ7SUFDekQsSUFBSSxDQUFDTSxDQUFBQSxHQUFBQSxlQUFBQSxZQUFBQSxFQUFhRixnQkFBZ0JGLFVBQVU7UUFDMUMsa0dBQWtHO1FBQ2xHLElBQUlLLE1BQU1DLE9BQU8sQ0FBQ0osaUJBQWlCO1lBQ2pDLE9BQU87UUFDVDtRQUVBLHNFQUFzRTtRQUN0RSxPQUFPO0lBQ1Q7SUFDQSxNQUFNSyxjQUFjVCxrQkFBa0JVLE1BQU0sSUFBSTtJQUVoRCxJQUFJRCxhQUFhO1FBQ2YsT0FBTztJQUNUO0lBRUEsT0FBT1YsbUJBQ0xZLENBQUFBLEdBQUFBLG1CQUFBQSx3QkFBQUEsRUFBeUJYLG9CQUN6QkcsY0FBYyxDQUFDRSxpQkFBaUI7QUFFcEMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9zaG91bGQtaGFyZC1uYXZpZ2F0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEZsaWdodFJvdXRlclN0YXRlLFxuICBGbGlnaHREYXRhUGF0aCxcbiAgU2VnbWVudCxcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvdHlwZXMnXG5pbXBvcnQgeyBnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGggfSBmcm9tICcuLi8uLi9mbGlnaHQtZGF0YS1oZWxwZXJzJ1xuaW1wb3J0IHsgbWF0Y2hTZWdtZW50IH0gZnJvbSAnLi4vbWF0Y2gtc2VnbWVudHMnXG5cbi8vIFRPRE8tQVBQOiBmbGlnaHRTZWdtZW50UGF0aCB3aWxsIGJlIGVtcHR5IGluIGNhc2Ugb2Ygc3RhdGljIHJlc3BvbnNlLCBuZWVkcyB0byBiZSBoYW5kbGVkLlxuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZEhhcmROYXZpZ2F0ZShcbiAgZmxpZ2h0U2VnbWVudFBhdGg6IEZsaWdodERhdGFQYXRoLFxuICBmbGlnaHRSb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGVcbik6IGJvb2xlYW4ge1xuICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZXNdID0gZmxpZ2h0Um91dGVyU3RhdGVcbiAgLy8gVE9ETy1BUFA6IENoZWNrIGlmIGBhc2AgY2FuIGJlIHJlcGxhY2VkLlxuICBjb25zdCBbY3VycmVudFNlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXldID0gZmxpZ2h0U2VnbWVudFBhdGggYXMgW1xuICAgIFNlZ21lbnQsXG4gICAgc3RyaW5nLFxuICBdXG5cbiAgLy8gQ2hlY2sgaWYgY3VycmVudCBzZWdtZW50IG1hdGNoZXMgdGhlIGV4aXN0aW5nIHNlZ21lbnQuXG4gIGlmICghbWF0Y2hTZWdtZW50KGN1cnJlbnRTZWdtZW50LCBzZWdtZW50KSkge1xuICAgIC8vIElmIGR5bmFtaWMgcGFyYW1ldGVyIGluIHRyZWUgZG9lc24ndCBtYXRjaCB1cCB3aXRoIHNlZ21lbnQgcGF0aCBhIGhhcmQgbmF2aWdhdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudFNlZ21lbnQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8vIElmIHRoZSBleGlzdGluZyBzZWdtZW50IGRpZCBub3QgbWF0Y2ggc29mdCBuYXZpZ2F0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBjb25zdCBsYXN0U2VnbWVudCA9IGZsaWdodFNlZ21lbnRQYXRoLmxlbmd0aCA8PSAyXG5cbiAgaWYgKGxhc3RTZWdtZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICByZXR1cm4gc2hvdWxkSGFyZE5hdmlnYXRlKFxuICAgIGdldE5leHRGbGlnaHRTZWdtZW50UGF0aChmbGlnaHRTZWdtZW50UGF0aCksXG4gICAgcGFyYWxsZWxSb3V0ZXNbcGFyYWxsZWxSb3V0ZUtleV1cbiAgKVxufVxuIl0sIm5hbWVzIjpbInNob3VsZEhhcmROYXZpZ2F0ZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJjdXJyZW50U2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJtYXRjaFNlZ21lbnQiLCJBcnJheSIsImlzQXJyYXkiLCJsYXN0U2VnbWVudCIsImxlbmd0aCIsImdldE5leHRGbGlnaHRTZWdtZW50UGF0aCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/segment-cache.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/**\n * Entry point to the Segment Cache implementation.\n *\n * All code related to the Segment Cache lives `segment-cache-impl` directory.\n * Callers access it through this indirection.\n *\n * This is to ensure the code is dead code eliminated from the bundle if the\n * flag is disabled.\n *\n * TODO: This is super tedious. Since experimental flags are an essential part\n * of our workflow, we should establish a better pattern for dead code\n * elimination. Ideally it would be done at the bundler level, like how React's\n * build process works. In the React repo, you don't even need to add any extra\n * configuration per experiment — if the code is not reachable, it gets stripped\n * from the build automatically by Rollup. Or, shorter term, we could stub out\n * experimental modules at build time by updating the build config, i.e. a more\n * automated version of what I'm doing manually in this file.\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 NavigationResultTag: function() {\n return NavigationResultTag;\n },\n PrefetchPriority: function() {\n return PrefetchPriority;\n },\n cancelPrefetchTask: function() {\n return cancelPrefetchTask;\n },\n createCacheKey: function() {\n return createCacheKey;\n },\n getCurrentCacheVersion: function() {\n return getCurrentCacheVersion;\n },\n isPrefetchTaskDirty: function() {\n return isPrefetchTaskDirty;\n },\n navigate: function() {\n return navigate;\n },\n prefetch: function() {\n return prefetch;\n },\n reschedulePrefetchTask: function() {\n return reschedulePrefetchTask;\n },\n revalidateEntireCache: function() {\n return revalidateEntireCache;\n },\n schedulePrefetchTask: function() {\n return schedulePrefetchTask;\n }\n});\nconst notEnabled = ()=>{\n throw Object.defineProperty(new Error('Segment Cache experiment is not enabled. This is a bug in Next.js.'), \"__NEXT_ERROR_CODE\", {\n value: \"E654\",\n enumerable: false,\n configurable: true\n });\n};\nconst prefetch = false ? 0 : notEnabled;\nconst navigate = false ? 0 : notEnabled;\nconst revalidateEntireCache = false ? 0 : notEnabled;\nconst getCurrentCacheVersion = false ? 0 : notEnabled;\nconst schedulePrefetchTask = false ? 0 : notEnabled;\nconst cancelPrefetchTask = false ? 0 : notEnabled;\nconst reschedulePrefetchTask = false ? 0 : notEnabled;\nconst isPrefetchTaskDirty = false ? 0 : notEnabled;\nconst createCacheKey = false ? 0 : notEnabled;\nvar NavigationResultTag = /*#__PURE__*/ function(NavigationResultTag) {\n NavigationResultTag[NavigationResultTag[\"MPA\"] = 0] = \"MPA\";\n NavigationResultTag[NavigationResultTag[\"Success\"] = 1] = \"Success\";\n NavigationResultTag[NavigationResultTag[\"NoOp\"] = 2] = \"NoOp\";\n NavigationResultTag[NavigationResultTag[\"Async\"] = 3] = \"Async\";\n return NavigationResultTag;\n}({});\nvar PrefetchPriority = /*#__PURE__*/ function(PrefetchPriority) {\n /**\n * Assigned to the most recently hovered/touched link. Special network\n * bandwidth is reserved for this task only. There's only ever one Intent-\n * priority task at a time; when a new Intent task is scheduled, the previous\n * one is bumped down to Default.\n */ PrefetchPriority[PrefetchPriority[\"Intent\"] = 2] = \"Intent\";\n /**\n * The default priority for prefetch tasks.\n */ PrefetchPriority[PrefetchPriority[\"Default\"] = 1] = \"Default\";\n /**\n * Assigned to tasks when they spawn non-blocking background work, like\n * revalidating a partially cached entry to see if more data is available.\n */ PrefetchPriority[PrefetchPriority[\"Background\"] = 0] = \"Background\";\n return PrefetchPriority;\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=segment-cache.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvc2VnbWVudC1jYWNoZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FpQkM7Ozs7Ozs7Ozs7OztJQWlHaUJBLG1CQUFtQjtlQUFuQkE7O0lBVUFDLGdCQUFnQjtlQUFoQkE7O0lBbkRMQyxrQkFBa0I7ZUFBbEJBOztJQTJCQUMsY0FBYztlQUFkQTs7SUE3Q0FDLHNCQUFzQjtlQUF0QkE7O0lBb0NBQyxtQkFBbUI7ZUFBbkJBOztJQXREQUMsUUFBUTtlQUFSQTs7SUFUQUMsUUFBUTtlQUFSQTs7SUFzREFDLHNCQUFzQjtlQUF0QkE7O0lBcENBQyxxQkFBcUI7ZUFBckJBOztJQWtCQUMsb0JBQW9CO2VBQXBCQTs7O0FBMUNiLE1BQU1DLGFBQWtCO0lBQ3RCLE1BQU0scUJBRUwsQ0FGSyxJQUFJQyxNQUNSLHVFQURJO2VBQUE7b0JBQUE7c0JBQUE7SUFFTjtBQUNGO0FBRU8sTUFBTUwsV0FDWE0sTUFBdUMsR0FDbkMsQ0FJQyxHQUNERjtBQUVDLE1BQU1MLFdBQ1hPLE1BQXVDLEdBQ25DLENBSUMsR0FDREY7QUFFQyxNQUFNRix3QkFDWEksTUFBdUMsR0FDbkMsQ0FJQyxHQUNERjtBQUVDLE1BQU1QLHlCQUNYUyxNQUF1QyxHQUNuQyxDQUlDLEdBQ0RGO0FBRUMsTUFBTUQsdUJBQ1hHLE1BQXVDLEdBQ25DLENBSUMsR0FDREY7QUFFQyxNQUFNVCxxQkFDWFcsTUFBdUMsR0FDbkMsQ0FJQyxHQUNERjtBQUVDLE1BQU1ILHlCQUNYSyxNQUF1QyxHQUNuQyxDQUlDLEdBQ0RGO0FBRUMsTUFBTU4sc0JBQ1hRLE1BQXVDLEdBQ25DLENBSUMsR0FDREY7QUFFQyxNQUFNUixpQkFDWFUsTUFBdUMsR0FDbkMsQ0FJQyxHQUNERjtBQU9DLElBQVdYLHNCQUFBQSxXQUFBQSxHQUFBQSxTQUFBQSxtQkFBQUE7Ozs7O1dBQUFBOztBQVVYLElBQVdDLG1CQUFBQSxXQUFBQSxHQUFBQSxTQUFBQSxnQkFBQUE7SUFDaEI7Ozs7O0dBS0M7SUFFRDs7R0FFQztJQUVEOzs7R0FHQztXQWZlQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy9zZWdtZW50LWNhY2hlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRW50cnkgcG9pbnQgdG8gdGhlIFNlZ21lbnQgQ2FjaGUgaW1wbGVtZW50YXRpb24uXG4gKlxuICogQWxsIGNvZGUgcmVsYXRlZCB0byB0aGUgU2VnbWVudCBDYWNoZSBsaXZlcyBgc2VnbWVudC1jYWNoZS1pbXBsYCBkaXJlY3RvcnkuXG4gKiBDYWxsZXJzIGFjY2VzcyBpdCB0aHJvdWdoIHRoaXMgaW5kaXJlY3Rpb24uXG4gKlxuICogVGhpcyBpcyB0byBlbnN1cmUgdGhlIGNvZGUgaXMgZGVhZCBjb2RlIGVsaW1pbmF0ZWQgZnJvbSB0aGUgYnVuZGxlIGlmIHRoZVxuICogZmxhZyBpcyBkaXNhYmxlZC5cbiAqXG4gKiBUT0RPOiBUaGlzIGlzIHN1cGVyIHRlZGlvdXMuIFNpbmNlIGV4cGVyaW1lbnRhbCBmbGFncyBhcmUgYW4gZXNzZW50aWFsIHBhcnRcbiAqIG9mIG91ciB3b3JrZmxvdywgd2Ugc2hvdWxkIGVzdGFibGlzaCBhIGJldHRlciBwYXR0ZXJuIGZvciBkZWFkIGNvZGVcbiAqIGVsaW1pbmF0aW9uLiBJZGVhbGx5IGl0IHdvdWxkIGJlIGRvbmUgYXQgdGhlIGJ1bmRsZXIgbGV2ZWwsIGxpa2UgaG93IFJlYWN0J3NcbiAqIGJ1aWxkIHByb2Nlc3Mgd29ya3MuIEluIHRoZSBSZWFjdCByZXBvLCB5b3UgZG9uJ3QgZXZlbiBuZWVkIHRvIGFkZCBhbnkgZXh0cmFcbiAqIGNvbmZpZ3VyYXRpb24gcGVyIGV4cGVyaW1lbnQg4oCUIGlmIHRoZSBjb2RlIGlzIG5vdCByZWFjaGFibGUsIGl0IGdldHMgc3RyaXBwZWRcbiAqIGZyb20gdGhlIGJ1aWxkIGF1dG9tYXRpY2FsbHkgYnkgUm9sbHVwLiBPciwgc2hvcnRlciB0ZXJtLCB3ZSBjb3VsZCBzdHViIG91dFxuICogZXhwZXJpbWVudGFsIG1vZHVsZXMgYXQgYnVpbGQgdGltZSBieSB1cGRhdGluZyB0aGUgYnVpbGQgY29uZmlnLCBpLmUuIGEgbW9yZVxuICogYXV0b21hdGVkIHZlcnNpb24gb2Ygd2hhdCBJJ20gZG9pbmcgbWFudWFsbHkgaW4gdGhpcyBmaWxlLlxuICovXG5cbmV4cG9ydCB0eXBlIHsgTmF2aWdhdGlvblJlc3VsdCB9IGZyb20gJy4vc2VnbWVudC1jYWNoZS1pbXBsL25hdmlnYXRpb24nXG5leHBvcnQgdHlwZSB7IFByZWZldGNoVGFzayB9IGZyb20gJy4vc2VnbWVudC1jYWNoZS1pbXBsL3NjaGVkdWxlcidcblxuY29uc3Qgbm90RW5hYmxlZDogYW55ID0gKCkgPT4ge1xuICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgJ1NlZ21lbnQgQ2FjaGUgZXhwZXJpbWVudCBpcyBub3QgZW5hYmxlZC4gVGhpcyBpcyBhIGJ1ZyBpbiBOZXh0LmpzLidcbiAgKVxufVxuXG5leHBvcnQgY29uc3QgcHJlZmV0Y2g6IHR5cGVvZiBpbXBvcnQoJy4vc2VnbWVudC1jYWNoZS1pbXBsL3ByZWZldGNoJykucHJlZmV0Y2ggPVxuICBwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEVcbiAgICA/IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcmVxdWlyZSgnLi9zZWdtZW50LWNhY2hlLWltcGwvcHJlZmV0Y2gnKSBhcyB0eXBlb2YgaW1wb3J0KCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9wcmVmZXRjaCcpXG4gICAgICAgICkucHJlZmV0Y2goLi4uYXJncylcbiAgICAgIH1cbiAgICA6IG5vdEVuYWJsZWRcblxuZXhwb3J0IGNvbnN0IG5hdmlnYXRlOiB0eXBlb2YgaW1wb3J0KCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9uYXZpZ2F0aW9uJykubmF2aWdhdGUgPVxuICBwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEVcbiAgICA/IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcmVxdWlyZSgnLi9zZWdtZW50LWNhY2hlLWltcGwvbmF2aWdhdGlvbicpIGFzIHR5cGVvZiBpbXBvcnQoJy4vc2VnbWVudC1jYWNoZS1pbXBsL25hdmlnYXRpb24nKVxuICAgICAgICApLm5hdmlnYXRlKC4uLmFyZ3MpXG4gICAgICB9XG4gICAgOiBub3RFbmFibGVkXG5cbmV4cG9ydCBjb25zdCByZXZhbGlkYXRlRW50aXJlQ2FjaGU6IHR5cGVvZiBpbXBvcnQoJy4vc2VnbWVudC1jYWNoZS1pbXBsL2NhY2hlJykucmV2YWxpZGF0ZUVudGlyZUNhY2hlID1cbiAgcHJvY2Vzcy5lbnYuX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFXG4gICAgPyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHJlcXVpcmUoJy4vc2VnbWVudC1jYWNoZS1pbXBsL2NhY2hlJykgYXMgdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvY2FjaGUnKVxuICAgICAgICApLnJldmFsaWRhdGVFbnRpcmVDYWNoZSguLi5hcmdzKVxuICAgICAgfVxuICAgIDogbm90RW5hYmxlZFxuXG5leHBvcnQgY29uc3QgZ2V0Q3VycmVudENhY2hlVmVyc2lvbjogdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvY2FjaGUnKS5nZXRDdXJyZW50Q2FjaGVWZXJzaW9uID1cbiAgcHJvY2Vzcy5lbnYuX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFXG4gICAgPyBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHJlcXVpcmUoJy4vc2VnbWVudC1jYWNoZS1pbXBsL2NhY2hlJykgYXMgdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvY2FjaGUnKVxuICAgICAgICApLmdldEN1cnJlbnRDYWNoZVZlcnNpb24oLi4uYXJncylcbiAgICAgIH1cbiAgICA6IG5vdEVuYWJsZWRcblxuZXhwb3J0IGNvbnN0IHNjaGVkdWxlUHJlZmV0Y2hUYXNrOiB0eXBlb2YgaW1wb3J0KCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKS5zY2hlZHVsZVByZWZldGNoVGFzayA9XG4gIHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRVxuICAgID8gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICByZXF1aXJlKCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKSBhcyB0eXBlb2YgaW1wb3J0KCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKVxuICAgICAgICApLnNjaGVkdWxlUHJlZmV0Y2hUYXNrKC4uLmFyZ3MpXG4gICAgICB9XG4gICAgOiBub3RFbmFibGVkXG5cbmV4cG9ydCBjb25zdCBjYW5jZWxQcmVmZXRjaFRhc2s6IHR5cGVvZiBpbXBvcnQoJy4vc2VnbWVudC1jYWNoZS1pbXBsL3NjaGVkdWxlcicpLmNhbmNlbFByZWZldGNoVGFzayA9XG4gIHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRVxuICAgID8gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICByZXF1aXJlKCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKSBhcyB0eXBlb2YgaW1wb3J0KCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKVxuICAgICAgICApLmNhbmNlbFByZWZldGNoVGFzayguLi5hcmdzKVxuICAgICAgfVxuICAgIDogbm90RW5hYmxlZFxuXG5leHBvcnQgY29uc3QgcmVzY2hlZHVsZVByZWZldGNoVGFzazogdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvc2NoZWR1bGVyJykucmVzY2hlZHVsZVByZWZldGNoVGFzayA9XG4gIHByb2Nlc3MuZW52Ll9fTkVYVF9DTElFTlRfU0VHTUVOVF9DQUNIRVxuICAgID8gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICByZXF1aXJlKCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKSBhcyB0eXBlb2YgaW1wb3J0KCcuL3NlZ21lbnQtY2FjaGUtaW1wbC9zY2hlZHVsZXInKVxuICAgICAgICApLnJlc2NoZWR1bGVQcmVmZXRjaFRhc2soLi4uYXJncylcbiAgICAgIH1cbiAgICA6IG5vdEVuYWJsZWRcblxuZXhwb3J0IGNvbnN0IGlzUHJlZmV0Y2hUYXNrRGlydHk6IHR5cGVvZiBpbXBvcnQoJy4vc2VnbWVudC1jYWNoZS1pbXBsL3NjaGVkdWxlcicpLmlzUHJlZmV0Y2hUYXNrRGlydHkgPVxuICBwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEVcbiAgICA/IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcmVxdWlyZSgnLi9zZWdtZW50LWNhY2hlLWltcGwvc2NoZWR1bGVyJykgYXMgdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvc2NoZWR1bGVyJylcbiAgICAgICAgKS5pc1ByZWZldGNoVGFza0RpcnR5KC4uLmFyZ3MpXG4gICAgICB9XG4gICAgOiBub3RFbmFibGVkXG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDYWNoZUtleTogdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvY2FjaGUta2V5JykuY3JlYXRlQ2FjaGVLZXkgPVxuICBwcm9jZXNzLmVudi5fX05FWFRfQ0xJRU5UX1NFR01FTlRfQ0FDSEVcbiAgICA/IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcmVxdWlyZSgnLi9zZWdtZW50LWNhY2hlLWltcGwvY2FjaGUta2V5JykgYXMgdHlwZW9mIGltcG9ydCgnLi9zZWdtZW50LWNhY2hlLWltcGwvY2FjaGUta2V5JylcbiAgICAgICAgKS5jcmVhdGVDYWNoZUtleSguLi5hcmdzKVxuICAgICAgfVxuICAgIDogbm90RW5hYmxlZFxuXG4vKipcbiAqIEJlbG93IGFyZSBwdWJsaWMgY29uc3RhbnRzLiBUaGV5J3JlIHNtYWxsIGVub3VnaCB0aGF0IHdlIGRvbid0IG5lZWQgdG9cbiAqIERDRSB0aGVtLlxuICovXG5cbmV4cG9ydCBjb25zdCBlbnVtIE5hdmlnYXRpb25SZXN1bHRUYWcge1xuICBNUEEsXG4gIFN1Y2Nlc3MsXG4gIE5vT3AsXG4gIEFzeW5jLFxufVxuXG4vKipcbiAqIFRoZSBwcmlvcml0eSBvZiB0aGUgcHJlZmV0Y2ggdGFzay4gSGlnaGVyIG51bWJlcnMgYXJlIGhpZ2hlciBwcmlvcml0eS5cbiAqL1xuZXhwb3J0IGNvbnN0IGVudW0gUHJlZmV0Y2hQcmlvcml0eSB7XG4gIC8qKlxuICAgKiBBc3NpZ25lZCB0byB0aGUgbW9zdCByZWNlbnRseSBob3ZlcmVkL3RvdWNoZWQgbGluay4gU3BlY2lhbCBuZXR3b3JrXG4gICAqIGJhbmR3aWR0aCBpcyByZXNlcnZlZCBmb3IgdGhpcyB0YXNrIG9ubHkuIFRoZXJlJ3Mgb25seSBldmVyIG9uZSBJbnRlbnQtXG4gICAqIHByaW9yaXR5IHRhc2sgYXQgYSB0aW1lOyB3aGVuIGEgbmV3IEludGVudCB0YXNrIGlzIHNjaGVkdWxlZCwgdGhlIHByZXZpb3VzXG4gICAqIG9uZSBpcyBidW1wZWQgZG93biB0byBEZWZhdWx0LlxuICAgKi9cbiAgSW50ZW50ID0gMixcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHByaW9yaXR5IGZvciBwcmVmZXRjaCB0YXNrcy5cbiAgICovXG4gIERlZmF1bHQgPSAxLFxuICAvKipcbiAgICogQXNzaWduZWQgdG8gdGFza3Mgd2hlbiB0aGV5IHNwYXduIG5vbi1ibG9ja2luZyBiYWNrZ3JvdW5kIHdvcmssIGxpa2VcbiAgICogcmV2YWxpZGF0aW5nIGEgcGFydGlhbGx5IGNhY2hlZCBlbnRyeSB0byBzZWUgaWYgbW9yZSBkYXRhIGlzIGF2YWlsYWJsZS5cbiAgICovXG4gIEJhY2tncm91bmQgPSAwLFxufVxuIl0sIm5hbWVzIjpbIk5hdmlnYXRpb25SZXN1bHRUYWciLCJQcmVmZXRjaFByaW9yaXR5IiwiY2FuY2VsUHJlZmV0Y2hUYXNrIiwiY3JlYXRlQ2FjaGVLZXkiLCJnZXRDdXJyZW50Q2FjaGVWZXJzaW9uIiwiaXNQcmVmZXRjaFRhc2tEaXJ0eSIsIm5hdmlnYXRlIiwicHJlZmV0Y2giLCJyZXNjaGVkdWxlUHJlZmV0Y2hUYXNrIiwicmV2YWxpZGF0ZUVudGlyZUNhY2hlIiwic2NoZWR1bGVQcmVmZXRjaFRhc2siLCJub3RFbmFibGVkIiwiRXJyb3IiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0NMSUVOVF9TRUdNRU5UX0NBQ0hFIiwiYXJncyIsInJlcXVpcmUiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/segment-cache.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/unauthorized.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/client/components/unauthorized.js ***! \******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unauthorized\", ({\n enumerable: true,\n get: function() {\n return unauthorized;\n }\n}));\nconst _httpaccessfallback = __webpack_require__(/*! ./http-access-fallback/http-access-fallback */ \"(app-pages-browser)/./node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js\");\n// TODO: Add `unauthorized` docs\n/**\n * @experimental\n * This function allows you to render the [unauthorized.js file](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized)\n * within a route segment as well as inject a tag.\n *\n * `unauthorized()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n *\n * Read more: [Next.js Docs: `unauthorized`](https://nextjs.org/docs/app/api-reference/functions/unauthorized)\n */ const DIGEST = \"\" + _httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE + \";401\";\nfunction unauthorized() {\n if (true) {\n throw Object.defineProperty(new Error(\"`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled.\"), \"__NEXT_ERROR_CODE\", {\n value: \"E411\",\n enumerable: false,\n configurable: true\n });\n }\n // eslint-disable-next-line no-throw-literal\n const error = Object.defineProperty(new Error(DIGEST), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.digest = DIGEST;\n throw error;\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=unauthorized.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5hdXRob3JpemVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Z0RBc0JnQkE7OztlQUFBQTs7O2dEQW5CVDtBQUVQLGdDQUFnQztBQUNoQzs7Ozs7Ozs7Ozs7O0NBWUMsR0FFRCxNQUFNQyxTQUFVLEtBQUVDLG9CQUFBQSw4QkFBOEIsR0FBQztBQUUxQyxTQUFTRjtJQUNkLElBQUksSUFBZ0QsRUFBRTtRQUNwRCxNQUFNLHFCQUVMLENBRkssSUFBSU0sTUFDUCxnSEFERzttQkFBQTt3QkFBQTswQkFBQTtRQUVOO0lBQ0Y7SUFFQSw0Q0FBNEM7SUFDNUMsTUFBTUMsUUFBUSxxQkFBaUIsQ0FBakIsSUFBSUQsTUFBTUwsU0FBVjtlQUFBO29CQUFBO3NCQUFBO0lBQWdCO0lBQzVCTSxNQUFrQ0MsTUFBTSxHQUFHUDtJQUM3QyxNQUFNTTtBQUNSIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL3VuYXV0aG9yaXplZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBIVFRQX0VSUk9SX0ZBTExCQUNLX0VSUk9SX0NPREUsXG4gIHR5cGUgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3IsXG59IGZyb20gJy4vaHR0cC1hY2Nlc3MtZmFsbGJhY2svaHR0cC1hY2Nlc3MtZmFsbGJhY2snXG5cbi8vIFRPRE86IEFkZCBgdW5hdXRob3JpemVkYCBkb2NzXG4vKipcbiAqIEBleHBlcmltZW50YWxcbiAqIFRoaXMgZnVuY3Rpb24gYWxsb3dzIHlvdSB0byByZW5kZXIgdGhlIFt1bmF1dGhvcml6ZWQuanMgZmlsZV0oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2FwaS1yZWZlcmVuY2UvZmlsZS1jb252ZW50aW9ucy91bmF1dGhvcml6ZWQpXG4gKiB3aXRoaW4gYSByb3V0ZSBzZWdtZW50IGFzIHdlbGwgYXMgaW5qZWN0IGEgdGFnLlxuICpcbiAqIGB1bmF1dGhvcml6ZWQoKWAgY2FuIGJlIHVzZWQgaW5cbiAqIFtTZXJ2ZXIgQ29tcG9uZW50c10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcmVuZGVyaW5nL3NlcnZlci1jb21wb25lbnRzKSxcbiAqIFtSb3V0ZSBIYW5kbGVyc10oaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vcm91dGluZy9yb3V0ZS1oYW5kbGVycyksIGFuZFxuICogW1NlcnZlciBBY3Rpb25zXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9kYXRhLWZldGNoaW5nL3NlcnZlci1hY3Rpb25zLWFuZC1tdXRhdGlvbnMpLlxuICpcbiAqXG4gKiBSZWFkIG1vcmU6IFtOZXh0LmpzIERvY3M6IGB1bmF1dGhvcml6ZWRgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdW5hdXRob3JpemVkKVxuICovXG5cbmNvbnN0IERJR0VTVCA9IGAke0hUVFBfRVJST1JfRkFMTEJBQ0tfRVJST1JfQ09ERX07NDAxYFxuXG5leHBvcnQgZnVuY3Rpb24gdW5hdXRob3JpemVkKCk6IG5ldmVyIHtcbiAgaWYgKCFwcm9jZXNzLmVudi5fX05FWFRfRVhQRVJJTUVOVEFMX0FVVEhfSU5URVJSVVBUUykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBcXGB1bmF1dGhvcml6ZWQoKVxcYCBpcyBleHBlcmltZW50YWwgYW5kIG9ubHkgYWxsb3dlZCB0byBiZSB1c2VkIHdoZW4gXFxgZXhwZXJpbWVudGFsLmF1dGhJbnRlcnJ1cHRzXFxgIGlzIGVuYWJsZWQuYFxuICAgIClcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10aHJvdy1saXRlcmFsXG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKERJR0VTVCkgYXMgSFRUUEFjY2Vzc0ZhbGxiYWNrRXJyb3JcbiAgOyhlcnJvciBhcyBIVFRQQWNjZXNzRmFsbGJhY2tFcnJvcikuZGlnZXN0ID0gRElHRVNUXG4gIHRocm93IGVycm9yXG59XG4iXSwibmFtZXMiOlsidW5hdXRob3JpemVkIiwiRElHRVNUIiwiSFRUUF9FUlJPUl9GQUxMQkFDS19FUlJPUl9DT0RFIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9FWFBFUklNRU5UQUxfQVVUSF9JTlRFUlJVUFRTIiwiRXJyb3IiLCJlcnJvciIsImRpZ2VzdCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/unauthorized.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/client/components/unresolved-thenable.js ***! \*************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/**\n * Create a \"Thenable\" that does not resolve. This is used to suspend indefinitely when data is not available yet.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unresolvedThenable\", ({\n enumerable: true,\n get: function() {\n return unresolvedThenable;\n }\n}));\nconst unresolvedThenable = {\n then: ()=>{}\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=unresolved-thenable.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5yZXNvbHZlZC10aGVuYWJsZS5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQzs7OztzREFDWUE7OztlQUFBQTs7O0FBQU4sTUFBTUEscUJBQXFCO0lBQ2hDQyxNQUFNLEtBQU87QUFDZiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy91bnJlc29sdmVkLXRoZW5hYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlIGEgXCJUaGVuYWJsZVwiIHRoYXQgZG9lcyBub3QgcmVzb2x2ZS4gVGhpcyBpcyB1c2VkIHRvIHN1c3BlbmQgaW5kZWZpbml0ZWx5IHdoZW4gZGF0YSBpcyBub3QgYXZhaWxhYmxlIHlldC5cbiAqL1xuZXhwb3J0IGNvbnN0IHVucmVzb2x2ZWRUaGVuYWJsZSA9IHtcbiAgdGhlbjogKCkgPT4ge30sXG59IGFzIFByb21pc2VMaWtlPHZvaWQ+XG4iXSwibmFtZXMiOlsidW5yZXNvbHZlZFRoZW5hYmxlIiwidGhlbiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/unresolved-thenable.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/unstable-rethrow.browser.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/unstable-rethrow.browser.js ***! \******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unstable_rethrow\", ({\n enumerable: true,\n get: function() {\n return unstable_rethrow;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nfunction unstable_rethrow(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error) || (0, _bailouttocsr.isBailoutToCSRError)(error)) {\n throw error;\n }\n if (error instanceof Error && 'cause' in error) {\n unstable_rethrow(error.cause);\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=unstable-rethrow.browser.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5zdGFibGUtcmV0aHJvdy5icm93c2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7b0RBR2dCQTs7O2VBQUFBOzs7MENBSG9COytDQUNGO0FBRTNCLFNBQVNBLGlCQUFpQkMsS0FBYztJQUM3QyxJQUFJQyxDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQUFBLEVBQWtCRCxVQUFVRSxDQUFBQSxHQUFBQSxjQUFBQSxtQkFBQUEsRUFBb0JGLFFBQVE7UUFDMUQsTUFBTUE7SUFDUjtJQUVBLElBQUlBLGlCQUFpQkcsU0FBUyxXQUFXSCxPQUFPO1FBQzlDRCxpQkFBaUJDLE1BQU1JLEtBQUs7SUFDOUI7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy91bnN0YWJsZS1yZXRocm93LmJyb3dzZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNCYWlsb3V0VG9DU1JFcnJvciB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyJ1xuaW1wb3J0IHsgaXNOZXh0Um91dGVyRXJyb3IgfSBmcm9tICcuL2lzLW5leHQtcm91dGVyLWVycm9yJ1xuXG5leHBvcnQgZnVuY3Rpb24gdW5zdGFibGVfcmV0aHJvdyhlcnJvcjogdW5rbm93bik6IHZvaWQge1xuICBpZiAoaXNOZXh0Um91dGVyRXJyb3IoZXJyb3IpIHx8IGlzQmFpbG91dFRvQ1NSRXJyb3IoZXJyb3IpKSB7XG4gICAgdGhyb3cgZXJyb3JcbiAgfVxuXG4gIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmICdjYXVzZScgaW4gZXJyb3IpIHtcbiAgICB1bnN0YWJsZV9yZXRocm93KGVycm9yLmNhdXNlKVxuICB9XG59XG4iXSwibmFtZXMiOlsidW5zdGFibGVfcmV0aHJvdyIsImVycm9yIiwiaXNOZXh0Um91dGVyRXJyb3IiLCJpc0JhaWxvdXRUb0NTUkVycm9yIiwiRXJyb3IiLCJjYXVzZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/unstable-rethrow.browser.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/unstable-rethrow.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/client/components/unstable-rethrow.js ***! \**********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/**\n * This function should be used to rethrow internal Next.js errors so that they can be handled by the framework.\n * When wrapping an API that uses errors to interrupt control flow, you should use this function before you do any error handling.\n * This function will rethrow the error if it is a Next.js error so it can be handled, otherwise it will do nothing.\n *\n * Read more: [Next.js Docs: `unstable_rethrow`](https://nextjs.org/docs/app/api-reference/functions/unstable_rethrow)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"unstable_rethrow\", ({\n enumerable: true,\n get: function() {\n return unstable_rethrow;\n }\n}));\nconst unstable_rethrow = false ? 0 : (__webpack_require__(/*! ./unstable-rethrow.browser */ \"(app-pages-browser)/./node_modules/next/dist/client/components/unstable-rethrow.browser.js\").unstable_rethrow);\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=unstable-rethrow.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdW5zdGFibGUtcmV0aHJvdy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUM7Ozs7b0RBQ1lBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLG1CQUNYLE1BQTZCLEdBRXZCRSxDQUNnQixHQUVoQkEsc0tBQ2dCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9jb21wb25lbnRzL3Vuc3RhYmxlLXJldGhyb3cudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIHRvIHJldGhyb3cgaW50ZXJuYWwgTmV4dC5qcyBlcnJvcnMgc28gdGhhdCB0aGV5IGNhbiBiZSBoYW5kbGVkIGJ5IHRoZSBmcmFtZXdvcmsuXG4gKiBXaGVuIHdyYXBwaW5nIGFuIEFQSSB0aGF0IHVzZXMgZXJyb3JzIHRvIGludGVycnVwdCBjb250cm9sIGZsb3csIHlvdSBzaG91bGQgdXNlIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHlvdSBkbyBhbnkgZXJyb3IgaGFuZGxpbmcuXG4gKiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0aHJvdyB0aGUgZXJyb3IgaWYgaXQgaXMgYSBOZXh0LmpzIGVycm9yIHNvIGl0IGNhbiBiZSBoYW5kbGVkLCBvdGhlcndpc2UgaXQgd2lsbCBkbyBub3RoaW5nLlxuICpcbiAqIFJlYWQgbW9yZTogW05leHQuanMgRG9jczogYHVuc3RhYmxlX3JldGhyb3dgXShodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYXBpLXJlZmVyZW5jZS9mdW5jdGlvbnMvdW5zdGFibGVfcmV0aHJvdylcbiAqL1xuZXhwb3J0IGNvbnN0IHVuc3RhYmxlX3JldGhyb3cgPVxuICB0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJ1xuICAgID8gKFxuICAgICAgICByZXF1aXJlKCcuL3Vuc3RhYmxlLXJldGhyb3cuc2VydmVyJykgYXMgdHlwZW9mIGltcG9ydCgnLi91bnN0YWJsZS1yZXRocm93LnNlcnZlcicpXG4gICAgICApLnVuc3RhYmxlX3JldGhyb3dcbiAgICA6IChcbiAgICAgICAgcmVxdWlyZSgnLi91bnN0YWJsZS1yZXRocm93LmJyb3dzZXInKSBhcyB0eXBlb2YgaW1wb3J0KCcuL3Vuc3RhYmxlLXJldGhyb3cuYnJvd3NlcicpXG4gICAgICApLnVuc3RhYmxlX3JldGhyb3dcbiJdLCJuYW1lcyI6WyJ1bnN0YWJsZV9yZXRocm93Iiwid2luZG93IiwicmVxdWlyZSJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/unstable-rethrow.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/components/use-action-queue.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/client/components/use-action-queue.js ***! \**********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\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 dispatchAppRouterAction: function() {\n return dispatchAppRouterAction;\n },\n useActionQueue: function() {\n return useActionQueue;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"));\nconst _isthenable = __webpack_require__(/*! ../../shared/lib/is-thenable */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/is-thenable.js\");\n// The app router state lives outside of React, so we can import the dispatch\n// method directly wherever we need it, rather than passing it around via props\n// or context.\nlet dispatch = null;\nfunction dispatchAppRouterAction(action) {\n if (dispatch === null) {\n throw Object.defineProperty(new Error('Internal Next.js error: Router action dispatched before initialization.'), \"__NEXT_ERROR_CODE\", {\n value: \"E668\",\n enumerable: false,\n configurable: true\n });\n }\n dispatch(action);\n}\nfunction useActionQueue(actionQueue) {\n _s();\n const [state, setState] = _react.default.useState(actionQueue.state);\n // Because of a known issue that requires to decode Flight streams inside the\n // render phase, we have to be a bit clever and assign the dispatch method to\n // a module-level variable upon initialization. The useState hook in this\n // module only exists to synchronize state that lives outside of React.\n // Ideally, what we'd do instead is pass the state as a prop to root.render;\n // this is conceptually how we're modeling the app router state, despite the\n // weird implementation details.\n if (true) {\n const { useAppDevRenderingIndicator } = __webpack_require__(/*! ../../next-devtools/userspace/use-app-dev-rendering-indicator */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/use-app-dev-rendering-indicator.js\");\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const appDevRenderingIndicator = useAppDevRenderingIndicator();\n dispatch = (action)=>{\n appDevRenderingIndicator(()=>{\n actionQueue.dispatch(action, setState);\n });\n };\n } else {}\n return (0, _isthenable.isThenable)(state) ? (0, _react.use)(state) : state;\n}\n_s(useActionQueue, \"Rp0Tj1zyE8LTecjN/cjTzn46xPo=\");\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-action-queue.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvdXNlLWFjdGlvbi1xdWV1ZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQWVnQkEsdUJBQXVCO2VBQXZCQTs7SUFTQUMsY0FBYztlQUFkQTs7Ozs2RUF2Qlc7d0NBQ0E7QUFRM0IsNkVBQTZFO0FBQzdFLCtFQUErRTtBQUMvRSxjQUFjO0FBQ2QsSUFBSUMsV0FBNEM7QUFFekMsU0FBU0Ysd0JBQXdCRyxNQUFzQjtJQUM1RCxJQUFJRCxhQUFhLE1BQU07UUFDckIsTUFBTSxxQkFFTCxDQUZLLElBQUlFLE1BQ1IsNEVBREk7bUJBQUE7d0JBQUE7MEJBQUE7UUFFTjtJQUNGO0lBQ0FGLFNBQVNDO0FBQ1g7QUFFTyx3QkFDTEUsV0FBaUM7O0lBRWpDLE1BQU0sQ0FBQ0MsT0FBT0MsU0FBUyxHQUFHQyxPQUFBQSxPQUFLLENBQUNDLFFBQVEsQ0FBZUosWUFBWUMsS0FBSztJQUV4RSw2RUFBNkU7SUFDN0UsNkVBQTZFO0lBQzdFLHlFQUF5RTtJQUN6RSx1RUFBdUU7SUFDdkUsNEVBQTRFO0lBQzVFLDRFQUE0RTtJQUM1RSxnQ0FBZ0M7SUFDaEMsSUFBSUksSUFBb0IsRUFBbUI7UUFDekMsTUFBTSxFQUFFRywyQkFBMkIsRUFBRSxHQUNuQ0MsbUJBQU9BLENBQUMsOEtBQStEO1FBQ3pFLHNEQUFzRDtRQUN0RCxNQUFNQywyQkFBMkJGO1FBRWpDWCxXQUFXLENBQUNDO1lBQ1ZZLHlCQUF5QjtnQkFDdkJWLFlBQVlILFFBQVEsQ0FBQ0MsUUFBUUk7WUFDL0I7UUFDRjtJQUNGLE9BQU8sRUFHTjtJQUVELE9BQU9TLENBQUFBLEdBQUFBLFlBQUFBLFVBQVUsRUFBQ1YsU0FBU1csQ0FBQUEsR0FBQUEsT0FBQUEsR0FBQUEsRUFBSVgsU0FBU0E7QUFDMUM7R0E3QmdCTCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvY29tcG9uZW50cy91c2UtYWN0aW9uLXF1ZXVlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzcGF0Y2ggfSBmcm9tICdyZWFjdCdcbmltcG9ydCBSZWFjdCwgeyB1c2UgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGlzVGhlbmFibGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGliL2lzLXRoZW5hYmxlJ1xuaW1wb3J0IHR5cGUgeyBBcHBSb3V0ZXJBY3Rpb25RdWV1ZSB9IGZyb20gJy4vYXBwLXJvdXRlci1pbnN0YW5jZSdcbmltcG9ydCB0eXBlIHtcbiAgQXBwUm91dGVyU3RhdGUsXG4gIFJlZHVjZXJBY3Rpb25zLFxuICBSZWR1Y2VyU3RhdGUsXG59IGZyb20gJy4vcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXMnXG5cbi8vIFRoZSBhcHAgcm91dGVyIHN0YXRlIGxpdmVzIG91dHNpZGUgb2YgUmVhY3QsIHNvIHdlIGNhbiBpbXBvcnQgdGhlIGRpc3BhdGNoXG4vLyBtZXRob2QgZGlyZWN0bHkgd2hlcmV2ZXIgd2UgbmVlZCBpdCwgcmF0aGVyIHRoYW4gcGFzc2luZyBpdCBhcm91bmQgdmlhIHByb3BzXG4vLyBvciBjb250ZXh0LlxubGV0IGRpc3BhdGNoOiBEaXNwYXRjaDxSZWR1Y2VyQWN0aW9ucz4gfCBudWxsID0gbnVsbFxuXG5leHBvcnQgZnVuY3Rpb24gZGlzcGF0Y2hBcHBSb3V0ZXJBY3Rpb24oYWN0aW9uOiBSZWR1Y2VyQWN0aW9ucykge1xuICBpZiAoZGlzcGF0Y2ggPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnSW50ZXJuYWwgTmV4dC5qcyBlcnJvcjogUm91dGVyIGFjdGlvbiBkaXNwYXRjaGVkIGJlZm9yZSBpbml0aWFsaXphdGlvbi4nXG4gICAgKVxuICB9XG4gIGRpc3BhdGNoKGFjdGlvbilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZUFjdGlvblF1ZXVlKFxuICBhY3Rpb25RdWV1ZTogQXBwUm91dGVyQWN0aW9uUXVldWVcbik6IEFwcFJvdXRlclN0YXRlIHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSBSZWFjdC51c2VTdGF0ZTxSZWR1Y2VyU3RhdGU+KGFjdGlvblF1ZXVlLnN0YXRlKVxuXG4gIC8vIEJlY2F1c2Ugb2YgYSBrbm93biBpc3N1ZSB0aGF0IHJlcXVpcmVzIHRvIGRlY29kZSBGbGlnaHQgc3RyZWFtcyBpbnNpZGUgdGhlXG4gIC8vIHJlbmRlciBwaGFzZSwgd2UgaGF2ZSB0byBiZSBhIGJpdCBjbGV2ZXIgYW5kIGFzc2lnbiB0aGUgZGlzcGF0Y2ggbWV0aG9kIHRvXG4gIC8vIGEgbW9kdWxlLWxldmVsIHZhcmlhYmxlIHVwb24gaW5pdGlhbGl6YXRpb24uIFRoZSB1c2VTdGF0ZSBob29rIGluIHRoaXNcbiAgLy8gbW9kdWxlIG9ubHkgZXhpc3RzIHRvIHN5bmNocm9uaXplIHN0YXRlIHRoYXQgbGl2ZXMgb3V0c2lkZSBvZiBSZWFjdC5cbiAgLy8gSWRlYWxseSwgd2hhdCB3ZSdkIGRvIGluc3RlYWQgaXMgcGFzcyB0aGUgc3RhdGUgYXMgYSBwcm9wIHRvIHJvb3QucmVuZGVyO1xuICAvLyB0aGlzIGlzIGNvbmNlcHR1YWxseSBob3cgd2UncmUgbW9kZWxpbmcgdGhlIGFwcCByb3V0ZXIgc3RhdGUsIGRlc3BpdGUgdGhlXG4gIC8vIHdlaXJkIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY29uc3QgeyB1c2VBcHBEZXZSZW5kZXJpbmdJbmRpY2F0b3IgfSA9XG4gICAgICByZXF1aXJlKCcuLi8uLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS91c2UtYXBwLWRldi1yZW5kZXJpbmctaW5kaWNhdG9yJykgYXMgdHlwZW9mIGltcG9ydCgnLi4vLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvdXNlLWFwcC1kZXYtcmVuZGVyaW5nLWluZGljYXRvcicpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXG4gICAgY29uc3QgYXBwRGV2UmVuZGVyaW5nSW5kaWNhdG9yID0gdXNlQXBwRGV2UmVuZGVyaW5nSW5kaWNhdG9yKClcblxuICAgIGRpc3BhdGNoID0gKGFjdGlvbjogUmVkdWNlckFjdGlvbnMpID0+IHtcbiAgICAgIGFwcERldlJlbmRlcmluZ0luZGljYXRvcigoKSA9PiB7XG4gICAgICAgIGFjdGlvblF1ZXVlLmRpc3BhdGNoKGFjdGlvbiwgc2V0U3RhdGUpXG4gICAgICB9KVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBkaXNwYXRjaCA9IChhY3Rpb246IFJlZHVjZXJBY3Rpb25zKSA9PlxuICAgICAgYWN0aW9uUXVldWUuZGlzcGF0Y2goYWN0aW9uLCBzZXRTdGF0ZSlcbiAgfVxuXG4gIHJldHVybiBpc1RoZW5hYmxlKHN0YXRlKSA/IHVzZShzdGF0ZSkgOiBzdGF0ZVxufVxuIl0sIm5hbWVzIjpbImRpc3BhdGNoQXBwUm91dGVyQWN0aW9uIiwidXNlQWN0aW9uUXVldWUiLCJkaXNwYXRjaCIsImFjdGlvbiIsIkVycm9yIiwiYWN0aW9uUXVldWUiLCJzdGF0ZSIsInNldFN0YXRlIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZUFwcERldlJlbmRlcmluZ0luZGljYXRvciIsInJlcXVpcmUiLCJhcHBEZXZSZW5kZXJpbmdJbmRpY2F0b3IiLCJpc1RoZW5hYmxlIiwidXNlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/components/use-action-queue.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js ***! \********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("/// \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 default: function() {\n return HotReload;\n },\n waitForWebpackRuntimeHotUpdate: function() {\n return waitForWebpackRuntimeHotUpdate;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-runtime.js\");\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(app-pages-browser)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../../../shared/lib/format-webpack-messages */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../../../components/navigation */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/shared.js\");\nconst _nextdevtools = __webpack_require__(/*! next/dist/compiled/next-devtools */ \"(app-pages-browser)/./node_modules/next/dist/compiled/next-devtools/index.js\");\nconst _replayssronlyerrors = __webpack_require__(/*! ../../../../next-devtools/userspace/app/errors/replay-ssr-only-errors */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/errors/replay-ssr-only-errors.js\");\nconst _appdevoverlayerrorboundary = __webpack_require__(/*! ../../../../next-devtools/userspace/app/app-dev-overlay-error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/app-dev-overlay-error-boundary.js\");\nconst _useerrorhandler = __webpack_require__(/*! ../../../../next-devtools/userspace/app/errors/use-error-handler */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/errors/use-error-handler.js\");\nconst _runtimeerrorhandler = __webpack_require__(/*! ../../runtime-error-handler */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/runtime-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ./use-websocket */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/use-websocket.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../../server/dev/hot-reloader-types */ \"(app-pages-browser)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nconst _navigationuntracked = __webpack_require__(/*! ../../../components/navigation-untracked */ \"(app-pages-browser)/./node_modules/next/dist/client/components/navigation-untracked.js\");\nconst _reporthmrlatency = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../report-hmr-latency */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/report-hmr-latency.js\"));\nconst _turbopackhotreloadercommon = __webpack_require__(/*! ../turbopack-hot-reloader-common */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/turbopack-hot-reloader-common.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../../components/app-router-headers */ \"(app-pages-browser)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _useforwardconsolelog = __webpack_require__(/*! ../../../../next-devtools/userspace/app/errors/use-forward-console-log */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/errors/use-forward-console-log.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet webpackStartMsSinceEpoch = null;\nconst turbopackHmr = false ? 0 : null;\nlet pendingHotUpdateWebpack = Promise.resolve();\nlet resolvePendingHotUpdateWebpack = ()=>{};\nfunction setPendingHotUpdateWebpack() {\n pendingHotUpdateWebpack = new Promise((resolve)=>{\n resolvePendingHotUpdateWebpack = ()=>{\n resolve();\n };\n });\n}\nfunction waitForWebpackRuntimeHotUpdate() {\n return pendingHotUpdateWebpack;\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n return module.hot.status() === 'idle';\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === 'idle') {\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split('\\n').slice(0, 5).join('\\n') || err.message || err + '');\n sendMessage(JSON.stringify({\n event: 'client-full-reload',\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdatesWebpack(sendMessage) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n resolvePendingHotUpdateWebpack();\n _nextdevtools.dispatcher.onBuildOk();\n (0, _reporthmrlatency.default)(sendMessage, [], webpackStartMsSinceEpoch, Date.now());\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError || updatedModules == null) {\n if (err) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD);\n } else if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n performFullReload(err, sendMessage);\n return;\n }\n _nextdevtools.dispatcher.onBuildOk();\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdatesWebpack(sendMessage);\n return;\n }\n _nextdevtools.dispatcher.onRefresh();\n resolvePendingHotUpdateWebpack();\n (0, _reporthmrlatency.default)(sendMessage, updatedModules, webpackStartMsSinceEpoch, Date.now());\n if (false) {}\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (updatedModules == null) {\n return null;\n }\n // We should always handle an update, even if updatedModules is empty (but\n // non-null) for any reason. That's what webpack would normally do:\n // https://github.com/webpack/webpack/blob/3aa6b6bc3a64/lib/hmr/HotModuleReplacement.runtime.js#L296-L298\n _nextdevtools.dispatcher.onBeforeRefresh();\n // https://webpack.js.org/api/hot-module-replacement/#apply\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\n/** Handles messages from the server for the App Router. */ function processMessage(obj, sendMessage, processTurbopackMessage, router, appIsrManifestRef, pathnameRef) {\n if (!('action' in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n _nextdevtools.dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate() {\n if (false) {} else {\n tryApplyUpdatesWebpack(sendMessage);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ISR_MANIFEST:\n {\n if (true) {\n if (appIsrManifestRef) {\n appIsrManifestRef.current = obj.data;\n // handle initial status on receiving manifest\n // navigation is handled in useEffect for pathname changes\n // as we'll receive the updated manifest before usePathname\n // triggers for new value\n if (pathnameRef.current in obj.data) {\n _nextdevtools.dispatcher.onStaticIndicator(true);\n } else {\n _nextdevtools.dispatcher.onStaticIndicator(false);\n }\n }\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n _nextdevtools.dispatcher.buildingIndicatorShow();\n if (false) {} else {\n webpackStartMsSinceEpoch = Date.now();\n setPendingHotUpdateWebpack();\n console.log('[Fast Refresh] rebuilding');\n }\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n _nextdevtools.dispatcher.buildingIndicatorHide();\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if ('versionInfo' in obj) _nextdevtools.dispatcher.onVersionInfo(obj.versionInfo);\n if ('debug' in obj && obj.debug) _nextdevtools.dispatcher.onDebugInfo(obj.debug);\n if ('devIndicator' in obj) _nextdevtools.dispatcher.onDevIndicator(obj.devIndicator);\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: 'client-error',\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: 'client-warning',\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn('There were more warnings in other files.\\n' + 'You can find a complete log in the terminal.');\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: 'client-success',\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n handleHotUpdate();\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED,\n data: {\n sessionId: obj.data.sessionId\n }\n });\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n turbopackHmr.onTurbopackMessage(obj);\n _nextdevtools.dispatcher.onBeforeRefresh();\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null, sendMessage);\n }\n _nextdevtools.dispatcher.onRefresh();\n break;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n turbopackHmr == null ? void 0 : turbopackHmr.onServerComponentChanges();\n sendMessage(JSON.stringify({\n event: 'server-component-reload-page',\n clientId: __nextDevClientId,\n hash: obj.hash\n }));\n // Store the latest hash in a session cookie so that it's sent back to the\n // server with any subsequent requests.\n document.cookie = _approuterheaders.NEXT_HMR_REFRESH_HASH_COOKIE + \"=\" + obj.hash;\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n router.hmrRefresh();\n _nextdevtools.dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n turbopackHmr == null ? void 0 : turbopackHmr.onReloadPage();\n sendMessage(JSON.stringify({\n event: 'client-reload-page',\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n turbopackHmr == null ? void 0 : turbopackHmr.onPageAddRemove();\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.hmrRefresh();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children, globalError } = param;\n (0, _useerrorhandler.useErrorHandler)(_nextdevtools.dispatcher.onUnhandledError, _nextdevtools.dispatcher.onUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n (0, _useforwardconsolelog.useForwardConsoleLog)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage, (err)=>performFullReload(err, sendMessage));\n const router = (0, _navigation.useRouter)();\n // We don't want access of the pathname for the dev tools to trigger a dynamic\n // access (as the dev overlay will never be present in production).\n const pathname = (0, _navigationuntracked.useUntrackedPathname)();\n const appIsrManifestRef = (0, _react.useRef)({});\n const pathnameRef = (0, _react.useRef)(pathname);\n if (true) {\n // this conditional is only for dead-code elimination which\n // isn't a runtime conditional only build-time so ignore hooks rule\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n pathnameRef.current = pathname;\n const appIsrManifest = appIsrManifestRef.current;\n if (appIsrManifest) {\n if (pathname && pathname in appIsrManifest) {\n try {\n _nextdevtools.dispatcher.onStaticIndicator(true);\n } catch (reason) {\n let message = '';\n if (reason instanceof DOMException) {\n var _reason_stack;\n // Most likely a SecurityError, because of an unavailable localStorage\n message = (_reason_stack = reason.stack) != null ? _reason_stack : reason.message;\n } else if (reason instanceof Error) {\n var _reason_stack1;\n message = 'Error: ' + reason.message + '\\n' + ((_reason_stack1 = reason.stack) != null ? _reason_stack1 : '');\n } else {\n message = 'Unexpected Exception: ' + reason;\n }\n console.warn('[HMR] ' + message);\n }\n } else {\n _nextdevtools.dispatcher.onStaticIndicator(false);\n }\n }\n }, [\n pathname\n ]);\n }\n (0, _react.useEffect)(()=>{\n const websocket = webSocketRef.current;\n if (!websocket) return;\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n processMessage(obj, sendMessage, processTurbopackMessage, router, appIsrManifestRef, pathnameRef);\n } catch (err) {\n (0, _shared.reportInvalidHmrMessage)(event, err);\n }\n };\n websocket.addEventListener('message', handler);\n return ()=>websocket.removeEventListener('message', handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n processTurbopackMessage,\n appIsrManifestRef\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_appdevoverlayerrorboundary.AppDevOverlayErrorBoundary, {\n globalError: globalError,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_replayssronlyerrors.ReplaySsrOnlyErrors, {\n onBlockingError: _nextdevtools.dispatcher.openErrorOverlay\n }),\n children\n ]\n });\n}\n_c = HotReload;\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=hot-reloader-app.js.map\nvar _c;\n$RefreshReg$(_c, \"HotReload\");\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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvYXBwL2hvdC1yZWxvYWRlci1hcHAuanMiLCJtYXBwaW5ncyI6IkFBQUEsNkNBQTZDOzs7Ozs7Ozs7Ozs7O0lBK2I3QyxPQWlHQztlQWpHdUJBOztJQTFZUkMsOEJBQThCO2VBQTlCQTs7Ozs7bUNBbERtQztnRkFDN0I7NEZBQ1k7d0NBQ1I7b0NBS25COzBDQUNvQjtpREFDUzt3REFDTzs2Q0FDWDtpREFDSTswQ0FNN0I7OENBQ3FDO2lEQUtQO3VGQUNSO3dEQUNBOzhDQUNnQjtrREFFUjtBQUVyQyxJQUFJQyw0QkFBaUM7QUFDckMsSUFBSUMsb0JBQW9CQyxLQUFLQyxLQUFLLENBQUNELEtBQUtFLE1BQU0sS0FBSyxNQUFNQyxLQUFLQyxHQUFHO0FBQ2pFLElBQUlDLFlBQVk7QUFDaEIsSUFBSUMsMkJBQTBDO0FBQzlDLE1BQU1DLGVBQW9DQyxNQUFxQixHQUMzRCxDQUFrQixHQUNsQjtBQUVKLElBQUlJLDBCQUEwQkMsUUFBUUMsT0FBTztBQUM3QyxJQUFJQyxpQ0FBNkMsS0FBTztBQUN4RCxTQUFTQztJQUNQSiwwQkFBMEIsSUFBSUMsUUFBUSxDQUFDQztRQUNyQ0MsaUNBQWlDO1lBQy9CRDtRQUNGO0lBQ0Y7QUFDRjtBQUVPLFNBQVNqQjtJQUNkLE9BQU9lO0FBQ1Q7QUFFQSxrREFBa0Q7QUFDbEQsU0FBU0ssb0JBQW9CQyxJQUFZO0lBQ3ZDLHNDQUFzQztJQUN0Q3BCLDRCQUE0Qm9CO0FBQzlCO0FBRUE7Ozs7Q0FJQyxHQUNELFNBQVNDO0lBQ1AsSUFBSVgsS0FBcUIsRUFBRSxFQUUxQjtJQUVELDRCQUE0QixHQUM1QiwyREFBMkQ7SUFDM0QsOENBQThDO0lBQzlDLE9BQU9WLDhCQUE4QnNCLHVCQUFnQkE7QUFDdkQ7QUFFQSw2Q0FBNkM7QUFDN0MsU0FBU0M7SUFDUCxPQUFPQyxVQUFVLENBQUNFLE1BQU0sT0FBTztBQUNqQztBQUNB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QUFVLDJCQUEyQnNIO3dCQUN2Qzt3QkFFQXJHLFFBQVFDLElBQUksQ0FBQyxXQUFXbEI7b0JBQzFCO2dCQUNGLE9BQU87b0JBQ0xZLGNBQUFBLFVBQVUsQ0FBQzZDLGlCQUFpQixDQUFDO2dCQUMvQjtZQUNGO1FBQ0YsR0FBRztZQUFDd0Q7U0FBUztJQUNmO0lBRUFHLENBQUFBLEdBQUFBLE9BQUFBLFNBQUFBLEVBQVU7UUFDUixNQUFNSSxZQUFZZCxhQUFhbkQsT0FBTztRQUN0QyxJQUFJLENBQUNpRSxXQUFXO1FBRWhCLE1BQU1uSSxVQUFVLENBQUNjO1lBQ2YsSUFBSTtnQkFDRixNQUFNMkIsTUFBTTdCLEtBQUtnRyxLQUFLLENBQUM5RixNQUFNcUQsSUFBSTtnQkFDakMzQixlQUNFQyxLQUNBcEMsYUFDQXFDLHlCQUNBQyxRQUNBQyxtQkFDQUM7WUFFSixFQUFFLE9BQU96QyxLQUFjO2dCQUNyQmdJLENBQUFBLEdBQUFBLFFBQUFBLHVCQUFBQSxFQUF3QnRILE9BQU9WO1lBQ2pDO1FBQ0Y7UUFFQStILFVBQVVFLGdCQUFnQixDQUFDLFdBQVdySTtRQUN0QyxPQUFPLElBQU1tSSxVQUFVRyxtQkFBbUIsQ0FBQyxXQUFXdEk7SUFDeEQsR0FBRztRQUNESztRQUNBc0M7UUFDQTBFO1FBQ0EzRTtRQUNBRTtLQUNEO0lBQ0QscUJBQ0Usc0JBQUMyRiw0QkFBQUEsMEJBQTBCO1FBQUN0QixhQUFhQTs7MEJBQ3ZDLHFCQUFDdUIscUJBQUFBLG1CQUFtQjtnQkFBQ0MsaUJBQWlCbEgsY0FBQUEsVUFBVSxDQUFDbUgsZ0JBQWdCOztZQUNoRTFCOzs7QUFHUDtLQWpHd0IvSSIsInNvdXJjZXMiOlsiL2hvbWUvc3JjL2NsaWVudC9kZXYvaG90LXJlbG9hZGVyL2FwcC9ob3QtcmVsb2FkZXItYXBwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSB0eXBlcz1cIndlYnBhY2svbW9kdWxlLmQudHNcIiAvPlxuXG5pbXBvcnQgdHlwZSB7IFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlRWZmZWN0LCBzdGFydFRyYW5zaXRpb24sIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0cmlwQW5zaSBmcm9tICduZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaSdcbmltcG9ydCBmb3JtYXRXZWJwYWNrTWVzc2FnZXMgZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9mb3JtYXQtd2VicGFjay1tZXNzYWdlcydcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvbmF2aWdhdGlvbidcbmltcG9ydCB7XG4gIFJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQUQsXG4gIFJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUixcbiAgcmVwb3J0SW52YWxpZEhtck1lc3NhZ2UsXG59IGZyb20gJy4uL3NoYXJlZCdcbmltcG9ydCB7IGRpc3BhdGNoZXIgfSBmcm9tICduZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1kZXZ0b29scydcbmltcG9ydCB7IFJlcGxheVNzck9ubHlFcnJvcnMgfSBmcm9tICcuLi8uLi8uLi8uLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvZXJyb3JzL3JlcGxheS1zc3Itb25seS1lcnJvcnMnXG5pbXBvcnQgeyBBcHBEZXZPdmVybGF5RXJyb3JCb3VuZGFyeSB9IGZyb20gJy4uLy4uLy4uLy4uL25leHQtZGV2dG9vbHMvdXNlcnNwYWNlL2FwcC9hcHAtZGV2LW92ZXJsYXktZXJyb3ItYm91bmRhcnknXG5pbXBvcnQgeyB1c2VFcnJvckhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvZXJyb3JzL3VzZS1lcnJvci1oYW5kbGVyJ1xuaW1wb3J0IHsgUnVudGltZUVycm9ySGFuZGxlciB9IGZyb20gJy4uLy4uL3J1bnRpbWUtZXJyb3ItaGFuZGxlcidcbmltcG9ydCB7XG4gIHVzZVNlbmRNZXNzYWdlLFxuICB1c2VUdXJib3BhY2ssXG4gIHVzZVdlYnNvY2tldCxcbiAgdXNlV2Vic29ja2V0UGluZyxcbn0gZnJvbSAnLi91c2Utd2Vic29ja2V0J1xuaW1wb3J0IHsgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmVyL2Rldi9ob3QtcmVsb2FkZXItdHlwZXMnXG5pbXBvcnQgdHlwZSB7XG4gIEhNUl9BQ1RJT05fVFlQRVMsXG4gIFR1cmJvcGFja01zZ1RvQnJvd3Nlcixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmVyL2Rldi9ob3QtcmVsb2FkZXItdHlwZXMnXG5pbXBvcnQgeyB1c2VVbnRyYWNrZWRQYXRobmFtZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvbmF2aWdhdGlvbi11bnRyYWNrZWQnXG5pbXBvcnQgcmVwb3J0SG1yTGF0ZW5jeSBmcm9tICcuLi8uLi9yZXBvcnQtaG1yLWxhdGVuY3knXG5pbXBvcnQgeyBUdXJib3BhY2tIbXIgfSBmcm9tICcuLi90dXJib3BhY2staG90LXJlbG9hZGVyLWNvbW1vbidcbmltcG9ydCB7IE5FWFRfSE1SX1JFRlJFU0hfSEFTSF9DT09LSUUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycydcbmltcG9ydCB0eXBlIHsgR2xvYmFsRXJyb3JTdGF0ZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYXBwLXJvdXRlci1pbnN0YW5jZSdcbmltcG9ydCB7IHVzZUZvcndhcmRDb25zb2xlTG9nIH0gZnJvbSAnLi4vLi4vLi4vLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL2Vycm9ycy91c2UtZm9yd2FyZC1jb25zb2xlLWxvZydcblxubGV0IG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2g6IGFueSA9IG51bGxcbmxldCBfX25leHREZXZDbGllbnRJZCA9IE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwMCArIERhdGUubm93KCkpXG5sZXQgcmVsb2FkaW5nID0gZmFsc2VcbmxldCB3ZWJwYWNrU3RhcnRNc1NpbmNlRXBvY2g6IG51bWJlciB8IG51bGwgPSBudWxsXG5jb25zdCB0dXJib3BhY2tIbXI6IFR1cmJvcGFja0htciB8IG51bGwgPSBwcm9jZXNzLmVudi5UVVJCT1BBQ0tcbiAgPyBuZXcgVHVyYm9wYWNrSG1yKClcbiAgOiBudWxsXG5cbmxldCBwZW5kaW5nSG90VXBkYXRlV2VicGFjayA9IFByb21pc2UucmVzb2x2ZSgpXG5sZXQgcmVzb2x2ZVBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge31cbmZ1bmN0aW9uIHNldFBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrKCkge1xuICBwZW5kaW5nSG90VXBkYXRlV2VicGFjayA9IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgcmVzb2x2ZVBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrID0gKCkgPT4ge1xuICAgICAgcmVzb2x2ZSgpXG4gICAgfVxuICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvcldlYnBhY2tSdW50aW1lSG90VXBkYXRlKCkge1xuICByZXR1cm4gcGVuZGluZ0hvdFVwZGF0ZVdlYnBhY2tcbn1cblxuLy8gVGhlcmUgaXMgYSBuZXdlciB2ZXJzaW9uIG9mIHRoZSBjb2RlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIGhhbmRsZUF2YWlsYWJsZUhhc2goaGFzaDogc3RyaW5nKSB7XG4gIC8vIFVwZGF0ZSBsYXN0IGtub3duIGNvbXBpbGF0aW9uIGhhc2guXG4gIG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggPSBoYXNoXG59XG5cbi8qKlxuICogSXMgdGhlcmUgYSBuZXdlciB2ZXJzaW9uIG9mIHRoaXMgY29kZSBhdmFpbGFibGU/XG4gKiBGb3Igd2VicGFjazogQ2hlY2sgaWYgdGhlIGhhc2ggY2hhbmdlZCBjb21wYXJlZCB0byBfX3dlYnBhY2tfaGFzaF9fXG4gKiBGb3IgVHVyYm9wYWNrOiBBbHdheXMgdHJ1ZSBiZWNhdXNlIGl0IGRvZXNuJ3QgaGF2ZSBfX3dlYnBhY2tfaGFzaF9fXG4gKi9cbmZ1bmN0aW9uIGlzVXBkYXRlQXZhaWxhYmxlKCkge1xuICBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qIGdsb2JhbHMgX193ZWJwYWNrX2hhc2hfXyAqL1xuICAvLyBfX3dlYnBhY2tfaGFzaF9fIGlzIHRoZSBoYXNoIG9mIHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uLlxuICAvLyBJdCdzIGEgZ2xvYmFsIHZhcmlhYmxlIGluamVjdGVkIGJ5IFdlYnBhY2suXG4gIHJldHVybiBtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoICE9PSBfX3dlYnBhY2tfaGFzaF9fXG59XG5cbi8vIFdlYnBhY2sgZGlzYWxsb3dzIHVwZGF0ZXMgaW4gb3RoZXIgc3RhdGVzLlxuZnVuY3Rpb24gY2FuQXBwbHlVcGRhdGVzKCkge1xuICByZXR1cm4gbW9kdWxlLmhvdC5zdGF0dXMoKSA9PT0gJ2lkbGUnXG59XG5mdW5jdGlvbiBhZnRlckFwcGx5VXBkYXRlcyhmbjogYW55KSB7XG4gIGlmIChjYW5BcHBseVVwZGF0ZXMoKSkge1xuICAgIGZuKClcbiAgfSBlbHNlIHtcbiAgICBmdW5jdGlvbiBoYW5kbGVyKHN0YXR1czogYW55KSB7XG4gICAgICBpZiAoc3RhdHVzID09PSAnaWRsZScpIHtcbiAgICAgICAgbW9kdWxlLmhvdC5yZW1vdmVTdGF0dXNIYW5kbGVyKGhhbmRsZXIpXG4gICAgICAgIGZuKClcbiAgICAgIH1cbiAgICB9XG4gICAgbW9kdWxlLmhvdC5hZGRTdGF0dXNIYW5kbGVyKGhhbmRsZXIpXG4gIH1cbn1cblxuZnVuY3Rpb24gcGVyZm9ybUZ1bGxSZWxvYWQoZXJyOiBhbnksIHNlbmRNZXNzYWdlOiBhbnkpIHtcbiAgY29uc3Qgc3RhY2tUcmFjZSA9XG4gICAgZXJyICYmXG4gICAgKChlcnIuc3RhY2sgJiYgZXJyLnN0YWNrLnNwbGl0KCdcXG4nKS5zbGljZSgwLCA1KS5qb2luKCdcXG4nKSkgfHxcbiAgICAgIGVyci5tZXNzYWdlIHx8XG4gICAgICBlcnIgKyAnJylcblxuICBzZW5kTWVzc2FnZShcbiAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBldmVudDogJ2NsaWVudC1mdWxsLXJlbG9hZCcsXG4gICAgICBzdGFja1RyYWNlLFxuICAgICAgaGFkUnVudGltZUVycm9yOiAhIVJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yLFxuICAgICAgZGVwZW5kZW5jeUNoYWluOiBlcnIgPyBlcnIuZGVwZW5kZW5jeUNoYWluIDogdW5kZWZpbmVkLFxuICAgIH0pXG4gIClcblxuICBpZiAocmVsb2FkaW5nKSByZXR1cm5cbiAgcmVsb2FkaW5nID0gdHJ1ZVxuICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbn1cblxuLy8gQXR0ZW1wdCB0byB1cGRhdGUgY29kZSBvbiB0aGUgZmx5LCBmYWxsIGJhY2sgdG8gYSBoYXJkIHJlbG9hZC5cbmZ1bmN0aW9uIHRyeUFwcGx5VXBkYXRlc1dlYnBhY2soc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQpIHtcbiAgaWYgKCFpc1VwZGF0ZUF2YWlsYWJsZSgpIHx8ICFjYW5BcHBseVVwZGF0ZXMoKSkge1xuICAgIHJlc29sdmVQZW5kaW5nSG90VXBkYXRlV2VicGFjaygpXG4gICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKVxuICAgIHJlcG9ydEhtckxhdGVuY3koc2VuZE1lc3NhZ2UsIFtdLCB3ZWJwYWNrU3RhcnRNc1NpbmNlRXBvY2ghLCBEYXRlLm5vdygpKVxuICAgIHJldHVyblxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlQXBwbHlVcGRhdGVzKFxuICAgIGVycjogYW55LFxuICAgIHVwZGF0ZWRNb2R1bGVzOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHwgbnVsbFxuICApIHtcbiAgICBpZiAoZXJyIHx8IFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yIHx8IHVwZGF0ZWRNb2R1bGVzID09IG51bGwpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQUQpXG4gICAgICB9IGVsc2UgaWYgKFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IpXG4gICAgICB9XG4gICAgICBwZXJmb3JtRnVsbFJlbG9hZChlcnIsIHNlbmRNZXNzYWdlKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKVxuXG4gICAgaWYgKGlzVXBkYXRlQXZhaWxhYmxlKCkpIHtcbiAgICAgIC8vIFdoaWxlIHdlIHdlcmUgdXBkYXRpbmcsIHRoZXJlIHdhcyBhIG5ldyB1cGRhdGUhIERvIGl0IGFnYWluLlxuICAgICAgdHJ5QXBwbHlVcGRhdGVzV2VicGFjayhzZW5kTWVzc2FnZSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGRpc3BhdGNoZXIub25SZWZyZXNoKClcbiAgICByZXNvbHZlUGVuZGluZ0hvdFVwZGF0ZVdlYnBhY2soKVxuICAgIHJlcG9ydEhtckxhdGVuY3koXG4gICAgICBzZW5kTWVzc2FnZSxcbiAgICAgIHVwZGF0ZWRNb2R1bGVzLFxuICAgICAgd2VicGFja1N0YXJ0TXNTaW5jZUVwb2NoISxcbiAgICAgIERhdGUubm93KClcbiAgICApXG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgYWZ0ZXJBcHBseVVwZGF0ZXMoKCkgPT4ge1xuICAgICAgICBpZiAoc2VsZi5fX05FWFRfSE1SX0NCKSB7XG4gICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCKClcbiAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IgPSBudWxsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgLy8gaHR0cHM6Ly93ZWJwYWNrLmpzLm9yZy9hcGkvaG90LW1vZHVsZS1yZXBsYWNlbWVudC8jY2hlY2tcbiAgbW9kdWxlLmhvdFxuICAgIC5jaGVjaygvKiBhdXRvQXBwbHkgKi8gZmFsc2UpXG4gICAgLnRoZW4oKHVwZGF0ZWRNb2R1bGVzOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHwgbnVsbCkgPT4ge1xuICAgICAgaWYgKHVwZGF0ZWRNb2R1bGVzID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgLy8gV2Ugc2hvdWxkIGFsd2F5cyBoYW5kbGUgYW4gdXBkYXRlLCBldmVuIGlmIHVwZGF0ZWRNb2R1bGVzIGlzIGVtcHR5IChidXRcbiAgICAgIC8vIG5vbi1udWxsKSBmb3IgYW55IHJlYXNvbi4gVGhhdCdzIHdoYXQgd2VicGFjayB3b3VsZCBub3JtYWxseSBkbzpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrL3dlYnBhY2svYmxvYi8zYWE2YjZiYzNhNjQvbGliL2htci9Ib3RNb2R1bGVSZXBsYWNlbWVudC5ydW50aW1lLmpzI0wyOTYtTDI5OFxuICAgICAgZGlzcGF0Y2hlci5vbkJlZm9yZVJlZnJlc2goKVxuICAgICAgLy8gaHR0cHM6Ly93ZWJwYWNrLmpzLm9yZy9hcGkvaG90LW1vZHVsZS1yZXBsYWNlbWVudC8jYXBwbHlcbiAgICAgIHJldHVybiBtb2R1bGUuaG90LmFwcGx5KClcbiAgICB9KVxuICAgIC50aGVuKFxuICAgICAgKHVwZGF0ZWRNb2R1bGVzOiAoc3RyaW5nIHwgbnVtYmVyKVtdIHwgbnVsbCkgPT4ge1xuICAgICAgICBoYW5kbGVBcHBseVVwZGF0ZXMobnVsbCwgdXBkYXRlZE1vZHVsZXMpXG4gICAgICB9LFxuICAgICAgKGVycjogYW55KSA9PiB7XG4gICAgICAgIGhhbmRsZUFwcGx5VXBkYXRlcyhlcnIsIG51bGwpXG4gICAgICB9XG4gICAgKVxufVxuXG4vKiogSGFuZGxlcyBtZXNzYWdlcyBmcm9tIHRoZSBzZXJ2ZXIgZm9yIHRoZSBBcHAgUm91dGVyLiAqL1xuZnVuY3Rpb24gcHJvY2Vzc01lc3NhZ2UoXG4gIG9iajogSE1SX0FDVElPTl9UWVBFUyxcbiAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQsXG4gIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlOiAobXNnOiBUdXJib3BhY2tNc2dUb0Jyb3dzZXIpID0+IHZvaWQsXG4gIHJvdXRlcjogUmV0dXJuVHlwZTx0eXBlb2YgdXNlUm91dGVyPixcbiAgYXBwSXNyTWFuaWZlc3RSZWY6IFJldHVyblR5cGU8dHlwZW9mIHVzZVJlZj4sXG4gIHBhdGhuYW1lUmVmOiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VSZWY+XG4pIHtcbiAgaWYgKCEoJ2FjdGlvbicgaW4gb2JqKSkge1xuICAgIHJldHVyblxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzKGVycm9yczogUmVhZG9ubHlBcnJheTx1bmtub3duPikge1xuICAgIC8vIFwiTWFzc2FnZVwiIHdlYnBhY2sgbWVzc2FnZXMuXG4gICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0V2VicGFja01lc3NhZ2VzKHtcbiAgICAgIGVycm9yczogZXJyb3JzLFxuICAgICAgd2FybmluZ3M6IFtdLFxuICAgIH0pXG5cbiAgICAvLyBPbmx5IHNob3cgdGhlIGZpcnN0IGVycm9yLlxuICAgIGRpc3BhdGNoZXIub25CdWlsZEVycm9yKGZvcm1hdHRlZC5lcnJvcnNbMF0pXG5cbiAgICAvLyBBbHNvIGxvZyB0aGVtIHRvIHRoZSBjb25zb2xlLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmVycm9ycy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc29sZS5lcnJvcihzdHJpcEFuc2koZm9ybWF0dGVkLmVycm9yc1tpXSkpXG4gICAgfVxuXG4gICAgLy8gRG8gbm90IGF0dGVtcHQgdG8gcmVsb2FkIG5vdy5cbiAgICAvLyBXZSB3aWxsIHJlbG9hZCBvbiBuZXh0IHN1Y2Nlc3MgaW5zdGVhZC5cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xuICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IoZm9ybWF0dGVkLmVycm9yc1swXSlcbiAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUhvdFVwZGF0ZSgpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICBjb25zdCBobXJVcGRhdGUgPSB0dXJib3BhY2tIbXIhLm9uQnVpbHQoKVxuICAgICAgaWYgKGhtclVwZGF0ZSAhPSBudWxsKSB7XG4gICAgICAgIHJlcG9ydEhtckxhdGVuY3koXG4gICAgICAgICAgc2VuZE1lc3NhZ2UsXG4gICAgICAgICAgWy4uLmhtclVwZGF0ZS51cGRhdGVkTW9kdWxlc10sXG4gICAgICAgICAgaG1yVXBkYXRlLnN0YXJ0TXNTaW5jZUVwb2NoLFxuICAgICAgICAgIGhtclVwZGF0ZS5lbmRNc1NpbmNlRXBvY2gsXG4gICAgICAgICAgLy8gc3VwcHJlc3MgdGhlIGBjbGllbnQtaG1yLWxhdGVuY3lgIGV2ZW50IGlmIHRoZSB1cGRhdGUgd2FzIGEgbm8tb3A6XG4gICAgICAgICAgaG1yVXBkYXRlLmhhc1VwZGF0ZXNcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKVxuICAgIH0gZWxzZSB7XG4gICAgICB0cnlBcHBseVVwZGF0ZXNXZWJwYWNrKHNlbmRNZXNzYWdlKVxuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAob2JqLmFjdGlvbikge1xuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLklTUl9NQU5JRkVTVDoge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9ERVZfSU5ESUNBVE9SKSB7XG4gICAgICAgIGlmIChhcHBJc3JNYW5pZmVzdFJlZikge1xuICAgICAgICAgIGFwcElzck1hbmlmZXN0UmVmLmN1cnJlbnQgPSBvYmouZGF0YVxuXG4gICAgICAgICAgLy8gaGFuZGxlIGluaXRpYWwgc3RhdHVzIG9uIHJlY2VpdmluZyBtYW5pZmVzdFxuICAgICAgICAgIC8vIG5hdmlnYXRpb24gaXMgaGFuZGxlZCBpbiB1c2VFZmZlY3QgZm9yIHBhdGhuYW1lIGNoYW5nZXNcbiAgICAgICAgICAvLyBhcyB3ZSdsbCByZWNlaXZlIHRoZSB1cGRhdGVkIG1hbmlmZXN0IGJlZm9yZSB1c2VQYXRobmFtZVxuICAgICAgICAgIC8vIHRyaWdnZXJzIGZvciBuZXcgdmFsdWVcbiAgICAgICAgICBpZiAoKHBhdGhuYW1lUmVmLmN1cnJlbnQgYXMgc3RyaW5nKSBpbiBvYmouZGF0YSkge1xuICAgICAgICAgICAgZGlzcGF0Y2hlci5vblN0YXRpY0luZGljYXRvcih0cnVlKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLm9uU3RhdGljSW5kaWNhdG9yKGZhbHNlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTERJTkc6IHtcbiAgICAgIGRpc3BhdGNoZXIuYnVpbGRpbmdJbmRpY2F0b3JTaG93KClcblxuICAgICAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICB0dXJib3BhY2tIbXIhLm9uQnVpbGRpbmcoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2VicGFja1N0YXJ0TXNTaW5jZUVwb2NoID0gRGF0ZS5ub3coKVxuICAgICAgICBzZXRQZW5kaW5nSG90VXBkYXRlV2VicGFjaygpXG4gICAgICAgIGNvbnNvbGUubG9nKCdbRmFzdCBSZWZyZXNoXSByZWJ1aWxkaW5nJylcbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkJVSUxUOlxuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNZTkM6IHtcbiAgICAgIGRpc3BhdGNoZXIuYnVpbGRpbmdJbmRpY2F0b3JIaWRlKClcblxuICAgICAgaWYgKG9iai5oYXNoKSB7XG4gICAgICAgIGhhbmRsZUF2YWlsYWJsZUhhc2gob2JqLmhhc2gpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgZXJyb3JzLCB3YXJuaW5ncyB9ID0gb2JqXG5cbiAgICAgIC8vIElzIHVuZGVmaW5lZCB3aGVuIGl0J3MgYSAnYnVpbHQnIGV2ZW50XG4gICAgICBpZiAoJ3ZlcnNpb25JbmZvJyBpbiBvYmopIGRpc3BhdGNoZXIub25WZXJzaW9uSW5mbyhvYmoudmVyc2lvbkluZm8pXG4gICAgICBpZiAoJ2RlYnVnJyBpbiBvYmogJiYgb2JqLmRlYnVnKSBkaXNwYXRjaGVyLm9uRGVidWdJbmZvKG9iai5kZWJ1ZylcbiAgICAgIGlmICgnZGV2SW5kaWNhdG9yJyBpbiBvYmopIGRpc3BhdGNoZXIub25EZXZJbmRpY2F0b3Iob2JqLmRldkluZGljYXRvcilcblxuICAgICAgY29uc3QgaGFzRXJyb3JzID0gQm9vbGVhbihlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aClcbiAgICAgIC8vIENvbXBpbGF0aW9uIHdpdGggZXJyb3JzIChlLmcuIHN5bnRheCBlcnJvciBvciBtaXNzaW5nIG1vZHVsZXMpLlxuICAgICAgaWYgKGhhc0Vycm9ycykge1xuICAgICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBldmVudDogJ2NsaWVudC1lcnJvcicsXG4gICAgICAgICAgICBlcnJvckNvdW50OiBlcnJvcnMubGVuZ3RoLFxuICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcblxuICAgICAgICBoYW5kbGVFcnJvcnMoZXJyb3JzKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgaGFzV2FybmluZ3MgPSBCb29sZWFuKHdhcm5pbmdzICYmIHdhcm5pbmdzLmxlbmd0aClcbiAgICAgIGlmIChoYXNXYXJuaW5ncykge1xuICAgICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBldmVudDogJ2NsaWVudC13YXJuaW5nJyxcbiAgICAgICAgICAgIHdhcm5pbmdDb3VudDogd2FybmluZ3MubGVuZ3RoLFxuICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcblxuICAgICAgICAvLyBQcmludCB3YXJuaW5ncyB0byB0aGUgY29uc29sZS5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTWVzc2FnZXMgPSBmb3JtYXRXZWJwYWNrTWVzc2FnZXMoe1xuICAgICAgICAgIHdhcm5pbmdzOiB3YXJuaW5ncyxcbiAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICB9KVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkTWVzc2FnZXMud2FybmluZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBpZiAoaSA9PT0gNSkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAnVGhlcmUgd2VyZSBtb3JlIHdhcm5pbmdzIGluIG90aGVyIGZpbGVzLlxcbicgK1xuICAgICAgICAgICAgICAgICdZb3UgY2FuIGZpbmQgYSBjb21wbGV0ZSBsb2cgaW4gdGhlIHRlcm1pbmFsLidcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnNvbGUud2FybihzdHJpcEFuc2koZm9ybWF0dGVkTWVzc2FnZXMud2FybmluZ3NbaV0pKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gTm8gZWFybHkgcmV0dXJuIGhlcmUgYXMgd2UgbmVlZCB0byBhcHBseSBtb2R1bGVzIGluIHRoZSBzYW1lIHdheSBiZXR3ZWVuIHdhcm5pbmdzIG9ubHkgYW5kIGNvbXBpbGVzIHdpdGhvdXQgd2FybmluZ3NcbiAgICAgIH1cblxuICAgICAgc2VuZE1lc3NhZ2UoXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBldmVudDogJ2NsaWVudC1zdWNjZXNzJyxcbiAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWQsXG4gICAgICAgIH0pXG4gICAgICApXG5cbiAgICAgIGlmIChvYmouYWN0aW9uID09PSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTFQpIHtcbiAgICAgICAgaGFuZGxlSG90VXBkYXRlKClcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYXNlIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5UVVJCT1BBQ0tfQ09OTkVDVEVEOiB7XG4gICAgICBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSh7XG4gICAgICAgIHR5cGU6IEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5UVVJCT1BBQ0tfQ09OTkVDVEVELFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgc2Vzc2lvbklkOiBvYmouZGF0YS5zZXNzaW9uSWQsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuVFVSQk9QQUNLX01FU1NBR0U6IHtcbiAgICAgIHR1cmJvcGFja0htciEub25UdXJib3BhY2tNZXNzYWdlKG9iailcbiAgICAgIGRpc3BhdGNoZXIub25CZWZvcmVSZWZyZXNoKClcbiAgICAgIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlKHtcbiAgICAgICAgdHlwZTogSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlRVUkJPUEFDS19NRVNTQUdFLFxuICAgICAgICBkYXRhOiBvYmouZGF0YSxcbiAgICAgIH0pXG4gICAgICBpZiAoUnVudGltZUVycm9ySGFuZGxlci5oYWRSdW50aW1lRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUilcbiAgICAgICAgcGVyZm9ybUZ1bGxSZWxvYWQobnVsbCwgc2VuZE1lc3NhZ2UpXG4gICAgICB9XG4gICAgICBkaXNwYXRjaGVyLm9uUmVmcmVzaCgpXG4gICAgICBicmVha1xuICAgIH1cbiAgICAvLyBUT0RPLUFQUDogbWFrZSBzZXJ2ZXIgY29tcG9uZW50IGNoYW5nZSBtb3JlIGdyYW51bGFyXG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTOiB7XG4gICAgICB0dXJib3BhY2tIbXI/Lm9uU2VydmVyQ29tcG9uZW50Q2hhbmdlcygpXG4gICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGV2ZW50OiAnc2VydmVyLWNvbXBvbmVudC1yZWxvYWQtcGFnZScsXG4gICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkLFxuICAgICAgICAgIGhhc2g6IG9iai5oYXNoLFxuICAgICAgICB9KVxuICAgICAgKVxuXG4gICAgICAvLyBTdG9yZSB0aGUgbGF0ZXN0IGhhc2ggaW4gYSBzZXNzaW9uIGNvb2tpZSBzbyB0aGF0IGl0J3Mgc2VudCBiYWNrIHRvIHRoZVxuICAgICAgLy8gc2VydmVyIHdpdGggYW55IHN1YnNlcXVlbnQgcmVxdWVzdHMuXG4gICAgICBkb2N1bWVudC5jb29raWUgPSBgJHtORVhUX0hNUl9SRUZSRVNIX0hBU0hfQ09PS0lFfT0ke29iai5oYXNofWBcblxuICAgICAgaWYgKFJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgIGlmIChyZWxvYWRpbmcpIHJldHVyblxuICAgICAgICByZWxvYWRpbmcgPSB0cnVlXG4gICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICAgIH1cblxuICAgICAgc3RhcnRUcmFuc2l0aW9uKCgpID0+IHtcbiAgICAgICAgcm91dGVyLmhtclJlZnJlc2goKVxuICAgICAgICBkaXNwYXRjaGVyLm9uUmVmcmVzaCgpXG4gICAgICB9KVxuXG4gICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgICBpZiAoc2VsZi5fX05FWFRfSE1SX0NCKSB7XG4gICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCKClcbiAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IgPSBudWxsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlJFTE9BRF9QQUdFOiB7XG4gICAgICB0dXJib3BhY2tIbXI/Lm9uUmVsb2FkUGFnZSgpXG4gICAgICBzZW5kTWVzc2FnZShcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGV2ZW50OiAnY2xpZW50LXJlbG9hZC1wYWdlJyxcbiAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWQsXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICBpZiAocmVsb2FkaW5nKSByZXR1cm5cbiAgICAgIHJlbG9hZGluZyA9IHRydWVcbiAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKClcbiAgICB9XG4gICAgY2FzZSBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQURERURfUEFHRTpcbiAgICBjYXNlIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5SRU1PVkVEX1BBR0U6IHtcbiAgICAgIHR1cmJvcGFja0htcj8ub25QYWdlQWRkUmVtb3ZlKClcbiAgICAgIC8vIFRPRE8tQVBQOiBwb3RlbnRpYWxseSBvbmx5IHJlZnJlc2ggaWYgdGhlIGN1cnJlbnRseSB2aWV3ZWQgcGFnZSB3YXMgYWRkZWQvcmVtb3ZlZC5cbiAgICAgIHJldHVybiByb3V0ZXIuaG1yUmVmcmVzaCgpXG4gICAgfVxuICAgIGNhc2UgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNFUlZFUl9FUlJPUjoge1xuICAgICAgY29uc3QgeyBlcnJvckpTT04gfSA9IG9ialxuICAgICAgaWYgKGVycm9ySlNPTikge1xuICAgICAgICBjb25zdCB7IG1lc3NhZ2UsIHN0YWNrIH0gPSBKU09OLnBhcnNlKGVycm9ySlNPTilcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSlcbiAgICAgICAgZXJyb3Iuc3RhY2sgPSBzdGFja1xuICAgICAgICBoYW5kbGVFcnJvcnMoW2Vycm9yXSlcbiAgICAgIH1cbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjYXNlIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5ERVZfUEFHRVNfTUFOSUZFU1RfVVBEQVRFOiB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb3RSZWxvYWQoe1xuICBhc3NldFByZWZpeCxcbiAgY2hpbGRyZW4sXG4gIGdsb2JhbEVycm9yLFxufToge1xuICBhc3NldFByZWZpeDogc3RyaW5nXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGVcbiAgZ2xvYmFsRXJyb3I6IEdsb2JhbEVycm9yU3RhdGVcbn0pIHtcbiAgdXNlRXJyb3JIYW5kbGVyKGRpc3BhdGNoZXIub25VbmhhbmRsZWRFcnJvciwgZGlzcGF0Y2hlci5vblVuaGFuZGxlZFJlamVjdGlvbilcblxuICBjb25zdCB3ZWJTb2NrZXRSZWYgPSB1c2VXZWJzb2NrZXQoYXNzZXRQcmVmaXgpXG5cbiAgdXNlV2Vic29ja2V0UGluZyh3ZWJTb2NrZXRSZWYpXG4gIGNvbnN0IHNlbmRNZXNzYWdlID0gdXNlU2VuZE1lc3NhZ2Uod2ViU29ja2V0UmVmKVxuICB1c2VGb3J3YXJkQ29uc29sZUxvZyh3ZWJTb2NrZXRSZWYpXG4gIGNvbnN0IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlID0gdXNlVHVyYm9wYWNrKHNlbmRNZXNzYWdlLCAoZXJyKSA9PlxuICAgIHBlcmZvcm1GdWxsUmVsb2FkKGVyciwgc2VuZE1lc3NhZ2UpXG4gIClcblxuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxuXG4gIC8vIFdlIGRvbid0IHdhbnQgYWNjZXNzIG9mIHRoZSBwYXRobmFtZSBmb3IgdGhlIGRldiB0b29scyB0byB0cmlnZ2VyIGEgZHluYW1pY1xuICAvLyBhY2Nlc3MgKGFzIHRoZSBkZXYgb3ZlcmxheSB3aWxsIG5ldmVyIGJlIHByZXNlbnQgaW4gcHJvZHVjdGlvbikuXG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlVW50cmFja2VkUGF0aG5hbWUoKVxuICBjb25zdCBhcHBJc3JNYW5pZmVzdFJlZiA9IHVzZVJlZjxSZWNvcmQ8c3RyaW5nLCBmYWxzZSB8IG51bWJlcj4+KHt9KVxuICBjb25zdCBwYXRobmFtZVJlZiA9IHVzZVJlZihwYXRobmFtZSlcblxuICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0RFVl9JTkRJQ0FUT1IpIHtcbiAgICAvLyB0aGlzIGNvbmRpdGlvbmFsIGlzIG9ubHkgZm9yIGRlYWQtY29kZSBlbGltaW5hdGlvbiB3aGljaFxuICAgIC8vIGlzbid0IGEgcnVudGltZSBjb25kaXRpb25hbCBvbmx5IGJ1aWxkLXRpbWUgc28gaWdub3JlIGhvb2tzIHJ1bGVcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcGF0aG5hbWVSZWYuY3VycmVudCA9IHBhdGhuYW1lXG5cbiAgICAgIGNvbnN0IGFwcElzck1hbmlmZXN0ID0gYXBwSXNyTWFuaWZlc3RSZWYuY3VycmVudFxuXG4gICAgICBpZiAoYXBwSXNyTWFuaWZlc3QpIHtcbiAgICAgICAgaWYgKHBhdGhuYW1lICYmIHBhdGhuYW1lIGluIGFwcElzck1hbmlmZXN0KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGRpc3BhdGNoZXIub25TdGF0aWNJbmRpY2F0b3IodHJ1ZSlcbiAgICAgICAgICB9IGNhdGNoIChyZWFzb24pIHtcbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gJydcblxuICAgICAgICAgICAgaWYgKHJlYXNvbiBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgICAvLyBNb3N0IGxpa2VseSBhIFNlY3VyaXR5RXJyb3IsIGJlY2F1c2Ugb2YgYW4gdW5hdmFpbGFibGUgbG9jYWxTdG9yYWdlXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSByZWFzb24uc3RhY2sgPz8gcmVhc29uLm1lc3NhZ2VcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9ICdFcnJvcjogJyArIHJlYXNvbi5tZXNzYWdlICsgJ1xcbicgKyAocmVhc29uLnN0YWNrID8/ICcnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9ICdVbmV4cGVjdGVkIEV4Y2VwdGlvbjogJyArIHJlYXNvblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1tITVJdICcgKyBtZXNzYWdlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXNwYXRjaGVyLm9uU3RhdGljSW5kaWNhdG9yKGZhbHNlKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgW3BhdGhuYW1lXSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgd2Vic29ja2V0ID0gd2ViU29ja2V0UmVmLmN1cnJlbnRcbiAgICBpZiAoIXdlYnNvY2tldCkgcmV0dXJuXG5cbiAgICBjb25zdCBoYW5kbGVyID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQ8YW55PikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZShldmVudC5kYXRhKVxuICAgICAgICBwcm9jZXNzTWVzc2FnZShcbiAgICAgICAgICBvYmosXG4gICAgICAgICAgc2VuZE1lc3NhZ2UsXG4gICAgICAgICAgcHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UsXG4gICAgICAgICAgcm91dGVyLFxuICAgICAgICAgIGFwcElzck1hbmlmZXN0UmVmLFxuICAgICAgICAgIHBhdGhuYW1lUmVmXG4gICAgICAgIClcbiAgICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgICByZXBvcnRJbnZhbGlkSG1yTWVzc2FnZShldmVudCwgZXJyKVxuICAgICAgfVxuICAgIH1cblxuICAgIHdlYnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgaGFuZGxlcilcbiAgICByZXR1cm4gKCkgPT4gd2Vic29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBoYW5kbGVyKVxuICB9LCBbXG4gICAgc2VuZE1lc3NhZ2UsXG4gICAgcm91dGVyLFxuICAgIHdlYlNvY2tldFJlZixcbiAgICBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSxcbiAgICBhcHBJc3JNYW5pZmVzdFJlZixcbiAgXSlcbiAgcmV0dXJuIChcbiAgICA8QXBwRGV2T3ZlcmxheUVycm9yQm91bmRhcnkgZ2xvYmFsRXJyb3I9e2dsb2JhbEVycm9yfT5cbiAgICAgIDxSZXBsYXlTc3JPbmx5RXJyb3JzIG9uQmxvY2tpbmdFcnJvcj17ZGlzcGF0Y2hlci5vcGVuRXJyb3JPdmVybGF5fSAvPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQXBwRGV2T3ZlcmxheUVycm9yQm91bmRhcnk+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJIb3RSZWxvYWQiLCJ3YWl0Rm9yV2VicGFja1J1bnRpbWVIb3RVcGRhdGUiLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiX19uZXh0RGV2Q2xpZW50SWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJEYXRlIiwibm93IiwicmVsb2FkaW5nIiwid2VicGFja1N0YXJ0TXNTaW5jZUVwb2NoIiwidHVyYm9wYWNrSG1yIiwicHJvY2VzcyIsImVudiIsIlRVUkJPUEFDSyIsIlR1cmJvcGFja0htciIsInBlbmRpbmdIb3RVcGRhdGVXZWJwYWNrIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZXNvbHZlUGVuZGluZ0hvdFVwZGF0ZVdlYnBhY2siLCJzZXRQZW5kaW5nSG90VXBkYXRlV2VicGFjayIsImhhbmRsZUF2YWlsYWJsZUhhc2giLCJoYXNoIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsImhhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsInBlcmZvcm1GdWxsUmVsb2FkIiwiZXJyIiwic2VuZE1lc3NhZ2UiLCJzdGFja1RyYWNlIiwic3RhY2siLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsIm1lc3NhZ2UiLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJoYWRSdW50aW1lRXJyb3IiLCJSdW50aW1lRXJyb3JIYW5kbGVyIiwiZGVwZW5kZW5jeUNoYWluIiwidW5kZWZpbmVkIiwid2luZG93IiwibG9jYXRpb24iLCJyZWxvYWQiLCJ0cnlBcHBseVVwZGF0ZXNXZWJwYWNrIiwiZGlzcGF0Y2hlciIsIm9uQnVpbGRPayIsInJlcG9ydEhtckxhdGVuY3kiLCJoYW5kbGVBcHBseVVwZGF0ZXMiLCJ1cGRhdGVkTW9kdWxlcyIsImNvbnNvbGUiLCJ3YXJuIiwiUkVBQ1RfUkVGUkVTSF9GVUxMX1JFTE9BRCIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsIm9uUmVmcmVzaCIsIl9fTkVYVF9URVNUX01PREUiLCJzZWxmIiwiX19ORVhUX0hNUl9DQiIsImNoZWNrIiwidGhlbiIsIm9uQmVmb3JlUmVmcmVzaCIsImFwcGx5IiwicHJvY2Vzc01lc3NhZ2UiLCJvYmoiLCJwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSIsInJvdXRlciIsImFwcElzck1hbmlmZXN0UmVmIiwicGF0aG5hbWVSZWYiLCJoYW5kbGVFcnJvcnMiLCJlcnJvcnMiLCJmb3JtYXR0ZWQiLCJmb3JtYXRXZWJwYWNrTWVzc2FnZXMiLCJ3YXJuaW5ncyIsIm9uQnVpbGRFcnJvciIsImkiLCJsZW5ndGgiLCJlcnJvciIsInN0cmlwQW5zaSIsImhhbmRsZUhvdFVwZGF0ZSIsImhtclVwZGF0ZSIsIm9uQnVpbHQiLCJzdGFydE1zU2luY2VFcG9jaCIsImVuZE1zU2luY2VFcG9jaCIsImhhc1VwZGF0ZXMiLCJhY3Rpb24iLCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIiLCJJU1JfTUFOSUZFU1QiLCJfX05FWFRfREVWX0lORElDQVRPUiIsImN1cnJlbnQiLCJkYXRhIiwib25TdGF0aWNJbmRpY2F0b3IiLCJCVUlMRElORyIsImJ1aWxkaW5nSW5kaWNhdG9yU2hvdyIsIm9uQnVpbGRpbmciLCJsb2ciLCJCVUlMVCIsIlNZTkMiLCJidWlsZGluZ0luZGljYXRvckhpZGUiLCJvblZlcnNpb25JbmZvIiwidmVyc2lvbkluZm8iLCJkZWJ1ZyIsIm9uRGVidWdJbmZvIiwib25EZXZJbmRpY2F0b3IiLCJkZXZJbmRpY2F0b3IiLCJoYXNFcnJvcnMiLCJCb29sZWFuIiwiZXJyb3JDb3VudCIsImNsaWVudElkIiwiaGFzV2FybmluZ3MiLCJ3YXJuaW5nQ291bnQiLCJmb3JtYXR0ZWRNZXNzYWdlcyIsIlRVUkJPUEFDS19DT05ORUNURUQiLCJ0eXBlIiwic2Vzc2lvbklkIiwiVFVSQk9QQUNLX01FU1NBR0UiLCJvblR1cmJvcGFja01lc3NhZ2UiLCJTRVJWRVJfQ09NUE9ORU5UX0NIQU5HRVMiLCJvblNlcnZlckNvbXBvbmVudENoYW5nZXMiLCJkb2N1bWVudCIsImNvb2tpZSIsIk5FWFRfSE1SX1JFRlJFU0hfSEFTSF9DT09LSUUiLCJzdGFydFRyYW5zaXRpb24iLCJobXJSZWZyZXNoIiwiUkVMT0FEX1BBR0UiLCJvblJlbG9hZFBhZ2UiLCJBRERFRF9QQUdFIiwiUkVNT1ZFRF9QQUdFIiwib25QYWdlQWRkUmVtb3ZlIiwiU0VSVkVSX0VSUk9SIiwiZXJyb3JKU09OIiwicGFyc2UiLCJFcnJvciIsIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEUiLCJhc3NldFByZWZpeCIsImNoaWxkcmVuIiwiZ2xvYmFsRXJyb3IiLCJ1c2VFcnJvckhhbmRsZXIiLCJvblVuaGFuZGxlZEVycm9yIiwib25VbmhhbmRsZWRSZWplY3Rpb24iLCJ3ZWJTb2NrZXRSZWYiLCJ1c2VXZWJzb2NrZXQiLCJ1c2VXZWJzb2NrZXRQaW5nIiwidXNlU2VuZE1lc3NhZ2UiLCJ1c2VGb3J3YXJkQ29uc29sZUxvZyIsInVzZVR1cmJvcGFjayIsInVzZVJvdXRlciIsInBhdGhuYW1lIiwidXNlVW50cmFja2VkUGF0aG5hbWUiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJhcHBJc3JNYW5pZmVzdCIsInJlYXNvbiIsIkRPTUV4Y2VwdGlvbiIsIndlYnNvY2tldCIsInJlcG9ydEludmFsaWRIbXJNZXNzYWdlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJBcHBEZXZPdmVybGF5RXJyb3JCb3VuZGFyeSIsIlJlcGxheVNzck9ubHlFcnJvcnMiLCJvbkJsb2NraW5nRXJyb3IiLCJvcGVuRXJyb3JPdmVybGF5Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/hot-reloader-app.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/use-websocket.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/client/dev/hot-reloader/app/use-websocket.js ***! \*****************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\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 useSendMessage: function() {\n return useSendMessage;\n },\n useTurbopack: function() {\n return useTurbopack;\n },\n useWebsocket: function() {\n return useWebsocket;\n },\n useWebsocketPing: function() {\n return useWebsocketPing;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../../shared/lib/app-router-context.shared-runtime */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js\");\nconst _getsocketurl = __webpack_require__(/*! ../get-socket-url */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/get-socket-url.js\");\nfunction useWebsocket(assetPrefix) {\n const webSocketRef = (0, _react.useRef)(undefined);\n (0, _react.useEffect)(()=>{\n if (webSocketRef.current) {\n return;\n }\n const url = (0, _getsocketurl.getSocketUrl)(assetPrefix);\n webSocketRef.current = new window.WebSocket(\"\" + url + \"/_next/webpack-hmr\");\n }, [\n assetPrefix\n ]);\n return webSocketRef;\n}\nfunction useSendMessage(webSocketRef) {\n const sendMessage = (0, _react.useCallback)((data)=>{\n const socket = webSocketRef.current;\n if (!socket || socket.readyState !== socket.OPEN) {\n return;\n }\n return socket.send(data);\n }, [\n webSocketRef\n ]);\n return sendMessage;\n}\nfunction useTurbopack(sendMessage, onUpdateError) {\n const turbopackState = (0, _react.useRef)({\n init: false,\n // Until the dynamic import resolves, queue any turbopack messages which will be replayed.\n queue: [],\n callback: undefined\n });\n const processTurbopackMessage = (0, _react.useCallback)((msg)=>{\n const { callback, queue } = turbopackState.current;\n if (callback) {\n callback(msg);\n } else {\n queue.push(msg);\n }\n }, []);\n (0, _react.useEffect)(()=>{\n const { current: initCurrent } = turbopackState;\n // TODO(WEB-1589): only install if `process.turbopack` set.\n if (initCurrent.init) {\n return;\n }\n initCurrent.init = true;\n Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! @vercel/turbopack-ecmascript-runtime/browser/dev/hmr-client/hmr-client.ts */ \"(app-pages-browser)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\"))).then((param)=>{\n let { connect } = param;\n const { current } = turbopackState;\n connect({\n addMessageListener (cb) {\n current.callback = cb;\n // Replay all Turbopack messages before we were able to establish the HMR client.\n for (const msg of current.queue){\n cb(msg);\n }\n current.queue = undefined;\n },\n sendMessage,\n onUpdateError\n });\n });\n }, [\n sendMessage,\n onUpdateError\n ]);\n return processTurbopackMessage;\n}\nfunction useWebsocketPing(websocketRef) {\n _s();\n const sendMessage = useSendMessage(websocketRef);\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n (0, _react.useEffect)(()=>{\n // Never send pings when using Turbopack as it's not used.\n // Pings were originally used to keep track of active routes in on-demand-entries with webpack.\n if (false) {}\n // Taken from on-demand-entries-client.js\n const interval = setInterval(()=>{\n sendMessage(JSON.stringify({\n event: 'ping',\n tree,\n appDirRoute: true\n }));\n }, 2500);\n return ()=>clearInterval(interval);\n }, [\n tree,\n sendMessage\n ]);\n}\n_s(useWebsocketPing, \"wUse5NG7XMV1uhKK1kY0LLDje8k=\", false, function() {\n return [\n useSendMessage\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-websocket.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvYXBwL3VzZS13ZWJzb2NrZXQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBcUJnQkEsY0FBYztlQUFkQTs7SUFjQUMsWUFBWTtlQUFaQTs7SUE5QkFDLFlBQVk7ZUFBWkE7O0lBc0ZBQyxnQkFBZ0I7ZUFBaEJBOzs7bUNBM0YyQzsyREFDakI7MENBQ2I7QUFHdEIsU0FBU0QsYUFBYUUsV0FBbUI7SUFDOUMsTUFBTUMsZUFBZUMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTSxFQUFZQztJQUV2Q0MsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBQUEsRUFBVTtRQUNSLElBQUlILGFBQWFJLE9BQU8sRUFBRTtZQUN4QjtRQUNGO1FBRUEsTUFBTUMsTUFBTUMsQ0FBQUEsR0FBQUEsY0FBQUEsWUFBQUEsRUFBYVA7UUFFekJDLGFBQWFJLE9BQU8sR0FBRyxJQUFJRyxPQUFPQyxTQUFTLENBQUUsS0FBRUgsTUFBSTtJQUNyRCxHQUFHO1FBQUNOO0tBQVk7SUFFaEIsT0FBT0M7QUFDVDtBQUVPLFNBQVNMLGVBQWVLLFlBQTZDO0lBQzFFLE1BQU1TLGNBQWNDLENBQUFBLEdBQUFBLE9BQUFBLFdBQUFBLEVBQ2xCLENBQUNDO1FBQ0MsTUFBTUMsU0FBU1osYUFBYUksT0FBTztRQUNuQyxJQUFJLENBQUNRLFVBQVVBLE9BQU9DLFVBQVUsS0FBS0QsT0FBT0UsSUFBSSxFQUFFO1lBQ2hEO1FBQ0Y7UUFDQSxPQUFPRixPQUFPRyxJQUFJLENBQUNKO0lBQ3JCLEdBQ0E7UUFBQ1g7S0FBYTtJQUVoQixPQUFPUztBQUNUO0FBRU8sU0FBU2IsYUFDZGEsV0FBOEMsRUFDOUNPLGFBQXFDO0lBRXJDLE1BQU1DLGlCQUFpQmhCLENBQUFBLEdBQUFBLE9BQUFBLE1BQUFBLEVBSXBCO1FBQ0RpQixNQUFNO1FBQ04sMEZBQTBGO1FBQzFGQyxPQUFPLEVBQUU7UUFDVEMsVUFBVWxCO0lBQ1o7SUFFQSxNQUFNbUIsMEJBQTBCWCxDQUFBQSxHQUFBQSxPQUFBQSxXQUFBQSxFQUFZLENBQUNZO1FBQzNDLE1BQU0sRUFBRUYsUUFBUSxFQUFFRCxLQUFLLEVBQUUsR0FBR0YsZUFBZWIsT0FBTztRQUNsRCxJQUFJZ0IsVUFBVTtZQUNaQSxTQUFTRTtRQUNYLE9BQU87WUFDTEgsTUFBT0ksSUFBSSxDQUFDRDtRQUNkO0lBQ0YsR0FBRyxFQUFFO0lBRUxuQixDQUFBQSxHQUFBQSxPQUFBQSxTQUFBQSxFQUFVO1FBQ1IsTUFBTSxFQUFFQyxTQUFTb0IsV0FBVyxFQUFFLEdBQUdQO1FBQ2pDLDJEQUEyRDtRQUMzRCxJQUFJTyxZQUFZTixJQUFJLEVBQUU7WUFDcEI7UUFDRjtRQUNBTSxZQUFZTixJQUFJLEdBQUc7NkVBRW5CLG1CQUNFLENBQ0Esb0tBQ0FPLElBQUksQ0FBQztnQkFBQyxFQUFFQyxPQUFPLEVBQUU7WUFDakIsTUFBTSxFQUFFdEIsT0FBTyxFQUFFLEdBQUdhO1lBQ3BCUyxRQUFRO2dCQUNOQyxvQkFBbUJDLEVBQXdDO29CQUN6RHhCLFFBQVFnQixRQUFRLEdBQUdRO29CQUVuQixpRkFBaUY7b0JBQ2pGLEtBQUssTUFBTU4sT0FBT2xCLFFBQVFlLEtBQUssQ0FBRzt3QkFDaENTLEdBQUdOO29CQUNMO29CQUNBbEIsUUFBUWUsS0FBSyxHQUFHakI7Z0JBQ2xCO2dCQUNBTztnQkFDQU87WUFDRjtRQUNGO0lBQ0YsR0FBRztRQUFDUDtRQUFhTztLQUFjO0lBRS9CLE9BQU9LO0FBQ1Q7QUFFTywwQkFDTFEsWUFBNkM7O0lBRTdDLE1BQU1wQiw2QkFBNkJvQjtJQUNuQyxNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHQyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFBQSxFQUFXQywrQkFBQUEseUJBQXlCO0lBRXJEN0IsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBQUEsRUFBVTtRQUNSLDBEQUEwRDtRQUMxRCwrRkFBK0Y7UUFDL0YsSUFBSThCLEtBQXFCLEVBQUUsRUFFMUI7UUFFRCx5Q0FBeUM7UUFDekMsTUFBTUcsV0FBV0MsWUFBWTtZQUMzQjVCLFlBQ0U2QixLQUFLQyxTQUFTLENBQUM7Z0JBQ2JDLE9BQU87Z0JBQ1BWO2dCQUNBVyxhQUFhO1lBQ2Y7UUFFSixHQUFHO1FBQ0gsT0FBTyxJQUFNQyxjQUFjTjtJQUM3QixHQUFHO1FBQUNOO1FBQU1yQjtLQUFZO0FBQ3hCO0dBekJnQlg7O1FBR01IIiwic291cmNlcyI6WyIvaG9tZS9zcmMvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvYXBwL3VzZS13ZWJzb2NrZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWUnXG5pbXBvcnQgeyBnZXRTb2NrZXRVcmwgfSBmcm9tICcuLi9nZXQtc29ja2V0LXVybCdcbmltcG9ydCB0eXBlIHsgVHVyYm9wYWNrTXNnVG9Ccm93c2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmVyL2Rldi9ob3QtcmVsb2FkZXItdHlwZXMnXG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VXZWJzb2NrZXQoYXNzZXRQcmVmaXg6IHN0cmluZykge1xuICBjb25zdCB3ZWJTb2NrZXRSZWYgPSB1c2VSZWY8V2ViU29ja2V0Pih1bmRlZmluZWQpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAod2ViU29ja2V0UmVmLmN1cnJlbnQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHVybCA9IGdldFNvY2tldFVybChhc3NldFByZWZpeClcblxuICAgIHdlYlNvY2tldFJlZi5jdXJyZW50ID0gbmV3IHdpbmRvdy5XZWJTb2NrZXQoYCR7dXJsfS9fbmV4dC93ZWJwYWNrLWhtcmApXG4gIH0sIFthc3NldFByZWZpeF0pXG5cbiAgcmV0dXJuIHdlYlNvY2tldFJlZlxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlU2VuZE1lc3NhZ2Uod2ViU29ja2V0UmVmOiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VXZWJzb2NrZXQ+KSB7XG4gIGNvbnN0IHNlbmRNZXNzYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGRhdGE6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgc29ja2V0ID0gd2ViU29ja2V0UmVmLmN1cnJlbnRcbiAgICAgIGlmICghc29ja2V0IHx8IHNvY2tldC5yZWFkeVN0YXRlICE9PSBzb2NrZXQuT1BFTikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHJldHVybiBzb2NrZXQuc2VuZChkYXRhKVxuICAgIH0sXG4gICAgW3dlYlNvY2tldFJlZl1cbiAgKVxuICByZXR1cm4gc2VuZE1lc3NhZ2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVR1cmJvcGFjayhcbiAgc2VuZE1lc3NhZ2U6IFJldHVyblR5cGU8dHlwZW9mIHVzZVNlbmRNZXNzYWdlPixcbiAgb25VcGRhdGVFcnJvcjogKGVycjogdW5rbm93bikgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IHR1cmJvcGFja1N0YXRlID0gdXNlUmVmPHtcbiAgICBpbml0OiBib29sZWFuXG4gICAgcXVldWU6IEFycmF5PFR1cmJvcGFja01zZ1RvQnJvd3Nlcj4gfCB1bmRlZmluZWRcbiAgICBjYWxsYmFjazogKChtc2c6IFR1cmJvcGFja01zZ1RvQnJvd3NlcikgPT4gdm9pZCkgfCB1bmRlZmluZWRcbiAgfT4oe1xuICAgIGluaXQ6IGZhbHNlLFxuICAgIC8vIFVudGlsIHRoZSBkeW5hbWljIGltcG9ydCByZXNvbHZlcywgcXVldWUgYW55IHR1cmJvcGFjayBtZXNzYWdlcyB3aGljaCB3aWxsIGJlIHJlcGxheWVkLlxuICAgIHF1ZXVlOiBbXSxcbiAgICBjYWxsYmFjazogdW5kZWZpbmVkLFxuICB9KVxuXG4gIGNvbnN0IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlID0gdXNlQ2FsbGJhY2soKG1zZzogVHVyYm9wYWNrTXNnVG9Ccm93c2VyKSA9PiB7XG4gICAgY29uc3QgeyBjYWxsYmFjaywgcXVldWUgfSA9IHR1cmJvcGFja1N0YXRlLmN1cnJlbnRcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIGNhbGxiYWNrKG1zZylcbiAgICB9IGVsc2Uge1xuICAgICAgcXVldWUhLnB1c2gobXNnKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQ6IGluaXRDdXJyZW50IH0gPSB0dXJib3BhY2tTdGF0ZVxuICAgIC8vIFRPRE8oV0VCLTE1ODkpOiBvbmx5IGluc3RhbGwgaWYgYHByb2Nlc3MudHVyYm9wYWNrYCBzZXQuXG4gICAgaWYgKGluaXRDdXJyZW50LmluaXQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpbml0Q3VycmVudC5pbml0ID0gdHJ1ZVxuXG4gICAgaW1wb3J0KFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciByZXF1aXJlcyBcIm1vZHVsZVJlc29sdXRpb25cIjogXCJub2RlMTZcIiBpbiB0c2NvbmZpZy5qc29uIGFuZCBub3QgLnRzIGV4dGVuc2lvblxuICAgICAgJ0B2ZXJjZWwvdHVyYm9wYWNrLWVjbWFzY3JpcHQtcnVudGltZS9icm93c2VyL2Rldi9obXItY2xpZW50L2htci1jbGllbnQudHMnXG4gICAgKS50aGVuKCh7IGNvbm5lY3QgfSkgPT4ge1xuICAgICAgY29uc3QgeyBjdXJyZW50IH0gPSB0dXJib3BhY2tTdGF0ZVxuICAgICAgY29ubmVjdCh7XG4gICAgICAgIGFkZE1lc3NhZ2VMaXN0ZW5lcihjYjogKG1zZzogVHVyYm9wYWNrTXNnVG9Ccm93c2VyKSA9PiB2b2lkKSB7XG4gICAgICAgICAgY3VycmVudC5jYWxsYmFjayA9IGNiXG5cbiAgICAgICAgICAvLyBSZXBsYXkgYWxsIFR1cmJvcGFjayBtZXNzYWdlcyBiZWZvcmUgd2Ugd2VyZSBhYmxlIHRvIGVzdGFibGlzaCB0aGUgSE1SIGNsaWVudC5cbiAgICAgICAgICBmb3IgKGNvbnN0IG1zZyBvZiBjdXJyZW50LnF1ZXVlISkge1xuICAgICAgICAgICAgY2IobXNnKVxuICAgICAgICAgIH1cbiAgICAgICAgICBjdXJyZW50LnF1ZXVlID0gdW5kZWZpbmVkXG4gICAgICAgIH0sXG4gICAgICAgIHNlbmRNZXNzYWdlLFxuICAgICAgICBvblVwZGF0ZUVycm9yLFxuICAgICAgfSlcbiAgICB9KVxuICB9LCBbc2VuZE1lc3NhZ2UsIG9uVXBkYXRlRXJyb3JdKVxuXG4gIHJldHVybiBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlV2Vic29ja2V0UGluZyhcbiAgd2Vic29ja2V0UmVmOiBSZXR1cm5UeXBlPHR5cGVvZiB1c2VXZWJzb2NrZXQ+XG4pIHtcbiAgY29uc3Qgc2VuZE1lc3NhZ2UgPSB1c2VTZW5kTWVzc2FnZSh3ZWJzb2NrZXRSZWYpXG4gIGNvbnN0IHsgdHJlZSB9ID0gdXNlQ29udGV4dChHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gTmV2ZXIgc2VuZCBwaW5ncyB3aGVuIHVzaW5nIFR1cmJvcGFjayBhcyBpdCdzIG5vdCB1c2VkLlxuICAgIC8vIFBpbmdzIHdlcmUgb3JpZ2luYWxseSB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgYWN0aXZlIHJvdXRlcyBpbiBvbi1kZW1hbmQtZW50cmllcyB3aXRoIHdlYnBhY2suXG4gICAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgLy8gVGFrZW4gZnJvbSBvbi1kZW1hbmQtZW50cmllcy1jbGllbnQuanNcbiAgICBjb25zdCBpbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHNlbmRNZXNzYWdlKFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZXZlbnQ6ICdwaW5nJyxcbiAgICAgICAgICB0cmVlLFxuICAgICAgICAgIGFwcERpclJvdXRlOiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH0sIDI1MDApXG4gICAgcmV0dXJuICgpID0+IGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpXG4gIH0sIFt0cmVlLCBzZW5kTWVzc2FnZV0pXG59XG4iXSwibmFtZXMiOlsidXNlU2VuZE1lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VXZWJzb2NrZXQiLCJ1c2VXZWJzb2NrZXRQaW5nIiwiYXNzZXRQcmVmaXgiLCJ3ZWJTb2NrZXRSZWYiLCJ1c2VSZWYiLCJ1bmRlZmluZWQiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwidXJsIiwiZ2V0U29ja2V0VXJsIiwid2luZG93IiwiV2ViU29ja2V0Iiwic2VuZE1lc3NhZ2UiLCJ1c2VDYWxsYmFjayIsImRhdGEiLCJzb2NrZXQiLCJyZWFkeVN0YXRlIiwiT1BFTiIsInNlbmQiLCJvblVwZGF0ZUVycm9yIiwidHVyYm9wYWNrU3RhdGUiLCJpbml0IiwicXVldWUiLCJjYWxsYmFjayIsInByb2Nlc3NUdXJib3BhY2tNZXNzYWdlIiwibXNnIiwicHVzaCIsImluaXRDdXJyZW50IiwidGhlbiIsImNvbm5lY3QiLCJhZGRNZXNzYWdlTGlzdGVuZXIiLCJjYiIsIndlYnNvY2tldFJlZiIsInRyZWUiLCJ1c2VDb250ZXh0IiwiR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJpbnRlcnZhbCIsInNldEludGVydmFsIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiYXBwRGlyUm91dGUiLCJjbGVhckludGVydmFsIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/app/use-websocket.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/get-socket-url.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/dev/hot-reloader/get-socket-url.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSocketUrl\", ({\n enumerable: true,\n get: function() {\n return getSocketUrl;\n }\n}));\nconst _normalizedassetprefix = __webpack_require__(/*! ../../../shared/lib/normalized-asset-prefix */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/normalized-asset-prefix.js\");\nfunction getSocketProtocol(assetPrefix) {\n let protocol = window.location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === 'http:' ? 'ws:' : 'wss:';\n}\nfunction getSocketUrl(assetPrefix) {\n const prefix = (0, _normalizedassetprefix.normalizedAssetPrefix)(assetPrefix);\n const protocol = getSocketProtocol(assetPrefix || '');\n if (URL.canParse(prefix)) {\n // since normalized asset prefix is ensured to be a URL format,\n // we can safely replace the protocol\n return prefix.replace(/^http/, 'ws');\n }\n const { hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : '') + prefix;\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=get-socket-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvZ2V0LXNvY2tldC11cmwuanMiLCJtYXBwaW5ncyI6Ijs7OztnREFhZ0JBOzs7ZUFBQUE7OzttREFic0I7QUFFdEMsU0FBU0Msa0JBQWtCQyxXQUFtQjtJQUM1QyxJQUFJQyxXQUFXQyxPQUFPQyxRQUFRLENBQUNGLFFBQVE7SUFFdkMsSUFBSTtRQUNGLHVCQUF1QjtRQUN2QkEsV0FBVyxJQUFJRyxJQUFJSixhQUFhQyxRQUFRO0lBQzFDLEVBQUUsVUFBTSxDQUFDO0lBRVQsT0FBT0EsYUFBYSxVQUFVLFFBQVE7QUFDeEM7QUFFTyxTQUFTSCxhQUFhRSxXQUErQjtJQUMxRCxNQUFNSyxTQUFTQyxDQUFBQSxHQUFBQSx1QkFBQUEscUJBQUFBLEVBQXNCTjtJQUNyQyxNQUFNQyxXQUFXRixrQkFBa0JDLGVBQWU7SUFFbEQsSUFBSUksSUFBSUcsUUFBUSxDQUFDRixTQUFTO1FBQ3hCLCtEQUErRDtRQUMvRCxxQ0FBcUM7UUFDckMsT0FBT0EsT0FBT0csT0FBTyxDQUFDLFNBQVM7SUFDakM7SUFFQSxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsSUFBSSxFQUFFLEdBQUdSLE9BQU9DLFFBQVE7SUFDMUMsT0FBVUYsV0FBUyxPQUFJUSxXQUFXQyxDQUFBQSxPQUFRLE1BQUdBLE9BQVMsR0FBQyxHQUFJTDtBQUM3RCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvc3JjL2NsaWVudC9kZXYvaG90LXJlbG9hZGVyL2dldC1zb2NrZXQtdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vcm1hbGl6ZWRBc3NldFByZWZpeCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9saWIvbm9ybWFsaXplZC1hc3NldC1wcmVmaXgnXG5cbmZ1bmN0aW9uIGdldFNvY2tldFByb3RvY29sKGFzc2V0UHJlZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgcHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2xcblxuICB0cnkge1xuICAgIC8vIGFzc2V0UHJlZml4IGlzIGEgdXJsXG4gICAgcHJvdG9jb2wgPSBuZXcgVVJMKGFzc2V0UHJlZml4KS5wcm90b2NvbFxuICB9IGNhdGNoIHt9XG5cbiAgcmV0dXJuIHByb3RvY29sID09PSAnaHR0cDonID8gJ3dzOicgOiAnd3NzOidcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNvY2tldFVybChhc3NldFByZWZpeDogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgY29uc3QgcHJlZml4ID0gbm9ybWFsaXplZEFzc2V0UHJlZml4KGFzc2V0UHJlZml4KVxuICBjb25zdCBwcm90b2NvbCA9IGdldFNvY2tldFByb3RvY29sKGFzc2V0UHJlZml4IHx8ICcnKVxuXG4gIGlmIChVUkwuY2FuUGFyc2UocHJlZml4KSkge1xuICAgIC8vIHNpbmNlIG5vcm1hbGl6ZWQgYXNzZXQgcHJlZml4IGlzIGVuc3VyZWQgdG8gYmUgYSBVUkwgZm9ybWF0LFxuICAgIC8vIHdlIGNhbiBzYWZlbHkgcmVwbGFjZSB0aGUgcHJvdG9jb2xcbiAgICByZXR1cm4gcHJlZml4LnJlcGxhY2UoL15odHRwLywgJ3dzJylcbiAgfVxuXG4gIGNvbnN0IHsgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvblxuICByZXR1cm4gYCR7cHJvdG9jb2x9Ly8ke2hvc3RuYW1lfSR7cG9ydCA/IGA6JHtwb3J0fWAgOiAnJ30ke3ByZWZpeH1gXG59XG4iXSwibmFtZXMiOlsiZ2V0U29ja2V0VXJsIiwiZ2V0U29ja2V0UHJvdG9jb2wiLCJhc3NldFByZWZpeCIsInByb3RvY29sIiwid2luZG93IiwibG9jYXRpb24iLCJVUkwiLCJwcmVmaXgiLCJub3JtYWxpemVkQXNzZXRQcmVmaXgiLCJjYW5QYXJzZSIsInJlcGxhY2UiLCJob3N0bmFtZSIsInBvcnQiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/get-socket-url.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/shared.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/client/dev/hot-reloader/shared.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 REACT_REFRESH_FULL_RELOAD: function() {\n return REACT_REFRESH_FULL_RELOAD;\n },\n REACT_REFRESH_FULL_RELOAD_FROM_ERROR: function() {\n return REACT_REFRESH_FULL_RELOAD_FROM_ERROR;\n },\n reportInvalidHmrMessage: function() {\n return reportInvalidHmrMessage;\n }\n});\nconst REACT_REFRESH_FULL_RELOAD = '[Fast Refresh] performing full reload\\n\\n' + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + 'You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n' + 'Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n' + 'It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n' + 'Fast Refresh requires at least one parent function component in your React tree.';\nconst REACT_REFRESH_FULL_RELOAD_FROM_ERROR = '[Fast Refresh] performing full reload because your application had an unrecoverable error';\nfunction reportInvalidHmrMessage(message, err) {\n console.warn('[HMR] Invalid message: ' + JSON.stringify(message) + '\\n' + (err instanceof Error && (err == null ? void 0 : err.stack) || ''));\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=shared.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvc2hhcmVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVhQSx5QkFBeUI7ZUFBekJBOztJQVFBQyxvQ0FBb0M7ZUFBcENBOztJQUdHQyx1QkFBdUI7ZUFBdkJBOzs7QUFYVCxNQUFNRiw0QkFDWCw4Q0FDQSxtSUFDQSxxSUFDQSwrR0FDQSw4SEFDQTtBQUVLLE1BQU1DLHVDQUNYO0FBRUssU0FBU0Msd0JBQ2RDLE9BQWlELEVBQ2pEQyxHQUFZO0lBRVpDLFFBQVFDLElBQUksQ0FDViw0QkFDRUMsS0FBS0MsU0FBUyxDQUFDTCxXQUNmLE9BQ0MsQ0FBQ0MsZUFBZUssVUFBU0wsT0FBQUEsT0FBQUEsS0FBQUEsSUFBQUEsSUFBS00sS0FBQUEsS0FBVSxHQUFDO0FBRWhEIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9zcmMvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvc2hhcmVkLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSE1SX0FDVElPTl9UWVBFUyB9IGZyb20gJy4uLy4uLy4uL3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzJ1xuXG5leHBvcnQgY29uc3QgUkVBQ1RfUkVGUkVTSF9GVUxMX1JFTE9BRCA9XG4gICdbRmFzdCBSZWZyZXNoXSBwZXJmb3JtaW5nIGZ1bGwgcmVsb2FkXFxuXFxuJyArXG4gIFwiRmFzdCBSZWZyZXNoIHdpbGwgcGVyZm9ybSBhIGZ1bGwgcmVsb2FkIHdoZW4geW91IGVkaXQgYSBmaWxlIHRoYXQncyBpbXBvcnRlZCBieSBtb2R1bGVzIG91dHNpZGUgb2YgdGhlIFJlYWN0IHJlbmRlcmluZyB0cmVlLlxcblwiICtcbiAgJ1lvdSBtaWdodCBoYXZlIGEgZmlsZSB3aGljaCBleHBvcnRzIGEgUmVhY3QgY29tcG9uZW50IGJ1dCBhbHNvIGV4cG9ydHMgYSB2YWx1ZSB0aGF0IGlzIGltcG9ydGVkIGJ5IGEgbm9uLVJlYWN0IGNvbXBvbmVudCBmaWxlLlxcbicgK1xuICAnQ29uc2lkZXIgbWlncmF0aW5nIHRoZSBub24tUmVhY3QgY29tcG9uZW50IGV4cG9ydCB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGltcG9ydGluZyBpdCBpbnRvIGJvdGggZmlsZXMuXFxuXFxuJyArXG4gICdJdCBpcyBhbHNvIHBvc3NpYmxlIHRoZSBwYXJlbnQgY29tcG9uZW50IG9mIHRoZSBjb21wb25lbnQgeW91IGVkaXRlZCBpcyBhIGNsYXNzIGNvbXBvbmVudCwgd2hpY2ggZGlzYWJsZXMgRmFzdCBSZWZyZXNoLlxcbicgK1xuICAnRmFzdCBSZWZyZXNoIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBwYXJlbnQgZnVuY3Rpb24gY29tcG9uZW50IGluIHlvdXIgUmVhY3QgdHJlZS4nXG5cbmV4cG9ydCBjb25zdCBSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IgPVxuICAnW0Zhc3QgUmVmcmVzaF0gcGVyZm9ybWluZyBmdWxsIHJlbG9hZCBiZWNhdXNlIHlvdXIgYXBwbGljYXRpb24gaGFkIGFuIHVucmVjb3ZlcmFibGUgZXJyb3InXG5cbmV4cG9ydCBmdW5jdGlvbiByZXBvcnRJbnZhbGlkSG1yTWVzc2FnZShcbiAgbWVzc2FnZTogSE1SX0FDVElPTl9UWVBFUyB8IE1lc3NhZ2VFdmVudDx1bmtub3duPixcbiAgZXJyOiB1bmtub3duXG4pIHtcbiAgY29uc29sZS53YXJuKFxuICAgICdbSE1SXSBJbnZhbGlkIG1lc3NhZ2U6ICcgK1xuICAgICAgSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkgK1xuICAgICAgJ1xcbicgK1xuICAgICAgKChlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnI/LnN0YWNrKSB8fCAnJylcbiAgKVxufVxuIl0sIm5hbWVzIjpbIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQUQiLCJSRUFDVF9SRUZSRVNIX0ZVTExfUkVMT0FEX0ZST01fRVJST1IiLCJyZXBvcnRJbnZhbGlkSG1yTWVzc2FnZSIsIm1lc3NhZ2UiLCJlcnIiLCJjb25zb2xlIiwid2FybiIsIkpTT04iLCJzdHJpbmdpZnkiLCJFcnJvciIsInN0YWNrIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/shared.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/turbopack-hot-reloader-common.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/dev/hot-reloader/turbopack-hot-reloader-common.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"TurbopackHmr\", ({\n enumerable: true,\n get: function() {\n return TurbopackHmr;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\n// How long to wait before reporting the HMR start, used to suppress irrelevant\n// `BUILDING` events. Does not impact reported latency.\nconst TURBOPACK_HMR_START_DELAY_MS = 100;\nvar _updatedModules = /*#__PURE__*/ _class_private_field_loose_key._(\"_updatedModules\"), _startMsSinceEpoch = /*#__PURE__*/ _class_private_field_loose_key._(\"_startMsSinceEpoch\"), _lastUpdateMsSinceEpoch = /*#__PURE__*/ _class_private_field_loose_key._(\"_lastUpdateMsSinceEpoch\"), _deferredReportHmrStartId = /*#__PURE__*/ _class_private_field_loose_key._(\"_deferredReportHmrStartId\"), // as it reports *any* compilation, including fully no-op/cached compilations\n// and those unrelated to HMR. Fixing this would require significant\n// architectural changes.\n//\n// Work around this by deferring any \"rebuilding\" message by 100ms. If we get\n// a BUILT event within that threshold and nothing has changed, just suppress\n// the message entirely.\n_runDeferredReportHmrStart = /*#__PURE__*/ _class_private_field_loose_key._(\"_runDeferredReportHmrStart\"), _cancelDeferredReportHmrStart = /*#__PURE__*/ _class_private_field_loose_key._(\"_cancelDeferredReportHmrStart\"), /** Helper for other `onEvent` methods. */ _onUpdate = /*#__PURE__*/ _class_private_field_loose_key._(\"_onUpdate\");\nclass TurbopackHmr {\n onBuilding() {\n _class_private_field_loose_base._(this, _lastUpdateMsSinceEpoch)[_lastUpdateMsSinceEpoch] = undefined;\n _class_private_field_loose_base._(this, _cancelDeferredReportHmrStart)[_cancelDeferredReportHmrStart]();\n _class_private_field_loose_base._(this, _startMsSinceEpoch)[_startMsSinceEpoch] = Date.now();\n // report the HMR start after a short delay\n _class_private_field_loose_base._(this, _deferredReportHmrStartId)[_deferredReportHmrStartId] = setTimeout(()=>_class_private_field_loose_base._(this, _runDeferredReportHmrStart)[_runDeferredReportHmrStart](), self.__NEXT_HMR_TURBOPACK_REPORT_NOISY_NOOP_EVENTS ? 0 : TURBOPACK_HMR_START_DELAY_MS);\n }\n onTurbopackMessage(msg) {\n _class_private_field_loose_base._(this, _onUpdate)[_onUpdate]();\n const updatedModules = extractModulesFromTurbopackMessage(msg.data);\n for (const module1 of updatedModules){\n _class_private_field_loose_base._(this, _updatedModules)[_updatedModules].add(module1);\n }\n }\n onServerComponentChanges() {\n _class_private_field_loose_base._(this, _onUpdate)[_onUpdate]();\n }\n onReloadPage() {\n _class_private_field_loose_base._(this, _onUpdate)[_onUpdate]();\n }\n onPageAddRemove() {\n _class_private_field_loose_base._(this, _onUpdate)[_onUpdate]();\n }\n /**\n * @returns `null` if the caller should ignore the update entirely. Returns an\n * object with `hasUpdates: false` if the caller should report the end of\n * the HMR in the browser console, but the HMR was a no-op.\n */ onBuilt() {\n // Check that we got *any* `TurbopackMessageAction`, even if\n // `updatedModules` is empty (not everything gets recorded there).\n //\n // There's also a case where `onBuilt` gets called before `onBuilding`,\n // which can happen during initial page load. Ignore that too!\n const hasUpdates = _class_private_field_loose_base._(this, _lastUpdateMsSinceEpoch)[_lastUpdateMsSinceEpoch] != null && _class_private_field_loose_base._(this, _startMsSinceEpoch)[_startMsSinceEpoch] != null;\n if (!hasUpdates && _class_private_field_loose_base._(this, _deferredReportHmrStartId)[_deferredReportHmrStartId] != null) {\n // suppress the update entirely\n _class_private_field_loose_base._(this, _cancelDeferredReportHmrStart)[_cancelDeferredReportHmrStart]();\n return null;\n }\n _class_private_field_loose_base._(this, _runDeferredReportHmrStart)[_runDeferredReportHmrStart]();\n var _class_private_field_loose_base__lastUpdateMsSinceEpoch;\n const result = {\n hasUpdates,\n updatedModules: _class_private_field_loose_base._(this, _updatedModules)[_updatedModules],\n startMsSinceEpoch: _class_private_field_loose_base._(this, _startMsSinceEpoch)[_startMsSinceEpoch],\n endMsSinceEpoch: (_class_private_field_loose_base__lastUpdateMsSinceEpoch = _class_private_field_loose_base._(this, _lastUpdateMsSinceEpoch)[_lastUpdateMsSinceEpoch]) != null ? _class_private_field_loose_base__lastUpdateMsSinceEpoch : Date.now()\n };\n _class_private_field_loose_base._(this, _updatedModules)[_updatedModules] = new Set();\n return result;\n }\n constructor(){\n Object.defineProperty(this, _runDeferredReportHmrStart, {\n value: runDeferredReportHmrStart\n });\n Object.defineProperty(this, _cancelDeferredReportHmrStart, {\n value: cancelDeferredReportHmrStart\n });\n Object.defineProperty(this, _onUpdate, {\n value: onUpdate\n });\n Object.defineProperty(this, _updatedModules, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _startMsSinceEpoch, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _lastUpdateMsSinceEpoch, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _deferredReportHmrStartId, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _updatedModules)[_updatedModules] = new Set();\n }\n}\nfunction runDeferredReportHmrStart() {\n if (_class_private_field_loose_base._(this, _deferredReportHmrStartId)[_deferredReportHmrStartId] != null) {\n console.log('[Fast Refresh] rebuilding');\n _class_private_field_loose_base._(this, _cancelDeferredReportHmrStart)[_cancelDeferredReportHmrStart]();\n }\n}\nfunction cancelDeferredReportHmrStart() {\n clearTimeout(_class_private_field_loose_base._(this, _deferredReportHmrStartId)[_deferredReportHmrStartId]);\n _class_private_field_loose_base._(this, _deferredReportHmrStartId)[_deferredReportHmrStartId] = undefined;\n}\nfunction onUpdate() {\n _class_private_field_loose_base._(this, _runDeferredReportHmrStart)[_runDeferredReportHmrStart]();\n _class_private_field_loose_base._(this, _lastUpdateMsSinceEpoch)[_lastUpdateMsSinceEpoch] = Date.now();\n}\nfunction extractModulesFromTurbopackMessage(data) {\n const updatedModules = new Set();\n const updates = Array.isArray(data) ? data : [\n data\n ];\n for (const update of updates){\n // TODO this won't capture changes to CSS since they don't result in a \"merged\" update\n if (update.type !== 'partial' || update.instruction.type !== 'ChunkListUpdate' || update.instruction.merged === undefined) {\n continue;\n }\n for (const mergedUpdate of update.instruction.merged){\n for (const name of Object.keys(mergedUpdate.entries)){\n const res = /(.*)\\s+\\[.*/.exec(name);\n if (res === null) {\n console.error('[Turbopack HMR] Expected module to match pattern: ' + name);\n continue;\n }\n updatedModules.add(res[1]);\n }\n }\n }\n return updatedModules;\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=turbopack-hot-reloader-common.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ob3QtcmVsb2FkZXIvdHVyYm9wYWNrLWhvdC1yZWxvYWRlci1jb21tb24uanMiLCJtYXBwaW5ncyI6Ijs7OztnREFvQmFBOzs7ZUFBQUE7Ozs7O0FBWGIsK0VBQStFO0FBQy9FLHVEQUF1RDtBQUN2RCxNQUFNQywrQkFBK0I7SUFVbkMscUZBQ0EsMkZBQ0EscUdBQ0EseUdBTUEsNEVBQTRFLENBQ0M7QUFDN0Usb0VBQW9FO0FBQ3BFLHlCQUF5QjtBQUN6QixFQUFFO0FBQ0YsNkVBQTZFO0FBQzdFLDZFQUE2RTtBQUM3RSx3QkFBd0I7QUFDeEIsMkdBT0EsaUhBb0JBLHdDQUF3QyxHQUN4QztBQTlDSyxNQUFNRDtJQThCWEUsYUFBYTtRQUNYLHNDQUFJLEVBQUMsb0RBQTBCQztRQUMvQixzQ0FBSSxFQUFDO1FBQ0wsc0NBQUksRUFBQywwQ0FBcUJDLEtBQUtDLEdBQUc7UUFFbEMsMkNBQTJDO1FBQzNDLHNDQUFJLEVBQUMsd0RBQTRCQyxXQUMvQixJQUFNLHNDQUFJLEVBQUMsMkRBQ1gsS0FDS0UsNkNBQTZDLEdBQzlDLElBQ0FQLGlCQUhzRTtJQUs5RTtJQVFBUSxtQkFBbUJDLEdBQTJCLEVBQUU7UUFDOUMsc0NBQUksRUFBQztRQUNMLE1BQU1DLGlCQUFpQkMsbUNBQW1DRixJQUFJRyxJQUFJO1FBQ2xFLEtBQUssTUFBTUMsV0FBVUgsZUFBZ0I7WUFDbkMsc0NBQUksRUFBQyxrQ0FBZ0JJLEdBQUcsQ0FBQ0Q7UUFDM0I7SUFDRjtJQUVBRSwyQkFBMkI7UUFDekIsc0NBQUksRUFBQztJQUNQO0lBRUFDLGVBQWU7UUFDYixzQ0FBSSxFQUFDO0lBQ1A7SUFFQUMsa0JBQWtCO1FBQ2hCLHNDQUFJLEVBQUM7SUFDUDtJQUVBOzs7O0dBSUMsR0FDREMsVUFBNEI7UUFDMUIsNERBQTREO1FBQzVELGtFQUFrRTtRQUNsRSxFQUFFO1FBQ0YsdUVBQXVFO1FBQ3ZFLDhEQUE4RDtRQUM5RCxNQUFNQyxhQUNKLHNDQUFJLEVBQUMscURBQTJCLFFBQVEsc0NBQUksRUFBQywyQ0FBc0I7UUFDckUsSUFBSSxDQUFDQSxjQUFjLHNDQUFJLEVBQUMseURBQTZCLE1BQU07WUFDekQsK0JBQStCO1lBQy9CLHNDQUFJLEVBQUM7WUFDTCxPQUFPO1FBQ1Q7UUFDQSxzQ0FBSSxFQUFDOztRQUVMLE1BQU1DLFNBQVM7WUFDYkQ7WUFDQVQsY0FBYyxFQUFFLHNDQUFJLEVBQUM7WUFDckJXLGlCQUFpQixFQUFFLHNDQUFJLEVBQUM7WUFDeEJDLGlCQUFpQixpR0FBSSxFQUFDLHVIQUEyQm5CLEtBQUtDLEdBQUc7UUFDM0Q7UUFDQSxzQ0FBSSxFQUFDLG9DQUFrQixJQUFJbUI7UUFDM0IsT0FBT0g7SUFDVDtJQTdGQUksYUFBYztRQVlkO21CQUFBOztRQU9BO21CQUFBOztRQXFCQTttQkFBQTs7UUE3Q0E7O21CQUFBOztRQUNBOzttQkFBQTs7UUFDQTs7bUJBQUE7O1FBQ0E7O21CQUFBOztRQUdFLHNDQUFJLEVBQUMsb0NBQWtCLElBQUlEO0lBQzdCO0FBNEZGO0FBbEZFO0lBQ0UsSUFBSSxzQ0FBSSxFQUFDLHlEQUE2QixNQUFNO1FBQzFDRSxRQUFRQyxHQUFHLENBQUM7UUFDWixzQ0FBSSxFQUFDO0lBQ1A7QUFDRjtBQUVBO0lBQ0VDLGFBQWEsc0NBQUksRUFBQztJQUNsQixzQ0FBSSxFQUFDLHdEQUE0QnpCO0FBQ25DO0FBa0JBO0lBQ0Usc0NBQUksRUFBQztJQUNMLHNDQUFJLEVBQUMsb0RBQTBCQyxLQUFLQyxHQUFHO0FBQ3pDO0FBcURGLFNBQVNPLG1DQUNQQyxJQUF5QztJQUV6QyxNQUFNRixpQkFBOEIsSUFBSWE7SUFFeEMsTUFBTUssVUFBVUMsTUFBTUMsT0FBTyxDQUFDbEIsUUFBUUEsT0FBTztRQUFDQTtLQUFLO0lBQ25ELEtBQUssTUFBTW1CLFVBQVVILFFBQVM7UUFDNUIsc0ZBQXNGO1FBQ3RGLElBQ0VHLE9BQU9DLElBQUksS0FBSyxhQUNoQkQsT0FBT0UsV0FBVyxDQUFDRCxJQUFJLEtBQUsscUJBQzVCRCxPQUFPRSxXQUFXLENBQUNDLE1BQU0sS0FBS2hDLFdBQzlCO1lBQ0E7UUFDRjtRQUVBLEtBQUssTUFBTWlDLGdCQUFnQkosT0FBT0UsV0FBVyxDQUFDQyxNQUFNLENBQUU7WUFDcEQsS0FBSyxNQUFNRSxRQUFRQyxPQUFPQyxJQUFJLENBQUNILGFBQWFJLE9BQU8sRUFBRztnQkFDcEQsTUFBTUMsTUFBTSxjQUFjQyxJQUFJLENBQUNMO2dCQUMvQixJQUFJSSxRQUFRLE1BQU07b0JBQ2hCZixRQUFRaUIsS0FBSyxDQUNYLHVEQUF1RE47b0JBRXpEO2dCQUNGO2dCQUVBMUIsZUFBZUksR0FBRyxDQUFDMEIsR0FBRyxDQUFDLEVBQUU7WUFDM0I7UUFDRjtJQUNGO0lBRUEsT0FBTzlCO0FBQ1QiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL3NyYy9jbGllbnQvZGV2L2hvdC1yZWxvYWRlci90dXJib3BhY2staG90LXJlbG9hZGVyLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFR1cmJvcGFja01lc3NhZ2VBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9zZXJ2ZXIvZGV2L2hvdC1yZWxvYWRlci10eXBlcydcbmltcG9ydCB0eXBlIHsgVXBkYXRlIGFzIFR1cmJvcGFja1VwZGF0ZSB9IGZyb20gJy4uLy4uLy4uL2J1aWxkL3N3Yy90eXBlcydcblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICBfX05FWFRfSE1SX1RVUkJPUEFDS19SRVBPUlRfTk9JU1lfTk9PUF9FVkVOVFM6IGJvb2xlYW4gfCB1bmRlZmluZWRcbiAgfVxufVxuXG4vLyBIb3cgbG9uZyB0byB3YWl0IGJlZm9yZSByZXBvcnRpbmcgdGhlIEhNUiBzdGFydCwgdXNlZCB0byBzdXBwcmVzcyBpcnJlbGV2YW50XG4vLyBgQlVJTERJTkdgIGV2ZW50cy4gRG9lcyBub3QgaW1wYWN0IHJlcG9ydGVkIGxhdGVuY3kuXG5jb25zdCBUVVJCT1BBQ0tfSE1SX1NUQVJUX0RFTEFZX01TID0gMTAwXG5cbmludGVyZmFjZSBIbXJVcGRhdGUge1xuICBoYXNVcGRhdGVzOiBib29sZWFuXG4gIHVwZGF0ZWRNb2R1bGVzOiBTZXQ8c3RyaW5nPlxuICBzdGFydE1zU2luY2VFcG9jaDogbnVtYmVyXG4gIGVuZE1zU2luY2VFcG9jaDogbnVtYmVyXG59XG5cbmV4cG9ydCBjbGFzcyBUdXJib3BhY2tIbXIge1xuICAjdXBkYXRlZE1vZHVsZXM6IFNldDxzdHJpbmc+XG4gICNzdGFydE1zU2luY2VFcG9jaDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICNsYXN0VXBkYXRlTXNTaW5jZUVwb2NoOiBudW1iZXIgfCB1bmRlZmluZWRcbiAgI2RlZmVycmVkUmVwb3J0SG1yU3RhcnRJZDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCB1bmRlZmluZWRcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiN1cGRhdGVkTW9kdWxlcyA9IG5ldyBTZXQoKVxuICB9XG5cbiAgLy8gSEFDSzogVHVyYm9wYWNrIHRlbmRzIHRvIGdlbmVyYXRlIGEgbG90IG9mIGlycmVsZXZhbnQgXCJCVUlMRElOR1wiIGFjdGlvbnMsXG4gIC8vIGFzIGl0IHJlcG9ydHMgKmFueSogY29tcGlsYXRpb24sIGluY2x1ZGluZyBmdWxseSBuby1vcC9jYWNoZWQgY29tcGlsYXRpb25zXG4gIC8vIGFuZCB0aG9zZSB1bnJlbGF0ZWQgdG8gSE1SLiBGaXhpbmcgdGhpcyB3b3VsZCByZXF1aXJlIHNpZ25pZmljYW50XG4gIC8vIGFyY2hpdGVjdHVyYWwgY2hhbmdlcy5cbiAgLy9cbiAgLy8gV29yayBhcm91bmQgdGhpcyBieSBkZWZlcnJpbmcgYW55IFwicmVidWlsZGluZ1wiIG1lc3NhZ2UgYnkgMTAwbXMuIElmIHdlIGdldFxuICAvLyBhIEJVSUxUIGV2ZW50IHdpdGhpbiB0aGF0IHRocmVzaG9sZCBhbmQgbm90aGluZyBoYXMgY2hhbmdlZCwganVzdCBzdXBwcmVzc1xuICAvLyB0aGUgbWVzc2FnZSBlbnRpcmVseS5cbiAgI3J1bkRlZmVycmVkUmVwb3J0SG1yU3RhcnQoKSB7XG4gICAgaWYgKHRoaXMuI2RlZmVycmVkUmVwb3J0SG1yU3RhcnRJZCAhPSBudWxsKSB7XG4gICAgICBjb25zb2xlLmxvZygnW0Zhc3QgUmVmcmVzaF0gcmVidWlsZGluZycpXG4gICAgICB0aGlzLiNjYW5jZWxEZWZlcnJlZFJlcG9ydEhtclN0YXJ0KClcbiAgICB9XG4gIH1cblxuICAjY2FuY2VsRGVmZXJyZWRSZXBvcnRIbXJTdGFydCgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy4jZGVmZXJyZWRSZXBvcnRIbXJTdGFydElkKVxuICAgIHRoaXMuI2RlZmVycmVkUmVwb3J0SG1yU3RhcnRJZCA9IHVuZGVmaW5lZFxuICB9XG5cbiAgb25CdWlsZGluZygpIHtcbiAgICB0aGlzLiNsYXN0VXBkYXRlTXNTaW5jZUVwb2NoID0gdW5kZWZpbmVkXG4gICAgdGhpcy4jY2FuY2VsRGVmZXJyZWRSZXBvcnRIbXJTdGFydCgpXG4gICAgdGhpcy4jc3RhcnRNc1NpbmNlRXBvY2ggPSBEYXRlLm5vdygpXG5cbiAgICAvLyByZXBvcnQgdGhlIEhNUiBzdGFydCBhZnRlciBhIHNob3J0IGRlbGF5XG4gICAgdGhpcy4jZGVmZXJyZWRSZXBvcnRIbXJTdGFydElkID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuI3J1bkRlZmVycmVkUmVwb3J0SG1yU3RhcnQoKSxcbiAgICAgIC8vIGRlYnVnZ2luZyBmZWF0dXJlOiBkb24ndCBkZWZlci9zdXBwcmVzcyBub2lzeSBuby1vcCBITVIgdXBkYXRlIG1lc3NhZ2VzXG4gICAgICBzZWxmLl9fTkVYVF9ITVJfVFVSQk9QQUNLX1JFUE9SVF9OT0lTWV9OT09QX0VWRU5UU1xuICAgICAgICA/IDBcbiAgICAgICAgOiBUVVJCT1BBQ0tfSE1SX1NUQVJUX0RFTEFZX01TXG4gICAgKVxuICB9XG5cbiAgLyoqIEhlbHBlciBmb3Igb3RoZXIgYG9uRXZlbnRgIG1ldGhvZHMuICovXG4gICNvblVwZGF0ZSgpIHtcbiAgICB0aGlzLiNydW5EZWZlcnJlZFJlcG9ydEhtclN0YXJ0KClcbiAgICB0aGlzLiNsYXN0VXBkYXRlTXNTaW5jZUVwb2NoID0gRGF0ZS5ub3coKVxuICB9XG5cbiAgb25UdXJib3BhY2tNZXNzYWdlKG1zZzogVHVyYm9wYWNrTWVzc2FnZUFjdGlvbikge1xuICAgIHRoaXMuI29uVXBkYXRlKClcbiAgICBjb25zdCB1cGRhdGVkTW9kdWxlcyA9IGV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2UobXNnLmRhdGEpXG4gICAgZm9yIChjb25zdCBtb2R1bGUgb2YgdXBkYXRlZE1vZHVsZXMpIHtcbiAgICAgIHRoaXMuI3VwZGF0ZWRNb2R1bGVzLmFkZChtb2R1bGUpXG4gICAgfVxuICB9XG5cbiAgb25TZXJ2ZXJDb21wb25lbnRDaGFuZ2VzKCkge1xuICAgIHRoaXMuI29uVXBkYXRlKClcbiAgfVxuXG4gIG9uUmVsb2FkUGFnZSgpIHtcbiAgICB0aGlzLiNvblVwZGF0ZSgpXG4gIH1cblxuICBvblBhZ2VBZGRSZW1vdmUoKSB7XG4gICAgdGhpcy4jb25VcGRhdGUoKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGBudWxsYCBpZiB0aGUgY2FsbGVyIHNob3VsZCBpZ25vcmUgdGhlIHVwZGF0ZSBlbnRpcmVseS4gUmV0dXJucyBhblxuICAgKiAgIG9iamVjdCB3aXRoIGBoYXNVcGRhdGVzOiBmYWxzZWAgaWYgdGhlIGNhbGxlciBzaG91bGQgcmVwb3J0IHRoZSBlbmQgb2ZcbiAgICogICB0aGUgSE1SIGluIHRoZSBicm93c2VyIGNvbnNvbGUsIGJ1dCB0aGUgSE1SIHdhcyBhIG5vLW9wLlxuICAgKi9cbiAgb25CdWlsdCgpOiBIbXJVcGRhdGUgfCBudWxsIHtcbiAgICAvLyBDaGVjayB0aGF0IHdlIGdvdCAqYW55KiBgVHVyYm9wYWNrTWVzc2FnZUFjdGlvbmAsIGV2ZW4gaWZcbiAgICAvLyBgdXBkYXRlZE1vZHVsZXNgIGlzIGVtcHR5IChub3QgZXZlcnl0aGluZyBnZXRzIHJlY29yZGVkIHRoZXJlKS5cbiAgICAvL1xuICAgIC8vIFRoZXJlJ3MgYWxzbyBhIGNhc2Ugd2hlcmUgYG9uQnVpbHRgIGdldHMgY2FsbGVkIGJlZm9yZSBgb25CdWlsZGluZ2AsXG4gICAgLy8gd2hpY2ggY2FuIGhhcHBlbiBkdXJpbmcgaW5pdGlhbCBwYWdlIGxvYWQuIElnbm9yZSB0aGF0IHRvbyFcbiAgICBjb25zdCBoYXNVcGRhdGVzID1cbiAgICAgIHRoaXMuI2xhc3RVcGRhdGVNc1NpbmNlRXBvY2ggIT0gbnVsbCAmJiB0aGlzLiNzdGFydE1zU2luY2VFcG9jaCAhPSBudWxsXG4gICAgaWYgKCFoYXNVcGRhdGVzICYmIHRoaXMuI2RlZmVycmVkUmVwb3J0SG1yU3RhcnRJZCAhPSBudWxsKSB7XG4gICAgICAvLyBzdXBwcmVzcyB0aGUgdXBkYXRlIGVudGlyZWx5XG4gICAgICB0aGlzLiNjYW5jZWxEZWZlcnJlZFJlcG9ydEhtclN0YXJ0KClcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuICAgIHRoaXMuI3J1bkRlZmVycmVkUmVwb3J0SG1yU3RhcnQoKVxuXG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgaGFzVXBkYXRlcyxcbiAgICAgIHVwZGF0ZWRNb2R1bGVzOiB0aGlzLiN1cGRhdGVkTW9kdWxlcyxcbiAgICAgIHN0YXJ0TXNTaW5jZUVwb2NoOiB0aGlzLiNzdGFydE1zU2luY2VFcG9jaCEsXG4gICAgICBlbmRNc1NpbmNlRXBvY2g6IHRoaXMuI2xhc3RVcGRhdGVNc1NpbmNlRXBvY2ggPz8gRGF0ZS5ub3coKSxcbiAgICB9XG4gICAgdGhpcy4jdXBkYXRlZE1vZHVsZXMgPSBuZXcgU2V0KClcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuZnVuY3Rpb24gZXh0cmFjdE1vZHVsZXNGcm9tVHVyYm9wYWNrTWVzc2FnZShcbiAgZGF0YTogVHVyYm9wYWNrVXBkYXRlIHwgVHVyYm9wYWNrVXBkYXRlW11cbik6IFNldDxzdHJpbmc+IHtcbiAgY29uc3QgdXBkYXRlZE1vZHVsZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpXG5cbiAgY29uc3QgdXBkYXRlcyA9IEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW2RhdGFdXG4gIGZvciAoY29uc3QgdXBkYXRlIG9mIHVwZGF0ZXMpIHtcbiAgICAvLyBUT0RPIHRoaXMgd29uJ3QgY2FwdHVyZSBjaGFuZ2VzIHRvIENTUyBzaW5jZSB0aGV5IGRvbid0IHJlc3VsdCBpbiBhIFwibWVyZ2VkXCIgdXBkYXRlXG4gICAgaWYgKFxuICAgICAgdXBkYXRlLnR5cGUgIT09ICdwYXJ0aWFsJyB8fFxuICAgICAgdXBkYXRlLmluc3RydWN0aW9uLnR5cGUgIT09ICdDaHVua0xpc3RVcGRhdGUnIHx8XG4gICAgICB1cGRhdGUuaW5zdHJ1Y3Rpb24ubWVyZ2VkID09PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBtZXJnZWRVcGRhdGUgb2YgdXBkYXRlLmluc3RydWN0aW9uLm1lcmdlZCkge1xuICAgICAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKG1lcmdlZFVwZGF0ZS5lbnRyaWVzKSkge1xuICAgICAgICBjb25zdCByZXMgPSAvKC4qKVxccytcXFsuKi8uZXhlYyhuYW1lKVxuICAgICAgICBpZiAocmVzID09PSBudWxsKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdbVHVyYm9wYWNrIEhNUl0gRXhwZWN0ZWQgbW9kdWxlIHRvIG1hdGNoIHBhdHRlcm46ICcgKyBuYW1lXG4gICAgICAgICAgKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICB1cGRhdGVkTW9kdWxlcy5hZGQocmVzWzFdKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1cGRhdGVkTW9kdWxlc1xufVxuIl0sIm5hbWVzIjpbIlR1cmJvcGFja0htciIsIlRVUkJPUEFDS19ITVJfU1RBUlRfREVMQVlfTVMiLCJvbkJ1aWxkaW5nIiwidW5kZWZpbmVkIiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJzZWxmIiwiX19ORVhUX0hNUl9UVVJCT1BBQ0tfUkVQT1JUX05PSVNZX05PT1BfRVZFTlRTIiwib25UdXJib3BhY2tNZXNzYWdlIiwibXNnIiwidXBkYXRlZE1vZHVsZXMiLCJleHRyYWN0TW9kdWxlc0Zyb21UdXJib3BhY2tNZXNzYWdlIiwiZGF0YSIsIm1vZHVsZSIsImFkZCIsIm9uU2VydmVyQ29tcG9uZW50Q2hhbmdlcyIsIm9uUmVsb2FkUGFnZSIsIm9uUGFnZUFkZFJlbW92ZSIsIm9uQnVpbHQiLCJoYXNVcGRhdGVzIiwicmVzdWx0Iiwic3RhcnRNc1NpbmNlRXBvY2giLCJlbmRNc1NpbmNlRXBvY2giLCJTZXQiLCJjb25zdHJ1Y3RvciIsImNvbnNvbGUiLCJsb2ciLCJjbGVhclRpbWVvdXQiLCJ1cGRhdGVzIiwiQXJyYXkiLCJpc0FycmF5IiwidXBkYXRlIiwidHlwZSIsImluc3RydWN0aW9uIiwibWVyZ2VkIiwibWVyZ2VkVXBkYXRlIiwibmFtZSIsIk9iamVjdCIsImtleXMiLCJlbnRyaWVzIiwicmVzIiwiZXhlYyIsImVycm9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/hot-reloader/turbopack-hot-reloader-common.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/client/dev/noop-turbopack-hmr.js ***! \*****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// The Turbopack HMR client can't be properly omitted at the moment (WEB-1589),\n// so instead we remap its import to this file in webpack builds.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"connect\", ({\n enumerable: true,\n get: function() {\n return connect;\n }\n}));\nfunction connect() {}\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=noop-turbopack-hmr.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ub29wLXR1cmJvcGFjay1obXIuanMiLCJtYXBwaW5ncyI6IkFBQUEsK0VBQStFO0FBQy9FLGlFQUFpRTs7Ozs7MkNBQ2pEQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSxXQUFXIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9kZXYvbm9vcC10dXJib3BhY2staG1yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSBUdXJib3BhY2sgSE1SIGNsaWVudCBjYW4ndCBiZSBwcm9wZXJseSBvbWl0dGVkIGF0IHRoZSBtb21lbnQgKFdFQi0xNTg5KSxcbi8vIHNvIGluc3RlYWQgd2UgcmVtYXAgaXRzIGltcG9ydCB0byB0aGlzIGZpbGUgaW4gd2VicGFjayBidWlsZHMuXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdCgpIHt9XG4iXSwibmFtZXMiOlsiY29ubmVjdCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/report-hmr-latency.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/client/dev/report-hmr-latency.js ***! \*****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return reportHmrLatency;\n }\n}));\nfunction reportHmrLatency(sendMessage, updatedModules, startMsSinceEpoch, endMsSinceEpoch, hasUpdate) {\n if (hasUpdate === void 0) hasUpdate = true;\n const latencyMs = endMsSinceEpoch - startMsSinceEpoch;\n console.log(\"[Fast Refresh] done in \" + latencyMs + \"ms\");\n if (!hasUpdate) {\n return;\n }\n sendMessage(JSON.stringify({\n event: 'client-hmr-latency',\n id: window.__nextDevClientId,\n startTime: startMsSinceEpoch,\n endTime: endMsSinceEpoch,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === 'hidden'\n }));\n if (self.__NEXT_HMR_LATENCY_CB) {\n self.__NEXT_HMR_LATENCY_CB(latencyMs);\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=report-hmr-latency.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9yZXBvcnQtaG1yLWxhdGVuY3kuanMiLCJtYXBwaW5ncyI6Ijs7OzsyQ0FpQkE7OztlQUF3QkE7OztBQUFULFNBQVNBLGlCQUN0QkMsV0FBc0MsRUFDdENDLGNBQThDLEVBQzlDQyxpQkFBeUIsRUFDekJDLGVBQXVCLEVBQ3ZCQyxTQUF5QjtJQUF6QkEsSUFBQUEsY0FBQUEsS0FBQUEsR0FBQUEsWUFBcUI7SUFFckIsTUFBTUMsWUFBWUYsa0JBQWtCRDtJQUNwQ0ksUUFBUUMsR0FBRyxDQUFFLDRCQUF5QkYsWUFBVTtJQUNoRCxJQUFJLENBQUNELFdBQVc7UUFDZDtJQUNGO0lBQ0FKLFlBQ0VRLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1BDLElBQUlDLE9BQU9DLGlCQUFpQjtRQUM1QkMsV0FBV1o7UUFDWGEsU0FBU1o7UUFDVGEsTUFBTUosT0FBT0ssUUFBUSxDQUFDQyxRQUFRO1FBQzlCakI7UUFDQSxvRUFBb0U7UUFDcEUsc0RBQXNEO1FBQ3REa0IsY0FBY0MsU0FBU0MsZUFBZSxLQUFLO0lBQzdDO0lBRUYsSUFBSUMsS0FBS0MscUJBQXFCLEVBQUU7UUFDOUJELEtBQUtDLHFCQUFxQixDQUFDbEI7SUFDN0I7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvZGV2L3JlcG9ydC1obXItbGF0ZW5jeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJkZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBXaW5kb3cge1xuICAgIF9fTkVYVF9ITVJfTEFURU5DWV9DQjogKChsYXRlbmN5TXM6IG51bWJlcikgPT4gdm9pZCkgfCB1bmRlZmluZWRcbiAgfVxufVxuXG4vKipcbiAqIExvZ3MgaW5mb3JtYXRpb24gYWJvdXQgYSBjb21wbGV0ZWQgSE1SIHRvIHRoZSBjb25zb2xlLCB0aGUgc2VydmVyICh2aWEgYVxuICogYGNsaWVudC1obXItbGF0ZW5jeWAgZXZlbnQpLCBhbmQgdG8gYHNlbGYuX19ORVhUX0hNUl9MQVRFTkNZX0NCYCAoYSBkZWJ1Z2dpbmdcbiAqIGhvb2spLlxuICpcbiAqIEBwYXJhbSBoYXNVcGRhdGUgU2V0IHRoaXMgdG8gYGZhbHNlYCB0byBhdm9pZCByZXBvcnRpbmcgdGhlIEhNUiBldmVudCB2aWEgYVxuICogICBgY2xpZW50LWhtci1sYXRlbmN5YCBldmVudCBvciB0byBgc2VsZi5fX05FWFRfSE1SX0xBVEVOQ1lfQ0JgLiBVc2VkIGJ5XG4gKiAgIHR1cmJvcGFjayB3aGVuIHdlIG11c3QgcmVwb3J0IGEgbWVzc2FnZSB0byB0aGUgYnJvd3NlciBjb25zb2xlIChiZWNhdXNlIHdlXG4gKiAgIGFscmVhZHkgbG9nZ2VkIGEgXCJyZWJ1aWxkaW5nXCIgbWVzc2FnZSksIGJ1dCBpdCdzIG5vdCBhIHJlYWwgSE1SLCBzbyB3ZVxuICogICBkb24ndCB3YW50IHRvIGltcGFjdCBvdXIgdGVsZW1ldHJ5LlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZXBvcnRIbXJMYXRlbmN5KFxuICBzZW5kTWVzc2FnZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCxcbiAgdXBkYXRlZE1vZHVsZXM6IFJlYWRvbmx5QXJyYXk8c3RyaW5nIHwgbnVtYmVyPixcbiAgc3RhcnRNc1NpbmNlRXBvY2g6IG51bWJlcixcbiAgZW5kTXNTaW5jZUVwb2NoOiBudW1iZXIsXG4gIGhhc1VwZGF0ZTogYm9vbGVhbiA9IHRydWVcbikge1xuICBjb25zdCBsYXRlbmN5TXMgPSBlbmRNc1NpbmNlRXBvY2ggLSBzdGFydE1zU2luY2VFcG9jaFxuICBjb25zb2xlLmxvZyhgW0Zhc3QgUmVmcmVzaF0gZG9uZSBpbiAke2xhdGVuY3lNc31tc2ApXG4gIGlmICghaGFzVXBkYXRlKSB7XG4gICAgcmV0dXJuXG4gIH1cbiAgc2VuZE1lc3NhZ2UoXG4gICAgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgZXZlbnQ6ICdjbGllbnQtaG1yLWxhdGVuY3knLFxuICAgICAgaWQ6IHdpbmRvdy5fX25leHREZXZDbGllbnRJZCxcbiAgICAgIHN0YXJ0VGltZTogc3RhcnRNc1NpbmNlRXBvY2gsXG4gICAgICBlbmRUaW1lOiBlbmRNc1NpbmNlRXBvY2gsXG4gICAgICBwYWdlOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICB1cGRhdGVkTW9kdWxlcyxcbiAgICAgIC8vIFdoZXRoZXIgdGhlIHBhZ2UgKHRhYikgd2FzIGhpZGRlbiBhdCB0aGUgdGltZSB0aGUgZXZlbnQgb2NjdXJyZWQuXG4gICAgICAvLyBUaGlzIGNhbiBpbXBhY3QgdGhlIGFjY3VyYWN5IG9mIHRoZSBldmVudCdzIHRpbWluZy5cbiAgICAgIGlzUGFnZUhpZGRlbjogZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAnaGlkZGVuJyxcbiAgICB9KVxuICApXG4gIGlmIChzZWxmLl9fTkVYVF9ITVJfTEFURU5DWV9DQikge1xuICAgIHNlbGYuX19ORVhUX0hNUl9MQVRFTkNZX0NCKGxhdGVuY3lNcylcbiAgfVxufVxuIl0sIm5hbWVzIjpbInJlcG9ydEhtckxhdGVuY3kiLCJzZW5kTWVzc2FnZSIsInVwZGF0ZWRNb2R1bGVzIiwic3RhcnRNc1NpbmNlRXBvY2giLCJlbmRNc1NpbmNlRXBvY2giLCJoYXNVcGRhdGUiLCJsYXRlbmN5TXMiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiaWQiLCJ3aW5kb3ciLCJfX25leHREZXZDbGllbnRJZCIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwYWdlIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwic2VsZiIsIl9fTkVYVF9ITVJfTEFURU5DWV9DQiJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/report-hmr-latency.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/dev/runtime-error-handler.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/dev/runtime-error-handler.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RuntimeErrorHandler\", ({\n enumerable: true,\n get: function() {\n return RuntimeErrorHandler;\n }\n}));\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\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=runtime-error-handler.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9ydW50aW1lLWVycm9yLWhhbmRsZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozt1REFBYUE7OztlQUFBQTs7O0FBQU4sTUFBTUEsc0JBQXNCO0lBQ2pDQyxpQkFBaUI7QUFDbkIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L2Rldi9ydW50aW1lLWVycm9yLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJ1bnRpbWVFcnJvckhhbmRsZXIgPSB7XG4gIGhhZFJ1bnRpbWVFcnJvcjogZmFsc2UsXG59XG4iXSwibmFtZXMiOlsiUnVudGltZUVycm9ySGFuZGxlciIsImhhZFJ1bnRpbWVFcnJvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/dev/runtime-error-handler.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/client/flight-data-helpers.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 getFlightDataPartsFromPath: function() {\n return getFlightDataPartsFromPath;\n },\n getNextFlightSegmentPath: function() {\n return getNextFlightSegmentPath;\n },\n normalizeFlightData: function() {\n return normalizeFlightData;\n },\n prepareFlightRouterStateForRequest: function() {\n return prepareFlightRouterStateForRequest;\n }\n});\nconst _segment = __webpack_require__(/*! ../shared/lib/segment */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction getFlightDataPartsFromPath(flightDataPath) {\n // Pick the last 4 items from the `FlightDataPath` to get the [tree, seedData, viewport, isHeadPartial].\n const flightDataPathLength = 4;\n // tree, seedData, and head are *always* the last three items in the `FlightDataPath`.\n const [tree, seedData, head, isHeadPartial] = flightDataPath.slice(-flightDataPathLength);\n // The `FlightSegmentPath` is everything except the last three items. For a root render, it won't be present.\n const segmentPath = flightDataPath.slice(0, -flightDataPathLength);\n var _segmentPath_;\n return {\n // TODO: Unify these two segment path helpers. We are inconsistently pushing an empty segment (\"\")\n // to the start of the segment path in some places which makes it hard to use solely the segment path.\n // Look for \"// TODO-APP: remove ''\" in the codebase.\n pathToSegment: segmentPath.slice(0, -1),\n segmentPath,\n // if the `FlightDataPath` corresponds with the root, there'll be no segment path,\n // in which case we default to ''.\n segment: (_segmentPath_ = segmentPath[segmentPath.length - 1]) != null ? _segmentPath_ : '',\n tree,\n seedData,\n head,\n isHeadPartial,\n isRootRender: flightDataPath.length === flightDataPathLength\n };\n}\nfunction getNextFlightSegmentPath(flightSegmentPath) {\n // Since `FlightSegmentPath` is a repeated tuple of `Segment` and `ParallelRouteKey`, we slice off two items\n // to get the next segment path.\n return flightSegmentPath.slice(2);\n}\nfunction normalizeFlightData(flightData) {\n // FlightData can be a string when the server didn't respond with a proper flight response,\n // or when a redirect happens, to signal to the client that it needs to perform an MPA navigation.\n if (typeof flightData === 'string') {\n return flightData;\n }\n return flightData.map(getFlightDataPartsFromPath);\n}\nfunction prepareFlightRouterStateForRequest(flightRouterState, isHmrRefresh) {\n // HMR requests need the complete, unmodified state for proper functionality\n if (isHmrRefresh) {\n return encodeURIComponent(JSON.stringify(flightRouterState));\n }\n return encodeURIComponent(JSON.stringify(stripClientOnlyDataFromFlightRouterState(flightRouterState)));\n}\n/**\n * Recursively strips client-only data from FlightRouterState while preserving\n * server-needed information for proper rendering decisions.\n */ function stripClientOnlyDataFromFlightRouterState(flightRouterState) {\n const [segment, parallelRoutes, _url, refreshMarker, isRootLayout, hasLoadingBoundary] = flightRouterState;\n // __PAGE__ segments are always fetched from the server, so there's\n // no need to send them up\n const cleanedSegment = stripSearchParamsFromPageSegment(segment);\n // Recursively process parallel routes\n const cleanedParallelRoutes = {};\n for (const [key, childState] of Object.entries(parallelRoutes)){\n cleanedParallelRoutes[key] = stripClientOnlyDataFromFlightRouterState(childState);\n }\n const result = [\n cleanedSegment,\n cleanedParallelRoutes,\n null,\n shouldPreserveRefreshMarker(refreshMarker) ? refreshMarker : null\n ];\n // Append optional fields if present\n if (isRootLayout !== undefined) {\n result[4] = isRootLayout;\n }\n if (hasLoadingBoundary !== undefined) {\n result[5] = hasLoadingBoundary;\n }\n return result;\n}\n/**\n * Strips search parameters from __PAGE__ segments to prevent sensitive\n * client-side data from being sent to the server.\n */ function stripSearchParamsFromPageSegment(segment) {\n if (typeof segment === 'string' && segment.startsWith(_segment.PAGE_SEGMENT_KEY + '?')) {\n return _segment.PAGE_SEGMENT_KEY;\n }\n return segment;\n}\n/**\n * Determines whether the refresh marker should be sent to the server\n * Client-only markers like 'refresh' are stripped, while server-needed markers\n * like 'refetch' and 'inside-shared-layout' are preserved.\n */ function shouldPreserveRefreshMarker(refreshMarker) {\n return Boolean(refreshMarker && refreshMarker !== 'refresh');\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=flight-data-helpers.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2ZsaWdodC1kYXRhLWhlbHBlcnMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBZ0NnQkEsMEJBQTBCO2VBQTFCQTs7SUE0QkFDLHdCQUF3QjtlQUF4QkE7O0lBUUFDLG1CQUFtQjtlQUFuQkE7O0lBb0JBQyxrQ0FBa0M7ZUFBbENBOzs7cUNBL0VpQjtBQXVCMUIsU0FBU0gsMkJBQ2RJLGNBQThCO0lBRTlCLHdHQUF3RztJQUN4RyxNQUFNQyx1QkFBdUI7SUFDN0Isc0ZBQXNGO0lBQ3RGLE1BQU0sQ0FBQ0MsTUFBTUMsVUFBVUMsTUFBTUMsY0FBYyxHQUN6Q0wsZUFBZU0sS0FBSyxDQUFDLENBQUNMO0lBQ3hCLDZHQUE2RztJQUM3RyxNQUFNTSxjQUFjUCxlQUFlTSxLQUFLLENBQUMsR0FBRyxDQUFDTDtRQVVsQ007SUFSWCxPQUFPO1FBQ0wsa0dBQWtHO1FBQ2xHLHNHQUFzRztRQUN0RyxxREFBcUQ7UUFDckRDLGVBQWVELFlBQVlELEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDckNDO1FBQ0Esa0ZBQWtGO1FBQ2xGLGtDQUFrQztRQUNsQ0UsU0FBU0YsQ0FBQUEsZ0JBQUFBLFdBQVcsQ0FBQ0EsWUFBWUcsTUFBTSxHQUFHLE9BQUUsT0FBbkNILGdCQUF1QztRQUNoREw7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQU0sY0FBY1gsZUFBZVUsTUFBTSxLQUFLVDtJQUMxQztBQUNGO0FBRU8sU0FBU0oseUJBQ2RlLGlCQUFvQztJQUVwQyw0R0FBNEc7SUFDNUcsZ0NBQWdDO0lBQ2hDLE9BQU9BLGtCQUFrQk4sS0FBSyxDQUFDO0FBQ2pDO0FBRU8sU0FBU1Isb0JBQ2RlLFVBQXNCO0lBRXRCLDJGQUEyRjtJQUMzRixrR0FBa0c7SUFDbEcsSUFBSSxPQUFPQSxlQUFlLFVBQVU7UUFDbEMsT0FBT0E7SUFDVDtJQUVBLE9BQU9BLFdBQVdDLEdBQUcsQ0FBQ2xCO0FBQ3hCO0FBVU8sU0FBU0csbUNBQ2RnQixpQkFBb0MsRUFDcENDLFlBQXNCO0lBRXRCLDRFQUE0RTtJQUM1RSxJQUFJQSxjQUFjO1FBQ2hCLE9BQU9DLG1CQUFtQkMsS0FBS0MsU0FBUyxDQUFDSjtJQUMzQztJQUVBLE9BQU9FLG1CQUNMQyxLQUFLQyxTQUFTLENBQUNDLHlDQUF5Q0w7QUFFNUQ7QUFFQTs7O0NBR0MsR0FDRCxTQUFTSyx5Q0FDUEwsaUJBQW9DO0lBRXBDLE1BQU0sQ0FDSk4sU0FDQVksZ0JBQ0FDLE1BQ0FDLGVBQ0FDLGNBQ0FDLG1CQUNELEdBQUdWO0lBRUosbUVBQW1FO0lBQ25FLDBCQUEwQjtJQUMxQixNQUFNVyxpQkFBaUJDLGlDQUFpQ2xCO0lBRXhELHNDQUFzQztJQUN0QyxNQUFNbUIsd0JBQThELENBQUM7SUFDckUsS0FBSyxNQUFNLENBQUNDLEtBQUtDLFdBQVcsSUFBSUMsT0FBT0MsT0FBTyxDQUFDWCxnQkFBaUI7UUFDOURPLHFCQUFxQixDQUFDQyxJQUFJLEdBQ3hCVCx5Q0FBeUNVO0lBQzdDO0lBRUEsTUFBTUcsU0FBNEI7UUFDaENQO1FBQ0FFO1FBQ0E7UUFDQU0sNEJBQTRCWCxpQkFBaUJBLGdCQUFnQjtLQUM5RDtJQUVELG9DQUFvQztJQUNwQyxJQUFJQyxpQkFBaUJXLFdBQVc7UUFDOUJGLE1BQU0sQ0FBQyxFQUFFLEdBQUdUO0lBQ2Q7SUFDQSxJQUFJQyx1QkFBdUJVLFdBQVc7UUFDcENGLE1BQU0sQ0FBQyxFQUFFLEdBQUdSO0lBQ2Q7SUFFQSxPQUFPUTtBQUNUO0FBRUE7OztDQUdDLEdBQ0QsU0FBU04saUNBQWlDbEIsT0FBZ0I7SUFDeEQsSUFDRSxPQUFPQSxZQUFZLFlBQ25CQSxRQUFRMkIsVUFBVSxDQUFDQyxTQUFBQSxnQkFBZ0IsR0FBRyxNQUN0QztRQUNBLE9BQU9BLFNBQUFBLGdCQUFnQjtJQUN6QjtJQUNBLE9BQU81QjtBQUNUO0FBRUE7Ozs7Q0FJQyxHQUNELFNBQVN5Qiw0QkFDUFgsYUFBbUM7SUFFbkMsT0FBT2UsUUFBUWYsaUJBQWlCQSxrQkFBa0I7QUFDcEQiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvc3JjL2NsaWVudC9mbGlnaHQtZGF0YS1oZWxwZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ2FjaGVOb2RlU2VlZERhdGEsXG4gIEZsaWdodERhdGEsXG4gIEZsaWdodERhdGFQYXRoLFxuICBGbGlnaHRSb3V0ZXJTdGF0ZSxcbiAgRmxpZ2h0U2VnbWVudFBhdGgsXG4gIFNlZ21lbnQsXG59IGZyb20gJy4uL3NlcnZlci9hcHAtcmVuZGVyL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBIZWFkRGF0YSB9IGZyb20gJy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lJ1xuaW1wb3J0IHsgUEFHRV9TRUdNRU5UX0tFWSB9IGZyb20gJy4uL3NoYXJlZC9saWIvc2VnbWVudCdcblxuZXhwb3J0IHR5cGUgTm9ybWFsaXplZEZsaWdodERhdGEgPSB7XG4gIC8qKlxuICAgKiBUaGUgZnVsbCBgRmxpZ2h0U2VnbWVudFBhdGhgIGluY2x1c2l2ZSBvZiB0aGUgZmluYWwgYFNlZ21lbnRgXG4gICAqL1xuICBzZWdtZW50UGF0aDogRmxpZ2h0U2VnbWVudFBhdGhcbiAgLyoqXG4gICAqIFRoZSBgRmxpZ2h0U2VnbWVudFBhdGhgIGV4Y2x1c2l2ZSBvZiB0aGUgZmluYWwgYFNlZ21lbnRgXG4gICAqL1xuICBwYXRoVG9TZWdtZW50OiBGbGlnaHRTZWdtZW50UGF0aFxuICBzZWdtZW50OiBTZWdtZW50XG4gIHRyZWU6IEZsaWdodFJvdXRlclN0YXRlXG4gIHNlZWREYXRhOiBDYWNoZU5vZGVTZWVkRGF0YSB8IG51bGxcbiAgaGVhZDogSGVhZERhdGFcbiAgaXNIZWFkUGFydGlhbDogYm9vbGVhblxuICBpc1Jvb3RSZW5kZXI6IGJvb2xlYW5cbn1cblxuLy8gVE9ETzogV2Ugc2hvdWxkIG9ubHkgaGF2ZSB0byBleHBvcnQgYG5vcm1hbGl6ZUZsaWdodERhdGFgLCBob3dldmVyIGJlY2F1c2UgdGhlIGluaXRpYWwgZmxpZ2h0IGRhdGFcbi8vIHRoYXQgZ2V0cyBwYXNzZWQgdG8gYGNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZWAgZG9lc24ndCBjb25mb3JtIHRvIHRoZSBgRmxpZ2h0RGF0YVBhdGhgIHR5cGUgKGl0J3MgbWlzc2luZyB0aGUgcm9vdCBzZWdtZW50KVxuLy8gd2UncmUgY3VycmVudGx5IGV4cG9ydGluZyBpdCBzbyB3ZSBjYW4gdXNlIGl0IGRpcmVjdGx5LiBUaGlzIHNob3VsZCBiZSBmaXhlZCBhcyBwYXJ0IG9mIHRoZSB1bmlmaWNhdGlvbiBvZlxuLy8gdGhlIGRpZmZlcmVudCB3YXlzIHdlIGV4cHJlc3MgYEZsaWdodFNlZ21lbnRQYXRoYC5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGbGlnaHREYXRhUGFydHNGcm9tUGF0aChcbiAgZmxpZ2h0RGF0YVBhdGg6IEZsaWdodERhdGFQYXRoXG4pOiBOb3JtYWxpemVkRmxpZ2h0RGF0YSB7XG4gIC8vIFBpY2sgdGhlIGxhc3QgNCBpdGVtcyBmcm9tIHRoZSBgRmxpZ2h0RGF0YVBhdGhgIHRvIGdldCB0aGUgW3RyZWUsIHNlZWREYXRhLCB2aWV3cG9ydCwgaXNIZWFkUGFydGlhbF0uXG4gIGNvbnN0IGZsaWdodERhdGFQYXRoTGVuZ3RoID0gNFxuICAvLyB0cmVlLCBzZWVkRGF0YSwgYW5kIGhlYWQgYXJlICphbHdheXMqIHRoZSBsYXN0IHRocmVlIGl0ZW1zIGluIHRoZSBgRmxpZ2h0RGF0YVBhdGhgLlxuICBjb25zdCBbdHJlZSwgc2VlZERhdGEsIGhlYWQsIGlzSGVhZFBhcnRpYWxdID1cbiAgICBmbGlnaHREYXRhUGF0aC5zbGljZSgtZmxpZ2h0RGF0YVBhdGhMZW5ndGgpXG4gIC8vIFRoZSBgRmxpZ2h0U2VnbWVudFBhdGhgIGlzIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBsYXN0IHRocmVlIGl0ZW1zLiBGb3IgYSByb290IHJlbmRlciwgaXQgd29uJ3QgYmUgcHJlc2VudC5cbiAgY29uc3Qgc2VnbWVudFBhdGggPSBmbGlnaHREYXRhUGF0aC5zbGljZSgwLCAtZmxpZ2h0RGF0YVBhdGhMZW5ndGgpXG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUT0RPOiBVbmlmeSB0aGVzZSB0d28gc2VnbWVudCBwYXRoIGhlbHBlcnMuIFdlIGFyZSBpbmNvbnNpc3RlbnRseSBwdXNoaW5nIGFuIGVtcHR5IHNlZ21lbnQgKFwiXCIpXG4gICAgLy8gdG8gdGhlIHN0YXJ0IG9mIHRoZSBzZWdtZW50IHBhdGggaW4gc29tZSBwbGFjZXMgd2hpY2ggbWFrZXMgaXQgaGFyZCB0byB1c2Ugc29sZWx5IHRoZSBzZWdtZW50IHBhdGguXG4gICAgLy8gTG9vayBmb3IgXCIvLyBUT0RPLUFQUDogcmVtb3ZlICcnXCIgaW4gdGhlIGNvZGViYXNlLlxuICAgIHBhdGhUb1NlZ21lbnQ6IHNlZ21lbnRQYXRoLnNsaWNlKDAsIC0xKSxcbiAgICBzZWdtZW50UGF0aCxcbiAgICAvLyBpZiB0aGUgYEZsaWdodERhdGFQYXRoYCBjb3JyZXNwb25kcyB3aXRoIHRoZSByb290LCB0aGVyZSdsbCBiZSBubyBzZWdtZW50IHBhdGgsXG4gICAgLy8gaW4gd2hpY2ggY2FzZSB3ZSBkZWZhdWx0IHRvICcnLlxuICAgIHNlZ21lbnQ6IHNlZ21lbnRQYXRoW3NlZ21lbnRQYXRoLmxlbmd0aCAtIDFdID8/ICcnLFxuICAgIHRyZWUsXG4gICAgc2VlZERhdGEsXG4gICAgaGVhZCxcbiAgICBpc0hlYWRQYXJ0aWFsLFxuICAgIGlzUm9vdFJlbmRlcjogZmxpZ2h0RGF0YVBhdGgubGVuZ3RoID09PSBmbGlnaHREYXRhUGF0aExlbmd0aCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dEZsaWdodFNlZ21lbnRQYXRoKFxuICBmbGlnaHRTZWdtZW50UGF0aDogRmxpZ2h0U2VnbWVudFBhdGhcbik6IEZsaWdodFNlZ21lbnRQYXRoIHtcbiAgLy8gU2luY2UgYEZsaWdodFNlZ21lbnRQYXRoYCBpcyBhIHJlcGVhdGVkIHR1cGxlIG9mIGBTZWdtZW50YCBhbmQgYFBhcmFsbGVsUm91dGVLZXlgLCB3ZSBzbGljZSBvZmYgdHdvIGl0ZW1zXG4gIC8vIHRvIGdldCB0aGUgbmV4dCBzZWdtZW50IHBhdGguXG4gIHJldHVybiBmbGlnaHRTZWdtZW50UGF0aC5zbGljZSgyKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplRmxpZ2h0RGF0YShcbiAgZmxpZ2h0RGF0YTogRmxpZ2h0RGF0YVxuKTogTm9ybWFsaXplZEZsaWdodERhdGFbXSB8IHN0cmluZyB7XG4gIC8vIEZsaWdodERhdGEgY2FuIGJlIGEgc3RyaW5nIHdoZW4gdGhlIHNlcnZlciBkaWRuJ3QgcmVzcG9uZCB3aXRoIGEgcHJvcGVyIGZsaWdodCByZXNwb25zZSxcbiAgLy8gb3Igd2hlbiBhIHJlZGlyZWN0IGhhcHBlbnMsIHRvIHNpZ25hbCB0byB0aGUgY2xpZW50IHRoYXQgaXQgbmVlZHMgdG8gcGVyZm9ybSBhbiBNUEEgbmF2aWdhdGlvbi5cbiAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmbGlnaHREYXRhXG4gIH1cblxuICByZXR1cm4gZmxpZ2h0RGF0YS5tYXAoZ2V0RmxpZ2h0RGF0YVBhcnRzRnJvbVBhdGgpXG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHByZXBhcmUgdGhlIGZsaWdodCByb3V0ZXIgc3RhdGUgZm9yIHRoZSByZXF1ZXN0LlxuICogSXQgcmVtb3ZlcyBtYXJrZXJzIHRoYXQgYXJlIG5vdCBuZWVkZWQgYnkgdGhlIHNlcnZlciwgYW5kIGFyZSBwdXJlbHkgdXNlZFxuICogZm9yIHN0YXNoaW5nIHN0YXRlIG9uIHRoZSBjbGllbnQuXG4gKiBAcGFyYW0gZmxpZ2h0Um91dGVyU3RhdGUgLSBUaGUgZmxpZ2h0IHJvdXRlciBzdGF0ZSB0byBwcmVwYXJlLlxuICogQHBhcmFtIGlzSG1yUmVmcmVzaCAtIFdoZXRoZXIgdGhpcyBpcyBhbiBITVIgcmVmcmVzaCByZXF1ZXN0LlxuICogQHJldHVybnMgVGhlIHByZXBhcmVkIGZsaWdodCByb3V0ZXIgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlRmxpZ2h0Um91dGVyU3RhdGVGb3JSZXF1ZXN0KFxuICBmbGlnaHRSb3V0ZXJTdGF0ZTogRmxpZ2h0Um91dGVyU3RhdGUsXG4gIGlzSG1yUmVmcmVzaD86IGJvb2xlYW5cbik6IHN0cmluZyB7XG4gIC8vIEhNUiByZXF1ZXN0cyBuZWVkIHRoZSBjb21wbGV0ZSwgdW5tb2RpZmllZCBzdGF0ZSBmb3IgcHJvcGVyIGZ1bmN0aW9uYWxpdHlcbiAgaWYgKGlzSG1yUmVmcmVzaCkge1xuICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZmxpZ2h0Um91dGVyU3RhdGUpKVxuICB9XG5cbiAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChcbiAgICBKU09OLnN0cmluZ2lmeShzdHJpcENsaWVudE9ubHlEYXRhRnJvbUZsaWdodFJvdXRlclN0YXRlKGZsaWdodFJvdXRlclN0YXRlKSlcbiAgKVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHN0cmlwcyBjbGllbnQtb25seSBkYXRhIGZyb20gRmxpZ2h0Um91dGVyU3RhdGUgd2hpbGUgcHJlc2VydmluZ1xuICogc2VydmVyLW5lZWRlZCBpbmZvcm1hdGlvbiBmb3IgcHJvcGVyIHJlbmRlcmluZyBkZWNpc2lvbnMuXG4gKi9cbmZ1bmN0aW9uIHN0cmlwQ2xpZW50T25seURhdGFGcm9tRmxpZ2h0Um91dGVyU3RhdGUoXG4gIGZsaWdodFJvdXRlclN0YXRlOiBGbGlnaHRSb3V0ZXJTdGF0ZVxuKTogRmxpZ2h0Um91dGVyU3RhdGUge1xuICBjb25zdCBbXG4gICAgc2VnbWVudCxcbiAgICBwYXJhbGxlbFJvdXRlcyxcbiAgICBfdXJsLCAvLyBJbnRlbnRpb25hbGx5IHVudXNlZCAtIFVSTHMgYXJlIGNsaWVudC1vbmx5XG4gICAgcmVmcmVzaE1hcmtlcixcbiAgICBpc1Jvb3RMYXlvdXQsXG4gICAgaGFzTG9hZGluZ0JvdW5kYXJ5LFxuICBdID0gZmxpZ2h0Um91dGVyU3RhdGVcblxuICAvLyBfX1BBR0VfXyBzZWdtZW50cyBhcmUgYWx3YXlzIGZldGNoZWQgZnJvbSB0aGUgc2VydmVyLCBzbyB0aGVyZSdzXG4gIC8vIG5vIG5lZWQgdG8gc2VuZCB0aGVtIHVwXG4gIGNvbnN0IGNsZWFuZWRTZWdtZW50ID0gc3RyaXBTZWFyY2hQYXJhbXNGcm9tUGFnZVNlZ21lbnQoc2VnbWVudClcblxuICAvLyBSZWN1cnNpdmVseSBwcm9jZXNzIHBhcmFsbGVsIHJvdXRlc1xuICBjb25zdCBjbGVhbmVkUGFyYWxsZWxSb3V0ZXM6IHsgW2tleTogc3RyaW5nXTogRmxpZ2h0Um91dGVyU3RhdGUgfSA9IHt9XG4gIGZvciAoY29uc3QgW2tleSwgY2hpbGRTdGF0ZV0gb2YgT2JqZWN0LmVudHJpZXMocGFyYWxsZWxSb3V0ZXMpKSB7XG4gICAgY2xlYW5lZFBhcmFsbGVsUm91dGVzW2tleV0gPVxuICAgICAgc3RyaXBDbGllbnRPbmx5RGF0YUZyb21GbGlnaHRSb3V0ZXJTdGF0ZShjaGlsZFN0YXRlKVxuICB9XG5cbiAgY29uc3QgcmVzdWx0OiBGbGlnaHRSb3V0ZXJTdGF0ZSA9IFtcbiAgICBjbGVhbmVkU2VnbWVudCxcbiAgICBjbGVhbmVkUGFyYWxsZWxSb3V0ZXMsXG4gICAgbnVsbCwgLy8gVVJMcyBvbWl0dGVkIC0gc2VydmVyIHJlY29uc3RydWN0cyBwYXRocyBmcm9tIHNlZ21lbnRzXG4gICAgc2hvdWxkUHJlc2VydmVSZWZyZXNoTWFya2VyKHJlZnJlc2hNYXJrZXIpID8gcmVmcmVzaE1hcmtlciA6IG51bGwsXG4gIF1cblxuICAvLyBBcHBlbmQgb3B0aW9uYWwgZmllbGRzIGlmIHByZXNlbnRcbiAgaWYgKGlzUm9vdExheW91dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmVzdWx0WzRdID0gaXNSb290TGF5b3V0XG4gIH1cbiAgaWYgKGhhc0xvYWRpbmdCb3VuZGFyeSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmVzdWx0WzVdID0gaGFzTG9hZGluZ0JvdW5kYXJ5XG4gIH1cblxuICByZXR1cm4gcmVzdWx0XG59XG5cbi8qKlxuICogU3RyaXBzIHNlYXJjaCBwYXJhbWV0ZXJzIGZyb20gX19QQUdFX18gc2VnbWVudHMgdG8gcHJldmVudCBzZW5zaXRpdmVcbiAqIGNsaWVudC1zaWRlIGRhdGEgZnJvbSBiZWluZyBzZW50IHRvIHRoZSBzZXJ2ZXIuXG4gKi9cbmZ1bmN0aW9uIHN0cmlwU2VhcmNoUGFyYW1zRnJvbVBhZ2VTZWdtZW50KHNlZ21lbnQ6IFNlZ21lbnQpOiBTZWdtZW50IHtcbiAgaWYgKFxuICAgIHR5cGVvZiBzZWdtZW50ID09PSAnc3RyaW5nJyAmJlxuICAgIHNlZ21lbnQuc3RhcnRzV2l0aChQQUdFX1NFR01FTlRfS0VZICsgJz8nKVxuICApIHtcbiAgICByZXR1cm4gUEFHRV9TRUdNRU5UX0tFWVxuICB9XG4gIHJldHVybiBzZWdtZW50XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSByZWZyZXNoIG1hcmtlciBzaG91bGQgYmUgc2VudCB0byB0aGUgc2VydmVyXG4gKiBDbGllbnQtb25seSBtYXJrZXJzIGxpa2UgJ3JlZnJlc2gnIGFyZSBzdHJpcHBlZCwgd2hpbGUgc2VydmVyLW5lZWRlZCBtYXJrZXJzXG4gKiBsaWtlICdyZWZldGNoJyBhbmQgJ2luc2lkZS1zaGFyZWQtbGF5b3V0JyBhcmUgcHJlc2VydmVkLlxuICovXG5mdW5jdGlvbiBzaG91bGRQcmVzZXJ2ZVJlZnJlc2hNYXJrZXIoXG4gIHJlZnJlc2hNYXJrZXI6IEZsaWdodFJvdXRlclN0YXRlWzNdXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4ocmVmcmVzaE1hcmtlciAmJiByZWZyZXNoTWFya2VyICE9PSAncmVmcmVzaCcpXG59XG4iXSwibmFtZXMiOlsiZ2V0RmxpZ2h0RGF0YVBhcnRzRnJvbVBhdGgiLCJnZXROZXh0RmxpZ2h0U2VnbWVudFBhdGgiLCJub3JtYWxpemVGbGlnaHREYXRhIiwicHJlcGFyZUZsaWdodFJvdXRlclN0YXRlRm9yUmVxdWVzdCIsImZsaWdodERhdGFQYXRoIiwiZmxpZ2h0RGF0YVBhdGhMZW5ndGgiLCJ0cmVlIiwic2VlZERhdGEiLCJoZWFkIiwiaXNIZWFkUGFydGlhbCIsInNsaWNlIiwic2VnbWVudFBhdGgiLCJwYXRoVG9TZWdtZW50Iiwic2VnbWVudCIsImxlbmd0aCIsImlzUm9vdFJlbmRlciIsImZsaWdodFNlZ21lbnRQYXRoIiwiZmxpZ2h0RGF0YSIsIm1hcCIsImZsaWdodFJvdXRlclN0YXRlIiwiaXNIbXJSZWZyZXNoIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsInN0cmlwQ2xpZW50T25seURhdGFGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJwYXJhbGxlbFJvdXRlcyIsIl91cmwiLCJyZWZyZXNoTWFya2VyIiwiaXNSb290TGF5b3V0IiwiaGFzTG9hZGluZ0JvdW5kYXJ5IiwiY2xlYW5lZFNlZ21lbnQiLCJzdHJpcFNlYXJjaFBhcmFtc0Zyb21QYWdlU2VnbWVudCIsImNsZWFuZWRQYXJhbGxlbFJvdXRlcyIsImtleSIsImNoaWxkU3RhdGUiLCJPYmplY3QiLCJlbnRyaWVzIiwicmVzdWx0Iiwic2hvdWxkUHJlc2VydmVSZWZyZXNoTWFya2VyIiwidW5kZWZpbmVkIiwic3RhcnRzV2l0aCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJCb29sZWFuIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/flight-data-helpers.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/has-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || '';\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\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=has-base-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2hhcy1iYXNlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OzsrQ0FJZ0JBOzs7ZUFBQUE7OzsyQ0FKYztBQUU5QixNQUFNQyxXQUFZQyxNQUFrQyxJQUFlO0FBRTVELFNBQVNGLFlBQVlLLElBQVk7SUFDdEMsT0FBT0MsQ0FBQUEsR0FBQUEsZUFBQUEsYUFBQUEsRUFBY0QsTUFBTUo7QUFDN0IiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvc3JjL2NsaWVudC9oYXMtYmFzZS1wYXRoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhdGhIYXNQcmVmaXggfSBmcm9tICcuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXRoLWhhcy1wcmVmaXgnXG5cbmNvbnN0IGJhc2VQYXRoID0gKHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggYXMgc3RyaW5nKSB8fCAnJ1xuXG5leHBvcnQgZnVuY3Rpb24gaGFzQmFzZVBhdGgocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBwYXRoSGFzUHJlZml4KHBhdGgsIGJhc2VQYXRoKVxufVxuIl0sIm5hbWVzIjpbImhhc0Jhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJwYXRoSGFzUHJlZml4Il0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/lib/console.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/client/lib/console.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 formatConsoleArgs: function() {\n return formatConsoleArgs;\n },\n parseConsoleArgs: function() {\n return parseConsoleArgs;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../lib/is-error */ \"(app-pages-browser)/./node_modules/next/dist/lib/is-error.js\"));\nfunction formatObject(arg, depth) {\n switch(typeof arg){\n case 'object':\n if (arg === null) {\n return 'null';\n } else if (Array.isArray(arg)) {\n let result = '[';\n if (depth < 1) {\n for(let i = 0; i < arg.length; i++){\n if (result !== '[') {\n result += ',';\n }\n if (Object.prototype.hasOwnProperty.call(arg, i)) {\n result += formatObject(arg[i], depth + 1);\n }\n }\n } else {\n result += arg.length > 0 ? '...' : '';\n }\n result += ']';\n return result;\n } else if (arg instanceof Error) {\n return arg + '';\n } else {\n const keys = Object.keys(arg);\n let result = '{';\n if (depth < 1) {\n for(let i = 0; i < keys.length; i++){\n const key = keys[i];\n const desc = Object.getOwnPropertyDescriptor(arg, 'key');\n if (desc && !desc.get && !desc.set) {\n const jsonKey = JSON.stringify(key);\n if (jsonKey !== '\"' + key + '\"') {\n result += jsonKey + ': ';\n } else {\n result += key + ': ';\n }\n result += formatObject(desc.value, depth + 1);\n }\n }\n } else {\n result += keys.length > 0 ? '...' : '';\n }\n result += '}';\n return result;\n }\n case 'string':\n return JSON.stringify(arg);\n default:\n return String(arg);\n }\n}\nfunction formatConsoleArgs(args) {\n let message;\n let idx;\n if (typeof args[0] === 'string') {\n message = args[0];\n idx = 1;\n } else {\n message = '';\n idx = 0;\n }\n let result = '';\n let startQuote = false;\n for(let i = 0; i < message.length; ++i){\n const char = message[i];\n if (char !== '%' || i === message.length - 1 || idx >= args.length) {\n result += char;\n continue;\n }\n const code = message[++i];\n switch(code){\n case 'c':\n {\n // TODO: We should colorize with HTML instead of turning into a string.\n // Ignore for now.\n result = startQuote ? \"\" + result + \"]\" : \"[\" + result;\n startQuote = !startQuote;\n idx++;\n break;\n }\n case 'O':\n case 'o':\n {\n result += formatObject(args[idx++], 0);\n break;\n }\n case 'd':\n case 'i':\n {\n result += parseInt(args[idx++], 10);\n break;\n }\n case 'f':\n {\n result += parseFloat(args[idx++]);\n break;\n }\n case 's':\n {\n result += String(args[idx++]);\n break;\n }\n default:\n result += '%' + code;\n }\n }\n for(; idx < args.length; idx++){\n result += (idx > 0 ? ' ' : '') + formatObject(args[idx], 0);\n }\n return result;\n}\nfunction parseConsoleArgs(args) {\n // See\n // https://github.com/facebook/react/blob/65a56d0e99261481c721334a3ec4561d173594cd/packages/react-devtools-shared/src/backend/flight/renderer.js#L88-L93\n //\n // Logs replayed from the server look like this:\n // [\n // \"%c%s%c %o\\n\\n%s\\n\\n%s\\n\",\n // \"background: #e6e6e6; ...\",\n // \" Server \", // can also be e.g. \" Prerender \"\n // \"\",\n // Error,\n // \"The above error occurred in the component.\",\n // ...\n // ]\n if (args.length > 3 && typeof args[0] === 'string' && args[0].startsWith('%c%s%c ') && typeof args[1] === 'string' && typeof args[2] === 'string' && typeof args[3] === 'string') {\n const environmentName = args[2];\n const maybeError = args[4];\n return {\n environmentName: environmentName.trim(),\n error: (0, _iserror.default)(maybeError) ? maybeError : null\n };\n }\n return {\n environmentName: null,\n error: null\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=console.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpYi9jb25zb2xlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXVEZ0JBLGlCQUFpQjtlQUFqQkE7O0lBMkRBQyxnQkFBZ0I7ZUFBaEJBOzs7OzhFQWxISTtBQUVwQixTQUFTQyxhQUFhQyxHQUFZLEVBQUVDLEtBQWE7SUFDL0MsT0FBUSxPQUFPRDtRQUNiLEtBQUs7WUFDSCxJQUFJQSxRQUFRLE1BQU07Z0JBQ2hCLE9BQU87WUFDVCxPQUFPLElBQUlFLE1BQU1DLE9BQU8sQ0FBQ0gsTUFBTTtnQkFDN0IsSUFBSUksU0FBUztnQkFDYixJQUFJSCxRQUFRLEdBQUc7b0JBQ2IsSUFBSyxJQUFJSSxJQUFJLEdBQUdBLElBQUlMLElBQUlNLE1BQU0sRUFBRUQsSUFBSzt3QkFDbkMsSUFBSUQsV0FBVyxLQUFLOzRCQUNsQkEsVUFBVTt3QkFDWjt3QkFDQSxJQUFJRyxPQUFPQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDVixLQUFLSyxJQUFJOzRCQUNoREQsVUFBVUwsYUFBYUMsR0FBRyxDQUFDSyxFQUFFLEVBQUVKLFFBQVE7d0JBQ3pDO29CQUNGO2dCQUNGLE9BQU87b0JBQ0xHLFVBQVVKLElBQUlNLE1BQU0sR0FBRyxJQUFJLFFBQVE7Z0JBQ3JDO2dCQUNBRixVQUFVO2dCQUNWLE9BQU9BO1lBQ1QsT0FBTyxJQUFJSixlQUFlVyxPQUFPO2dCQUMvQixPQUFPWCxNQUFNO1lBQ2YsT0FBTztnQkFDTCxNQUFNWSxPQUFPTCxPQUFPSyxJQUFJLENBQUNaO2dCQUN6QixJQUFJSSxTQUFTO2dCQUNiLElBQUlILFFBQVEsR0FBRztvQkFDYixJQUFLLElBQUlJLElBQUksR0FBR0EsSUFBSU8sS0FBS04sTUFBTSxFQUFFRCxJQUFLO3dCQUNwQyxNQUFNUSxNQUFNRCxJQUFJLENBQUNQLEVBQUU7d0JBQ25CLE1BQU1TLE9BQU9QLE9BQU9RLHdCQUF3QixDQUFDZixL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LE9BQU9BLElBQUksQ0FBQyxFQUFFLEtBQUssVUFDbkI7UUFDQSxNQUFNUyxrQkFBa0JULElBQUksQ0FBQyxFQUFFO1FBQy9CLE1BQU1VLGFBQWFWLElBQUksQ0FBQyxFQUFFO1FBRTFCLE9BQU87WUFDTFMsaUJBQWlCQSxnQkFBZ0JFLElBQUk7WUFDckNDLE9BQU9DLENBQUFBLEdBQUFBLFNBQUFBLE9BQUFBLEVBQVFILGNBQWNBLGFBQWE7UUFDNUM7SUFDRjtJQUVBLE9BQU87UUFDTEQsaUJBQWlCO1FBQ2pCRyxPQUFPO0lBQ1Q7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL3NyYy9jbGllbnQvbGliL2NvbnNvbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRXJyb3IgZnJvbSAnLi4vLi4vbGliL2lzLWVycm9yJ1xuXG5mdW5jdGlvbiBmb3JtYXRPYmplY3QoYXJnOiB1bmtub3duLCBkZXB0aDogbnVtYmVyKSB7XG4gIHN3aXRjaCAodHlwZW9mIGFyZykge1xuICAgIGNhc2UgJ29iamVjdCc6XG4gICAgICBpZiAoYXJnID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAnbnVsbCdcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhcmcpKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAnWydcbiAgICAgICAgaWYgKGRlcHRoIDwgMSkge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJnLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSAnWycpIHtcbiAgICAgICAgICAgICAgcmVzdWx0ICs9ICcsJ1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhcmcsIGkpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdCArPSBmb3JtYXRPYmplY3QoYXJnW2ldLCBkZXB0aCArIDEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCArPSBhcmcubGVuZ3RoID4gMCA/ICcuLi4nIDogJydcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgKz0gJ10nXG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgIH0gZWxzZSBpZiAoYXJnIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGFyZyArICcnXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoYXJnKVxuICAgICAgICBsZXQgcmVzdWx0ID0gJ3snXG4gICAgICAgIGlmIChkZXB0aCA8IDEpIHtcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGtleXNbaV1cbiAgICAgICAgICAgIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZywgJ2tleScpXG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAhZGVzYy5nZXQgJiYgIWRlc2Muc2V0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb25LZXkgPSBKU09OLnN0cmluZ2lmeShrZXkpXG4gICAgICAgICAgICAgIGlmIChqc29uS2V5ICE9PSAnXCInICsga2V5ICsgJ1wiJykge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBqc29uS2V5ICsgJzogJ1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBrZXkgKyAnOiAnXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmVzdWx0ICs9IGZvcm1hdE9iamVjdChkZXNjLnZhbHVlLCBkZXB0aCArIDEpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdCArPSBrZXlzLmxlbmd0aCA+IDAgPyAnLi4uJyA6ICcnXG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ICs9ICd9J1xuICAgICAgICByZXR1cm4gcmVzdWx0XG4gICAgICB9XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhcmcpXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBTdHJpbmcoYXJnKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDb25zb2xlQXJncyhhcmdzOiB1bmtub3duW10pOiBzdHJpbmcge1xuICBsZXQgbWVzc2FnZTogc3RyaW5nXG4gIGxldCBpZHg6IG51bWJlclxuICBpZiAodHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKSB7XG4gICAgbWVzc2FnZSA9IGFyZ3NbMF1cbiAgICBpZHggPSAxXG4gIH0gZWxzZSB7XG4gICAgbWVzc2FnZSA9ICcnXG4gICAgaWR4ID0gMFxuICB9XG4gIGxldCByZXN1bHQgPSAnJ1xuICBsZXQgc3RhcnRRdW90ZSA9IGZhbHNlXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWVzc2FnZS5sZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IGNoYXIgPSBtZXNzYWdlW2ldXG4gICAgaWYgKGNoYXIgIT09ICclJyB8fCBpID09PSBtZXNzYWdlLmxlbmd0aCAtIDEgfHwgaWR4ID49IGFyZ3MubGVuZ3RoKSB7XG4gICAgICByZXN1bHQgKz0gY2hhclxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBjb25zdCBjb2RlID0gbWVzc2FnZVsrK2ldXG4gICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICBjYXNlICdjJzoge1xuICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgY29sb3JpemUgd2l0aCBIVE1MIGluc3RlYWQgb2YgdHVybmluZyBpbnRvIGEgc3RyaW5nLlxuICAgICAgICAvLyBJZ25vcmUgZm9yIG5vdy5cbiAgICAgICAgcmVzdWx0ID0gc3RhcnRRdW90ZSA/IGAke3Jlc3VsdH1dYCA6IGBbJHtyZXN1bHR9YFxuICAgICAgICBzdGFydFF1b3RlID0gIXN0YXJ0UXVvdGVcbiAgICAgICAgaWR4KytcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ08nOlxuICAgICAgY2FzZSAnbyc6IHtcbiAgICAgICAgcmVzdWx0ICs9IGZvcm1hdE9iamVjdChhcmdzW2lkeCsrXSwgMClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2QnOlxuICAgICAgY2FzZSAnaSc6IHtcbiAgICAgICAgcmVzdWx0ICs9IHBhcnNlSW50KGFyZ3NbaWR4KytdIGFzIGFueSwgMTApXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdmJzoge1xuICAgICAgICByZXN1bHQgKz0gcGFyc2VGbG9hdChhcmdzW2lkeCsrXSBhcyBhbnkpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdzJzoge1xuICAgICAgICByZXN1bHQgKz0gU3RyaW5nKGFyZ3NbaWR4KytdKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmVzdWx0ICs9ICclJyArIGNvZGVcbiAgICB9XG4gIH1cblxuICBmb3IgKDsgaWR4IDwgYXJncy5sZW5ndGg7IGlkeCsrKSB7XG4gICAgcmVzdWx0ICs9IChpZHggPiAwID8gJyAnIDogJycpICsgZm9ybWF0T2JqZWN0KGFyZ3NbaWR4XSwgMClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlQ29uc29sZUFyZ3MoYXJnczogdW5rbm93bltdKToge1xuICBlbnZpcm9ubWVudE5hbWU6IHN0cmluZyB8IG51bGxcbiAgZXJyb3I6IEVycm9yIHwgbnVsbFxufSB7XG4gIC8vIFNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvYmxvYi82NWE1NmQwZTk5MjYxNDgxYzcyMTMzNGEzZWM0NTYxZDE3MzU5NGNkL3BhY2thZ2VzL3JlYWN0LWRldnRvb2xzLXNoYXJlZC9zcmMvYmFja2VuZC9mbGlnaHQvcmVuZGVyZXIuanMjTDg4LUw5M1xuICAvL1xuICAvLyBMb2dzIHJlcGxheWVkIGZyb20gdGhlIHNlcnZlciBsb29rIGxpa2UgdGhpczpcbiAgLy8gW1xuICAvLyAgIFwiJWMlcyVjICVvXFxuXFxuJXNcXG5cXG4lc1xcblwiLFxuICAvLyAgIFwiYmFja2dyb3VuZDogI2U2ZTZlNjsgLi4uXCIsXG4gIC8vICAgXCIgU2VydmVyIFwiLCAvLyBjYW4gYWxzbyBiZSBlLmcuIFwiIFByZXJlbmRlciBcIlxuICAvLyAgIFwiXCIsXG4gIC8vICAgRXJyb3IsXG4gIC8vICAgXCJUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gdGhlIDxQYWdlPiBjb21wb25lbnQuXCIsXG4gIC8vICAgLi4uXG4gIC8vIF1cbiAgaWYgKFxuICAgIGFyZ3MubGVuZ3RoID4gMyAmJlxuICAgIHR5cGVvZiBhcmdzWzBdID09PSAnc3RyaW5nJyAmJlxuICAgIGFyZ3NbMF0uc3RhcnRzV2l0aCgnJWMlcyVjICcpICYmXG4gICAgdHlwZW9mIGFyZ3NbMV0gPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIGFyZ3NbMl0gPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIGFyZ3NbM10gPT09ICdzdHJpbmcnXG4gICkge1xuICAgIGNvbnN0IGVudmlyb25tZW50TmFtZSA9IGFyZ3NbMl1cbiAgICBjb25zdCBtYXliZUVycm9yID0gYXJnc1s0XVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVudmlyb25tZW50TmFtZTogZW52aXJvbm1lbnROYW1lLnRyaW0oKSxcbiAgICAgIGVycm9yOiBpc0Vycm9yKG1heWJlRXJyb3IpID8gbWF5YmVFcnJvciA6IG51bGwsXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBlbnZpcm9ubWVudE5hbWU6IG51bGwsXG4gICAgZXJyb3I6IG51bGwsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJmb3JtYXRDb25zb2xlQXJncyIsInBhcnNlQ29uc29sZUFyZ3MiLCJmb3JtYXRPYmplY3QiLCJhcmciLCJkZXB0aCIsIkFycmF5IiwiaXNBcnJheSIsInJlc3VsdCIsImkiLCJsZW5ndGgiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJFcnJvciIsImtleXMiLCJrZXkiLCJkZXNjIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0Iiwic2V0IiwianNvbktleSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ2YWx1ZSIsIlN0cmluZyIsImFyZ3MiLCJtZXNzYWdlIiwiaWR4Iiwic3RhcnRRdW90ZSIsImNoYXIiLCJjb2RlIiwicGFyc2VJbnQiLCJwYXJzZUZsb2F0Iiwic3RhcnRzV2l0aCIsImVudmlyb25tZW50TmFtZSIsIm1heWJlRXJyb3IiLCJ0cmltIiwiZXJyb3IiLCJpc0Vycm9yIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/lib/console.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith('/') || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (false) {}\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\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=normalize-trailing-slash.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiOzs7OzhEQU9hQTs7O2VBQUFBOzs7aURBUHVCO3VDQUNWO0FBTW5CLE1BQU1BLDZCQUE2QixDQUFDQztJQUN6QyxJQUFJLENBQUNBLEtBQUtDLFVBQVUsQ0FBQyxRQUFRQyxTQUF3QyxFQUFFO1FBQ3JFLE9BQU9GO0lBQ1Q7SUFFQSxNQUFNLEVBQUVLLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUUsR0FBR0MsQ0FBQUEsR0FBQUEsV0FBQUEsU0FBQUEsRUFBVVI7SUFDNUMsSUFBSUUsS0FBaUMsRUFBRSxFQVF0QztJQUVELE9BQVEsS0FBRVMsQ0FBQUEsR0FBQUEscUJBQUFBLG1CQUFBQSxFQUFvQk4sWUFBWUMsUUFBUUM7QUFDcEQiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvc3JjL2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVtb3ZlVHJhaWxpbmdTbGFzaCB9IGZyb20gJy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaCdcbmltcG9ydCB7IHBhcnNlUGF0aCB9IGZyb20gJy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGgnXG5cbi8qKlxuICogTm9ybWFsaXplcyB0aGUgdHJhaWxpbmcgc2xhc2ggb2YgYSBwYXRoIGFjY29yZGluZyB0byB0aGUgYHRyYWlsaW5nU2xhc2hgIG9wdGlvblxuICogaW4gYG5leHQuY29uZmlnLmpzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoID0gKHBhdGg6IHN0cmluZykgPT4ge1xuICBpZiAoIXBhdGguc3RhcnRzV2l0aCgnLycpIHx8IHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICByZXR1cm4gcGF0aFxuICB9XG5cbiAgY29uc3QgeyBwYXRobmFtZSwgcXVlcnksIGhhc2ggfSA9IHBhcnNlUGF0aChwYXRoKVxuICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RSQUlMSU5HX1NMQVNIKSB7XG4gICAgaWYgKC9cXC5bXi9dK1xcLz8kLy50ZXN0KHBhdGhuYW1lKSkge1xuICAgICAgcmV0dXJuIGAke3JlbW92ZVRyYWlsaW5nU2xhc2gocGF0aG5hbWUpfSR7cXVlcnl9JHtoYXNofWBcbiAgICB9IGVsc2UgaWYgKHBhdGhuYW1lLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIHJldHVybiBgJHtwYXRobmFtZX0ke3F1ZXJ5fSR7aGFzaH1gXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHtwYXRobmFtZX0vJHtxdWVyeX0ke2hhc2h9YFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBgJHtyZW1vdmVUcmFpbGluZ1NsYXNoKHBhdGhuYW1lKX0ke3F1ZXJ5fSR7aGFzaH1gXG59XG4iXSwibmFtZXMiOlsibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJwYXRoIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfTUFOVUFMX1RSQUlMSU5HX1NMQVNIIiwicGF0aG5hbWUiLCJxdWVyeSIsImhhc2giLCJwYXJzZVBhdGgiLCJfX05FWFRfVFJBSUxJTkdfU0xBU0giLCJ0ZXN0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsImVuZHNXaXRoIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/normalize-trailing-slash.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/error-boundary-callbacks.js": /*!******************************************************************************************!*\ !*** ./node_modules/next/dist/client/react-client-callbacks/error-boundary-callbacks.js ***! \******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// This file is only used in app router due to the specific error state handling.\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 onCaughtError: function() {\n return onCaughtError;\n },\n onUncaughtError: function() {\n return onUncaughtError;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _isnextroutererror = __webpack_require__(/*! ../components/is-next-router-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _reportglobalerror = __webpack_require__(/*! ./report-global-error */ \"(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/report-global-error.js\");\nconst _errorboundary = __webpack_require__(/*! ../components/error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _globalerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../components/builtin/global-error */ \"(app-pages-browser)/./node_modules/next/dist/client/components/builtin/global-error.js\"));\nconst devToolErrorMod = true ? __webpack_require__(/*! ../../next-devtools/userspace/app/errors */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/errors/index.js\") : 0;\nfunction onCaughtError(thrownValue, errorInfo) {\n var _errorInfo_errorBoundary;\n const errorBoundaryComponent = (_errorInfo_errorBoundary = errorInfo.errorBoundary) == null ? void 0 : _errorInfo_errorBoundary.constructor;\n let isImplicitErrorBoundary;\n if (true) {\n const { AppDevOverlayErrorBoundary } = __webpack_require__(/*! ../../next-devtools/userspace/app/app-dev-overlay-error-boundary */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/app-dev-overlay-error-boundary.js\");\n isImplicitErrorBoundary = errorBoundaryComponent === AppDevOverlayErrorBoundary;\n }\n isImplicitErrorBoundary = isImplicitErrorBoundary || errorBoundaryComponent === _errorboundary.ErrorBoundaryHandler && errorInfo.errorBoundary.props.errorComponent === _globalerror.default;\n // Skip the segment explorer triggered error\n if (true) {\n const { SEGMENT_EXPLORER_SIMULATED_ERROR_MESSAGE } = __webpack_require__(/*! ../../next-devtools/userspace/app/segment-explorer-node */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js\");\n if (thrownValue instanceof Error && thrownValue.message === SEGMENT_EXPLORER_SIMULATED_ERROR_MESSAGE) {\n return;\n }\n }\n if (isImplicitErrorBoundary) {\n // We don't consider errors caught unless they're caught by an explicit error\n // boundary. The built-in ones are considered implicit.\n // This mimics how the same app would behave without Next.js.\n return onUncaughtError(thrownValue, errorInfo);\n }\n // Skip certain custom errors which are not expected to be reported on client\n if ((0, _bailouttocsr.isBailoutToCSRError)(thrownValue) || (0, _isnextroutererror.isNextRouterError)(thrownValue)) return;\n if (true) {\n var _errorInfo_componentStack;\n const errorBoundaryName = (errorBoundaryComponent == null ? void 0 : errorBoundaryComponent.displayName) || (errorBoundaryComponent == null ? void 0 : errorBoundaryComponent.name) || 'Unknown';\n const componentThatErroredFrame = errorInfo == null ? void 0 : (_errorInfo_componentStack = errorInfo.componentStack) == null ? void 0 : _errorInfo_componentStack.split('\\n')[1];\n var // example 1: at Page (http://localhost:3000/_next/static/chunks/pages/index.js?ts=1631600000000:2:1)\n // example 2: Page@http://localhost:3000/_next/static/chunks/pages/index.js?ts=1631600000000:2:1\n _componentThatErroredFrame_match;\n // Match chrome or safari stack trace\n const matches = (_componentThatErroredFrame_match = componentThatErroredFrame == null ? void 0 : componentThatErroredFrame.match(/\\s+at (\\w+)\\s+|(\\w+)@/)) != null ? _componentThatErroredFrame_match : [];\n const componentThatErroredName = matches[1] || matches[2] || 'Unknown';\n // Create error location with errored component and error boundary, to match the behavior of default React onCaughtError handler.\n const errorBoundaryMessage = \"It was handled by the <\" + errorBoundaryName + \"> error boundary.\";\n const componentErrorMessage = componentThatErroredName ? \"The above error occurred in the <\" + componentThatErroredName + \"> component.\" : \"The above error occurred in one of your components.\";\n const errorLocation = componentErrorMessage + \" \" + errorBoundaryMessage;\n const error = devToolErrorMod.decorateDevError(thrownValue, errorInfo);\n // Log and report the error with location but without modifying the error stack\n devToolErrorMod.originConsoleError('%o\\n\\n%s', thrownValue, errorLocation);\n devToolErrorMod.handleClientError(error);\n } else {}\n}\nfunction onUncaughtError(thrownValue, errorInfo) {\n // Skip certain custom errors which are not expected to be reported on client\n if ((0, _bailouttocsr.isBailoutToCSRError)(thrownValue) || (0, _isnextroutererror.isNextRouterError)(thrownValue)) return;\n if (true) {\n const error = devToolErrorMod.decorateDevError(thrownValue, errorInfo);\n // TODO: Add an adendum to the overlay telling people about custom error boundaries.\n (0, _reportglobalerror.reportGlobalError)(error);\n } else {}\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=error-boundary-callbacks.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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlYWN0LWNsaWVudC1jYWxsYmFja3MvZXJyb3ItYm91bmRhcnktY2FsbGJhY2tzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGlGQUFpRjs7Ozs7Ozs7Ozs7OztJQWtCakVBLGFBQWE7ZUFBYkE7O0lBK0VBQyxlQUFlO2VBQWZBOzs7OytDQTlGa0I7MENBQ0U7K0NBQ0Y7MkNBQ0c7a0ZBQ0o7QUFFakMsTUFBTUMsa0JBQ0pDLEtBQW9CLEdBQ2ZHLG1CQUFPQSxDQUFDLDBJQUEwQyxJQUNuRCxDQUlDO0FBRUEsU0FBU04sY0FDZGEsV0FBb0IsRUFDcEJDLFNBQTBEO1FBRTNCQTtJQUEvQixNQUFNQyx5QkFBQUEsQ0FBeUJELDJCQUFBQSxVQUFVRSxhQUFBQSxLQUFhLGdCQUF2QkYseUJBQXlCRyxXQUFXO0lBRW5FLElBQUlDO0lBRUosSUFBSWYsSUFBb0IsRUFBbUI7UUFDekMsTUFBTSxFQUFFZ0IsMEJBQTBCLEVBQUUsR0FDbENiLG1CQUFPQSxDQUFDLG9MQUFrRTtRQUU1RVksMEJBQ0VILDJCQUEyQkk7SUFDL0I7SUFFQUQsMEJBQ0VBLDJCQUNDSCwyQkFBMkJLLGVBQUFBLG9CQUFvQixJQUM3Q04sVUFBVUUsYUFBYSxDQUNyQkssS0FBSyxDQUFDQyxjQUFjLEtBQUtDLGFBQUFBLE9BQW9CO0lBRXBELDRDQUE0QztJQUM1QyxJQUFJcEIsSUFBb0IsRUFBbUI7UUFDekMsTUFBTSxFQUFFcUIsd0NBQXdDLEVBQUUsR0FDaERsQixtQkFBT0EsQ0FBQyxrS0FBeUQ7UUFDbkUsSUFDRU8sdUJBQXVCWSxTQUN2QlosWUFBWWEsT0FBTyxLQUFLRiwwQ0FDeEI7WUFDQTtRQUNGO0lBQ0Y7SUFFQSxJQUFJTix5QkFBeUI7UUFDM0IsNkVBQTZFO1FBQzdFLHVEQUF1RDtRQUN2RCw2REFBNkQ7UUFDN0QsT0FBT2pCLGdCQUFnQlksYUFBYUM7SUFDdEM7SUFFQSw2RUFBNkU7SUFDN0UsSUFBSWEsQ0FBQUEsR0FBQUEsY0FBQUEsbUJBQUFBLEVBQW9CZCxnQkFBZ0JlLENBQUFBLEdBQUFBLG1CQUFBQSxpQkFBaUIsRUFBQ2YsY0FBYztJQUV4RSxJQUFJVixJQUFvQixFQUFtQjtZQU9QVztRQU5sQyxNQUFNZSxvQkFFSixDQURBLDBCQUNDZCxPQUFBQSxFQURrQyxHQUNsQ0EsSUFBQUEsdUJBQWdDZSxXQUFBQSxNQUNqQ2YsMEJBQUFBLE9BQUFBLEtBQUFBLElBQUFBLHVCQUF3QmdCLElBQUFBLEtBQ3hCO1FBRUYsTUFBTUMsNEJBQTRCbEIsYUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsNkJBQUFBLFVBQVdtQixjQUFBQSxLQUFjLGdCQUF6Qm5CLDBCQUEyQm9CLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUl6RSxzREFBc0QsK0NBQytDO1FBQ3JHLGdHQUFnRztRQUNoR0Y7UUFMRixxQ0FBcUM7UUFDckMsTUFBTUcsVUFJSkgsQ0FBQUEsbUNBQUFBLDZCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSwwQkFBMkJJLEtBQUssQ0FBQyxvQ0FBakNKLG1DQUE2RCxFQUFFO1FBQ2pFLE1BQU1LLDJCQUEyQkYsT0FBTyxDQUFDLEVBQUUsSUFBSUEsT0FBTyxDQUFDLEVBQUUsSUFBSTtRQUU3RCxpSUFBaUk7UUFDakksTUFBTUcsdUJBQXdCLDRCQUF5QlQsb0JBQWtCO1FBQ3pFLE1BQU1VLHdCQUF3QkYsMkJBQ3pCLHNDQUFtQ0EsMkJBQXlCLGlCQUM1RDtRQUVMLE1BQU1HLGdCQUFtQkQsd0JBQXNCLE1BQUdEO1FBQ2xELE1BQU05QixRQUFRTixnQkFBZ0JLLGdCQUFnQixDQUFDTSxhQUFhQztRQUU1RCwrRUFBK0U7UUFDL0VaLGdCQUFnQlEsa0JBQWtCLENBQUMsWUFBWUcsYUFBYTJCO1FBRTVEdEMsZ0JBQWdCTyxpQkFBaUIsQ0FBQ0Q7SUFDcEMsT0FBTyxFQUVOO0FBQ0g7QUFFTyxTQUFTUCxnQkFDZFksV0FBb0IsRUFDcEJDLFNBQTBCO0lBRTFCLDZFQUE2RTtJQUM3RSxJQUFJYSxDQUFBQSxHQUFBQSxjQUFBQSxtQkFBQUEsRUFBb0JkLGdCQUFnQmUsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFBQSxFQUFrQmYsY0FBYztJQUV4RSxJQUFJVixJQUFvQixFQUFtQjtRQUN6QyxNQUFNSyxRQUFRTixnQkFBZ0JLLGdCQUFnQixDQUFDTSxhQUFhQztRQUU1RCxvRkFBb0Y7UUFDcEYyQixDQUFBQSxHQUFBQSxtQkFBQUEsaUJBQUFBLEVBQWtCakM7SUFDcEIsT0FBTyxFQUVOO0FBQ0giLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L3JlYWN0LWNsaWVudC1jYWxsYmFja3MvZXJyb3ItYm91bmRhcnktY2FsbGJhY2tzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBpcyBvbmx5IHVzZWQgaW4gYXBwIHJvdXRlciBkdWUgdG8gdGhlIHNwZWNpZmljIGVycm9yIHN0YXRlIGhhbmRsaW5nLlxuXG5pbXBvcnQgdHlwZSB7IEVycm9ySW5mbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgaXNOZXh0Um91dGVyRXJyb3IgfSBmcm9tICcuLi9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yJ1xuaW1wb3J0IHsgaXNCYWlsb3V0VG9DU1JFcnJvciB9IGZyb20gJy4uLy4uL3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyJ1xuaW1wb3J0IHsgcmVwb3J0R2xvYmFsRXJyb3IgfSBmcm9tICcuL3JlcG9ydC1nbG9iYWwtZXJyb3InXG5pbXBvcnQgeyBFcnJvckJvdW5kYXJ5SGFuZGxlciB9IGZyb20gJy4uL2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnknXG5pbXBvcnQgRGVmYXVsdEVycm9yQm91bmRhcnkgZnJvbSAnLi4vY29tcG9uZW50cy9idWlsdGluL2dsb2JhbC1lcnJvcidcblxuY29uc3QgZGV2VG9vbEVycm9yTW9kOiB0eXBlb2YgaW1wb3J0KCcuLi8uLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvZXJyb3JzJykgPVxuICBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nXG4gICAgPyAocmVxdWlyZSgnLi4vLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL2Vycm9ycycpIGFzIHR5cGVvZiBpbXBvcnQoJy4uLy4uL25leHQtZGV2dG9vbHMvdXNlcnNwYWNlL2FwcC9lcnJvcnMnKSlcbiAgICA6IHtcbiAgICAgICAgZGVjb3JhdGVEZXZFcnJvcjogKGVycm9yOiB1bmtub3duKSA9PiBlcnJvciBhcyBFcnJvcixcbiAgICAgICAgaGFuZGxlQ2xpZW50RXJyb3I6ICgpID0+IHt9LFxuICAgICAgICBvcmlnaW5Db25zb2xlRXJyb3I6IGNvbnNvbGUuZXJyb3IuYmluZChjb25zb2xlKSxcbiAgICAgIH1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uQ2F1Z2h0RXJyb3IoXG4gIHRocm93blZhbHVlOiB1bmtub3duLFxuICBlcnJvckluZm86IEVycm9ySW5mbyAmIHsgZXJyb3JCb3VuZGFyeT86IFJlYWN0LkNvbXBvbmVudCB9XG4pIHtcbiAgY29uc3QgZXJyb3JCb3VuZGFyeUNvbXBvbmVudCA9IGVycm9ySW5mby5lcnJvckJvdW5kYXJ5Py5jb25zdHJ1Y3RvclxuXG4gIGxldCBpc0ltcGxpY2l0RXJyb3JCb3VuZGFyeVxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY29uc3QgeyBBcHBEZXZPdmVybGF5RXJyb3JCb3VuZGFyeSB9ID1cbiAgICAgIHJlcXVpcmUoJy4uLy4uL25leHQtZGV2dG9vbHMvdXNlcnNwYWNlL2FwcC9hcHAtZGV2LW92ZXJsYXktZXJyb3ItYm91bmRhcnknKSBhcyB0eXBlb2YgaW1wb3J0KCcuLi8uLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvYXBwLWRldi1vdmVybGF5LWVycm9yLWJvdW5kYXJ5JylcblxuICAgIGlzSW1wbGljaXRFcnJvckJvdW5kYXJ5ID1cbiAgICAgIGVycm9yQm91bmRhcnlDb21wb25lbnQgPT09IEFwcERldk92ZXJsYXlFcnJvckJvdW5kYXJ5XG4gIH1cblxuICBpc0ltcGxpY2l0RXJyb3JCb3VuZGFyeSA9XG4gICAgaXNJbXBsaWNpdEVycm9yQm91bmRhcnkgfHxcbiAgICAoZXJyb3JCb3VuZGFyeUNvbXBvbmVudCA9PT0gRXJyb3JCb3VuZGFyeUhhbmRsZXIgJiZcbiAgICAgIChlcnJvckluZm8uZXJyb3JCb3VuZGFyeSEgYXMgSW5zdGFuY2VUeXBlPHR5cGVvZiBFcnJvckJvdW5kYXJ5SGFuZGxlcj4pXG4gICAgICAgIC5wcm9wcy5lcnJvckNvbXBvbmVudCA9PT0gRGVmYXVsdEVycm9yQm91bmRhcnkpXG5cbiAgLy8gU2tpcCB0aGUgc2VnbWVudCBleHBsb3JlciB0cmlnZ2VyZWQgZXJyb3JcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBjb25zdCB7IFNFR01FTlRfRVhQTE9SRVJfU0lNVUxBVEVEX0VSUk9SX01FU1NBR0UgfSA9XG4gICAgICByZXF1aXJlKCcuLi8uLi9uZXh0LWRldnRvb2xzL3VzZXJzcGFjZS9hcHAvc2VnbWVudC1leHBsb3Jlci1ub2RlJykgYXMgdHlwZW9mIGltcG9ydCgnLi4vLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL3NlZ21lbnQtZXhwbG9yZXItbm9kZScpXG4gICAgaWYgKFxuICAgICAgdGhyb3duVmFsdWUgaW5zdGFuY2VvZiBFcnJvciAmJlxuICAgICAgdGhyb3duVmFsdWUubWVzc2FnZSA9PT0gU0VHTUVOVF9FWFBMT1JFUl9TSU1VTEFURURfRVJST1JfTUVTU0FHRVxuICAgICkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbiAgaWYgKGlzSW1wbGljaXRFcnJvckJvdW5kYXJ5KSB7XG4gICAgLy8gV2UgZG9uJ3QgY29uc2lkZXIgZXJyb3JzIGNhdWdodCB1bmxlc3MgdGhleSdyZSBjYXVnaHQgYnkgYW4gZXhwbGljaXQgZXJyb3JcbiAgICAvLyBib3VuZGFyeS4gVGhlIGJ1aWx0LWluIG9uZXMgYXJlIGNvbnNpZGVyZWQgaW1wbGljaXQuXG4gICAgLy8gVGhpcyBtaW1pY3MgaG93IHRoZSBzYW1lIGFwcCB3b3VsZCBiZWhhdmUgd2l0aG91dCBOZXh0LmpzLlxuICAgIHJldHVybiBvblVuY2F1Z2h0RXJyb3IodGhyb3duVmFsdWUsIGVycm9ySW5mbylcbiAgfVxuXG4gIC8vIFNraXAgY2VydGFpbiBjdXN0b20gZXJyb3JzIHdoaWNoIGFyZSBub3QgZXhwZWN0ZWQgdG8gYmUgcmVwb3J0ZWQgb24gY2xpZW50XG4gIGlmIChpc0JhaWxvdXRUb0NTUkVycm9yKHRocm93blZhbHVlKSB8fCBpc05leHRSb3V0ZXJFcnJvcih0aHJvd25WYWx1ZSkpIHJldHVyblxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY29uc3QgZXJyb3JCb3VuZGFyeU5hbWUgPVxuICAgICAgLy8gcmVhZCByZWFjdCBjb21wb25lbnQgZGlzcGxheU5hbWVcbiAgICAgIChlcnJvckJvdW5kYXJ5Q29tcG9uZW50IGFzIGFueSk/LmRpc3BsYXlOYW1lIHx8XG4gICAgICBlcnJvckJvdW5kYXJ5Q29tcG9uZW50Py5uYW1lIHx8XG4gICAgICAnVW5rbm93bidcblxuICAgIGNvbnN0IGNvbXBvbmVudFRoYXRFcnJvcmVkRnJhbWUgPSBlcnJvckluZm8/LmNvbXBvbmVudFN0YWNrPy5zcGxpdCgnXFxuJylbMV1cblxuICAgIC8vIE1hdGNoIGNocm9tZSBvciBzYWZhcmkgc3RhY2sgdHJhY2VcbiAgICBjb25zdCBtYXRjaGVzID1cbiAgICAgIC8vIHJlZ2V4IHRvIG1hdGNoIHRoZSBmdW5jdGlvbiBuYW1lIGluIHRoZSBzdGFjayB0cmFjZVxuICAgICAgLy8gZXhhbXBsZSAxOiBhdCBQYWdlIChodHRwOi8vbG9jYWxob3N0OjMwMDAvX25leHQvc3RhdGljL2NodW5rcy9wYWdlcy9pbmRleC5qcz90cz0xNjMxNjAwMDAwMDAwOjI6MSlcbiAgICAgIC8vIGV4YW1wbGUgMjogUGFnZUBodHRwOi8vbG9jYWxob3N0OjMwMDAvX25leHQvc3RhdGljL2NodW5rcy9wYWdlcy9pbmRleC5qcz90cz0xNjMxNjAwMDAwMDAwOjI6MVxuICAgICAgY29tcG9uZW50VGhhdEVycm9yZWRGcmFtZT8ubWF0Y2goL1xccythdCAoXFx3KylcXHMrfChcXHcrKUAvKSA/PyBbXVxuICAgIGNvbnN0IGNvbXBvbmVudFRoYXRFcnJvcmVkTmFtZSA9IG1hdGNoZXNbMV0gfHwgbWF0Y2hlc1syXSB8fCAnVW5rbm93bidcblxuICAgIC8vIENyZWF0ZSBlcnJvciBsb2NhdGlvbiB3aXRoIGVycm9yZWQgY29tcG9uZW50IGFuZCBlcnJvciBib3VuZGFyeSwgdG8gbWF0Y2ggdGhlIGJlaGF2aW9yIG9mIGRlZmF1bHQgUmVhY3Qgb25DYXVnaHRFcnJvciBoYW5kbGVyLlxuICAgIGNvbnN0IGVycm9yQm91bmRhcnlNZXNzYWdlID0gYEl0IHdhcyBoYW5kbGVkIGJ5IHRoZSA8JHtlcnJvckJvdW5kYXJ5TmFtZX0+IGVycm9yIGJvdW5kYXJ5LmBcbiAgICBjb25zdCBjb21wb25lbnRFcnJvck1lc3NhZ2UgPSBjb21wb25lbnRUaGF0RXJyb3JlZE5hbWVcbiAgICAgID8gYFRoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiB0aGUgPCR7Y29tcG9uZW50VGhhdEVycm9yZWROYW1lfT4gY29tcG9uZW50LmBcbiAgICAgIDogYFRoZSBhYm92ZSBlcnJvciBvY2N1cnJlZCBpbiBvbmUgb2YgeW91ciBjb21wb25lbnRzLmBcblxuICAgIGNvbnN0IGVycm9yTG9jYXRpb24gPSBgJHtjb21wb25lbnRFcnJvck1lc3NhZ2V9ICR7ZXJyb3JCb3VuZGFyeU1lc3NhZ2V9YFxuICAgIGNvbnN0IGVycm9yID0gZGV2VG9vbEVycm9yTW9kLmRlY29yYXRlRGV2RXJyb3IodGhyb3duVmFsdWUsIGVycm9ySW5mbylcblxuICAgIC8vIExvZyBhbmQgcmVwb3J0IHRoZSBlcnJvciB3aXRoIGxvY2F0aW9uIGJ1dCB3aXRob3V0IG1vZGlmeWluZyB0aGUgZXJyb3Igc3RhY2tcbiAgICBkZXZUb29sRXJyb3JNb2Qub3JpZ2luQ29uc29sZUVycm9yKCclb1xcblxcbiVzJywgdGhyb3duVmFsdWUsIGVycm9yTG9jYXRpb24pXG5cbiAgICBkZXZUb29sRXJyb3JNb2QuaGFuZGxlQ2xpZW50RXJyb3IoZXJyb3IpXG4gIH0gZWxzZSB7XG4gICAgZGV2VG9vbEVycm9yTW9kLm9yaWdpbkNvbnNvbGVFcnJvcih0aHJvd25WYWx1ZSlcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25VbmNhdWdodEVycm9yKFxuICB0aHJvd25WYWx1ZTogdW5rbm93bixcbiAgZXJyb3JJbmZvOiBSZWFjdC5FcnJvckluZm9cbikge1xuICAvLyBTa2lwIGNlcnRhaW4gY3VzdG9tIGVycm9ycyB3aGljaCBhcmUgbm90IGV4cGVjdGVkIHRvIGJlIHJlcG9ydGVkIG9uIGNsaWVudFxuICBpZiAoaXNCYWlsb3V0VG9DU1JFcnJvcih0aHJvd25WYWx1ZSkgfHwgaXNOZXh0Um91dGVyRXJyb3IodGhyb3duVmFsdWUpKSByZXR1cm5cblxuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICAgIGNvbnN0IGVycm9yID0gZGV2VG9vbEVycm9yTW9kLmRlY29yYXRlRGV2RXJyb3IodGhyb3duVmFsdWUsIGVycm9ySW5mbylcblxuICAgIC8vIFRPRE86IEFkZCBhbiBhZGVuZHVtIHRvIHRoZSBvdmVybGF5IHRlbGxpbmcgcGVvcGxlIGFib3V0IGN1c3RvbSBlcnJvciBib3VuZGFyaWVzLlxuICAgIHJlcG9ydEdsb2JhbEVycm9yKGVycm9yKVxuICB9IGVsc2Uge1xuICAgIHJlcG9ydEdsb2JhbEVycm9yKHRocm93blZhbHVlKVxuICB9XG59XG4iXSwibmFtZXMiOlsib25DYXVnaHRFcnJvciIsIm9uVW5jYXVnaHRFcnJvciIsImRldlRvb2xFcnJvck1vZCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInJlcXVpcmUiLCJkZWNvcmF0ZURldkVycm9yIiwiZXJyb3IiLCJoYW5kbGVDbGllbnRFcnJvciIsIm9yaWdpbkNvbnNvbGVFcnJvciIsImNvbnNvbGUiLCJiaW5kIiwidGhyb3duVmFsdWUiLCJlcnJvckluZm8iLCJlcnJvckJvdW5kYXJ5Q29tcG9uZW50IiwiZXJyb3JCb3VuZGFyeSIsImNvbnN0cnVjdG9yIiwiaXNJbXBsaWNpdEVycm9yQm91bmRhcnkiLCJBcHBEZXZPdmVybGF5RXJyb3JCb3VuZGFyeSIsIkVycm9yQm91bmRhcnlIYW5kbGVyIiwicHJvcHMiLCJlcnJvckNvbXBvbmVudCIsIkRlZmF1bHRFcnJvckJvdW5kYXJ5IiwiU0VHTUVOVF9FWFBMT1JFUl9TSU1VTEFURURfRVJST1JfTUVTU0FHRSIsIkVycm9yIiwibWVzc2FnZSIsImlzQmFpbG91dFRvQ1NSRXJyb3IiLCJpc05leHRSb3V0ZXJFcnJvciIsImVycm9yQm91bmRhcnlOYW1lIiwiZGlzcGxheU5hbWUiLCJuYW1lIiwiY29tcG9uZW50VGhhdEVycm9yZWRGcmFtZSIsImNvbXBvbmVudFN0YWNrIiwic3BsaXQiLCJtYXRjaGVzIiwibWF0Y2giLCJjb21wb25lbnRUaGF0RXJyb3JlZE5hbWUiLCJlcnJvckJvdW5kYXJ5TWVzc2FnZSIsImNvbXBvbmVudEVycm9yTWVzc2FnZSIsImVycm9yTG9jYXRpb24iLCJyZXBvcnRHbG9iYWxFcnJvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/error-boundary-callbacks.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js ***! \**************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("// This module can be shared between both pages router and app router\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 isRecoverableError: function() {\n return isRecoverableError;\n },\n onRecoverableError: function() {\n return onRecoverableError;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(app-pages-browser)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(app-pages-browser)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../lib/is-error */ \"(app-pages-browser)/./node_modules/next/dist/lib/is-error.js\"));\nconst _reportglobalerror = __webpack_require__(/*! ./report-global-error */ \"(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/report-global-error.js\");\nconst recoverableErrors = new WeakSet();\nfunction isRecoverableError(error) {\n return recoverableErrors.has(error);\n}\nconst onRecoverableError = (error, errorInfo)=>{\n // x-ref: https://github.com/facebook/react/pull/28736\n let cause = (0, _iserror.default)(error) && 'cause' in error ? error.cause : error;\n // Skip certain custom errors which are not expected to be reported on client\n if ((0, _bailouttocsr.isBailoutToCSRError)(cause)) return;\n if (true) {\n const { decorateDevError } = __webpack_require__(/*! ../../next-devtools/userspace/app/errors/stitched-error */ \"(app-pages-browser)/./node_modules/next/dist/next-devtools/userspace/app/errors/stitched-error.js\");\n const causeError = decorateDevError(cause, errorInfo);\n recoverableErrors.add(causeError);\n cause = causeError;\n }\n (0, _reportglobalerror.reportGlobalError)(cause);\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=on-recoverable-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlYWN0LWNsaWVudC1jYWxsYmFja3Mvb24tcmVjb3ZlcmFibGUtZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQUEscUVBQXFFOzs7Ozs7Ozs7Ozs7O0lBU3JEQSxrQkFBa0I7ZUFBbEJBOztJQUlIQyxrQkFBa0I7ZUFBbEJBOzs7OzBDQVZ1Qjs4RUFDaEI7K0NBQ2M7QUFFbEMsTUFBTUMsb0JBQW9CLElBQUlDO0FBRXZCLFNBQVNILG1CQUFtQkksS0FBWTtJQUM3QyxPQUFPRixrQkFBa0JHLEdBQUcsQ0FBQ0Q7QUFDL0I7QUFFTyxNQUFNSCxxQkFBNkQsQ0FDeEVHLE9BQ0FFO0lBRUEsc0RBQXNEO0lBQ3RELElBQUlDLFFBQVFDLENBQUFBLEdBQUFBLFNBQUFBLE9BQUFBLEVBQVFKLFVBQVUsV0FBV0EsUUFBUUEsTUFBTUcsS0FBSyxHQUFHSDtJQUMvRCw2RUFBNkU7SUFDN0UsSUFBSUssQ0FBQUEsR0FBQUEsY0FBQUEsbUJBQUFBLEVBQW9CRixRQUFRO0lBRWhDLElBQUlHLElBQW9CLEVBQW1CO1FBQ3pDLE1BQU0sRUFBRUcsZ0JBQWdCLEVBQUUsR0FDeEJDLG1CQUFPQSxDQUFDLGtLQUF5RDtRQUNuRSxNQUFNQyxhQUFhRixpQkFBaUJOLE9BQU9EO1FBQzNDSixrQkFBa0JjLEdBQUcsQ0FBQ0Q7UUFDdEJSLFFBQVFRO0lBQ1Y7SUFFQUUsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFBQSxFQUFrQlY7QUFDcEIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9zcmMvY2xpZW50L3JlYWN0LWNsaWVudC1jYWxsYmFja3Mvb24tcmVjb3ZlcmFibGUtZXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBtb2R1bGUgY2FuIGJlIHNoYXJlZCBiZXR3ZWVuIGJvdGggcGFnZXMgcm91dGVyIGFuZCBhcHAgcm91dGVyXG5cbmltcG9ydCB0eXBlIHsgSHlkcmF0aW9uT3B0aW9ucyB9IGZyb20gJ3JlYWN0LWRvbS9jbGllbnQnXG5pbXBvcnQgeyBpc0JhaWxvdXRUb0NTUkVycm9yIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYi9sYXp5LWR5bmFtaWMvYmFpbG91dC10by1jc3InXG5pbXBvcnQgaXNFcnJvciBmcm9tICcuLi8uLi9saWIvaXMtZXJyb3InXG5pbXBvcnQgeyByZXBvcnRHbG9iYWxFcnJvciB9IGZyb20gJy4vcmVwb3J0LWdsb2JhbC1lcnJvcidcblxuY29uc3QgcmVjb3ZlcmFibGVFcnJvcnMgPSBuZXcgV2Vha1NldDxFcnJvcj4oKVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWNvdmVyYWJsZUVycm9yKGVycm9yOiBFcnJvcik6IGJvb2xlYW4ge1xuICByZXR1cm4gcmVjb3ZlcmFibGVFcnJvcnMuaGFzKGVycm9yKVxufVxuXG5leHBvcnQgY29uc3Qgb25SZWNvdmVyYWJsZUVycm9yOiBIeWRyYXRpb25PcHRpb25zWydvblJlY292ZXJhYmxlRXJyb3InXSA9IChcbiAgZXJyb3IsXG4gIGVycm9ySW5mb1xuKSA9PiB7XG4gIC8vIHgtcmVmOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yODczNlxuICBsZXQgY2F1c2UgPSBpc0Vycm9yKGVycm9yKSAmJiAnY2F1c2UnIGluIGVycm9yID8gZXJyb3IuY2F1c2UgOiBlcnJvclxuICAvLyBTa2lwIGNlcnRhaW4gY3VzdG9tIGVycm9ycyB3aGljaCBhcmUgbm90IGV4cGVjdGVkIHRvIGJlIHJlcG9ydGVkIG9uIGNsaWVudFxuICBpZiAoaXNCYWlsb3V0VG9DU1JFcnJvcihjYXVzZSkpIHJldHVyblxuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgY29uc3QgeyBkZWNvcmF0ZURldkVycm9yIH0gPVxuICAgICAgcmVxdWlyZSgnLi4vLi4vbmV4dC1kZXZ0b29scy91c2Vyc3BhY2UvYXBwL2Vycm9ycy9zdGl0Y2hlZC1lcnJvcicpIGFzIHR5cGVvZiBpbXBvcnQoJy4uLy4uL25leHQtZGV2dG9vbHMvdXNlcnNwYWNlL2FwcC9lcnJvcnMvc3RpdGNoZWQtZXJyb3InKVxuICAgIGNvbnN0IGNhdXNlRXJyb3IgPSBkZWNvcmF0ZURldkVycm9yKGNhdXNlLCBlcnJvckluZm8pXG4gICAgcmVjb3ZlcmFibGVFcnJvcnMuYWRkKGNhdXNlRXJyb3IpXG4gICAgY2F1c2UgPSBjYXVzZUVycm9yXG4gIH1cblxuICByZXBvcnRHbG9iYWxFcnJvcihjYXVzZSlcbn1cbiJdLCJuYW1lcyI6WyJpc1JlY292ZXJhYmxlRXJyb3IiLCJvblJlY292ZXJhYmxlRXJyb3IiLCJyZWNvdmVyYWJsZUVycm9ycyIsIldlYWtTZXQiLCJlcnJvciIsImhhcyIsImVycm9ySW5mbyIsImNhdXNlIiwiaXNFcnJvciIsImlzQmFpbG91dFRvQ1NSRXJyb3IiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJkZWNvcmF0ZURldkVycm9yIiwicmVxdWlyZSIsImNhdXNlRXJyb3IiLCJhZGQiLCJyZXBvcnRHbG9iYWxFcnJvciJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/on-recoverable-error.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/report-global-error.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/client/react-client-callbacks/report-global-error.js ***! \*************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"reportGlobalError\", ({\n enumerable: true,\n get: function() {\n return reportGlobalError;\n }\n}));\nconst reportGlobalError = typeof reportError === 'function' ? reportError : (error)=>{\n // TODO: Dispatch error event\n globalThis.console.error(error);\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=report-global-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlYWN0LWNsaWVudC1jYWxsYmFja3MvcmVwb3J0LWdsb2JhbC1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O3FEQUFhQTs7O2VBQUFBOzs7QUFBTixNQUFNQSxvQkFDWCxPQUFPQyxnQkFBZ0IsYUFFbkIsY0FFQSxDQUFDQztJQUNDLDZCQUE2QjtJQUM3QkMsV0FBV0MsT0FBTyxDQUFDRixLQUFLLENBQUNBO0FBQzNCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9OZXh0Y2xvdWQvc3JjL2NsaWVudC9yZWFjdC1jbGllbnQtY2FsbGJhY2tzL3JlcG9ydC1nbG9iYWwtZXJyb3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHJlcG9ydEdsb2JhbEVycm9yID1cbiAgdHlwZW9mIHJlcG9ydEVycm9yID09PSAnZnVuY3Rpb24nXG4gICAgPyAvLyBJbiBtb2Rlcm4gYnJvd3NlcnMsIHJlcG9ydEVycm9yIHdpbGwgZGlzcGF0Y2ggYW4gZXJyb3IgZXZlbnQsXG4gICAgICAvLyBlbXVsYXRpbmcgYW4gdW5jYXVnaHQgSmF2YVNjcmlwdCBlcnJvci5cbiAgICAgIHJlcG9ydEVycm9yXG4gICAgOiAoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgICAgLy8gVE9ETzogRGlzcGF0Y2ggZXJyb3IgZXZlbnRcbiAgICAgICAgZ2xvYmFsVGhpcy5jb25zb2xlLmVycm9yKGVycm9yKVxuICAgICAgfVxuIl0sIm5hbWVzIjpbInJlcG9ydEdsb2JhbEVycm9yIiwicmVwb3J0RXJyb3IiLCJlcnJvciIsImdsb2JhbFRoaXMiLCJjb25zb2xlIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/react-client-callbacks/report-global-error.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/client/remove-base-path.js ***! \***********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"(app-pages-browser)/./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || '';\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith('/')) path = \"/\" + path;\n return path;\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=remove-base-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 // AMP / 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L3JlbW92ZS1iYXNlLXBhdGguanMiLCJtYXBwaW5ncyI6Ijs7OztrREFJZ0JBOzs7ZUFBQUE7Ozt5Q0FKWTtBQUU1QixNQUFNQyxXQUFZQyxNQUFrQyxJQUFlO0FBRTVELFNBQVNGLGVBQWVLLElBQVk7SUFDekMsSUFBSUgsS0FBMEMsRUFBRSxFQUkvQztJQUVELGlEQUFpRDtJQUNqRCxJQUFJRCxTQUFTTyxNQUFNLEtBQUssR0FBRyxPQUFPSDtJQUVsQ0EsT0FBT0EsS0FBS0ksS0FBSyxDQUFDUixTQUFTTyxNQUFNO0lBQ2pDLElBQUksQ0FBQ0gsS0FBS0ssVUFBVSxDQUFDLE1BQU1MLE9BQVEsTUFBR0E7SUFDdEMsT0FBT0E7QUFDVCIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9zcmMvY2xpZW50L3JlbW92ZS1iYXNlLXBhdGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGFzQmFzZVBhdGggfSBmcm9tICcuL2hhcy1iYXNlLXBhdGgnXG5cbmNvbnN0IGJhc2VQYXRoID0gKHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggYXMgc3RyaW5nKSB8fCAnJ1xuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlQmFzZVBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCkge1xuICAgIGlmICghaGFzQmFzZVBhdGgocGF0aCkpIHtcbiAgICAgIHJldHVybiBwYXRoXG4gICAgfVxuICB9XG5cbiAgLy8gQ2FuJ3QgdHJpbSB0aGUgYmFzZVBhdGggaWYgaXQgaGFzIHplcm8gbGVuZ3RoIVxuICBpZiAoYmFzZVBhdGgubGVuZ3RoID09PSAwKSByZXR1cm4gcGF0aFxuXG4gIHBhdGggPSBwYXRoLnNsaWNlKGJhc2VQYXRoLmxlbmd0aClcbiAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoJy8nKSkgcGF0aCA9IGAvJHtwYXRofWBcbiAgcmV0dXJuIHBhdGhcbn1cbiJdLCJuYW1lcyI6WyJyZW1vdmVCYXNlUGF0aCIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwiX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIIiwiaGFzQmFzZVBhdGgiLCJsZW5ndGgiLCJzbGljZSIsInN0YXJ0c1dpdGgiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/client/remove-base-path.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js ***! \********************************************************************************************/ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval(__webpack_require__.ts("\n/**\n * MIT License\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\n// This file is copied from the Metro JavaScript bundler, with minor tweaks for\n// webpack 4 compatibility.\n//\n// https://github.com/facebook/metro/blob/d6b9685c730d0d63577db40f41369157f28dfa3a/packages/metro/src/lib/polyfills/require.js\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nfunction isSafeExport(key) {\n return (key === '__esModule' ||\n key === '__N_SSG' ||\n key === '__N_SSP' ||\n // TODO: remove this key from page config instead of allow listing it\n key === 'config');\n}\nfunction registerExportsForReactRefresh(moduleExports, moduleID) {\n runtime_1.default.register(moduleExports, moduleID + ' %exports%');\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n var typeID = moduleID + ' %exports% ' + key;\n runtime_1.default.register(exportValue, typeID);\n }\n}\nfunction getRefreshBoundarySignature(moduleExports) {\n var signature = [];\n signature.push(runtime_1.default.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n // (This is important for legacy environments.)\n return signature;\n }\n for (var key in moduleExports) {\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n continue;\n }\n signature.push(key);\n signature.push(runtime_1.default.getFamilyByType(exportValue));\n }\n return signature;\n}\nfunction isReactRefreshBoundary(moduleExports) {\n if (runtime_1.default.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== 'object') {\n // Exit if we can't iterate over exports.\n return false;\n }\n var hasExports = false;\n var areAllExportsComponents = true;\n for (var key in moduleExports) {\n hasExports = true;\n if (isSafeExport(key)) {\n continue;\n }\n try {\n var exportValue = moduleExports[key];\n }\n catch (_a) {\n // This might fail due to circular dependencies\n return false;\n }\n if (!runtime_1.default.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n}\nfunction shouldInvalidateReactRefreshBoundary(prevSignature, nextSignature) {\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (var i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n}\nvar isUpdateScheduled = false;\n// This function aggregates updates from multiple modules into a single React Refresh call.\nfunction scheduleUpdate() {\n if (isUpdateScheduled) {\n return;\n }\n isUpdateScheduled = true;\n function canApplyUpdate(status) {\n return status === 'idle';\n }\n function applyUpdate() {\n isUpdateScheduled = false;\n try {\n runtime_1.default.performReactRefresh();\n }\n catch (err) {\n console.warn('Warning: Failed to re-render. We will retry on the next Fast Refresh event.\\n' +\n err);\n }\n }\n if (canApplyUpdate(module.hot.status())) {\n // Apply update on the next tick.\n Promise.resolve().then(() => {\n applyUpdate();\n });\n return;\n }\n const statusHandler = (status) => {\n if (canApplyUpdate(status)) {\n module.hot.removeStatusHandler(statusHandler);\n applyUpdate();\n }\n };\n // Apply update once the HMR runtime's status is idle.\n module.hot.addStatusHandler(statusHandler);\n}\n// Needs to be compatible with IE11\nexports[\"default\"] = {\n registerExportsForReactRefresh: registerExportsForReactRefresh,\n isReactRefreshBoundary: isReactRefreshBoundary,\n shouldInvalidateReactRefreshBoundary: shouldInvalidateReactRefreshBoundary,\n getRefreshBoundarySignature: getRefreshBoundarySignature,\n scheduleUpdate: scheduleUpdate,\n};\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L2ludGVybmFsL2hlbHBlcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0M7QUFDQSw4Q0FBNkMsRUFBRSxhQUFhLEVBQUM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsbUJBQU8sQ0FBQyxnSUFBMEM7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsMEJBQTBCO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsVUFBVTtBQUNqQztBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFVBQVU7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLFVBQVU7QUFDZDtBQUNBO0FBQ0Esa0JBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvTmV4dGNsb3VkL0Rldi9CaW9oYXphcmRWRlhfV2Vic2l0ZS9uZXh0anMtYXBwL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L2ludGVybmFsL2hlbHBlcnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG4vKipcbiAqIE1JVCBMaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuICogdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuICpcbiAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuICogY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuICogQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiAqIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gKiBTT0ZUV0FSRS5cbiAqL1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuLy8gVGhpcyBmaWxlIGlzIGNvcGllZCBmcm9tIHRoZSBNZXRybyBKYXZhU2NyaXB0IGJ1bmRsZXIsIHdpdGggbWlub3IgdHdlYWtzIGZvclxuLy8gd2VicGFjayA0IGNvbXBhdGliaWxpdHkuXG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL21ldHJvL2Jsb2IvZDZiOTY4NWM3MzBkMGQ2MzU3N2RiNDBmNDEzNjkxNTdmMjhkZmEzYS9wYWNrYWdlcy9tZXRyby9zcmMvbGliL3BvbHlmaWxscy9yZXF1aXJlLmpzXG5jb25zdCBydW50aW1lXzEgPSBfX2ltcG9ydERlZmF1bHQocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9yZWFjdC1yZWZyZXNoL3J1bnRpbWVcIikpO1xuZnVuY3Rpb24gaXNTYWZlRXhwb3J0KGtleSkge1xuICAgIHJldHVybiAoa2V5ID09PSAnX19lc01vZHVsZScgfHxcbiAgICAgICAga2V5ID09PSAnX19OX1NTRycgfHxcbiAgICAgICAga2V5ID09PSAnX19OX1NTUCcgfHxcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoaXMga2V5IGZyb20gcGFnZSBjb25maWcgaW5zdGVhZCBvZiBhbGxvdyBsaXN0aW5nIGl0XG4gICAgICAgIGtleSA9PT0gJ2NvbmZpZycpO1xufVxuZnVuY3Rpb24gcmVnaXN0ZXJFeHBvcnRzRm9yUmVhY3RSZWZyZXNoKG1vZHVsZUV4cG9ydHMsIG1vZHVsZUlEKSB7XG4gICAgcnVudGltZV8xLmRlZmF1bHQucmVnaXN0ZXIobW9kdWxlRXhwb3J0cywgbW9kdWxlSUQgKyAnICVleHBvcnRzJScpO1xuICAgIGlmIChtb2R1bGVFeHBvcnRzID09IG51bGwgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgIT09ICdvYmplY3QnKSB7XG4gICAgICAgIC8vIEV4aXQgaWYgd2UgY2FuJ3QgaXRlcmF0ZSBvdmVyIGV4cG9ydHMuXG4gICAgICAgIC8vIChUaGlzIGlzIGltcG9ydGFudCBmb3IgbGVnYWN5IGVudmlyb25tZW50cy4pXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yICh2YXIga2V5IGluIG1vZHVsZUV4cG9ydHMpIHtcbiAgICAgICAgaWYgKGlzU2FmZUV4cG9ydChrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGV4cG9ydFZhbHVlID0gbW9kdWxlRXhwb3J0c1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkge1xuICAgICAgICAgICAgLy8gVGhpcyBtaWdodCBmYWlsIGR1ZSB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXNcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0eXBlSUQgPSBtb2R1bGVJRCArICcgJWV4cG9ydHMlICcgKyBrZXk7XG4gICAgICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnJlZ2lzdGVyKGV4cG9ydFZhbHVlLCB0eXBlSUQpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFJlZnJlc2hCb3VuZGFyeVNpZ25hdHVyZShtb2R1bGVFeHBvcnRzKSB7XG4gICAgdmFyIHNpZ25hdHVyZSA9IFtdO1xuICAgIHNpZ25hdHVyZS5wdXNoKHJ1bnRpbWVfMS5kZWZhdWx0LmdldEZhbWlseUJ5VHlwZShtb2R1bGVFeHBvcnRzKSk7XG4gICAgaWYgKG1vZHVsZUV4cG9ydHMgPT0gbnVsbCB8fCB0eXBlb2YgbW9kdWxlRXhwb3J0cyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gRXhpdCBpZiB3ZSBjYW4ndCBpdGVyYXRlIG92ZXIgZXhwb3J0cy5cbiAgICAgICAgLy8gKFRoaXMgaXMgaW1wb3J0YW50IGZvciBsZWdhY3kgZW52aXJvbm1lbnRzLilcbiAgICAgICAgcmV0dXJuIHNpZ25hdHVyZTtcbiAgICB9XG4gICAgZm9yICh2YXIga2V5IGluIG1vZHVsZUV4cG9ydHMpIHtcbiAgICAgICAgaWYgKGlzU2FmZUV4cG9ydChrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIGV4cG9ydFZhbHVlID0gbW9kdWxlRXhwb3J0c1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfYSkge1xuICAgICAgICAgICAgLy8gVGhpcyBtaWdodCBmYWlsIGR1ZSB0byBjaXJjdWxhciBkZXBlbmRlbmNpZXNcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHNpZ25hdHVyZS5wdXNoKGtleSk7XG4gICAgICAgIHNpZ25hdHVyZS5wdXNoKHJ1bnRpbWVfMS5kZWZhdWx0LmdldEZhbWlseUJ5VHlwZShleHBvcnRWYWx1ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gc2lnbmF0dXJlO1xufVxuZnVuY3Rpb24gaXNSZWFjdFJlZnJlc2hCb3VuZGFyeShtb2R1bGVFeHBvcnRzKSB7XG4gICAgaWYgKHJ1bnRpbWVfMS5kZWZhdWx0LmlzTGlrZWx5Q29tcG9uZW50VHlwZShtb2R1bGVFeHBvcnRzKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG1vZHVsZUV4cG9ydHMgPT0gbnVsbCB8fCB0eXBlb2YgbW9kdWxlRXhwb3J0cyAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgLy8gRXhpdCBpZiB3ZSBjYW4ndCBpdGVyYXRlIG92ZXIgZXhwb3J0cy5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgaGFzRXhwb3J0cyA9IGZhbHNlO1xuICAgIHZhciBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cyA9IHRydWU7XG4gICAgZm9yICh2YXIga2V5IGluIG1vZHVsZUV4cG9ydHMpIHtcbiAgICAgICAgaGFzRXhwb3J0cyA9IHRydWU7XG4gICAgICAgIGlmIChpc1NhZmVFeHBvcnQoa2V5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBleHBvcnRWYWx1ZSA9IG1vZHVsZUV4cG9ydHNba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoX2EpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgbWlnaHQgZmFpbCBkdWUgdG8gY2lyY3VsYXIgZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFydW50aW1lXzEuZGVmYXVsdC5pc0xpa2VseUNvbXBvbmVudFR5cGUoZXhwb3J0VmFsdWUpKSB7XG4gICAgICAgICAgICBhcmVBbGxFeHBvcnRzQ29tcG9uZW50cyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoYXNFeHBvcnRzICYmIGFyZUFsbEV4cG9ydHNDb21wb25lbnRzO1xufVxuZnVuY3Rpb24gc2hvdWxkSW52YWxpZGF0ZVJlYWN0UmVmcmVzaEJvdW5kYXJ5KHByZXZTaWduYXR1cmUsIG5leHRTaWduYXR1cmUpIHtcbiAgICBpZiAocHJldlNpZ25hdHVyZS5sZW5ndGggIT09IG5leHRTaWduYXR1cmUubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5leHRTaWduYXR1cmUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHByZXZTaWduYXR1cmVbaV0gIT09IG5leHRTaWduYXR1cmVbaV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbnZhciBpc1VwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuLy8gVGhpcyBmdW5jdGlvbiBhZ2dyZWdhdGVzIHVwZGF0ZXMgZnJvbSBtdWx0aXBsZSBtb2R1bGVzIGludG8gYSBzaW5nbGUgUmVhY3QgUmVmcmVzaCBjYWxsLlxuZnVuY3Rpb24gc2NoZWR1bGVVcGRhdGUoKSB7XG4gICAgaWYgKGlzVXBkYXRlU2NoZWR1bGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaXNVcGRhdGVTY2hlZHVsZWQgPSB0cnVlO1xuICAgIGZ1bmN0aW9uIGNhbkFwcGx5VXBkYXRlKHN0YXR1cykge1xuICAgICAgICByZXR1cm4gc3RhdHVzID09PSAnaWRsZSc7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGFwcGx5VXBkYXRlKCkge1xuICAgICAgICBpc1VwZGF0ZVNjaGVkdWxlZCA9IGZhbHNlO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcnVudGltZV8xLmRlZmF1bHQucGVyZm9ybVJlYWN0UmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignV2FybmluZzogRmFpbGVkIHRvIHJlLXJlbmRlci4gV2Ugd2lsbCByZXRyeSBvbiB0aGUgbmV4dCBGYXN0IFJlZnJlc2ggZXZlbnQuXFxuJyArXG4gICAgICAgICAgICAgICAgZXJyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQXBwbHlVcGRhdGUobW9kdWxlLmhvdC5zdGF0dXMoKSkpIHtcbiAgICAgICAgLy8gQXBwbHkgdXBkYXRlIG9uIHRoZSBuZXh0IHRpY2suXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgYXBwbHlVcGRhdGUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RhdHVzSGFuZGxlciA9IChzdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKGNhbkFwcGx5VXBkYXRlKHN0YXR1cykpIHtcbiAgICAgICAgICAgIG1vZHVsZS5ob3QucmVtb3ZlU3RhdHVzSGFuZGxlcihzdGF0dXNIYW5kbGVyKTtcbiAgICAgICAgICAgIGFwcGx5VXBkYXRlKCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8vIEFwcGx5IHVwZGF0ZSBvbmNlIHRoZSBITVIgcnVudGltZSdzIHN0YXR1cyBpcyBpZGxlLlxuICAgIG1vZHVsZS5ob3QuYWRkU3RhdHVzSGFuZGxlcihzdGF0dXNIYW5kbGVyKTtcbn1cbi8vIE5lZWRzIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBJRTExXG5leHBvcnRzLmRlZmF1bHQgPSB7XG4gICAgcmVnaXN0ZXJFeHBvcnRzRm9yUmVhY3RSZWZyZXNoOiByZWdpc3RlckV4cG9ydHNGb3JSZWFjdFJlZnJlc2gsXG4gICAgaXNSZWFjdFJlZnJlc2hCb3VuZGFyeTogaXNSZWFjdFJlZnJlc2hCb3VuZGFyeSxcbiAgICBzaG91bGRJbnZhbGlkYXRlUmVhY3RSZWZyZXNoQm91bmRhcnk6IHNob3VsZEludmFsaWRhdGVSZWFjdFJlZnJlc2hCb3VuZGFyeSxcbiAgICBnZXRSZWZyZXNoQm91bmRhcnlTaWduYXR1cmU6IGdldFJlZnJlc2hCb3VuZGFyeVNpZ25hdHVyZSxcbiAgICBzY2hlZHVsZVVwZGF0ZTogc2NoZWR1bGVVcGRhdGUsXG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVscGVycy5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js ***! \***********************************************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; eval(__webpack_require__.ts("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nconst runtime_1 = __importDefault(__webpack_require__(/*! next/dist/compiled/react-refresh/runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react-refresh/runtime.js\"));\nconst helpers_1 = __importDefault(__webpack_require__(/*! ./internal/helpers */ \"(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/internal/helpers.js\"));\n// Hook into ReactDOM initialization\nruntime_1.default.injectIntoGlobalHook(self);\n// Register global helpers\nself.$RefreshHelpers$ = helpers_1.default;\n// Register a helper for module execution interception\nself.$RefreshInterceptModuleExecution$ = function (webpackModuleId) {\n var prevRefreshReg = self.$RefreshReg$;\n var prevRefreshSig = self.$RefreshSig$;\n self.$RefreshReg$ = function (type, id) {\n runtime_1.default.register(type, webpackModuleId + ' ' + id);\n };\n self.$RefreshSig$ = runtime_1.default.createSignatureFunctionForTransform;\n // Modeled after `useEffect` cleanup pattern:\n // https://react.dev/learn/synchronizing-with-effects#step-3-add-cleanup-if-needed\n return function () {\n self.$RefreshReg$ = prevRefreshReg;\n self.$RefreshSig$ = prevRefreshSig;\n };\n};\n//# sourceMappingURL=runtime.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvQG5leHQvcmVhY3QtcmVmcmVzaC11dGlscy9kaXN0L3J1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYjtBQUNBLDZDQUE2QztBQUM3QztBQUNBLDhDQUE2QyxFQUFFLGFBQWEsRUFBQztBQUM3RCxrQ0FBa0MsbUJBQU8sQ0FBQyxnSUFBMEM7QUFDcEYsa0NBQWtDLG1CQUFPLENBQUMsb0lBQW9CO0FBQzlEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL05leHRjbG91ZC9EZXYvQmlvaGF6YXJkVkZYX1dlYnNpdGUvbmV4dGpzLWFwcC9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BuZXh0L3JlYWN0LXJlZnJlc2gtdXRpbHMvZGlzdC9ydW50aW1lLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9faW1wb3J0RGVmYXVsdCA9ICh0aGlzICYmIHRoaXMuX19pbXBvcnREZWZhdWx0KSB8fCBmdW5jdGlvbiAobW9kKSB7XG4gICAgcmV0dXJuIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpID8gbW9kIDogeyBcImRlZmF1bHRcIjogbW9kIH07XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuY29uc3QgcnVudGltZV8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QtcmVmcmVzaC9ydW50aW1lXCIpKTtcbmNvbnN0IGhlbHBlcnNfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzXCIpKTtcbi8vIEhvb2sgaW50byBSZWFjdERPTSBpbml0aWFsaXphdGlvblxucnVudGltZV8xLmRlZmF1bHQuaW5qZWN0SW50b0dsb2JhbEhvb2soc2VsZik7XG4vLyBSZWdpc3RlciBnbG9iYWwgaGVscGVyc1xuc2VsZi4kUmVmcmVzaEhlbHBlcnMkID0gaGVscGVyc18xLmRlZmF1bHQ7XG4vLyBSZWdpc3RlciBhIGhlbHBlciBmb3IgbW9kdWxlIGV4ZWN1dGlvbiBpbnRlcmNlcHRpb25cbnNlbGYuJFJlZnJlc2hJbnRlcmNlcHRNb2R1bGVFeGVjdXRpb24kID0gZnVuY3Rpb24gKHdlYnBhY2tNb2R1bGVJZCkge1xuICAgIHZhciBwcmV2UmVmcmVzaFJlZyA9IHNlbGYuJFJlZnJlc2hSZWckO1xuICAgIHZhciBwcmV2UmVmcmVzaFNpZyA9IHNlbGYuJFJlZnJlc2hTaWckO1xuICAgIHNlbGYuJFJlZnJlc2hSZWckID0gZnVuY3Rpb24gKHR5cGUsIGlkKSB7XG4gICAgICAgIHJ1bnRpbWVfMS5kZWZhdWx0LnJlZ2lzdGVyKHR5cGUsIHdlYnBhY2tNb2R1bGVJZCArICcgJyArIGlkKTtcbiAgICB9O1xuICAgIHNlbGYuJFJlZnJlc2hTaWckID0gcnVudGltZV8xLmRlZmF1bHQuY3JlYXRlU2lnbmF0dXJlRnVuY3Rpb25Gb3JUcmFuc2Zvcm07XG4gICAgLy8gTW9kZWxlZCBhZnRlciBgdXNlRWZmZWN0YCBjbGVhbnVwIHBhdHRlcm46XG4gICAgLy8gaHR0cHM6Ly9yZWFjdC5kZXYvbGVhcm4vc3luY2hyb25pemluZy13aXRoLWVmZmVjdHMjc3RlcC0zLWFkZC1jbGVhbnVwLWlmLW5lZWRlZFxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHNlbGYuJFJlZnJlc2hSZWckID0gcHJldlJlZnJlc2hSZWc7XG4gICAgICAgIHNlbGYuJFJlZnJlc2hTaWckID0gcHJldlJlZnJlc2hTaWc7XG4gICAgfTtcbn07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ydW50aW1lLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/@next/react-refresh-utils/dist/runtime.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/next/dist/compiled/next-devtools/index.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/compiled/next-devtools/index.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { eval(__webpack_require__.ts("/* provided dependency */ var process = __webpack_require__(/*! process */ \"(app-pages-browser)/./node_modules/next/dist/build/polyfills/process.js\");\nvar __webpack_modules__={\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/components/tooltip.css\":function(e,n,t){\"use strict\";t.d(n,{Z:()=>l});var r=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\"),o=t.n(r),a=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\"),i=t.n(a)()(o());i.push([e.id,`.tooltip-wrapper {\n position: relative;\n display: inline-block;\n line-height: 1;\n}\n\n.tooltip {\n position: relative;\n padding: 6px 12px;\n border-radius: 8px;\n font-size: 14px;\n line-height: 1.4;\n pointer-events: none;\n}\n\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-style: solid;\n border-width: var(--arrow-size, 6px);\n border-color: transparent;\n}\n\n.tooltip-arrow--top {\n border-width: var(--arrow-size, 6px) var(--arrow-size, 6px) 0\n var(--arrow-size, 6px);\n border-top-color: var(--tooltip-bg-color);\n bottom: 0;\n transform: translateY(100%);\n}\n\n.tooltip-arrow--bottom {\n border-width: 0 var(--arrow-size, 6px) var(--arrow-size, 6px)\n var(--arrow-size, 6px);\n border-bottom-color: var(--tooltip-bg-color);\n top: 0;\n transform: translateY(-100%);\n}\n\n.tooltip-arrow--left {\n border-width: var(--arrow-size, 6px) 0 var(--arrow-size, 6px)\n var(--arrow-size, 6px);\n border-left-color: var(--tooltip-bg-color);\n right: 0;\n transform: translateX(100%);\n}\n\n.tooltip-arrow--right {\n border-width: var(--arrow-size, 6px) var(--arrow-size, 6px)\n var(--arrow-size, 6px) 0;\n border-right-color: var(--tooltip-bg-color);\n left: 0;\n transform: translateX(-100%);\n}\n\n.tooltip-positioner {\n z-index: var(--top-z-index);\n}\n`,\"\",{version:3,sources:[\"webpack://./src/next-devtools/components/tooltip.css\"],names:[],mappings:\"AAAA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,cAAc;AAChB;;AAEA;EACE,kBAAkB;EAClB,iBAAiB;EACjB,kBAAkB;EAClB,eAAe;EACf,gBAAgB;EAChB,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,QAAQ;EACR,SAAS;EACT,mBAAmB;EACnB,oCAAoC;EACpC,yBAAyB;AAC3B;;AAEA;EACE;0BACwB;EACxB,yCAAyC;EACzC,SAAS;EACT,2BAA2B;AAC7B;;AAEA;EACE;0BACwB;EACxB,4CAA4C;EAC5C,MAAM;EACN,4BAA4B;AAC9B;;AAEA;EACE;0BACwB;EACxB,0CAA0C;EAC1C,QAAQ;EACR,2BAA2B;AAC7B;;AAEA;EACE;4BAC0B;EAC1B,2CAA2C;EAC3C,OAAO;EACP,4BAA4B;AAC9B;;AAEA;EACE,2BAA2B;AAC7B\",sourcesContent:[\".tooltip-wrapper {\\n position: relative;\\n display: inline-block;\\n line-height: 1;\\n}\\n\\n.tooltip {\\n position: relative;\\n padding: 6px 12px;\\n border-radius: 8px;\\n font-size: 14px;\\n line-height: 1.4;\\n pointer-events: none;\\n}\\n\\n.tooltip-arrow {\\n position: absolute;\\n width: 0;\\n height: 0;\\n border-style: solid;\\n border-width: var(--arrow-size, 6px);\\n border-color: transparent;\\n}\\n\\n.tooltip-arrow--top {\\n border-width: var(--arrow-size, 6px) var(--arrow-size, 6px) 0\\n var(--arrow-size, 6px);\\n border-top-color: var(--tooltip-bg-color);\\n bottom: 0;\\n transform: translateY(100%);\\n}\\n\\n.tooltip-arrow--bottom {\\n border-width: 0 var(--arrow-size, 6px) var(--arrow-size, 6px)\\n var(--arrow-size, 6px);\\n border-bottom-color: var(--tooltip-bg-color);\\n top: 0;\\n transform: translateY(-100%);\\n}\\n\\n.tooltip-arrow--left {\\n border-width: var(--arrow-size, 6px) 0 var(--arrow-size, 6px)\\n var(--arrow-size, 6px);\\n border-left-color: var(--tooltip-bg-color);\\n right: 0;\\n transform: translateX(100%);\\n}\\n\\n.tooltip-arrow--right {\\n border-width: var(--arrow-size, 6px) var(--arrow-size, 6px)\\n var(--arrow-size, 6px) 0;\\n border-right-color: var(--tooltip-bg-color);\\n left: 0;\\n transform: translateX(-100%);\\n}\\n\\n.tooltip-positioner {\\n z-index: var(--top-z-index);\\n}\\n\"],sourceRoot:\"\"}]);let l=i},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/devtools-panel/resize/resize-handle.css\":function(e,n,t){\"use strict\";t.d(n,{Z:()=>l});var r=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\"),o=t.n(r),a=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\"),i=t.n(a)()(o());i.push([e.id,`.resize-container {\n position: absolute;\n /* todo: better z index */\n z-index: 10;\n /* todo: is this needed */\n background: transparent;\n}\n\n.resize-line {\n position: absolute;\n /* todo smarter z index */\n z-index: -1;\n pointer-events: none;\n /* a normal exit animation curve- at this point the exit animation is */\n /* immediately responsive so we don't need a bespoke curve */\n transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n /* todo: better var? */\n border: 1px solid var(--color-gray-100);\n}\n\n/* start really fast because we start super hidden initially behind the panel, otherwise feels like an unintended animation delay */\n.resize-container:hover ~ .resize-line {\n transition: transform 0.2s cubic-bezier(0.05, 0.9, 0.2, 1); /* Fast start for animate in */\n}\n\n.resize-container.right,\n.resize-container.left {\n top: 0;\n height: 100%;\n width: 25px;\n cursor: ew-resize;\n}\n\n/* todo: don't hard code all these values/use vars */\n\n.resize-container.bottom,\n.resize-container.top {\n left: 0;\n width: 100%;\n height: 25px;\n cursor: ns-resize;\n}\n\n.resize-container.top {\n top: -12px;\n}\n.resize-container.bottom {\n bottom: -12px;\n}\n.resize-container.left {\n left: -12px;\n}\n.resize-container.right {\n right: -12px;\n}\n\n.resize-container.top-left,\n.resize-container.top-right,\n.resize-container.bottom-left,\n.resize-container.bottom-right {\n width: 32px;\n height: 32px;\n z-index: 15;\n}\n\n.resize-container.top-left {\n top: -16px;\n left: -16px;\n cursor: nwse-resize;\n}\n.resize-container.top-right {\n top: -16px;\n right: -16px;\n cursor: nesw-resize;\n}\n.resize-container.bottom-left {\n bottom: -16px;\n left: -16px;\n cursor: nesw-resize;\n}\n.resize-container.bottom-right {\n bottom: -16px;\n right: -16px;\n cursor: nwse-resize;\n}\n\n.resize-line.top,\n.resize-line.bottom {\n height: 28px;\n width: 100%;\n background-color: var(--color-background-100);\n}\n\n.resize-line.left,\n.resize-line.right {\n width: 28px;\n height: 100%;\n background-color: var(--color-background-100);\n}\n\n.resize-line.top {\n top: -12px;\n left: calc(-1 * var(--border-left, 2px));\n width: calc(100% + var(--border-horizontal, 4px));\n border-radius: var(--rounded-md) var(--rounded-md) 0 0;\n transform: translateY(28px);\n}\n\n.resize-line.bottom {\n bottom: -12px;\n left: calc(-1 * var(--border-left, 2px));\n width: calc(100% + var(--border-horizontal, 4px));\n border-radius: 0 0 var(--rounded-md) var(--rounded-md);\n transform: translateY(-28px);\n}\n\n.resize-line.left {\n top: calc(-1 * var(--border-top, 2px));\n left: -12px;\n height: calc(100% + var(--border-vertical, 4px));\n border-radius: var(--rounded-md) 0 0 var(--rounded-md);\n transform: translateX(28px);\n}\n\n.resize-line.right {\n top: calc(-1 * var(--border-top, 2px));\n right: -12px;\n height: calc(100% + var(--border-vertical, 4px));\n border-radius: 0 var(--rounded-md) var(--rounded-md) 0;\n transform: translateX(-28px);\n}\n\n.resize-container.right:hover ~ .resize-line.right,\n.resize-container.left:hover ~ .resize-line.left,\n.resize-line.right.dragging,\n.resize-line.left.dragging {\n transform: translateX(0);\n}\n\n.resize-container.bottom:hover ~ .resize-line.bottom,\n.resize-container.top:hover ~ .resize-line.top,\n.resize-line.bottom.dragging,\n.resize-line.top.dragging {\n transform: translateY(0);\n}\n\n/* make sure that we don't show multiple handles at once\n * we should only ever show the currently resizing handle\n * regardless of hover state \n */\n.resize-container.no-hover.right:hover ~ .resize-line.right {\n transform: translateX(-28px);\n}\n.resize-container.no-hover.left:hover ~ .resize-line.left {\n transform: translateX(28px);\n}\n.resize-container.no-hover.bottom:hover ~ .resize-line.bottom {\n transform: translateY(-28px);\n}\n.resize-container.no-hover.top:hover ~ .resize-line.top {\n transform: translateY(28px);\n}\n`,\"\",{version:3,sources:[\"webpack://./src/next-devtools/dev-overlay/components/devtools-panel/resize/resize-handle.css\"],names:[],mappings:\"AAAA;EACE,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;EACX,yBAAyB;EACzB,uBAAuB;AACzB;;AAEA;EACE,kBAAkB;EAClB,yBAAyB;EACzB,WAAW;EACX,oBAAoB;EACpB,uEAAuE;EACvE,4DAA4D;EAC5D,uDAAuD;EACvD,sBAAsB;EACtB,uCAAuC;AACzC;;AAEA,mIAAmI;AACnI;EACE,0DAA0D,EAAE,8BAA8B;AAC5F;;AAEA;;EAEE,MAAM;EACN,YAAY;EACZ,WAAW;EACX,iBAAiB;AACnB;;AAEA,oDAAoD;;AAEpD;;EAEE,OAAO;EACP,WAAW;EACX,YAAY;EACZ,iBAAiB;AACnB;;AAEA;EACE,UAAU;AACZ;AACA;EACE,aAAa;AACf;AACA;EACE,WAAW;AACb;AACA;EACE,YAAY;AACd;;AAEA;;;;EAIE,WAAW;EACX,YAAY;EACZ,WAAW;AACb;;AAEA;EACE,UAAU;EACV,WAAW;EACX,mBAAmB;AACrB;AACA;EACE,UAAU;EACV,YAAY;EACZ,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,WAAW;EACX,mBAAmB;AACrB;AACA;EACE,aAAa;EACb,YAAY;EACZ,mBAAmB;AACrB;;AAEA;;EAEE,YAAY;EACZ,WAAW;EACX,6CAA6C;AAC/C;;AAEA;;EAEE,WAAW;EACX,YAAY;EACZ,6CAA6C;AAC/C;;AAEA;EACE,UAAU;EACV,wCAAwC;EACxC,iDAAiD;EACjD,sDAAsD;EACtD,2BAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,wCAAwC;EACxC,iDAAiD;EACjD,sDAAsD;EACtD,4BAA4B;AAC9B;;AAEA;EACE,sCAAsC;EACtC,WAAW;EACX,gDAAgD;EAChD,sDAAsD;EACtD,2BAA2B;AAC7B;;AAEA;EACE,sCAAsC;EACtC,YAAY;EACZ,gDAAgD;EAChD,sDAAsD;EACtD,4BAA4B;AAC9B;;AAEA;;;;EAIE,wBAAwB;AAC1B;;AAEA;;;;EAIE,wBAAwB;AAC1B;;AAEA;;;EAGE;AACF;EACE,4BAA4B;AAC9B;AACA;EACE,2BAA2B;AAC7B;AACA;EACE,4BAA4B;AAC9B;AACA;EACE,2BAA2B;AAC7B\",sourcesContent:[\".resize-container {\\n position: absolute;\\n /* todo: better z index */\\n z-index: 10;\\n /* todo: is this needed */\\n background: transparent;\\n}\\n\\n.resize-line {\\n position: absolute;\\n /* todo smarter z index */\\n z-index: -1;\\n pointer-events: none;\\n /* a normal exit animation curve- at this point the exit animation is */\\n /* immediately responsive so we don't need a bespoke curve */\\n transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\\n /* todo: better var? */\\n border: 1px solid var(--color-gray-100);\\n}\\n\\n/* start really fast because we start super hidden initially behind the panel, otherwise feels like an unintended animation delay */\\n.resize-container:hover ~ .resize-line {\\n transition: transform 0.2s cubic-bezier(0.05, 0.9, 0.2, 1); /* Fast start for animate in */\\n}\\n\\n.resize-container.right,\\n.resize-container.left {\\n top: 0;\\n height: 100%;\\n width: 25px;\\n cursor: ew-resize;\\n}\\n\\n/* todo: don't hard code all these values/use vars */\\n\\n.resize-container.bottom,\\n.resize-container.top {\\n left: 0;\\n width: 100%;\\n height: 25px;\\n cursor: ns-resize;\\n}\\n\\n.resize-container.top {\\n top: -12px;\\n}\\n.resize-container.bottom {\\n bottom: -12px;\\n}\\n.resize-container.left {\\n left: -12px;\\n}\\n.resize-container.right {\\n right: -12px;\\n}\\n\\n.resize-container.top-left,\\n.resize-container.top-right,\\n.resize-container.bottom-left,\\n.resize-container.bottom-right {\\n width: 32px;\\n height: 32px;\\n z-index: 15;\\n}\\n\\n.resize-container.top-left {\\n top: -16px;\\n left: -16px;\\n cursor: nwse-resize;\\n}\\n.resize-container.top-right {\\n top: -16px;\\n right: -16px;\\n cursor: nesw-resize;\\n}\\n.resize-container.bottom-left {\\n bottom: -16px;\\n left: -16px;\\n cursor: nesw-resize;\\n}\\n.resize-container.bottom-right {\\n bottom: -16px;\\n right: -16px;\\n cursor: nwse-resize;\\n}\\n\\n.resize-line.top,\\n.resize-line.bottom {\\n height: 28px;\\n width: 100%;\\n background-color: var(--color-background-100);\\n}\\n\\n.resize-line.left,\\n.resize-line.right {\\n width: 28px;\\n height: 100%;\\n background-color: var(--color-background-100);\\n}\\n\\n.resize-line.top {\\n top: -12px;\\n left: calc(-1 * var(--border-left, 2px));\\n width: calc(100% + var(--border-horizontal, 4px));\\n border-radius: var(--rounded-md) var(--rounded-md) 0 0;\\n transform: translateY(28px);\\n}\\n\\n.resize-line.bottom {\\n bottom: -12px;\\n left: calc(-1 * var(--border-left, 2px));\\n width: calc(100% + var(--border-horizontal, 4px));\\n border-radius: 0 0 var(--rounded-md) var(--rounded-md);\\n transform: translateY(-28px);\\n}\\n\\n.resize-line.left {\\n top: calc(-1 * var(--border-top, 2px));\\n left: -12px;\\n height: calc(100% + var(--border-vertical, 4px));\\n border-radius: var(--rounded-md) 0 0 var(--rounded-md);\\n transform: translateX(28px);\\n}\\n\\n.resize-line.right {\\n top: calc(-1 * var(--border-top, 2px));\\n right: -12px;\\n height: calc(100% + var(--border-vertical, 4px));\\n border-radius: 0 var(--rounded-md) var(--rounded-md) 0;\\n transform: translateX(-28px);\\n}\\n\\n.resize-container.right:hover ~ .resize-line.right,\\n.resize-container.left:hover ~ .resize-line.left,\\n.resize-line.right.dragging,\\n.resize-line.left.dragging {\\n transform: translateX(0);\\n}\\n\\n.resize-container.bottom:hover ~ .resize-line.bottom,\\n.resize-container.top:hover ~ .resize-line.top,\\n.resize-line.bottom.dragging,\\n.resize-line.top.dragging {\\n transform: translateY(0);\\n}\\n\\n/* make sure that we don't show multiple handles at once\\n * we should only ever show the currently resizing handle\\n * regardless of hover state \\n */\\n.resize-container.no-hover.right:hover ~ .resize-line.right {\\n transform: translateX(-28px);\\n}\\n.resize-container.no-hover.left:hover ~ .resize-line.left {\\n transform: translateX(28px);\\n}\\n.resize-container.no-hover.bottom:hover ~ .resize-line.bottom {\\n transform: translateY(-28px);\\n}\\n.resize-container.no-hover.top:hover ~ .resize-line.top {\\n transform: translateY(28px);\\n}\\n\"],sourceRoot:\"\"}]);let l=i},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/overview/segment-boundary-trigger.css\":function(e,n,t){\"use strict\";t.d(n,{Z:()=>l});var r=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\"),o=t.n(r),a=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\"),i=t.n(a)()(o());i.push([e.id,`.segment-boundary-trigger {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 6px;\n line-height: 16px;\n font-weight: 500;\n color: var(--color-gray-1000);\n border-radius: 999px;\n border: none;\n font-size: var(--size-12);\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.segment-boundary-trigger-text {\n font-size: var(--size-12);\n font-weight: 500;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.segment-boundary-trigger-text .plus-icon {\n transition: transform 0.25s ease;\n}\n\n.segment-boundary-trigger-text:hover .plus-icon {\n color: var(--color-gray-800);\n}\n\n.segment-boundary-trigger svg {\n width: 14px;\n height: 14px;\n flex-shrink: 0;\n vertical-align: middle;\n}\n\n.segment-boundary-trigger:hover svg {\n color: var(--color-gray-700);\n}\n\n.segment-boundary-trigger[disabled] svg,\n.segment-boundary-trigger[disabled]:hover svg {\n color: var(--color-gray-400);\n cursor: not-allowed;\n}\n\n.segment-boundary-dropdown {\n padding: 8px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-400);\n border-radius: 16px;\n min-width: 120px;\n user-select: none;\n cursor: default;\n box-shadow: 0px 4px 8px -4px color-mix(in srgb, var(--color-gray-900) 4%, transparent);\n}\n\n.segment-boundary-dropdown-positioner {\n z-index: var(--top-z-index);\n}\n\n.segment-boundary-dropdown-item {\n display: flex;\n align-items: center;\n padding: 8px;\n line-height: 20px;\n font-size: 14px;\n border-radius: 6px;\n color: var(--color-gray-1000);\n cursor: pointer;\n min-width: 220px;\n border: none;\n background: none;\n width: 100%;\n}\n\n.segment-boundary-dropdown-item[data-disabled] {\n color: var(--color-gray-400);\n cursor: not-allowed;\n}\n\n.segment-boundary-dropdown-item svg {\n margin-right: 12px;\n color: currentColor;\n}\n\n.segment-boundary-dropdown-item:hover {\n background: var(--color-gray-200);\n}\n\n.segment-boundary-dropdown-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n\n.segment-boundary-dropdown-item:last-child {\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\n.segment-boundary-group-label {\n padding: 8px;\n font-size: 13px;\n line-height: 16px;\n font-weight: 400;\n color: var(--color-gray-900);\n}\n`,\"\",{version:3,sources:[\"webpack://./src/next-devtools/dev-overlay/components/overview/segment-boundary-trigger.css\"],names:[],mappings:\"AAAA;EACE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,gBAAgB;EAChB,iBAAiB;EACjB,gBAAgB;EAChB,6BAA6B;EAC7B,oBAAoB;EACpB,YAAY;EACZ,yBAAyB;EACzB,eAAe;EACf,uCAAuC;AACzC;;AAEA;EACE,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;EACjB,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,gCAAgC;AAClC;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,cAAc;EACd,sBAAsB;AACxB;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;;EAEE,4BAA4B;EAC5B,mBAAmB;AACrB;;AAEA;EACE,YAAY;EACZ,uCAAuC;EACvC,uCAAuC;EACvC,mBAAmB;EACnB,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,sFAAsF;AACxF;;AAEA;EACE,2BAA2B;AAC7B;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,YAAY;EACZ,iBAAiB;EACjB,eAAe;EACf,kBAAkB;EAClB,6BAA6B;EAC7B,eAAe;EACf,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB,WAAW;AACb;;AAEA;EACE,4BAA4B;EAC5B,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;EAClB,mBAAmB;AACrB;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,2BAA2B;EAC3B,4BAA4B;AAC9B;;AAEA;EACE,8BAA8B;EAC9B,+BAA+B;AACjC;;AAEA;EACE,YAAY;EACZ,eAAe;EACf,iBAAiB;EACjB,gBAAgB;EAChB,4BAA4B;AAC9B\",sourcesContent:[\".segment-boundary-trigger {\\n display: flex;\\n align-items: center;\\n gap: 4px;\\n padding: 4px 6px;\\n line-height: 16px;\\n font-weight: 500;\\n color: var(--color-gray-1000);\\n border-radius: 999px;\\n border: none;\\n font-size: var(--size-12);\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n}\\n\\n.segment-boundary-trigger-text {\\n font-size: var(--size-12);\\n font-weight: 500;\\n user-select: none;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.segment-boundary-trigger-text .plus-icon {\\n transition: transform 0.25s ease;\\n}\\n\\n.segment-boundary-trigger-text:hover .plus-icon {\\n color: var(--color-gray-800);\\n}\\n\\n.segment-boundary-trigger svg {\\n width: 14px;\\n height: 14px;\\n flex-shrink: 0;\\n vertical-align: middle;\\n}\\n\\n.segment-boundary-trigger:hover svg {\\n color: var(--color-gray-700);\\n}\\n\\n.segment-boundary-trigger[disabled] svg,\\n.segment-boundary-trigger[disabled]:hover svg {\\n color: var(--color-gray-400);\\n cursor: not-allowed;\\n}\\n\\n.segment-boundary-dropdown {\\n padding: 8px;\\n background: var(--color-background-100);\\n border: 1px solid var(--color-gray-400);\\n border-radius: 16px;\\n min-width: 120px;\\n user-select: none;\\n cursor: default;\\n box-shadow: 0px 4px 8px -4px color-mix(in srgb, var(--color-gray-900) 4%, transparent);\\n}\\n\\n.segment-boundary-dropdown-positioner {\\n z-index: var(--top-z-index);\\n}\\n\\n.segment-boundary-dropdown-item {\\n display: flex;\\n align-items: center;\\n padding: 8px;\\n line-height: 20px;\\n font-size: 14px;\\n border-radius: 6px;\\n color: var(--color-gray-1000);\\n cursor: pointer;\\n min-width: 220px;\\n border: none;\\n background: none;\\n width: 100%;\\n}\\n\\n.segment-boundary-dropdown-item[data-disabled] {\\n color: var(--color-gray-400);\\n cursor: not-allowed;\\n}\\n\\n.segment-boundary-dropdown-item svg {\\n margin-right: 12px;\\n color: currentColor;\\n}\\n\\n.segment-boundary-dropdown-item:hover {\\n background: var(--color-gray-200);\\n}\\n\\n.segment-boundary-dropdown-item:first-child {\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n}\\n\\n.segment-boundary-dropdown-item:last-child {\\n border-bottom-left-radius: 4px;\\n border-bottom-right-radius: 4px;\\n}\\n\\n.segment-boundary-group-label {\\n padding: 8px;\\n font-size: 13px;\\n line-height: 16px;\\n font-weight: 400;\\n color: var(--color-gray-900);\\n}\\n\"],sourceRoot:\"\"}]);let l=i},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/overview/segment-explorer.css\":function(e,n,t){\"use strict\";t.d(n,{Z:()=>l});var r=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\"),o=t.n(r),a=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\"),i=t.n(a)()(o());i.push([e.id,`.segment-explorer-content {\n font-size: var(--size-14);\n padding: 0 8px;\n width: 700px;\n height: 400px;\n max-width: calc(100vw - 40px);\n max-height: calc(100vh - 240px);\n}\n\n.segment-explorer-page-route-bar {\n display: flex;\n align-items: center;\n padding: 14px 16px;\n background-color: var(--color-background-200);\n gap: 12px;\n}\n\n.segment-explorer-page-route-bar-path {\n font-size: var(--size-14);\n font-weight: 500;\n color: var(--color-gray-1000);\n font-family: var(--font-mono);\n white-space: nowrap;\n line-height: 20px;\n}\n\n.segment-explorer-item {\n margin: 4px 0;\n border-radius: 6px;\n}\n\n.segment-explorer-item:nth-child(even) {\n background-color: var(--color-background-200);\n}\n\n.segment-explorer-item-row {\n display: flex;\n align-items: center;\n padding-top: 10px;\n padding-bottom: 10px;\n padding-right: 4px;\n white-space: pre;\n cursor: default;\n color: var(--color-gray-1000);\n}\n\n.segment-explorer-children--intended {\n padding-left: 16px;\n}\n\n.segment-explorer-filename {\n display: inline-flex;\n width: 100%;\n align-items: center;\n}\n\n.segment-explorer-filename select {\n margin-left: auto;\n}\n\n.segment-explorer-filename--path {\n margin-right: auto;\n}\n.segment-explorer-filename--path small {\n display: inline-block;\n width: 0;\n opacity: 0;\n}\n.segment-explorer-filename--name {\n color: var(--color-gray-800);\n}\n\n.segment-explorer-files {\n display: inline-flex;\n gap: 8px;\n margin-left: auto;\n}\n\n.segment-explorer-files + .segment-boundary-trigger {\n margin-left: 8px;\n}\n\n.segment-explorer-file-label {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 4px 6px;\n border-radius: 16px;\n line-height: 16px;\n font-size: var(--size-12);\n font-weight: 500;\n user-select: none;\n cursor: pointer;\n background-color: var(--color-gray-300);\n color: var(--color-gray-1000);\n}\n\n.segment-explorer-file-label--overridden {\n background-color: var(--color-amber-300);\n color: var(--color-amber-900);\n}\n\n.segment-explorer-file-label .code-icon {\n opacity: 0;\n margin-left: 0;\n width: 0;\n transition: all 0.15s ease-in-out;\n}\n.segment-explorer-file-label:hover .code-icon {\n opacity: 1;\n width: 12px;\n margin-left: 4px;\n}\n\n.segment-explorer-file-label:hover {\n filter: brightness(0.95);\n}\n\n.segment-explorer-file-label--builtin {\n background-color: transparent;\n color: var(--color-gray-900);\n border: 1px dashed var(--color-gray-500);\n height: 24px;\n cursor: default;\n}\n.segment-explorer-file-label--builtin svg {\n margin-left: 4px;\n margin-right: -4px;\n}\n\n/* Footer styles */\n.segment-explorer-footer {\n padding: 8px;\n border-top: 1px solid var(--color-gray-400);\n background-color: var(--color-background-100);\n user-select: none;\n}\n\n.segment-explorer-footer-button {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n width: 100%;\n padding: 6px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-400);\n border-radius: 6px;\n color: var(--color-gray-1000);\n font-size: var(--size-14);\n font-weight: 500;\n cursor: pointer;\n transition: background-color 0.15s ease;\n}\n\n.segment-explorer-footer-button:hover:not(:disabled) {\n background: var(--color-gray-200);\n}\n\n.segment-explorer-footer-button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.segment-explorer-footer-text {\n text-align: center;\n}\n\n.segment-explorer-footer-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 20px;\n height: 20px;\n padding: 0 6px;\n background: var(--color-amber-300);\n color: var(--color-amber-900);\n border-radius: 10px;\n font-size: var(--size-12);\n font-weight: 600;\n line-height: 1;\n}\n\n.segment-explorer-file-label-tooltip--sm {\n white-space: nowrap;\n}\n\n.segment-explorer-file-label-tooltip--lg {\n min-width: 200px;\n}\n`,\"\",{version:3,sources:[\"webpack://./src/next-devtools/dev-overlay/components/overview/segment-explorer.css\"],names:[],mappings:\"AAAA;EACE,yBAAyB;EACzB,cAAc;EACd,YAAY;EACZ,aAAa;EACb,6BAA6B;EAC7B,+BAA+B;AACjC;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,6CAA6C;EAC7C,SAAS;AACX;;AAEA;EACE,yBAAyB;EACzB,gBAAgB;EAChB,6BAA6B;EAC7B,6BAA6B;EAC7B,mBAAmB;EACnB,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,kBAAkB;AACpB;;AAEA;EACE,6CAA6C;AAC/C;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,iBAAiB;EACjB,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAChB,eAAe;EACf,6BAA6B;AAC/B;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;EACpB,WAAW;EACX,mBAAmB;AACrB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,qBAAqB;EACrB,QAAQ;EACR,UAAU;AACZ;AACA;EACE,4BAA4B;AAC9B;;AAEA;EACE,oBAAoB;EACpB,QAAQ;EACR,iBAAiB;AACnB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,gBAAgB;EAChB,mBAAmB;EACnB,iBAAiB;EACjB,yBAAyB;EACzB,gBAAgB;EAChB,iBAAiB;EACjB,eAAe;EACf,uCAAuC;EACvC,6BAA6B;AAC/B;;AAEA;EACE,wCAAwC;EACxC,6BAA6B;AAC/B;;AAEA;EACE,UAAU;EACV,cAAc;EACd,QAAQ;EACR,iCAAiC;AACnC;AACA;EACE,UAAU;EACV,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,wBAAwB;AAC1B;;AAEA;EACE,6BAA6B;EAC7B,4BAA4B;EAC5B,wCAAwC;EACxC,YAAY;EACZ,eAAe;AACjB;AACA;EACE,gBAAgB;EAChB,kBAAkB;AACpB;;AAEA,kBAAkB;AAClB;EACE,YAAY;EACZ,2CAA2C;EAC3C,6CAA6C;EAC7C,iBAAiB;AACnB;;AAEA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,uCAAuC;EACvC,uCAAuC;EACvC,kBAAkB;EAClB,6BAA6B;EAC7B,yBAAyB;EACzB,gBAAgB;EAChB,eAAe;EACf,uCAAuC;AACzC;;AAEA;EACE,iCAAiC;AACnC;;AAEA;EACE,YAAY;EACZ,mBAAmB;AACrB;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,uBAAuB;EACvB,eAAe;EACf,YAAY;EACZ,cAAc;EACd,kCAAkC;EAClC,6BAA6B;EAC7B,mBAAmB;EACnB,yBAAyB;EACzB,gBAAgB;EAChB,cAAc;AAChB;;AAEA;EACE,mBAAmB;AACrB;;AAEA;EACE,gBAAgB;AAClB\",sourcesContent:[\".segment-explorer-content {\\n font-size: var(--size-14);\\n padding: 0 8px;\\n width: 700px;\\n height: 400px;\\n max-width: calc(100vw - 40px);\\n max-height: calc(100vh - 240px);\\n}\\n\\n.segment-explorer-page-route-bar {\\n display: flex;\\n align-items: center;\\n padding: 14px 16px;\\n background-color: var(--color-background-200);\\n gap: 12px;\\n}\\n\\n.segment-explorer-page-route-bar-path {\\n font-size: var(--size-14);\\n font-weight: 500;\\n color: var(--color-gray-1000);\\n font-family: var(--font-mono);\\n white-space: nowrap;\\n line-height: 20px;\\n}\\n\\n.segment-explorer-item {\\n margin: 4px 0;\\n border-radius: 6px;\\n}\\n\\n.segment-explorer-item:nth-child(even) {\\n background-color: var(--color-background-200);\\n}\\n\\n.segment-explorer-item-row {\\n display: flex;\\n align-items: center;\\n padding-top: 10px;\\n padding-bottom: 10px;\\n padding-right: 4px;\\n white-space: pre;\\n cursor: default;\\n color: var(--color-gray-1000);\\n}\\n\\n.segment-explorer-children--intended {\\n padding-left: 16px;\\n}\\n\\n.segment-explorer-filename {\\n display: inline-flex;\\n width: 100%;\\n align-items: center;\\n}\\n\\n.segment-explorer-filename select {\\n margin-left: auto;\\n}\\n\\n.segment-explorer-filename--path {\\n margin-right: auto;\\n}\\n.segment-explorer-filename--path small {\\n display: inline-block;\\n width: 0;\\n opacity: 0;\\n}\\n.segment-explorer-filename--name {\\n color: var(--color-gray-800);\\n}\\n\\n.segment-explorer-files {\\n display: inline-flex;\\n gap: 8px;\\n margin-left: auto;\\n}\\n\\n.segment-explorer-files + .segment-boundary-trigger {\\n margin-left: 8px;\\n}\\n\\n.segment-explorer-file-label {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n padding: 4px 6px;\\n border-radius: 16px;\\n line-height: 16px;\\n font-size: var(--size-12);\\n font-weight: 500;\\n user-select: none;\\n cursor: pointer;\\n background-color: var(--color-gray-300);\\n color: var(--color-gray-1000);\\n}\\n\\n.segment-explorer-file-label--overridden {\\n background-color: var(--color-amber-300);\\n color: var(--color-amber-900);\\n}\\n\\n.segment-explorer-file-label .code-icon {\\n opacity: 0;\\n margin-left: 0;\\n width: 0;\\n transition: all 0.15s ease-in-out;\\n}\\n.segment-explorer-file-label:hover .code-icon {\\n opacity: 1;\\n width: 12px;\\n margin-left: 4px;\\n}\\n\\n.segment-explorer-file-label:hover {\\n filter: brightness(0.95);\\n}\\n\\n.segment-explorer-file-label--builtin {\\n background-color: transparent;\\n color: var(--color-gray-900);\\n border: 1px dashed var(--color-gray-500);\\n height: 24px;\\n cursor: default;\\n}\\n.segment-explorer-file-label--builtin svg {\\n margin-left: 4px;\\n margin-right: -4px;\\n}\\n\\n/* Footer styles */\\n.segment-explorer-footer {\\n padding: 8px;\\n border-top: 1px solid var(--color-gray-400);\\n background-color: var(--color-background-100);\\n user-select: none;\\n}\\n\\n.segment-explorer-footer-button {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n gap: 8px;\\n width: 100%;\\n padding: 6px;\\n background: var(--color-background-100);\\n border: 1px solid var(--color-gray-400);\\n border-radius: 6px;\\n color: var(--color-gray-1000);\\n font-size: var(--size-14);\\n font-weight: 500;\\n cursor: pointer;\\n transition: background-color 0.15s ease;\\n}\\n\\n.segment-explorer-footer-button:hover:not(:disabled) {\\n background: var(--color-gray-200);\\n}\\n\\n.segment-explorer-footer-button--disabled {\\n opacity: 0.5;\\n cursor: not-allowed;\\n}\\n\\n.segment-explorer-footer-text {\\n text-align: center;\\n}\\n\\n.segment-explorer-footer-badge {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n min-width: 20px;\\n height: 20px;\\n padding: 0 6px;\\n background: var(--color-amber-300);\\n color: var(--color-amber-900);\\n border-radius: 10px;\\n font-size: var(--size-12);\\n font-weight: 600;\\n line-height: 1;\\n}\\n\\n.segment-explorer-file-label-tooltip--sm {\\n white-space: nowrap;\\n}\\n\\n.segment-explorer-file-label-tooltip--lg {\\n min-width: 200px;\\n}\\n\"],sourceRoot:\"\"}]);let l=i},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/toast/style.css\":function(e,n,t){\"use strict\";t.d(n,{Z:()=>l});var r=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\"),o=t.n(r),a=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\"),i=t.n(a)()(o());i.push([e.id,`.nextjs-toast {\n position: fixed;\n z-index: var(--top-z-index);\n max-width: 420px;\n box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.25);\n}\n\n.nextjs-toast-errors-parent {\n padding: 16px;\n border-radius: var(--rounded-4xl);\n font-weight: 500;\n color: var(--color-ansi-bright-white);\n background-color: var(--color-ansi-red);\n}\n`,\"\",{version:3,sources:[\"webpack://./src/next-devtools/dev-overlay/components/toast/style.css\"],names:[],mappings:\"AAAA;EACE,eAAe;EACf,2BAA2B;EAC3B,gBAAgB;EAChB,6CAA6C;AAC/C;;AAEA;EACE,aAAa;EACb,iCAAiC;EACjC,gBAAgB;EAChB,qCAAqC;EACrC,uCAAuC;AACzC\",sourcesContent:[\".nextjs-toast {\\n position: fixed;\\n z-index: var(--top-z-index);\\n max-width: 420px;\\n box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.25);\\n}\\n\\n.nextjs-toast-errors-parent {\\n padding: 16px;\\n border-radius: var(--rounded-4xl);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n}\\n\"],sourceRoot:\"\"}]);let l=i},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/global.css\":function(e,n,t){\"use strict\";t.d(n,{Z:()=>l});var r=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\"),o=t.n(r),a=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\"),i=t.n(a)()(o());i.push([e.id,`/* devtool global css variables */\n:host {\n --top-z-index: 2147483647;\n}\n`,\"\",{version:3,sources:[\"webpack://./src/next-devtools/global.css\"],names:[],mappings:\"AAAA,iCAAiC;AACjC;EACE,yBAAyB;AAC3B\",sourcesContent:[\"/* devtool global css variables */\\n:host {\\n --top-z-index: 2147483647;\\n}\\n\"],sourceRoot:\"\"}]);let l=i},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/api.js\":function(e){\"use strict\";e.exports=function(e){var n=[];return n.toString=function(){return this.map(function(n){var t=\"\",r=void 0!==n[5];return n[4]&&(t+=\"@supports (\".concat(n[4],\") {\")),n[2]&&(t+=\"@media \".concat(n[2],\" {\")),r&&(t+=\"@layer\".concat(n[5].length>0?\" \".concat(n[5]):\"\",\" {\")),t+=e(n),r&&(t+=\"}\"),n[2]&&(t+=\"}\"),n[4]&&(t+=\"}\"),t}).join(\"\")},n.i=function(e,t,r,o,a){\"string\"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var l=0;l0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=a),t&&(u[2]&&(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\")),u[2]=t),o&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=o):u[4]=\"\".concat(o)),n.push(u))}},n}},\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/runtime/sourceMaps.js\":function(e){\"use strict\";e.exports=function(e){var n=e[1],t=e[3];if(!t)return n;if(\"function\"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(t))));return[n].concat([\"/*# \".concat(\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(r),\" */\")]).join(\"\\n\")}return[n].join(\"\\n\")}},\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\":function(e){\"use strict\";var n=[];function t(e){for(var t=-1,r=0;r0?\" \".concat(t.layer):\"\",\" {\")),r+=t.css,o&&(r+=\"}\"),t.media&&(r+=\"}\"),t.supports&&(r+=\"}\"),(a=t.sourceMap)&&\"undefined\"!=typeof btoa&&(r+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a)))),\" */\")),e.styleTagTransform(r,n,e.options)},remove:function(){!function(e){if(null!==e.parentNode)e.parentNode.removeChild(e)}(n)}}}},\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/styleTagTransform.js\":function(e){\"use strict\";e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},\"./dist/compiled/anser/index.js\":function(e){(()=>{\"use strict\";var n={211:e=>{var n=function(){function e(e,n){for(var t=0;t]/gm,function(e){return\"&\"==e?\"&\":\"<\"==e?\"<\":\">\"==e?\">\":\"\"})}},{key:\"linkify\",value:function(e){return e.replace(/(https?:\\/\\/[^\\s]+)/gm,function(e){return''+e+\"\"})}},{key:\"ansiToHtml\",value:function(e,n){return this.process(e,n,!0)}},{key:\"ansiToJson\",value:function(e,n){return(n=n||{}).json=!0,n.clearLine=!1,this.process(e,n,!0)}},{key:\"ansiToText\",value:function(e){return this.process(e,{},!1)}},{key:\"process\",value:function(e,n,t){var r=this,o=e.split(/\\033\\[/),a=o.shift();null==n&&(n={}),n.clearLine=/\\r/.test(e);var i=o.map(function(e){return r.processChunk(e,n,t)});if(n&&n.json){var l=this.processChunkJson(\"\");return l.content=a,l.clearLine=n.clearLine,i.unshift(l),n.remove_empty&&(i=i.filter(function(e){return!e.isEmpty()})),i}return i.unshift(a),i.join(\"\")}},{key:\"processChunkJson\",value:function(e,n,r){var o=(n=void 0===n?{}:n).use_classes=void 0!==n.use_classes&&n.use_classes,a=n.key=o?\"class\":\"color\",i={content:e,fg:null,bg:null,fg_truecolor:null,bg_truecolor:null,clearLine:n.clearLine,decoration:null,was_processed:!1,isEmpty:function(){return!i.content}},l=e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);if(!l)return i;i.content=l[4];var s=l[2].split(\";\");if(\"\"!==l[1]||\"m\"!==l[3]||!r)return i;for(this.decoration=null;s.length>0;){var c=parseInt(s.shift());if(isNaN(c)||0===c)this.fg=this.bg=this.decoration=null;else if(1===c)this.decoration=\"bold\";else if(2===c)this.decoration=\"dim\";else if(3==c)this.decoration=\"italic\";else if(4==c)this.decoration=\"underline\";else if(5==c)this.decoration=\"blink\";else if(7===c)this.decoration=\"reverse\";else if(8===c)this.decoration=\"hidden\";else if(9===c)this.decoration=\"strikethrough\";else if(39==c)this.fg=null;else if(49==c)this.bg=null;else if(c>=30&&c<38)this.fg=t[0][c%10][a];else if(c>=90&&c<98)this.fg=t[1][c%10][a];else if(c>=40&&c<48)this.bg=t[0][c%10][a];else if(c>=100&&c<108)this.bg=t[1][c%10][a];else if(38===c||48===c){var u=38===c;if(s.length>=1){var d=s.shift();if(\"5\"===d&&s.length>=1){var f=parseInt(s.shift());if(f>=0&&f<=255)if(o){var p=f>=16?\"ansi-palette-\"+f:t[+(f>7)][f%8].class;u?this.fg=p:this.bg=p}else this.PALETTE_COLORS||this.setupPalette(),u?this.fg=this.PALETTE_COLORS[f]:this.bg=this.PALETTE_COLORS[f]}else if(\"2\"===d&&s.length>=3){var h=parseInt(s.shift()),g=parseInt(s.shift()),m=parseInt(s.shift());if(h>=0&&h<=255&&g>=0&&g<=255&&m>=0&&m<=255){var v=h+\", \"+g+\", \"+m;o?u?(this.fg=\"ansi-truecolor\",this.fg_truecolor=v):(this.bg=\"ansi-truecolor\",this.bg_truecolor=v):u?this.fg=v:this.bg=v}}}}}return null===this.fg&&null===this.bg&&null===this.decoration||(i.fg=this.fg,i.bg=this.bg,i.fg_truecolor=this.fg_truecolor,i.bg_truecolor=this.bg_truecolor,i.decoration=this.decoration,i.was_processed=!0),i}},{key:\"processChunk\",value:function(e,n,t){var r=this;n=n||{};var o=this.processChunkJson(e,n,t);if(n.json)return o;if(o.isEmpty())return\"\";if(!o.was_processed)return o.content;var a=n.use_classes,i=[],l=[],s={},c=function(e){var n=[],t=void 0;for(t in e)e.hasOwnProperty(t)&&n.push(\"data-\"+t+'=\"'+r.escapeForHtml(e[t])+'\"');return n.length>0?\" \"+n.join(\" \"):\"\"};return(o.fg&&(a?(l.push(o.fg+\"-fg\"),null!==o.fg_truecolor&&(s[\"ansi-truecolor-fg\"]=o.fg_truecolor,o.fg_truecolor=null)):i.push(\"color:rgb(\"+o.fg+\")\")),o.bg&&(a?(l.push(o.bg+\"-bg\"),null!==o.bg_truecolor&&(s[\"ansi-truecolor-bg\"]=o.bg_truecolor,o.bg_truecolor=null)):i.push(\"background-color:rgb(\"+o.bg+\")\")),o.decoration&&(a?l.push(\"ansi-\"+o.decoration):\"bold\"===o.decoration?i.push(\"font-weight:bold\"):\"dim\"===o.decoration?i.push(\"opacity:0.5\"):\"italic\"===o.decoration?i.push(\"font-style:italic\"):\"reverse\"===o.decoration?i.push(\"filter:invert(100%)\"):\"hidden\"===o.decoration?i.push(\"visibility:hidden\"):\"strikethrough\"===o.decoration?i.push(\"text-decoration:line-through\"):i.push(\"text-decoration:\"+o.decoration)),a)?'\"+o.content+\"\":'\"+o.content+\"\"}}]),e}()}},t={};function r(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}},i=!0;try{n[e](a,a.exports,r),i=!1}finally{i&&delete t[e]}return a.exports}r.ab=\"//\",e.exports=r(211)})()},\"./dist/compiled/react-dom/cjs/react-dom-client.production.js\":function(e,n,t){\"use strict\";var r,o=t(\"./dist/compiled/scheduler/index.js\"),a=t(\"./dist/compiled/react/index.js\"),i=t(\"./dist/compiled/react-dom/index.js\");function l(e){var n=\"https://react.dev/errors/\"+e;if(1D||(e.current=N[D],N[D]=null,D--)}function I(e,n){N[++D]=e.current,e.current=n}var H=B(null),F=B(null),U=B(null),V=B(null);function q(e,n){switch(I(U,n),I(F,e),I(H,null),n.nodeType){case 9:case 11:e=(e=n.documentElement)&&(e=e.namespaceURI)?cp(e):0;break;default:if(e=n.tagName,n=n.namespaceURI)e=ch(n=cp(n),e);else switch(e){case\"svg\":e=1;break;case\"math\":e=2;break;default:e=0}}M(H),I(H,e)}function W(){M(H),M(F),M(U)}function $(e){null!==e.memoizedState&&I(V,e);var n=H.current,t=ch(n,e.type);n!==t&&(I(F,e),I(H,t))}function Z(e){F.current===e&&(M(H),M(F)),V.current===e&&(M(V),c6._currentValue=R)}function Y(e){if(void 0===nD)try{throw Error()}catch(e){var n=e.stack.trim().match(/\\n( *(at )?)/);nD=n&&n[1]||\"\",nB=-1)\":-1o||s[r]!==c[o]){var u=\"\\n\"+s[r].replace(\" at new \",\" at \");return e.displayName&&u.includes(\"\")&&(u=u.replace(\"\",e.displayName)),u}while(1<=r&&0<=o);break}}}finally{X=!1,Error.prepareStackTrace=t}return(t=e?e.displayName||e.name:\"\")?Y(t):\"\"}function Q(e){try{var n=\"\",t=null;do n+=function(e,n){switch(e.tag){case 26:case 27:case 5:return Y(e.type);case 16:return Y(\"Lazy\");case 13:return e.child!==n&&null!==n?Y(\"Suspense Fallback\"):Y(\"Suspense\");case 19:return Y(\"SuspenseList\");case 0:case 15:return K(e.type,!1);case 11:return K(e.type.render,!1);case 1:return K(e.type,!0);case 31:return Y(\"Activity\");default:return\"\"}}(e,t),t=e,e=e.return;while(e);return n}catch(e){return\"\\nError generating stack: \"+e.message+\"\\n\"+e.stack}}var G=Object.prototype.hasOwnProperty,J=o.unstable_scheduleCallback,ee=o.unstable_cancelCallback,en=o.unstable_shouldYield,et=o.unstable_requestPaint,er=o.unstable_now,eo=o.unstable_getCurrentPriorityLevel,ea=o.unstable_ImmediatePriority,ei=o.unstable_UserBlockingPriority,el=o.unstable_NormalPriority,es=o.unstable_LowPriority,ec=o.unstable_IdlePriority,eu=o.log,ed=o.unstable_setDisableYieldValue,ef=null,ep=null;function eh(e){if(\"function\"==typeof eu&&ed(e),ep&&\"function\"==typeof ep.setStrictMode)try{ep.setStrictMode(ef,e)}catch(e){}}var eg=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(em(e)/ev|0)|0},em=Math.log,ev=Math.LN2,eb=256,ey=4194304;function ex(e){var n=42&e;if(0!==n)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194048&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function ew(e,n,t){var r=e.pendingLanes;if(0===r)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=0x7ffffff&r;return 0!==l?0!=(r=l&~a)?o=ex(r):0!=(i&=l)?o=ex(i):t||0!=(t=l&~e)&&(o=ex(t)):0!=(l=r&~a)?o=ex(l):0!==i?o=ex(i):t||0!=(t=r&~e)&&(o=ex(t)),0===o?0:0!==n&&n!==o&&0==(n&a)&&((a=o&-o)>=(t=n&-n)||32===a&&0!=(4194048&t))?n:o}function ej(e,n){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)}function ek(){var e=eb;return 0==(4194048&(eb<<=1))&&(eb=256),e}function eA(){var e=ey;return 0==(0x3c00000&(ey<<=1))&&(ey=4194304),e}function eO(e){for(var n=[],t=0;31>t;t++)n.push(e);return n}function eC(e,n){e.pendingLanes|=n,0x10000000!==n&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eS(e,n,t){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-eg(n);e.entangledLanes|=n,e.entanglements[r]=0x40000000|e.entanglements[r]|4194090&t}function eE(e,n){var t=e.entangledLanes|=n;for(e=e.entanglements;t;){var r=31-eg(t),o=1<=tn),to=!1;function ta(e,n){switch(e){case\"keyup\":return -1!==n7.indexOf(n.keyCode);case\"keydown\":return 229!==n.keyCode;case\"keypress\":case\"mousedown\":case\"focusout\":return!0;default:return!1}}function ti(e){return\"object\"==typeof(e=e.detail)&&\"data\"in e?e.data:null}var tl=!1,ts={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tc(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===n?!!ts[e.type]:\"textarea\"===n}function tu(e,n,t,r){ny?nx?nx.push(r):nx=[r]:ny=r,0<(n=ce(n,\"onChange\")).length&&(t=new nU(\"onChange\",\"change\",null,t,r),e.push({event:t,listeners:n}))}var td=null,tf=null;function tp(e){s2(e,0)}function th(e){if(e8(e$(e)))return e}function tg(e,n){if(\"change\"===e)return n}var tm=!1;if(nO){if(nO){var tv=\"oninput\"in document;if(!tv){var tb=document.createElement(\"div\");tb.setAttribute(\"oninput\",\"return;\"),tv=\"function\"==typeof tb.oninput}r=tv}else r=!1;tm=r&&(!document.documentMode||9=n)return{node:r,offset:n-e};e=t}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=tS(r)}}function t_(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var n=e7(e.document);n instanceof e.HTMLIFrameElement;){try{var t=\"string\"==typeof n.contentWindow.location.href}catch(e){t=!1}if(t)e=n.contentWindow;else break;n=e7(e.document)}return n}function tP(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(\"input\"===n&&(\"text\"===e.type||\"search\"===e.type||\"tel\"===e.type||\"url\"===e.type||\"password\"===e.type)||\"textarea\"===n||\"true\"===e.contentEditable)}var tz=nO&&\"documentMode\"in document&&11>=document.documentMode,tL=null,tT=null,tR=null,tN=!1;function tD(e,n,t){var r=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;tN||null==tL||tL!==e7(r)||(r=\"selectionStart\"in(r=tL)&&tP(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},tR&&tC(tR,r)||(tR=r,0<(r=ce(tT,\"onSelect\")).length&&(n=new nU(\"onSelect\",\"select\",null,n,t),e.push({event:n,listeners:r}),n.target=tL)))}function tB(e,n){var t={};return t[e.toLowerCase()]=n.toLowerCase(),t[\"Webkit\"+e]=\"webkit\"+n,t[\"Moz\"+e]=\"moz\"+n,t}var tM={animationend:tB(\"Animation\",\"AnimationEnd\"),animationiteration:tB(\"Animation\",\"AnimationIteration\"),animationstart:tB(\"Animation\",\"AnimationStart\"),transitionrun:tB(\"Transition\",\"TransitionRun\"),transitionstart:tB(\"Transition\",\"TransitionStart\"),transitioncancel:tB(\"Transition\",\"TransitionCancel\"),transitionend:tB(\"Transition\",\"TransitionEnd\")},tI={},tH={};function tF(e){if(tI[e])return tI[e];if(!tM[e])return e;var n,t=tM[e];for(n in t)if(t.hasOwnProperty(n)&&n in tH)return tI[e]=t[n];return e}nO&&(tH=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete tM.animationend.animation,delete tM.animationiteration.animation,delete tM.animationstart.animation),\"TransitionEvent\"in window||delete tM.transitionend.transition);var tU=tF(\"animationend\"),tV=tF(\"animationiteration\"),tq=tF(\"animationstart\"),tW=tF(\"transitionrun\"),t$=tF(\"transitionstart\"),tZ=tF(\"transitioncancel\"),tY=tF(\"transitionend\"),tX=new Map,tK=\"abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");function tQ(e,n){tX.set(e,n),eQ(n,[e])}tK.push(\"scrollEnd\");var tG=\"function\"==typeof reportError?reportError:function(e){if(\"object\"==typeof window&&\"function\"==typeof window.ErrorEvent){var n=new window.ErrorEvent(\"error\",{bubbles:!0,cancelable:!0,message:\"object\"==typeof e&&null!==e&&\"string\"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(\"object\"==typeof process&&\"function\"==typeof process.emit)return void process.emit(\"uncaughtException\",e);console.error(e)},tJ=[],t0=0,t1=0;function t2(){for(var e=t0,n=t1=t0=0;n>=i,o-=i,rb=1<<32-eg(n)+o|t<h?(g=d,d=null):g=d.sibling;var m=p(o,d,l[h],s);if(null===m){null===d&&(d=g);break}e&&d&&null===m.alternate&&n(o,d),i=a(m,i,h),null===u?c=m:u.sibling=m,u=m,d=g}if(h===l.length)return t(o,d),rS&&rx(o,h),c;if(null===d){for(;hg?(m=h,h=null):m=h.sibling;var y=p(o,h,b.value,c);if(null===y){null===h&&(h=m);break}e&&h&&null===y.alternate&&n(o,h),i=a(y,i,g),null===d?u=y:d.sibling=y,d=y,h=m}if(b.done)return t(o,h),rS&&rx(o,g),u;if(null===h){for(;!b.done;g++,b=s.next())null!==(b=f(o,b.value,c))&&(i=a(b,i,g),null===d?u=b:d.sibling=b,d=b);return rS&&rx(o,g),u}for(h=r(h);!b.done;g++,b=s.next())null!==(b=v(h,o,g,b.value,c))&&(e&&null!==b.alternate&&h.delete(null===b.key?g:b.key),i=a(b,i,g),null===d?u=b:d.sibling=b,d=b);return e&&h.forEach(function(e){return n(o,e)}),rS&&rx(o,g),u}(c,u,d=y.call(d),b)}if(\"function\"==typeof d.then)return s(c,u,oh(d),b);if(d.$$typeof===x)return s(c,u,rX(c,d),b);om(c,d)}return\"string\"==typeof d&&\"\"!==d||\"number\"==typeof d||\"bigint\"==typeof d?(d=\"\"+d,null!==u&&6===u.tag?(t(c,u.sibling),(b=o(u,d)).return=c):(t(c,u),(b=ri(d,c.mode,b)).return=c),i(c=b)):t(c,u)}(s,c,u,d);return of=null,b}catch(e){if(e===or||e===oa)throw e;var y=re(29,e,null,s.mode);return y.lanes=d,y.return=s,y}finally{}}}var oy=ob(!0),ox=ob(!1),ow=!1;function oj(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ok(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function oA(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function oO(e,n,t){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&lR)){var o=r.pending;return null===o?n.next=n:(n.next=o.next,o.next=n),r.pending=n,n=t9(e),t6(e,null,t),n}return t4(e,r,n,t),t9(e)}function oC(e,n,t){if(null!==(n=n.updateQueue)&&(n=n.shared,0!=(4194048&t))){var r=n.lanes;r&=e.pendingLanes,t|=r,n.lanes=t,eE(e,t)}}function oS(e,n){var t=e.updateQueue,r=e.alternate;if(null!==r&&t===(r=r.updateQueue)){var o=null,a=null;if(null!==(t=t.firstBaseUpdate)){do{var i={lane:t.lane,tag:t.tag,payload:t.payload,callback:null,next:null};null===a?o=a=i:a=a.next=i,t=t.next}while(null!==t);null===a?o=a=n:a=a.next=n}else o=a=n;t={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=t;return}null===(e=t.lastBaseUpdate)?t.firstBaseUpdate=n:e.next=n,t.lastBaseUpdate=n}var oE=!1;function o_(){if(oE){var e=r6;if(null!==e)throw e}}function oP(e,n,t,r){oE=!1;var o=e.updateQueue;ow=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var s=l,c=s.next;s.next=null,null===i?a=c:i.next=c,i=s;var u=e.alternate;null!==u&&(l=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===l?u.firstBaseUpdate=c:l.next=c,u.lastBaseUpdate=s)}if(null!==a){var d=o.baseState;for(i=0,u=c=s=null,l=a;;){var p=-0x20000001&l.lane,h=p!==l.lane;if(h?(lB&p)===p:(r&p)===p){0!==p&&p===r3&&(oE=!0),null!==u&&(u=u.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var g=e,m=l;switch(p=n,m.tag){case 1:if(\"function\"==typeof(g=m.payload)){d=g.call(t,d,p);break e}d=g;break e;case 3:g.flags=-65537&g.flags|128;case 0:if(null==(p=\"function\"==typeof(g=m.payload)?g.call(t,d,p):g))break e;d=f({},d,p);break e;case 2:ow=!0}}null!==(p=l.callback)&&(e.flags|=64,h&&(e.flags|=8192),null===(h=o.callbacks)?o.callbacks=[p]:h.push(p))}else h={lane:p,tag:l.tag,payload:l.payload,callback:l.callback,next:null},null===u?(c=u=h,s=d):u=u.next=h,i|=p;if(null===(l=l.next))if(null===(l=o.shared.pending))break;else l=(h=l).next,h.next=null,o.lastBaseUpdate=h,o.shared.pending=null}null===u&&(s=d),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=u,null===a&&(o.shared.lanes=0),lW|=i,e.lanes=i,e.memoizedState=d}}function oz(e,n){if(\"function\"!=typeof e)throw Error(l(191,e));e.call(n)}function oL(e,n){var t=e.callbacks;if(null!==t)for(e.callbacks=null,e=0;ea?a:8;var i=L.T,l={};L.T=l,a6(e,!1,n,t);try{var s=o(),c=L.S;if(null!==c&&c(l,s),null!==s&&\"object\"==typeof s&&\"function\"==typeof s.then){var u,d,f=(u=[],d={status:\"pending\",value:null,reason:null,then:function(e){u.push(e)}},s.then(function(){d.status=\"fulfilled\",d.value=r;for(var e=0;e title\"))),cc(a,r,t),a[eN]=e,eY(a),r=a;break e;case\"link\":var i=cG(\"link\",\"href\",o).get(r+(t.href||\"\"));if(i){for(var s=0;s<\\/script>\",a=a.removeChild(a.firstChild);break;case\"select\":a=\"string\"==typeof r.is?i.createElement(\"select\",{is:r.is}):i.createElement(\"select\"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=\"string\"==typeof r.is?i.createElement(o,{is:r.is}):i.createElement(o)}}a[eN]=n,a[eD]=r;e:for(i=n.child;null!==i;){if(5===i.tag||6===i.tag)a.appendChild(i.stateNode);else if(4!==i.tag&&27!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===n)break;for(;null===i.sibling;){if(null===i.return||i.return===n)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}switch(n.stateNode=a,cc(a,o,r),o){case\"button\":case\"input\":case\"select\":case\"textarea\":r=!!r.autoFocus;break;case\"img\":r=!0;break;default:r=!1}r&&iZ(n)}}return iG(n),iY(n,n.type,null===e?null:e.memoizedProps,n.pendingProps,t),null;case 6:if(e&&null!=n.stateNode)e.memoizedProps!==r&&iZ(n);else{if(\"string\"!=typeof r&&null===n.stateNode)throw Error(l(166));if(e=U.current,rR(n)){if(e=n.stateNode,t=n.memoizedProps,r=null,null!==(o=rO))switch(o.tag){case 27:case 5:r=o.memoizedProps}e[eN]=n,(e=!!(e.nodeValue===t||null!==r&&!0===r.suppressHydrationWarning||ci(e.nodeValue,t)))||rz(n,!0)}else(e=cf(e).createTextNode(r))[eN]=n,n.stateNode=e}return iG(n),null;case 31:if(t=n.memoizedState,null===e||null!==e.memoizedState){if(r=rR(n),null!==t){if(null===e){if(!r)throw Error(l(318));if(!(e=null!==(e=n.memoizedState)?e.dehydrated:null))throw Error(l(557));e[eN]=n}else rN(),0==(128&n.flags)&&(n.memoizedState=null),n.flags|=4;iG(n),e=!1}else t=rD(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=t),e=!0;if(!e){if(256&n.flags)return oq(n),n;return oq(n),null}if(0!=(128&n.flags))throw Error(l(558))}return iG(n),null;case 13:if(r=n.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(o=rR(n),null!==r&&null!==r.dehydrated){if(null===e){if(!o)throw Error(l(318));if(!(o=null!==(o=n.memoizedState)?o.dehydrated:null))throw Error(l(317));o[eN]=n}else rN(),0==(128&n.flags)&&(n.memoizedState=null),n.flags|=4;iG(n),o=!1}else o=rD(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o){if(256&n.flags)return oq(n),n;return oq(n),null}}if(oq(n),0!=(128&n.flags))return n.lanes=t,n;return t=null!==r,e=null!==e&&null!==e.memoizedState,t&&(r=n.child,o=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(o=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),t!==e&&t&&(n.child.flags|=8192),iK(n,n.updateQueue),iG(n),null;case 4:return W(),null===e&&s6(n.stateNode.containerInfo),iG(n),null;case 10:return rU(n.type),iG(n),null;case 19:if(M(oW),null===(r=n.memoizedState))return iG(n),null;if(o=0!=(128&n.flags),null===(a=r.rendering))if(o)iQ(r,!1);else{if(0!==lq||null!==e&&0!=(128&e.flags))for(e=n.child;null!==e;){if(null!==(a=o$(e))){for(n.flags|=128,iQ(r,!1),n.updateQueue=e=a.updateQueue,iK(n,e),n.subtreeFlags=0,e=t,t=n.child;null!==t;)rr(t,e),t=t.sibling;return I(oW,1&oW.current|2),rS&&rx(n,r.treeForkCount),n.child}e=e.sibling}null!==r.tail&&er()>l0&&(n.flags|=128,o=!0,iQ(r,!1),n.lanes=4194304)}else{if(!o)if(null!==(e=o$(a))){if(n.flags|=128,o=!0,n.updateQueue=e=e.updateQueue,iK(n,e),iQ(r,!0),null===r.tail&&\"hidden\"===r.tailMode&&!a.alternate&&!rS)return iG(n),null}else 2*er()-r.renderingStartTime>l0&&0x20000000!==t&&(n.flags|=128,o=!0,iQ(r,!1),n.lanes=4194304);r.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=r.last)?e.sibling=a:n.child=a,r.last=a)}if(null!==r.tail)return e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=er(),e.sibling=null,t=oW.current,I(oW,o?1&t|2:1&t),rS&&rx(n,r.treeForkCount),e;return iG(n),null;case 22:case 23:return oq(n),oB(),r=null!==n.memoizedState,null!==e?null!==e.memoizedState!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?0!=(0x20000000&t)&&0==(128&n.flags)&&(iG(n),6&n.subtreeFlags&&(n.flags|=8192)):iG(n),null!==(t=n.updateQueue)&&iK(n,t.retryQueue),t=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(t=e.memoizedState.cachePool.pool),r=null,null!==n.memoizedState&&null!==n.memoizedState.cachePool&&(r=n.memoizedState.cachePool.pool),r!==t&&(n.flags|=2048),null!==e&&M(r7),null;case 24:return t=null,null!==e&&(t=e.memoizedState.cache),n.memoizedState.cache!==t&&(n.flags|=2048),rU(r0),iG(n),null;case 25:case 30:return null}throw Error(l(156,n.tag))}(n.alternate,n,lV);if(null!==t){lD=t;return}if(null!==(n=n.sibling)){lD=n;return}lD=n=e}while(null!==n);0===lq&&(lq=5)}function sw(e,n){do{var t=function(e,n){switch(rk(n),n.tag){case 1:return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return rU(r0),W(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 26:case 27:case 5:return Z(n),null;case 31:if(null!==n.memoizedState){if(oq(n),null===n.alternate)throw Error(l(340));rN()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 13:if(oq(n),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(l(340));rN()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return M(oW),null;case 4:return W(),null;case 10:return rU(n.type),null;case 22:case 23:return oq(n),oB(),null!==e&&M(r7),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 24:return rU(r0),null;default:return null}}(e.alternate,e);if(null!==t){t.flags&=32767,lD=t;return}if(null!==(t=e.return)&&(t.flags|=32768,t.subtreeFlags=0,t.deletions=null),!n&&null!==(e=e.sibling)){lD=e;return}lD=e=t}while(null!==e);lq=6,lD=null}function sj(e,n,t,r,o,a,i,s,c){e.cancelPendingCommit=null;do sS();while(0!==l4);if(0!=(6&lR))throw Error(l(327));if(null!==n){if(n===e.current)throw Error(l(177));if(!function(e,n,t,r,o,a){var i=e.pendingLanes;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(t=i&~t;0m&&(i=m,m=g,g=i);var v=tE(l,g),b=tE(l,m);if(v&&b&&(1!==p.rangeCount||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==b.node||p.focusOffset!==b.offset)){var y=d.createRange();y.setStart(v.node,v.offset),p.removeAllRanges(),g>m?(p.addRange(y),p.extend(b.node,b.offset)):(y.setEnd(b.node,b.offset),p.addRange(y))}}}}for(d=[],p=l;p=p.parentNode;)1===p.nodeType&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(\"function\"==typeof l.focus&&l.focus(),l=0;lt?32:t,L.T=null,t=l8,l8=null;var a=l5,i=l6;if(l4=0,l3=l5=null,l6=0,0!=(6&lR))throw Error(l(331));var s=lR;if(lR|=4,lP(a.current),lk(a,a.current,i,t),lR=s,sV(0,!1),ep&&\"function\"==typeof ep.onPostCommitFiberRoot)try{ep.onPostCommitFiberRoot(ef,a)}catch(e){}return!0}finally{T.p=o,L.T=r,sC(e,n)}}function s_(e,n,t){n=ru(t,n),n=im(e.stateNode,n,2),null!==(e=oO(e,n,2))&&(eC(e,2),sU(e))}function sP(e,n,t){if(3===e.tag)s_(e,e,t);else for(;null!==n;){if(3===n.tag){s_(n,e,t);break}if(1===n.tag){var r=n.stateNode;if(\"function\"==typeof n.type.getDerivedStateFromError||\"function\"==typeof r.componentDidCatch&&(null===l2||!l2.has(r))){e=ru(t,e),null!==(r=oO(n,t=iv(2),2))&&(ib(t,r,n,e),eC(r,2),sU(r));break}}n=n.return}}function sz(e,n,t){var r=e.pingCache;if(null===r){r=e.pingCache=new lT;var o=new Set;r.set(n,o)}else void 0===(o=r.get(n))&&(o=new Set,r.set(n,o));o.has(t)||(lU=!0,o.add(t),e=sL.bind(null,e,n,t),n.then(e,e))}function sL(e,n,t){var r=e.pingCache;null!==r&&r.delete(n),e.pingedLanes|=e.suspendedLanes&t,e.warmLanes&=~t,lN===e&&(lB&t)===t&&(4===lq||3===lq&&(0x3c00000&lB)===lB&&300>er()-lJ?0==(2&lR)&&su(e,0):lZ|=t,lX===lB&&(lX=0)),sU(e)}function sT(e,n){0===n&&(n=eA()),null!==(e=t3(e,n))&&(eC(e,n),sU(e))}function sR(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),sT(e,t)}function sN(e,n){var t=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;null!==o&&(t=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(l(314))}null!==r&&r.delete(n),sT(e,t)}var sD=null,sB=null,sM=!1,sI=!1,sH=!1,sF=0;function sU(e){e!==sB&&null===e.next&&(null===sB?sD=sB=e:sB=sB.next=e),sI=!0,sM||(sM=!0,cx(function(){0!=(6&lR)?J(ea,sq):sW()}))}function sV(e,n){if(!sH&&sI){sH=!0;do for(var t=!1,r=sD;null!==r;){if(!n)if(0!==e){var o=r.pendingLanes;if(0===o)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=0xc000095&(a=(1<<31-eg(42|e)+1)-1&(o&~(i&~l)))?0xc000095&a|1:a?2|a:0}0!==a&&(t=!0,sY(r,a))}else a=lB,0==(3&(a=ew(r,r===lN?a:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||ej(r,a)||(t=!0,sY(r,a));r=r.next}while(t);sH=!1}}function sq(){sW()}function sW(){sI=sM=!1;var e,n=0;0===sF||((e=window.event)&&\"popstate\"===e.type?e===cm||(cm=e,0):(cm=null,1))||(n=sF);for(var t=er(),r=null,o=sD;null!==o;){var a=o.next,i=s$(o,t);0===i?(o.next=null,null===r?sD=a:r.next=a,null===a&&(sB=r)):(r=o,(0!==n||0!=(3&i))&&(sI=!0)),o=a}0!==l4&&5!==l4||sV(n,!1),0!==sF&&(sF=0)}function s$(e,n){for(var t=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0 title\"):null)}function c0(e){return\"stylesheet\"!==e.type||0!=(3&e.state.loading)}var c1=null;function c2(){if(this.count--,0===this.count){if(this.stylesheets)c5(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var c4=null;function c5(e,n){e.stylesheets=null,null!==e.unsuspend&&(e.count++,c4=new Map,n.forEach(c3,e),c4=null,c2.call(e))}function c3(e,n){if(!(4&n.state.loading)){var t=c4.get(e);if(t)var r=t.get(null);else{t=new Map,c4.set(e,t);for(var o=e.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),a=0;a>>1,o=e[r];if(0>>1;ra(s,t))ca(u,s)?(e[r]=u,e[c]=t,r=c):(e[r]=s,e[l]=t,r=l);else if(ca(u,t))e[r]=u,e[c]=t,r=c;else break}}return n}function a(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if(n.unstable_now=void 0,\"object\"==typeof performance&&\"function\"==typeof performance.now){var i,l=performance;n.unstable_now=function(){return l.now()}}else{var s=Date,c=s.now();n.unstable_now=function(){return s.now()-c}}var u=[],d=[],f=1,p=null,h=3,g=!1,m=!1,v=!1,b=!1,y=\"function\"==typeof setTimeout?setTimeout:null,x=\"function\"==typeof clearTimeout?clearTimeout:null,w=\"undefined\"!=typeof setImmediate?setImmediate:null;function j(e){for(var n=r(d);null!==n;){if(null===n.callback)o(d);else if(n.startTime<=e)o(d),n.sortIndex=n.expirationTime,t(u,n);else break;n=r(d)}}function k(e){if(v=!1,j(e),!m)if(null!==r(u))m=!0,A||(A=!0,i());else{var n=r(d);null!==n&&L(k,n.startTime-e)}}var A=!1,O=-1,C=5,S=-1;function E(){return!!b||!(n.unstable_now()-Se&&E());){var l=p.callback;if(\"function\"==typeof l){p.callback=null,h=p.priorityLevel;var s=l(p.expirationTime<=e);if(e=n.unstable_now(),\"function\"==typeof s){p.callback=s,j(e),t=!0;break n}p===r(u)&&o(u),j(e)}else o(u);p=r(u)}if(null!==p)t=!0;else{var c=r(d);null!==c&&L(k,c.startTime-e),t=!1}}break e}finally{p=null,h=a,g=!1}}}finally{t?i():A=!1}}}if(\"function\"==typeof w)i=function(){w(_)};else if(\"undefined\"!=typeof MessageChannel){var P=new MessageChannel,z=P.port2;P.port1.onmessage=_,i=function(){z.postMessage(null)}}else i=function(){y(_,0)};function L(e,t){O=y(function(){e(n.unstable_now())},t)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(e){e.callback=null},n.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=a,t(d,e),null===r(u)&&e===r(d)&&(v?(x(O),O=-1):v=!0,L(k,a-l))):(e.sortIndex=s,t(u,e),m||g||(m=!0,A||(A=!0,i()))),e},n.unstable_shouldYield=E,n.unstable_wrapCallback=function(e){var n=h;return function(){var t=h;h=n;try{return e.apply(this,arguments)}finally{h=t}}}},\"./dist/compiled/scheduler/index.js\":function(e,n,t){\"use strict\";e.exports=t(\"./dist/compiled/scheduler/cjs/scheduler.production.js\")},\"./dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\":function(e){(()=>{\"use strict\";\"undefined\"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab=\"//\");var n,t,r,o,a,i,l,s,c={};Object.defineProperty(c,\"__esModule\",{value:!0}),n=\"\",t=/^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|webpack-internal|rsc|turbopack||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i,r=/\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/,o=/^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|webpack-internal|rsc|turbopack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i,a=/^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|webpack-internal|rsc|turbopack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i,i=/(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i,l=/^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i,s=/^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i,c.parse=function(e){return e.split(\"\\n\").reduce(function(e,c){var u,d,f,p,h,g,m=function(e){var o=t.exec(e);if(!o)return null;var a=o[2]&&0===o[2].indexOf(\"native\"),i=o[2]&&0===o[2].indexOf(\"eval\"),l=r.exec(o[2]);return i&&null!=l&&(o[2]=l[1],o[3]=l[2],o[4]=l[3]),{file:a?null:o[2],methodName:o[1]||n,arguments:a?[o[2]]:[],lineNumber:o[3]?+o[3]:null,column:o[4]?+o[4]:null}}(c)||(u=c,(d=o.exec(u))?{file:d[2],methodName:d[1]||n,arguments:[],lineNumber:+d[3],column:d[4]?+d[4]:null}:null)||function(e){var t=a.exec(e);if(!t)return null;var r=t[3]&&t[3].indexOf(\" > eval\")>-1,o=i.exec(t[3]);return r&&null!=o&&(t[3]=o[1],t[4]=o[2],t[5]=null),{file:t[3],methodName:t[1]||n,arguments:t[2]?t[2].split(\",\"):[],lineNumber:t[4]?+t[4]:null,column:t[5]?+t[5]:null}}(c)||(f=c,(p=s.exec(f))?{file:p[2],methodName:p[1]||n,arguments:[],lineNumber:+p[3],column:p[4]?+p[4]:null}:null)||(h=c,(g=l.exec(h))?{file:g[3],methodName:g[1]||n,arguments:[],lineNumber:+g[4],column:g[5]?+g[5]:null}:null);return m&&e.push(m),e},[])},e.exports=c})()},\"./dist/compiled/strip-ansi/index.js\":function(e){(()=>{\"use strict\";var n={511:e=>{e.exports=({onlyFirst:e=!1}={})=>RegExp(\"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)|(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\",e?void 0:\"g\")},532:(e,n,t)=>{let r=t(511);e.exports=e=>\"string\"==typeof e?e.replace(r(),\"\"):e}},t={};function r(e){var o=t[e];if(void 0!==o)return o.exports;var a=t[e]={exports:{}},i=!0;try{n[e](a,a.exports,r),i=!1}finally{i&&delete t[e]}return a.exports}r.ab=\"//\",e.exports=r(532)})()},\"./src/build/webpack/loaders/devtool/devtool-style-inject.js\":function(e){function n(){let e=window._nextjsDevtoolsStyleCache;if(e.cachedShadowRoot)return e.cachedShadowRoot;let n=document.querySelector(\"nextjs-portal\"),t=n?.shadowRoot||null;return t&&(e.cachedShadowRoot=t),t}function t(e,n){let t=window._nextjsDevtoolsStyleCache;t.lastInsertedElement?t.lastInsertedElement.nextSibling?n.insertBefore(e,t.lastInsertedElement.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),t.lastInsertedElement=e}function r(){let e=window._nextjsDevtoolsStyleCache,r=n();r&&(e.pendingElements.forEach(e=>{t(e,r)}),e.pendingElements=[])}\"undefined\"!=typeof window&&(window._nextjsDevtoolsStyleCache=window._nextjsDevtoolsStyleCache||{pendingElements:[],isObserving:!1,lastInsertedElement:null,cachedShadowRoot:null}),e.exports=function(e){e.setAttribute(\"data-nextjs-dev-tool-style\",\"true\");let o=n();o?t(e,o):(window._nextjsDevtoolsStyleCache.pendingElements.push(e),function(){let e=window._nextjsDevtoolsStyleCache;if(e.isObserving)return;if(e.isObserving=!0,n())return r();let t=new MutationObserver(o=>{if(0===o.length||0===o[0].addedNodes.length)return;let a=o[0].addedNodes[0],i=null;if(\"SCRIPT\"===a.tagName&&a.getAttribute(\"data-nextjs-dev-overlay\")?i=a.firstChild:\"NEXTJS-PORTAL\"===a.tagName&&(i=a),!i)return;let l=()=>{n()?(r(),t.disconnect(),e.isObserving=!1):setTimeout(l,20)};l()});t.observe(document.body,{childList:!0,subtree:!0})}())}},\"./src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.tsx\":function(e,n,t){\"use strict\";t.d(n,{g:()=>s,x:()=>l});var r=t(\"./dist/compiled/react/jsx-runtime.js\"),o=t(\"./dist/compiled/react/index.js\"),a=t(\"./src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/utils.ts\"),i=t(\"./src/next-devtools/dev-overlay/hooks/use-delayed-render.ts\");function l(e){var n,t,l=e.title,s=e.children,u=e.learnMoreLink,d=e.isOpen,f=e.triggerRef,p=e.close,h=function(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,[\"title\",\"children\",\"learnMoreLink\",\"isOpen\",\"triggerRef\",\"close\"]),g=(0,o.useRef)(null),m=(0,o.useRef)(null),v=(0,i.N)(d,{enterDelay:0,exitDelay:a.K7}),b=v.mounted,y=v.rendered;return((0,a.P5)(g,f,d,function(){var e;null==(e=m.current)||e.focus()}),(0,a.O8)(g,f,b,p),b)?(0,r.jsx)(\"div\",(n=function(e){for(var n=1;ni});var r=t(\"./dist/compiled/react/jsx-runtime.js\"),o=t(\"./src/next-devtools/dev-overlay/components/overview/segment-explorer.tsx\"),a=t(\"./src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.tsx\");function i(e){var n,t,i=e.routerType,l=e.page,s=function(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},a=Object.keys(e);for(r=0;r=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,[\"routerType\",\"page\"]);return(0,r.jsx)(a.x,(n=function(e){for(var n=1;ns,O8:()=>l,P5:()=>a,uD:()=>c,vY:()=>i});var r=t(\"./dist/compiled/react/index.js\");function o(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t=e.current.getBoundingClientRect().left&&t.clientX<=e.current.getBoundingClientRect().right&&t.clientY>=e.current.getBoundingClientRect().top&&t.clientY<=e.current.getBoundingClientRect().bottom||null!=(a=n.current)&&a.getBoundingClientRect()&&t.clientX>=n.current.getBoundingClientRect().left&&t.clientX<=n.current.getBoundingClientRect().right&&t.clientY>=n.current.getBoundingClientRect().top&&t.clientY<=n.current.getBoundingClientRect().bottom||o())},l=function(e){\"Escape\"===e.key&&o()};if(t){var s=a||(null==(r=e.current)?void 0:r.ownerDocument);return null==s||s.addEventListener(\"mousedown\",i),null==s||s.addEventListener(\"keydown\",l),function(){null==s||s.removeEventListener(\"mousedown\",i),null==s||s.removeEventListener(\"keydown\",l)}}},[t,e,n])}var s=200,c=\"cubic-bezier(0.175, 0.885, 0.32, 1.1)\"},\"./src/next-devtools/dev-overlay/components/overview/segment-explorer.tsx\":function(e,n,t){\"use strict\";t.d(n,{u:()=>at});var r,o,a,i,l=t(\"./dist/compiled/react/jsx-runtime.js\"),s=t(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\"),c=t.n(s),u=t(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/styleDomAPI.js\"),d=t.n(u),f=t(\"./src/build/webpack/loaders/devtool/devtool-style-inject.js\"),p=t.n(f),h=t(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\"),g=t.n(h),m=t(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/insertStyleElement.js\"),v=t.n(m),b=t(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/styleTagTransform.js\"),y=t.n(b),x=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/overview/segment-explorer.css\"),w={};w.styleTagTransform=y(),w.setAttributes=g(),w.insert=p(),w.domAPI=d(),w.insertStyleElement=v(),c()(x.Z,w),x.Z&&x.Z.locals&&x.Z.locals;var j=t(\"./src/next-devtools/dev-overlay/segment-explorer-trie.ts\"),k=t(\"./src/next-devtools/dev-overlay/utils/cx.ts\"),A=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/overview/segment-boundary-trigger.css\"),O={};O.styleTagTransform=y(),O.setAttributes=g(),O.insert=p(),O.domAPI=d(),O.insertStyleElement=v(),c()(A.Z,O),A.Z&&A.Z.locals&&A.Z.locals;var C=t(\"./dist/compiled/react/index.js\"),S=t.t(C,2),E=t(\"./dist/compiled/react-dom/index.js\");let _={};function P(e,n){let t=C.useRef(_);return t.current===_&&(t.current=e(n)),t}let z=S[`useInsertionEffect${Math.random().toFixed(1)}`.slice(0,-3)],L=z&&z!==C.useLayoutEffect?z:e=>e();function T(e){let n=P(R).current;return n.next=e,L(n.effect),n.trampoline}function R(){let e={next:void 0,callback:N,trampoline:(...n)=>e.callback?.(...n),effect:()=>{e.callback=e.next}};return e}function N(){}function D(){let e=new Map;return{emit(n,t){e.get(n)?.forEach(e=>e(t))},on(n,t){e.has(n)||e.set(n,new Set),e.get(n).add(t)},off(n,t){e.get(n)?.delete(t)}}}let B={...S},M=0,I=B.useId;function H(e,n){if(void 0!==I){let t=I();return e??(n?`${n}-${t}`:t)}return function(e,n=\"mui\"){let[t,r]=C.useState(e),o=e||t;return C.useEffect(()=>{null==t&&(M+=1,r(`${n}-${M}`))},[t,n]),o}(e,n)}let F=\"undefined\"!=typeof document?C.useLayoutEffect:()=>{},U=C.createContext(null),V=C.createContext(null),q=()=>C.useContext(U)?.id||null,W=()=>C.useContext(V);function $(e){let{children:n,id:t}=e,r=q();return(0,l.jsx)(U.Provider,{value:C.useMemo(()=>({id:t,parentId:r}),[t,r]),children:n})}function Z(e){let{children:n}=e,t=C.useRef([]),r=C.useCallback(e=>{t.current=[...t.current,e]},[]),o=C.useCallback(e=>{t.current=t.current.filter(n=>n!==e)},[]),[a]=C.useState(()=>D());return(0,l.jsx)(V.Provider,{value:C.useMemo(()=>({nodesRef:t,addNode:r,removeNode:o,events:a}),[r,o,a]),children:n})}function Y(e){let{open:n=!1,onOpenChange:t,elements:r}=e,o=H(),a=C.useRef({}),[i]=C.useState(()=>D()),l=null!=q(),[s,c]=C.useState(r.reference),u=T((e,n,r)=>{a.current.openEvent=e?n:void 0,i.emit(\"openchange\",{open:e,event:n,reason:r,nested:l}),t?.(e,n,r)}),d=C.useMemo(()=>({setPositionReference:c}),[]),f=C.useMemo(()=>({reference:s||r.reference||null,floating:r.floating||null,domReference:r.reference}),[s,r.reference,r.floating]);return C.useMemo(()=>({dataRef:a,open:n,onOpenChange:u,elements:f,events:i,floatingId:o,refs:d}),[n,u,f,i,o,d])}function X(){return\"undefined\"!=typeof window}function K(e){return J(e)?(e.nodeName||\"\").toLowerCase():\"#document\"}function Q(e){var n;return(null==e||null==(n=e.ownerDocument)?void 0:n.defaultView)||window}function G(e){var n;return null==(n=(J(e)?e.ownerDocument:e.document)||window.document)?void 0:n.documentElement}function J(e){return!!X()&&(e instanceof Node||e instanceof Q(e).Node)}function ee(e){return!!X()&&(e instanceof Element||e instanceof Q(e).Element)}function en(e){return!!X()&&(e instanceof HTMLElement||e instanceof Q(e).HTMLElement)}function et(e){return!!X()&&\"undefined\"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof Q(e).ShadowRoot)}let er=new Set([\"inline\",\"contents\"]);function eo(e){let{overflow:n,overflowX:t,overflowY:r,display:o}=eg(e);return/auto|scroll|overlay|hidden|clip/.test(n+r+t)&&!er.has(o)}let ea=new Set([\"table\",\"td\",\"th\"]),ei=[\":popover-open\",\":modal\"];function el(e){return ei.some(n=>{try{return e.matches(n)}catch(e){return!1}})}let es=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\"],ec=[\"transform\",\"translate\",\"scale\",\"rotate\",\"perspective\",\"filter\"],eu=[\"paint\",\"layout\",\"strict\",\"content\"];function ed(e){let n=ef(),t=ee(e)?eg(e):e;return es.some(e=>!!t[e]&&\"none\"!==t[e])||!!t.containerType&&\"normal\"!==t.containerType||!n&&!!t.backdropFilter&&\"none\"!==t.backdropFilter||!n&&!!t.filter&&\"none\"!==t.filter||ec.some(e=>(t.willChange||\"\").includes(e))||eu.some(e=>(t.contain||\"\").includes(e))}function ef(){return\"undefined\"!=typeof CSS&&!!CSS.supports&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}let ep=new Set([\"html\",\"body\",\"#document\"]);function eh(e){return ep.has(K(e))}function eg(e){return Q(e).getComputedStyle(e)}function em(e){return ee(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ev(e){if(\"html\"===K(e))return e;let n=e.assignedSlot||e.parentNode||et(e)&&e.host||G(e);return et(n)?n.host:n}function eb(e,n,t){var r;void 0===n&&(n=[]),void 0===t&&(t=!0);let o=function e(n){let t=ev(n);return eh(t)?n.ownerDocument?n.ownerDocument.body:n.body:en(t)&&eo(t)?t:e(t)}(e),a=o===(null==(r=e.ownerDocument)?void 0:r.body),i=Q(o);if(a){let e=ey(i);return n.concat(i,i.visualViewport||[],eo(o)?o:[],e&&t?eb(e):[])}return n.concat(o,eb(o,[],t))}function ey(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}let ex=[];function ew(e){C.useEffect(e,ex)}class ej{static create(){return new ej}currentId=0;start(e,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,n()},e)}isStarted(){return 0!==this.currentId}clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)};disposeEffect=()=>this.clear}function ek(){let e=P(ej.create).current;return ew(e.disposeEffect),e}function eA(e){let n=P(eO,e).current;return n.next=e,F(n.effect),n}function eO(e){let n={current:e,next:e,effect:()=>{n.current=n.next}};return n}let eC=\"undefined\"!=typeof navigator,eS=function(){if(\"undefined\"==typeof navigator)return{platform:\"\",maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??\"\",maxTouchPoints:navigator.maxTouchPoints??-1}}(),eE=function(){if(!eC)return\"\";let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??\"\"}(),e_=function(){if(!eC)return\"\";let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:n})=>`${e}/${n}`).join(\" \"):navigator.userAgent}(),eP=\"undefined\"!=typeof CSS&&!!CSS.supports&&CSS.supports(\"-webkit-backdrop-filter:none\"),ez=\"MacIntel\"===eS.platform&&eS.maxTouchPoints>1||/iP(hone|ad|od)|iOS/.test(eS.platform);eC&&/firefox/i.test(e_);let eL=eC&&/apple/i.test(navigator.vendor),eT=eC&&/android/i.test(eE)||/android/i.test(e_),eR=eC&&eE.toLowerCase().startsWith(\"mac\")&&!navigator.maxTouchPoints,eN=e_.includes(\"jsdom/\");function eD(e){e.preventDefault(),e.stopPropagation()}function eB(e){return 0===e.mozInputSource&&!!e.isTrusted||(eT&&e.pointerType?\"click\"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function eM(e){return!eN&&(!eT&&0===e.width&&0===e.height||eT&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&\"mouse\"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&\"touch\"===e.pointerType)}function eI(e,n){let t=[\"mouse\",\"pen\"];return n||t.push(\"\",void 0),t.includes(e)}let eH=\"data-base-ui-focusable\",eF=\"active\",eU=\"selected\",eV=\"ArrowLeft\",eq=\"ArrowRight\",eW=\"ArrowUp\",e$=\"ArrowDown\";function eZ(e){let n=e.activeElement;for(;n?.shadowRoot?.activeElement!=null;)n=n.shadowRoot.activeElement;return n}function eY(e,n){if(!e||!n)return!1;let t=n.getRootNode?.();if(e.contains(n))return!0;if(t&&et(t)){let t=n;for(;t;){if(e===t)return!0;t=t.parentNode||t.host}}return!1}function eX(e){return\"composedPath\"in e?e.composedPath()[0]:e.target}function eK(e,n){return null!=n&&(\"composedPath\"in e?e.composedPath().includes(n):null!=e.target&&n.contains(e.target))}function eQ(e){return e?.ownerDocument||document}function eG(e){return en(e)&&e.matches(\"input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])\")}function eJ(e){return!!e&&\"combobox\"===e.getAttribute(\"role\")&&eG(e)}function e0(e){return e?e.hasAttribute(eH)?e:e.querySelector(`[${eH}]`)||e:null}function e1(e){return`data-base-ui-${e}`}let e2=e1(\"safe-polygon\");function e4(e,n,t){if(t&&!eI(t))return 0;if(\"number\"==typeof e)return e;if(\"function\"==typeof e){let t=e();return\"number\"==typeof t?t:t?.[n]}return e?.[n]}function e5(e){return\"function\"==typeof e?e():e}function e3(e,n={}){let{open:t,onOpenChange:r,dataRef:o,events:a,elements:i}=e,{enabled:l=!0,delay:s=0,handleClose:c=null,mouseOnly:u=!1,restMs:d=0,move:f=!0}=n,p=W(),h=q(),g=eA(c),m=eA(s),v=eA(t),b=eA(d),y=C.useRef(void 0),x=ek(),w=C.useRef(void 0),j=ek(),k=C.useRef(!0),A=C.useRef(!1),O=C.useRef(()=>{}),S=C.useRef(!1),E=T(()=>{let e=o.current.openEvent?.type;return e?.includes(\"mouse\")&&\"mousedown\"!==e});C.useEffect(()=>{if(l)return a.on(\"openchange\",e),()=>{a.off(\"openchange\",e)};function e({open:e}){e||(x.clear(),j.clear(),k.current=!0,S.current=!1)}},[l,a,x,j]),C.useEffect(()=>{if(!l||!g.current||!t)return;function e(e){E()&&r(!1,e,\"hover\")}let n=eQ(i.floating).documentElement;return n.addEventListener(\"mouseleave\",e),()=>{n.removeEventListener(\"mouseleave\",e)}},[i.floating,t,r,l,g,E]);let _=C.useCallback((e,n=!0,t=\"hover\")=>{let o=e4(m.current,\"close\",y.current);o&&!w.current?x.start(o,()=>r(!1,e,t)):n&&(x.clear(),r(!1,e,t))},[m,r,x]),P=T(()=>{O.current(),w.current=void 0}),z=T(()=>{if(A.current){let e=eQ(i.floating).body;e.style.pointerEvents=\"\",e.removeAttribute(e2),A.current=!1}}),L=T(()=>!!o.current.openEvent&&[\"click\",\"mousedown\"].includes(o.current.openEvent.type));C.useEffect(()=>{if(l&&ee(i.domReference)){let r=i.domReference,o=i.floating;return t&&r.addEventListener(\"mouseleave\",a),f&&r.addEventListener(\"mousemove\",e,{once:!0}),r.addEventListener(\"mouseenter\",e),r.addEventListener(\"mouseleave\",n),o&&(o.addEventListener(\"mouseleave\",a),o.addEventListener(\"mouseenter\",s),o.addEventListener(\"mouseleave\",c)),()=>{t&&r.removeEventListener(\"mouseleave\",a),f&&r.removeEventListener(\"mousemove\",e),r.removeEventListener(\"mouseenter\",e),r.removeEventListener(\"mouseleave\",n),o&&(o.removeEventListener(\"mouseleave\",a),o.removeEventListener(\"mouseenter\",s),o.removeEventListener(\"mouseleave\",c))}}function e(e){if(x.clear(),k.current=!1,u&&!eI(y.current)||e5(b.current)>0&&!e4(m.current,\"open\"))return;let n=e4(m.current,\"open\",y.current);n?x.start(n,()=>{v.current||r(!0,e,\"hover\")}):t||r(!0,e,\"hover\")}function n(e){if(L())return void z();O.current();let n=eQ(i.floating);if(j.clear(),S.current=!1,g.current&&o.current.floatingContext){t||x.clear(),w.current=g.current({...o.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){z(),P(),L()||_(e,!0,\"safe-polygon\")}});let r=w.current;n.addEventListener(\"mousemove\",r),O.current=()=>{n.removeEventListener(\"mousemove\",r)};return}\"touch\"===y.current&&eY(i.floating,e.relatedTarget)||_(e)}function a(e){!L()&&o.current.floatingContext&&g.current?.({...o.current.floatingContext,tree:p,x:e.clientX,y:e.clientY,onClose(){z(),P(),L()||_(e)}})(e)}function s(){x.clear()}function c(e){L()||_(e,!1)}},[i,l,e,u,f,_,P,z,r,t,v,p,m,g,o,L,b,x,j]),F(()=>{if(l&&t&&g.current?.__options?.blockPointerEvents&&E()){A.current=!0;let e=i.floating;if(ee(i.domReference)&&e){let n=eQ(i.floating).body;n.setAttribute(e2,\"\");let t=i.domReference,r=p?.nodesRef.current.find(e=>e.id===h)?.context?.elements.floating;return r&&(r.style.pointerEvents=\"\"),n.style.pointerEvents=\"none\",t.style.pointerEvents=\"auto\",e.style.pointerEvents=\"auto\",()=>{n.style.pointerEvents=\"\",t.style.pointerEvents=\"\",e.style.pointerEvents=\"\"}}}},[l,t,h,i,p,g,E]),F(()=>{t||(y.current=void 0,S.current=!1,P(),z())},[t,P,z]),C.useEffect(()=>()=>{P(),x.clear(),j.clear(),z()},[l,i.domReference,P,z,x,j]);let R=C.useMemo(()=>{function e(e){y.current=e.pointerType}return{onPointerDown:e,onPointerEnter:e,onMouseMove(e){let{nativeEvent:n}=e;function o(){k.current||v.current||r(!0,n,\"hover\")}(!u||eI(y.current))&&!t&&0!==e5(b.current)&&(S.current&&e.movementX**2+e.movementY**2<2||(j.clear(),\"touch\"===y.current?o():(S.current=!0,j.start(e5(b.current),o))))}}},[u,r,t,v,b,j]);return C.useMemo(()=>l?{reference:R}:{},[l,R])}function e6(e,n,t=!0){return e.filter(e=>e.parentId===n&&(!t||e.context?.open)).flatMap(n=>[n,...e6(e,n.id,t)])}function e9(e,n){let t=[],r=e.find(e=>e.id===n)?.parentId;for(;r;){let n=e.find(e=>e.id===r);r=n?.parentId,n&&(t=t.concat(n))}return t}function e8(e,n){let[t,r]=e,o=!1,a=n.length;for(let e=0,i=a-1;e=r!=c>=r&&t<=(s-a)*(r-l)/(c-l)+a&&(o=!o)}return o}function e7(e={}){let{buffer:n=.5,blockPointerEvents:t=!1,requireIntent:r=!0}=e,o=new ej,a=!1,i=null,l=null,s=performance.now(),c=({x:e,y:t,placement:c,elements:u,onClose:d,nodeId:f,tree:p})=>function(h){function g(){o.clear(),d()}if(o.clear(),!u.domReference||!u.floating||null==c||null==e||null==t)return;let{clientX:m,clientY:v}=h,b=[m,v],y=eX(h),x=\"mouseleave\"===h.type,w=eY(u.floating,y),j=eY(u.domReference,y),k=u.domReference.getBoundingClientRect(),A=u.floating.getBoundingClientRect(),O=c.split(\"-\")[0],C=e>A.right-A.width/2,S=t>A.bottom-A.height/2,E=b[0]>=k.x&&b[0]<=k.x+k.width&&b[1]>=k.y&&b[1]<=k.y+k.height,_=A.width>k.width,P=A.height>k.height,z=(_?k:A).left,L=(_?k:A).right,T=(P?k:A).top,R=(P?k:A).bottom;if(w&&(a=!0,!x))return;if(j&&(a=!1),j&&!x){a=!0;return}if(x&&ee(h.relatedTarget)&&eY(u.floating,h.relatedTarget)||p&&e6(p.nodesRef.current,f).some(({context:e})=>e?.open))return;if(\"top\"===O&&t>=k.bottom-1||\"bottom\"===O&&t<=k.top+1||\"left\"===O&&e>=k.right-1||\"right\"===O&&e<=k.left+1)return g();let N=[];switch(O){case\"top\":N=[[z,k.top+1],[z,A.bottom-1],[L,A.bottom-1],[L,k.top+1]];break;case\"bottom\":N=[[z,A.top+1],[z,k.bottom-1],[L,k.bottom-1],[L,A.top+1]];break;case\"left\":N=[[A.right-1,R],[A.right-1,T],[k.left+1,T],[k.left+1,R]];break;case\"right\":N=[[k.right-1,R],[k.right-1,T],[A.left+1,T],[A.left+1,R]]}if(!e8([m,v],N)){if(a&&!E)return g();if(!x&&r){let e=function(e,n){let t=performance.now(),r=t-s;if(null===i||null===l||0===r)return i=e,l=n,s=t,null;let o=e-i,a=n-l,c=Math.sqrt(o*o+a*a);return i=e,l=n,s=t,c/r}(h.clientX,h.clientY);if(null!==e&&e<.1)return g()}e8([m,v],function([e,t]){switch(O){case\"top\":{let r=[[A.left,C||_?A.bottom-n:A.top],[A.right,C?_?A.bottom-n:A.top:A.bottom-n]];return[[_?e+n/2:C?e+4*n:e-4*n,t+n+1],[_?e-n/2:C?e+4*n:e-4*n,t+n+1],...r]}case\"bottom\":{let r=[[A.left,C||_?A.top+n:A.bottom],[A.right,C?_?A.top+n:A.bottom:A.top+n]];return[[_?e+n/2:C?e+4*n:e-4*n,t-n],[_?e-n/2:C?e+4*n:e-4*n,t-n],...r]}case\"left\":return[[S||P?A.right-n:A.left,A.top],[S?P?A.right-n:A.left:A.right-n,A.bottom],[e+n+1,P?t+n/2:S?t+4*n:t-4*n],[e+n+1,P?t-n/2:S?t+4*n:t-4*n]];case\"right\":{let r=[[S||P?A.left+n:A.right,A.top],[S?P?A.left+n:A.right:A.left+n,A.bottom]];return[[e-n,P?t+n/2:S?t+4*n:t-4*n],[e-n,P?t-n/2:S?t+4*n:t-4*n],...r]}default:return[]}}([e,t]))?!a&&r&&o.start(40,g):g()}};return c.__options={blockPointerEvents:t},c}let ne=eR&&eL;function nn(e,n={}){let{open:t,onOpenChange:r,events:o,dataRef:a,elements:i}=e,{enabled:l=!0,visibleOnly:s=!0}=n,c=C.useRef(!1),u=ek(),d=C.useRef(!0);C.useEffect(()=>{if(!l)return;let e=Q(i.domReference);function n(){!t&&en(i.domReference)&&i.domReference===eZ(eQ(i.domReference))&&(c.current=!0)}function r(){d.current=!0}function o(){d.current=!1}return e.addEventListener(\"blur\",n),ne&&(e.addEventListener(\"keydown\",r,!0),e.addEventListener(\"pointerdown\",o,!0)),()=>{e.removeEventListener(\"blur\",n),ne&&(e.removeEventListener(\"keydown\",r,!0),e.removeEventListener(\"pointerdown\",o,!0))}},[i.domReference,t,l]),C.useEffect(()=>{if(l)return o.on(\"openchange\",e),()=>{o.off(\"openchange\",e)};function e({reason:e}){(\"reference-press\"===e||\"escape-key\"===e)&&(c.current=!0)}},[o,l]);let f=C.useMemo(()=>({onMouseLeave(){c.current=!1},onFocus(e){if(c.current)return;let n=eX(e.nativeEvent);if(s&&ee(n)){if(ne&&!e.relatedTarget){if(!d.current&&!eG(n))return}else if(!function(e){if(!e||eN)return!0;try{return e.matches(\":focus-visible\")}catch(e){return!0}}(n))return}r(!0,e.nativeEvent,\"focus\")},onBlur(e){c.current=!1;let n=e.relatedTarget,t=e.nativeEvent,o=ee(n)&&n.hasAttribute(e1(\"focus-guard\"))&&\"outside\"===n.getAttribute(\"data-type\");u.start(0,()=>{let e=eZ(i.domReference?i.domReference.ownerDocument:document);(n||e!==i.domReference)&&(eY(a.current.floatingContext?.refs.floating.current,e)||eY(i.domReference,e)||o||r(!1,t,\"focus\"))})}}),[a,i.domReference,r,s,u]);return C.useMemo(()=>l?{reference:f}:{},[l,f])}let nt={style:{transition:\"none\"}},nr={},no={fallbackAxisSide:\"none\"},na={fallbackAxisSide:\"end\"},ni=new class{callbacks=[];callbacksCount=0;nextId=1;startId=1;isScheduled=!1;tick=e=>{this.isScheduled=!1;let n=this.callbacks,t=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,t>0)for(let t=0;t=this.callbacks.length||(this.callbacks[n]=null,this.callbacksCount-=1)}};class nl{static create(){return new nl}static request(e){return ni.request(e)}static cancel(e){return ni.cancel(e)}currentId=null;request(e){this.cancel(),this.currentId=ni.request(()=>{this.currentId=null,e()})}cancel=()=>{null!==this.currentId&&(ni.cancel(this.currentId),this.currentId=null)};disposeEffect=()=>this.cancel}function ns(){let e=P(nl.create).current;return ew(e.disposeEffect),e}let nc={pointerdown:\"onPointerDown\",mousedown:\"onMouseDown\",click:\"onClick\"},nu={pointerdown:\"onPointerDownCapture\",mousedown:\"onMouseDownCapture\",click:\"onClickCapture\"},nd=e=>({escapeKey:\"boolean\"==typeof e?e:e?.escapeKey??!1,outsidePress:\"boolean\"==typeof e?e:e?.outsidePress??!0});function nf(e,n={}){let{open:t,onOpenChange:r,elements:o,dataRef:a}=e,{enabled:i=!0,escapeKey:l=!0,outsidePress:s=!0,outsidePressEvent:c=\"pointerdown\",referencePress:u=!1,referencePressEvent:d=\"pointerdown\",ancestorScroll:f=!1,bubbles:p,capture:h}=n,g=W(),m=T(\"function\"==typeof s?s:()=>!1),v=\"function\"==typeof s?m:s,b=C.useRef(!1),{escapeKey:y,outsidePress:x}=nd(p),{escapeKey:w,outsidePress:j}=nd(h),k=C.useRef(!1),A=ek(),O=T(e=>{if(!t||!i||!l||\"Escape\"!==e.key||k.current)return;let n=a.current.floatingContext?.nodeId,o=g?e6(g.nodesRef.current,n):[];if(!y&&(e.stopPropagation(),o.length>0)){let e=!0;if(o.forEach(n=>{n.context?.open&&!n.context.dataRef.current.__escapeKeyBubbles&&(e=!1)}),!e)return}r(!1,\"nativeEvent\"in e?e.nativeEvent:e,\"escape-key\")}),S=T(e=>{let n=()=>{O(e),eX(e)?.removeEventListener(\"keydown\",n)};eX(e)?.addEventListener(\"keydown\",n)}),E=T(e=>{let n=a.current.insideReactTree;a.current.insideReactTree=!1;let t=b.current;if(b.current=!1,\"click\"===c&&t||n||\"function\"==typeof v&&!v(e))return;let i=eX(e),l=`[${e1(\"inert\")}]`,s=eQ(o.floating).querySelectorAll(l),u=ee(i)?i:null;for(;u&&!eh(u);){let e=ev(u);if(eh(e)||!ee(e))break;u=e}if(s.length&&ee(i)&&!i.matches(\"html,body\")&&!eY(i,o.floating)&&Array.from(s).every(e=>!eY(u,e)))return;if(en(i)){let n=eh(i),t=eg(i),r=/auto|scroll/,o=n||r.test(t.overflowX),a=n||r.test(t.overflowY),l=o&&i.clientWidth>0&&i.scrollWidth>i.clientWidth,s=a&&i.clientHeight>0&&i.scrollHeight>i.clientHeight,c=\"rtl\"===t.direction,u=s&&(c?e.offsetX<=i.offsetWidth-i.clientWidth:e.offsetX>i.clientWidth),d=l&&e.offsetY>i.clientHeight;if(u||d)return}let d=a.current.floatingContext?.nodeId,f=g&&e6(g.nodesRef.current,d).some(n=>eK(e,n.context?.elements.floating));if(eK(e,o.floating)||eK(e,o.domReference)||f)return;let p=g?e6(g.nodesRef.current,d):[];if(p.length>0){let e=!0;if(p.forEach(n=>{n.context?.open&&!n.context.dataRef.current.__outsidePressBubbles&&(e=!1)}),!e)return}r(!1,e,\"outside-press\")}),_=T(e=>{let n=()=>{E(e),eX(e)?.removeEventListener(c,n)};eX(e)?.addEventListener(c,n)});C.useEffect(()=>{if(!t||!i)return;a.current.__escapeKeyBubbles=y,a.current.__outsidePressBubbles=x;let e=new ej;function n(e){r(!1,e,\"ancestor-scroll\")}function s(){e.clear(),k.current=!0}function u(){e.start(5*!!ef(),()=>{k.current=!1})}let d=eQ(o.floating);l&&(d.addEventListener(\"keydown\",w?S:O,w),d.addEventListener(\"compositionstart\",s),d.addEventListener(\"compositionend\",u)),v&&d.addEventListener(c,j?_:E,j);let p=[];return f&&(ee(o.domReference)&&(p=eb(o.domReference)),ee(o.floating)&&(p=p.concat(eb(o.floating))),!ee(o.reference)&&o.reference&&o.reference.contextElement&&(p=p.concat(eb(o.reference.contextElement)))),(p=p.filter(e=>e!==d.defaultView?.visualViewport)).forEach(e=>{e.addEventListener(\"scroll\",n,{passive:!0})}),()=>{l&&(d.removeEventListener(\"keydown\",w?S:O,w),d.removeEventListener(\"compositionstart\",s),d.removeEventListener(\"compositionend\",u)),v&&d.removeEventListener(c,j?_:E,j),p.forEach(e=>{e.removeEventListener(\"scroll\",n)}),e.clear()}},[a,o,l,v,c,t,r,f,i,y,x,O,w,S,E,j,_]),C.useEffect(()=>{a.current.insideReactTree=!1},[a,v,c]);let P=C.useMemo(()=>({onKeyDown:O,...u&&{[nc[d]]:e=>{r(!1,e.nativeEvent,\"reference-press\")},...\"click\"!==d&&{onClick(e){r(!1,e.nativeEvent,\"reference-press\")}}}}),[O,r,u,d]),z=C.useMemo(()=>({onKeyDown:O,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[nu[c]]:()=>{a.current.insideReactTree=!0},onBlurCapture(){g||(a.current.insideReactTree=!0,A.start(0,()=>{a.current.insideReactTree=!1}))}}),[O,c,a,g,A]);return C.useMemo(()=>i?{reference:P,floating:z}:{},[i,P,z])}let np=new Map([[\"select\",\"listbox\"],[\"combobox\",\"listbox\"],[\"label\",!1]]),nh=[\"top\",\"right\",\"bottom\",\"left\"],ng=Math.min,nm=Math.max,nv=Math.round,nb=Math.floor,ny=e=>({x:e,y:e}),nx={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"},nw={start:\"end\",end:\"start\"};function nj(e,n){return\"function\"==typeof e?e(n):e}function nk(e){return e.split(\"-\")[0]}function nA(e){return e.split(\"-\")[1]}function nO(e){return\"x\"===e?\"y\":\"x\"}function nC(e){return\"y\"===e?\"height\":\"width\"}let nS=new Set([\"top\",\"bottom\"]);function nE(e){return nS.has(nk(e))?\"y\":\"x\"}function n_(e){return e.replace(/start|end/g,e=>nw[e])}let nP=[\"left\",\"right\"],nz=[\"right\",\"left\"],nL=[\"top\",\"bottom\"],nT=[\"bottom\",\"top\"];function nR(e){return e.replace(/left|right|bottom|top/g,e=>nx[e])}function nN(e){return\"number\"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function nD(e){let{x:n,y:t,width:r,height:o}=e;return{width:r,height:o,top:t,left:n,right:n+r,bottom:t+o,x:n,y:t}}function nB(e,n,t){return Math.floor(e/n)!==t}function nM(e,n){return n<0||n>=e.current.length}function nI(e,n){return nF(e,{disabledIndices:n})}function nH(e,n){return nF(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:n})}function nF(e,{startingIndex:n=-1,decrement:t=!1,disabledIndices:r,amount:o=1}={}){let a=n;do a+=t?-o:o;while(a>=0&&a<=e.current.length-1&&nU(e,a,r));return a}function nU(e,n,t){if(\"function\"==typeof t)return t(n);if(t)return t.includes(n);let r=e.current[n];return null==r||r.hasAttribute(\"disabled\")||\"true\"===r.getAttribute(\"aria-disabled\")}let nV=0;function nq(e,n={}){let{preventScroll:t=!1,cancelPrevious:r=!0,sync:o=!1}=n;r&&cancelAnimationFrame(nV);let a=()=>e?.focus({preventScroll:t});o?a():nV=requestAnimationFrame(a)}function nW(e,n,t){switch(e){case\"vertical\":return n;case\"horizontal\":return t;default:return n||t}}function n$(e,n){return nW(n,e===eW||e===e$,e===eV||e===eq)}function nZ(e,n,t){return nW(n,e===e$,t?e===eV:e===eq)||\"Enter\"===e||\" \"===e||\"\"===e}function nY(e,n,t){return nW(n,t?e===eV:e===eq,e===e$)}function nX(e,n,t,r){return\"both\"===n||\"horizontal\"===n&&r&&r>1?\"Escape\"===e:nW(n,t?e===eq:e===eV,e===eW)}function nK(e=[]){let n=e.map(e=>e?.reference),t=e.map(e=>e?.floating),r=e.map(e=>e?.item),o=C.useCallback(n=>nQ(n,e,\"reference\"),n),a=C.useCallback(n=>nQ(n,e,\"floating\"),t),i=C.useCallback(n=>nQ(n,e,\"item\"),r);return C.useMemo(()=>({getReferenceProps:o,getFloatingProps:a,getItemProps:i}),[o,a,i])}function nQ(e,n,t){let r=new Map,o=\"item\"===t,a={};for(let n in\"floating\"===t&&(a.tabIndex=-1,a[eH]=\"\"),e)o&&e&&(n===eF||n===eU)||(a[n]=e[n]);for(let i=0;ir.get(o)?.map(n=>n(...e)).find(e=>void 0!==e))):e[o]=a)}}let nJ=C.createContext(void 0);function n0(e){let n=C.useContext(nJ);if(void 0===n&&!e)throw Error(\"Base UI: MenuRootContext is missing. Menu parts must be placed within .\");return n}let n1=C.createContext(null);function n2(e,n=!1,t=!1){let[r,o]=C.useState(e&&n?\"idle\":void 0),[a,i]=C.useState(e);return e&&!a&&(i(!0),o(\"starting\")),e||!a||\"ending\"===r||t||o(\"ending\"),e||a||\"ending\"!==r||o(void 0),F(()=>{if(!e&&a&&\"ending\"!==r&&t){let e=nl.request(()=>{o(\"ending\")});return()=>{nl.cancel(e)}}},[e,a,r,t]),F(()=>{if(!e||n)return;let t=nl.request(()=>{E.flushSync(()=>{o(void 0)})});return()=>{nl.cancel(t)}},[n,e]),F(()=>{if(!e||!n)return;e&&a&&\"idle\"!==r&&o(\"starting\");let t=nl.request(()=>{o(\"idle\")});return()=>{nl.cancel(t)}},[n,e,a,o,r]),C.useMemo(()=>({mounted:a,setMounted:i,transitionStatus:r}),[a,r])}function n4({controlled:e,default:n,name:t,state:r=\"value\"}){let{current:o}=C.useRef(void 0!==e),[a,i]=C.useState(n),l=C.useCallback(e=>{o||i(e)},[]);return[o?e:a,l]}function n5(e){let{enabled:n=!0,open:t,ref:r,onComplete:o}=e,a=eA(t),i=T(o),l=function(e,n=!1){let t=ns(),r=ek();return T((o,a=null)=>{t.cancel(),r.clear();let i=e.current;i&&(\"function\"!=typeof i.getAnimations||globalThis.BASE_UI_ANIMATIONS_DISABLED?o():t.request(()=>{function e(){i&&Promise.allSettled(i.getAnimations().map(e=>e.finished)).then(()=>{null!=a&&a.aborted||E.flushSync(o)})}n?r.start(0,e):e()}))})}(r,t);C.useEffect(()=>{n&&l(()=>{t===a.current&&i()})},[n,t,i,l,a])}let n3=C.createContext(void 0);function n6(e=!0){let n=C.useContext(n3);if(void 0===n&&!e)throw Error(\"Base UI: DirectionContext is missing.\");return n?.direction??\"ltr\"}let n9=()=>{},n8={},n7={},te=\"\";class tn{lockCount=0;restore=null;timeoutLock=ej.create();timeoutUnlock=ej.create();acquire(e){return this.lockCount+=1,1===this.lockCount&&null===this.restore&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}release=()=>{this.lockCount-=1,0===this.lockCount&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{0===this.lockCount&&this.restore&&(this.restore?.(),this.restore=null)};lock(e){if(0===this.lockCount||null!==this.restore)return;let n=eQ(e).documentElement,t=Q(n).getComputedStyle(n).overflowY;if(\"hidden\"===t||\"clip\"===t){this.restore=n9;return}let r=ez||!function(e){if(\"undefined\"==typeof document)return!1;let n=eQ(e);return Q(n).innerWidth-n.documentElement.clientWidth>0}(e);this.restore=r?function(e){let n=eQ(e).documentElement,t=n.style.overflow;return n.style.overflow=\"hidden\",()=>{n.style.overflow=t}}(e):function(e){let n=eQ(e),t=n.documentElement,r=n.body,o=Q(t),a=0,i=0,l=nl.create();if(eP&&(o.visualViewport?.scale??1)!==1)return()=>{};function s(){let e=o.getComputedStyle(t),n=o.getComputedStyle(r);a=t.scrollTop,i=t.scrollLeft,n8={scrollbarGutter:t.style.scrollbarGutter,overflowY:t.style.overflowY,overflowX:t.style.overflowX},te=t.style.scrollBehavior,n7={position:r.style.position,height:r.style.height,width:r.style.width,boxSizing:r.style.boxSizing,overflowY:r.style.overflowY,overflowX:r.style.overflowX,scrollBehavior:r.style.scrollBehavior};let l=\"undefined\"!=typeof CSS&&CSS.supports?.(\"scrollbar-gutter\",\"stable\"),s=t.scrollHeight>t.clientHeight,c=t.scrollWidth>t.clientWidth,u=\"scroll\"===e.overflowY||\"scroll\"===n.overflowY,d=\"scroll\"===e.overflowX||\"scroll\"===n.overflowX,f=Math.max(0,o.innerWidth-t.clientWidth),p=Math.max(0,o.innerHeight-t.clientHeight),h=parseFloat(n.marginTop)+parseFloat(n.marginBottom),g=parseFloat(n.marginLeft)+parseFloat(n.marginRight);Object.assign(t.style,{scrollbarGutter:\"stable\",overflowY:!l&&(s||u)?\"scroll\":\"hidden\",overflowX:!l&&(c||d)?\"scroll\":\"hidden\"}),Object.assign(r.style,{position:\"relative\",height:h||p?`calc(100dvh - ${h+p}px)`:\"100dvh\",width:g||f?`calc(100vw - ${g+f}px)`:\"100vw\",boxSizing:\"border-box\",overflow:\"hidden\",scrollBehavior:\"unset\"}),r.scrollTop=a,r.scrollLeft=i,t.setAttribute(\"data-base-ui-scroll-locked\",\"\"),t.style.scrollBehavior=\"unset\"}function c(){Object.assign(t.style,n8),Object.assign(r.style,n7),t.scrollTop=a,t.scrollLeft=i,t.removeAttribute(\"data-base-ui-scroll-locked\"),t.style.scrollBehavior=te}function u(){c(),l.request(s)}return s(),o.addEventListener(\"resize\",u),()=>{l.cancel(),c(),o.removeEventListener(\"resize\",u)}}(e)}}let tt=new tn;function tr(e){if(e)return({\"focus-out\":\"focus-out\",\"escape-key\":\"escape-key\",\"outside-press\":\"outside-press\",\"list-navigation\":\"list-navigation\",click:\"trigger-press\",hover:\"trigger-hover\",focus:\"trigger-focus\",\"reference-press\":\"trigger-press\",\"safe-polygon\":\"trigger-hover\",\"ancestor-scroll\":void 0})[e]}let to=C.createContext(void 0);function ta(e=!0){let n=C.useContext(to);if(void 0===n&&!e)throw Error(\"Base UI: ContextMenuRootContext is missing. ContextMenu parts must be placed within .\");return n}let ti=C.createContext(!1);function tl(e,n){return e&&!n?e:!e&&n?n:e||n?{...e,...n}:void 0}let ts={};function tc(e,n,t,r,o){let a={...tf(e,ts)};return n&&(a=tu(a,n)),t&&(a=tu(a,t)),r&&(a=tu(a,r)),o&&(a=tu(a,o)),a}function tu(e,n){return td(n)?n(e):function(e,n){if(!n)return e;for(let t in n){let r=n[t];switch(t){case\"style\":e[t]=tl(e.style,r);break;case\"className\":e[t]=th(e.className,r);break;default:!function(e,n){let t=e.charCodeAt(0),r=e.charCodeAt(1),o=e.charCodeAt(2);return 111===t&&110===r&&o>=65&&o<=90&&(\"function\"==typeof n||void 0===n)}(t,r)?e[t]=r:e[t]=function(e,n){return n?e?t=>{var r;if(null!=(r=t)&&\"object\"==typeof r&&\"nativeEvent\"in r){tp(t);let r=n(t);return t.baseUIHandlerPrevented||e?.(t),r}let o=n(t);return e?.(t),o}:n:e}(e[t],r)}}return e}(e,n)}function td(e){return\"function\"==typeof e}function tf(e,n){return td(e)?e(n):e??ts}function tp(e){return e.preventBaseUIHandler=()=>{e.baseUIHandlerPrevented=!0},e}function th(e,n){return n?e?n+\" \"+e:n:e}let tg=[],tm={current:!1},tv=function(e){let n,t,{children:r,open:o,onOpenChange:a,onOpenChangeComplete:i,defaultOpen:s=!1,disabled:c=!1,modal:u,loop:d=!0,orientation:f=\"vertical\",actionsRef:p,openOnHover:h,delay:g=100,closeDelay:m=0,closeParentOnEsc:v=!0}=e,[b,y]=C.useState(null),[x,w]=C.useState(null),[j,k]=C.useState(),[A,O]=C.useState(!0),[S,_]=C.useState(null),[P,z]=C.useState(null),[L,R]=C.useState(!0),[N,D]=C.useState(!1),B=C.useRef(null),M=C.useRef(null),I=C.useRef(null),U=ek(),V=ta(!0),$=C.useContext(ti);{let e=n0(!0),t=function(e){let n=C.useContext(n1);if(null===n&&!e)throw Error(\"Base UI: MenubarContext is missing. Menubar parts must be placed within .\");return n}(!0);n=$&&e?{type:\"menu\",context:e}:t?{type:\"menubar\",context:t}:V?{type:\"context-menu\",context:V}:{type:void 0}}let X=H();void 0!==n.type&&(X=n.context.rootId);let K=(void 0===n.type||\"context-menu\"===n.type)&&(u??!0),Q=\"menu\"===n.type?n.context.allowMouseEnter:N,G=\"menu\"===n.type?n.context.setAllowMouseEnter:D,J=h??(\"menu\"===n.type||\"menubar\"===n.type&&n.context.hasSubmenuOpen),[ee,et]=n4({controlled:o,default:s,name:\"MenuRoot\",state:\"open\"}),er=C.useRef(\"context-menu\"!==n.type),eo=ek();C.useEffect(()=>{if(ee||(B.current=null),\"context-menu\"===n.type){if(!ee){eo.clear(),er.current=!1;return}eo.start(500,()=>{er.current=!0})}},[eo,ee,n.type]);let ea=C.useCallback(e=>{I.current=e,w(e)},[]),{mounted:ei,setMounted:el,transitionStatus:es}=n2(ee),{enabled:ec=!0,mounted:eu,open:ed,referenceElement:ef=null}={enabled:ee&&K&&\"trigger-hover\"!==P,mounted:ei,open:ee,referenceElement:x};F(()=>{if(eP&&eu&&!ed){let e=eQ(ef),n=e.body.style.userSelect,t=e.body.style.webkitUserSelect;return e.body.style.userSelect=\"none\",e.body.style.webkitUserSelect=\"none\",()=>{e.body.style.userSelect=n,e.body.style.webkitUserSelect=t}}},[eu,ed,ef]),F(()=>{if(ec)return tt.acquire(ef)},[ec,ef]),ee||A||O(!0);let ep=T(()=>{el(!1),R(!0),G(!1),i?.(!1)});n5({enabled:!p,open:ee,ref:M,onComplete(){ee||ep()}});let eh=C.useRef(!0),eg=ek(),em=T((e,t,r)=>{if(ee===e||!1===e&&t?.type===\"click\"&&\"touch\"===t.pointerType&&!eh.current)return;e&&\"trigger-focus\"===r?(eh.current=!1,eg.start(300,()=>{eh.current=!0})):(eh.current=!0,eg.clear());let o=(\"trigger-press\"===r||\"item-press\"===r)&&0===t.detail&&t?.isTrusted,i=!e&&(\"escape-key\"===r||null==r);function l(){a?.(e,t,r),et(e),z(r??null),B.current=t??null}\"trigger-hover\"===r?(R(!0),U.start(500,()=>{R(!1)}),E.flushSync(l)):l(),\"menubar\"===n.type&&(\"trigger-focus\"===r||\"focus-out\"===r||\"trigger-hover\"===r||\"list-navigation\"===r||\"sibling-open\"===r)?k(\"group\"):o||i?k(o?\"click\":\"dismiss\"):k(void 0)});C.useImperativeHandle(p,()=>({unmount:ep}),[ep]),\"context-menu\"===n.type&&(t=n.context),C.useImperativeHandle(t?.positionerRef,()=>x,[x]),C.useImperativeHandle(t?.actionsRef,()=>({setOpen:em}),[em]),C.useEffect(()=>{ee||U.clear()},[U,ee]);let ev=Y({elements:{reference:b,floating:x},open:ee,onOpenChange(e,n,t){em(e,n,tr(t))}}),eb=e3(ev,{enabled:A&&J&&!c&&\"context-menu\"!==n.type&&(\"menubar\"!==n.type||n.context.hasSubmenuOpen&&!ee),handleClose:e7({blockPointerEvents:!0}),mouseOnly:!0,move:\"menu\"===n.type,restMs:void 0===n.type||\"menu\"===n.type&&Q?g:void 0,delay:\"menu\"===n.type?{open:Q?g:1e10,close:m}:{close:m}}),ey=nn(ev,{enabled:!c&&!ee&&\"menubar\"===n.type&&n.context.hasSubmenuOpen&&!V}),ex=function(e,n={}){let{open:t,onOpenChange:r,dataRef:o}=e,{enabled:a=!0,event:i=\"click\",toggle:l=!0,ignoreMouse:s=!1,stickIfOpen:c=!0}=n,u=C.useRef(void 0),d=ns(),f=C.useMemo(()=>({onPointerDown(e){u.current=e.pointerType},onMouseDown(e){let n=u.current,a=e.nativeEvent;if(0!==e.button||\"click\"===i||eI(n,!0)&&s)return;let f=o.current.openEvent,p=f?.type,h=!(t&&l&&(!f||!c||\"click\"===p||\"mousedown\"===p));d.request(()=>{r(h,a,\"click\")})},onClick(e){let n=u.current;if(\"mousedown\"===i&&n){u.current=void 0;return}if(eI(n,!0)&&s)return;let a=o.current.openEvent,d=a?.type;r(!(t&&l&&(!a||!c||\"click\"===d||\"mousedown\"===d||\"keydown\"===d||\"keyup\"===d)),e.nativeEvent,\"click\")},onKeyDown(){u.current=void 0}}),[o,i,s,r,t,c,l,d]);return C.useMemo(()=>a?{reference:f}:nr,[a,f])}(ev,{enabled:!c&&\"context-menu\"!==n.type,event:ee&&\"menubar\"===n.type?\"click\":\"mousedown\",toggle:!J||\"menu\"!==n.type,ignoreMouse:J&&\"menu\"===n.type,stickIfOpen:void 0===n.type&&L}),ew=nf(ev,{enabled:!c,bubbles:v&&\"menu\"===n.type,outsidePressEvent:\"mousedown\",outsidePress:()=>\"context-menu\"!==n.type||B.current?.type===\"contextmenu\"||er.current}),ej=function(e,n={}){let{open:t,elements:r,floatingId:o}=e,{enabled:a=!0,role:i=\"dialog\"}=n,l=H(),s=r.domReference?.id||l,c=C.useMemo(()=>e0(r.floating)?.id||o,[r.floating,o]),u=np.get(i)??i,d=null!=q(),f=C.useMemo(()=>\"tooltip\"===u||\"label\"===i?{[`aria-${\"label\"===i?\"labelledby\":\"describedby\"}`]:t?c:void 0}:{\"aria-expanded\":t?\"true\":\"false\",\"aria-haspopup\":\"alertdialog\"===u?\"dialog\":u,\"aria-controls\":t?c:void 0,...\"listbox\"===u&&{role:\"combobox\"},...\"menu\"===u&&{id:s},...\"menu\"===u&&d&&{role:\"menuitem\"},...\"select\"===i&&{\"aria-autocomplete\":\"none\"},...\"combobox\"===i&&{\"aria-autocomplete\":\"list\"}},[u,c,d,t,s,i]),p=C.useMemo(()=>{let e={id:c,...u&&{role:u}};return\"tooltip\"===u||\"label\"===i?e:{...e,...\"menu\"===u&&{\"aria-labelledby\":s}}},[u,c,s,i]),h=C.useCallback(({active:e,selected:n})=>{let t={role:\"option\",...e&&{id:`${c}-fui-option`}};switch(i){case\"select\":return{...t,\"aria-selected\":e&&n};case\"combobox\":return{...t,\"aria-selected\":n}}return{}},[c,i]);return C.useMemo(()=>a?{reference:f,floating:p,item:h}:{},[a,f,p,h])}(ev,{role:\"menu\"}),eO=C.useRef([]),eC=C.useRef([]),eS=n6(),eE=function(e,n){let{open:t,onOpenChange:r,elements:o,floatingId:a}=e,{listRef:i,activeIndex:l,onNavigate:s=()=>{},enabled:c=!0,selectedIndex:u=null,allowEscape:d=!1,loop:f=!1,nested:p=!1,rtl:h=!1,virtual:g=!1,focusItemOnOpen:m=\"auto\",focusItemOnHover:v=!0,openOnArrowKeyDown:b=!0,disabledIndices:y,orientation:x=\"vertical\",parentOrientation:w,cols:j=1,scrollItemIntoView:k=!0,virtualItemRef:A,itemSizes:O,dense:S=!1}=n,E=eA(e0(o.floating)),_=q(),P=W();F(()=>{e.dataRef.current.orientation=x},[e,x]);let z=eJ(o.domReference),L=C.useRef(m),R=C.useRef(u??-1),N=C.useRef(null),D=C.useRef(!0),B=T(()=>{s(-1===R.current?null:R.current)}),M=C.useRef(B),I=C.useRef(!!o.floating),H=C.useRef(t),U=C.useRef(!1),V=C.useRef(!1),$=eA(y),Z=eA(t),Y=eA(k),X=eA(u),[K,Q]=C.useState(),[G,J]=C.useState(),ee=T(()=>{function e(e){g?(e.id?.endsWith(\"-fui-option\")&&(e.id=`${a}-${Math.random().toString(16).slice(2,10)}`),Q(e.id),P?.events.emit(\"virtualfocus\",e),A&&(A.current=e)):nq(e,{sync:U.current,preventScroll:!0})}let n=i.current[R.current],t=V.current;n&&e(n),(U.current?e=>e():requestAnimationFrame)(()=>{let r=i.current[R.current]||n;if(!r)return;n||e(r);let o=Y.current;o&&er&&(t||!D.current)&&r.scrollIntoView?.(\"boolean\"==typeof o?{block:\"nearest\",inline:\"nearest\"}:o)})});F(()=>{c&&(t&&o.floating?L.current&&null!=u&&(V.current=!0,R.current=u,B()):I.current&&(R.current=-1,M.current()))},[c,t,o.floating,u,B]),F(()=>{if(c&&t&&o.floating)if(null==l){if(U.current=!1,null!=X.current)return;if(I.current&&(R.current=-1,ee()),(!H.current||!I.current)&&L.current&&(null!=N.current||!0===L.current&&null==N.current)){let e=0,n=()=>{null==i.current[0]?(e<2&&(e?requestAnimationFrame:queueMicrotask)(n),e+=1):(R.current=null==N.current||nZ(N.current,x,h)||p?nI(i,$.current):nH(i,$.current),N.current=null,B())};n()}}else nM(i,l)||(R.current=l,ee(),V.current=!1)},[c,t,o.floating,l,X,p,i,x,h,B,ee,$]),F(()=>{if(!c||o.floating||!P||g||!I.current)return;let e=P.nodesRef.current,n=e.find(e=>e.id===_)?.context?.elements.floating,t=eZ(eQ(o.floating)),r=e.some(e=>e.context&&eY(e.context.elements.floating,t));n&&!r&&D.current&&n.focus({preventScroll:!0})},[c,o.floating,P,_,g]),F(()=>{if(c&&P&&g&&!_)return P.events.on(\"virtualfocus\",e),()=>{P.events.off(\"virtualfocus\",e)};function e(e){J(e.id),A&&(A.current=e)}},[c,P,g,_,A]),F(()=>{M.current=B,H.current=t,I.current=!!o.floating}),F(()=>{t||(N.current=null,L.current=m)},[t,m]);let et=null!=l,er=C.useMemo(()=>{function e(e){if(!Z.current)return;let n=i.current.indexOf(e);-1!==n&&R.current!==n&&(R.current=n,B())}return{onFocus({currentTarget:n}){U.current=!0,e(n)},onClick:({currentTarget:e})=>e.focus({preventScroll:!0}),onMouseMove({currentTarget:n}){U.current=!0,V.current=!1,v&&e(n)},onPointerLeave({pointerType:e}){D.current&&\"touch\"!==e&&(U.current=!0,v&&(R.current=-1,B(),g||E.current?.focus({preventScroll:!0})))}}},[Z,E,v,i,B,g]),eo=C.useCallback(()=>w??P?.nodesRef.current.find(e=>e.id===_)?.context?.dataRef?.current.orientation,[_,P,w]),ea=T(e=>{if(D.current=!1,U.current=!0,229===e.which||!Z.current&&e.currentTarget===E.current)return;if(p&&nX(e.key,x,h,j)){n$(e.key,eo())||eD(e),r(!1,e.nativeEvent,\"list-navigation\"),en(o.domReference)&&(g?P?.events.emit(\"virtualfocus\",o.domReference):o.domReference.focus());return}let n=R.current,a=nI(i,y),l=nH(i,y);if(z||(\"Home\"===e.key&&(eD(e),R.current=a,B()),\"End\"===e.key&&(eD(e),R.current=l,B())),j>1){var s;let n=O||Array.from({length:i.current.length},()=>({width:1,height:1})),t=function(e,n,t){let r=[],o=0;return e.forEach(({width:e,height:a},i)=>{let l=!1;for(t&&(o=0);!l;){let t=[];for(let r=0;rnull==r[e])?(t.forEach(e=>{r[e]=i}),l=!0):o+=1}}),[...r]}(n,j,S),r=t.findIndex(e=>null!=e&&!nU(i,e,y)),o=t.reduce((e,n,t)=>null==n||nU(i,n,y)?e:t,-1),c=t[function(e,{event:n,orientation:t,loop:r,rtl:o,cols:a,disabledIndices:i,minIndex:l,maxIndex:s,prevIndex:c,stopEvent:u=!1}){let d=c;if(n.key===eW){if(u&&eD(n),-1===c)d=s;else if(d=nF(e,{startingIndex:d,amount:a,decrement:!0,disabledIndices:i}),r&&(c-ae?t:t-a}nM(e,d)&&(d=c)}if(n.key===e$&&(u&&eD(n),-1===c?d=l:(d=nF(e,{startingIndex:c,amount:a,disabledIndices:i}),r&&c+a>s&&(d=nF(e,{startingIndex:c%a-a,amount:a,disabledIndices:i}))),nM(e,d)&&(d=c)),\"both\"===t){let t=nb(c/a);n.key===(o?eV:eq)&&(u&&eD(n),c%a!=a-1?(d=nF(e,{startingIndex:c,disabledIndices:i}),r&&nB(d,a,t)&&(d=nF(e,{startingIndex:c-c%a-1,disabledIndices:i}))):r&&(d=nF(e,{startingIndex:c-c%a-1,disabledIndices:i})),nB(d,a,t)&&(d=c)),n.key===(o?eq:eV)&&(u&&eD(n),c%a!=0?(d=nF(e,{startingIndex:c,decrement:!0,disabledIndices:i}),r&&nB(d,a,t)&&(d=nF(e,{startingIndex:c+(a-c%a),decrement:!0,disabledIndices:i}))):r&&(d=nF(e,{startingIndex:c+(a-c%a),decrement:!0,disabledIndices:i})),nB(d,a,t)&&(d=c));let l=nb(s/a)===t;nM(e,d)&&(d=r&&l?n.key===(o?eq:eV)?s:nF(e,{startingIndex:c-c%a-1,disabledIndices:i}):c)}return d}({current:t.map(e=>null!=e?i.current[e]:null)},{event:e,orientation:x,loop:f,rtl:h,cols:j,disabledIndices:(s=[...(\"function\"!=typeof y?y:null)||i.current.map((e,n)=>nU(i,n,y)?n:void 0),void 0],t.flatMap((e,n)=>s.includes(e)?[n]:[])),minIndex:r,maxIndex:o,prevIndex:function(e,n,t,r,o){if(-1===e)return -1;let a=t.indexOf(e),i=n[e];switch(o){case\"tl\":return a;case\"tr\":if(!i)return a;return a+i.width-1;case\"bl\":if(!i)return a;return a+(i.height-1)*r;case\"br\":return t.lastIndexOf(e);default:return -1}}(R.current>l?a:R.current,n,t,j,e.key===e$?\"bl\":e.key===(h?eV:eq)?\"tr\":\"tl\"),stopEvent:!0})];if(null!=c&&(R.current=c,B()),\"both\"===x)return}if(n$(e.key,x)){if(eD(e),t&&!g&&eZ(e.currentTarget.ownerDocument)===e.currentTarget){R.current=nZ(e.key,x,h)?a:l,B();return}nZ(e.key,x,h)?f?R.current=n>=l?d&&n!==i.current.length?-1:a:nF(i,{startingIndex:n,disabledIndices:y}):R.current=Math.min(l,nF(i,{startingIndex:n,disabledIndices:y})):f?R.current=n<=a?d&&-1!==n?i.current.length:l:nF(i,{startingIndex:n,decrement:!0,disabledIndices:y}):R.current=Math.max(a,nF(i,{startingIndex:n,decrement:!0,disabledIndices:y})),nM(i,R.current)&&(R.current=-1),B()}}),ei=C.useMemo(()=>g&&t&&et&&{\"aria-activedescendant\":G||K},[g,t,et,G,K]),el=C.useMemo(()=>({\"aria-orientation\":\"both\"===x?void 0:x,...!z?ei:{},onKeyDown:ea,onPointerMove(){D.current=!0}}),[ei,ea,x,z]),es=C.useMemo(()=>{function e(e){\"auto\"===m&&eB(e.nativeEvent)&&(L.current=!0)}function n(e){L.current=m,\"auto\"===m&&eM(e.nativeEvent)&&(L.current=!0)}return{...ei,onKeyDown(e){D.current=!1;let n=e.key.startsWith(\"Arrow\"),o=[\"Home\",\"End\"].includes(e.key),a=nY(e.key,x,h),l=nX(e.key,x,h,j),s=nY(e.key,eo(),h),c=n$(e.key,x),d=(p?s:c)||\"Enter\"===e.key||\"\"===e.key.trim();if(g&&t){var f,m;let t,r,s=P?.nodesRef.current.find(e=>null==e.parentId),u=P&&s?(f=P.nodesRef.current,m=s.id,r=-1,!function e(n,o){o>r&&(t=n,r=o),e6(f,n).forEach(n=>{e(n.id,o+1)})}(m,0),f.find(e=>e.id===t)):null;if((n||o)&&u&&A){let n=new KeyboardEvent(\"keydown\",{key:e.key,bubbles:!0});if(a||l){let t=u.context?.elements.domReference===e.currentTarget,r=l&&!t?u.context?.elements.domReference:a?i.current.find(e=>e?.id===K):null;r&&(eD(e),r.dispatchEvent(n),J(void 0))}if((c||o)&&u.context&&u.context.open&&u.parentId&&e.currentTarget!==u.context.elements.domReference){eD(e),u.context.elements.domReference?.dispatchEvent(n);return}}return ea(e)}if(t||b||!n){if(d){let n=n$(e.key,eo());N.current=p&&n?null:e.key}if(p){s&&(eD(e),t?(R.current=nI(i,$.current),B()):r(!0,e.nativeEvent,\"list-navigation\"));return}c&&(null!=u&&(R.current=u),eD(e),!t&&b?r(!0,e.nativeEvent,\"list-navigation\"):ea(e),t&&B())}},onFocus(){t&&!g&&(R.current=-1,B())},onPointerDown:n,onPointerEnter:n,onMouseDown:e,onClick:e}},[K,ei,j,ea,$,m,i,p,B,r,t,b,x,eo,h,u,P,g,A]);return C.useMemo(()=>c?{reference:es,floating:el,item:er}:{},[c,es,el,er])}(ev,{enabled:!c,listRef:eO,activeIndex:S,nested:void 0!==n.type,loop:d,orientation:f,parentOrientation:\"menubar\"===n.type?n.context.orientation:void 0,rtl:\"rtl\"===eS,disabledIndices:tg,onNavigate:_,openOnArrowKeyDown:\"context-menu\"!==n.type}),e_=C.useRef(!1),ez=function(e,n){let{open:t,dataRef:r}=e,{listRef:o,activeIndex:a,onMatch:i,onTypingChange:l,enabled:s=!0,findMatch:c=null,resetMs:u=750,ignoreKeys:d=[],selectedIndex:f=null}=n,p=ek(),h=C.useRef(\"\"),g=C.useRef(f??a??-1),m=C.useRef(null),v=T(i),b=T(l),y=eA(c),x=eA(d);F(()=>{t&&(p.clear(),m.current=null,h.current=\"\")},[t,p]),F(()=>{t&&\"\"===h.current&&(g.current=f??a??-1)},[t,f,a]);let w=T(e=>{e?r.current.typing||(r.current.typing=e,b(e)):r.current.typing&&(r.current.typing=e,b(e))}),j=T(e=>{function n(e,n,t){let r=y.current?y.current(n,t):n.find(e=>e?.toLocaleLowerCase().indexOf(t.toLocaleLowerCase())===0);return r?e.indexOf(r):-1}let r=o.current;if(h.current.length>0&&\" \"!==h.current[0]&&(-1===n(r,r,h.current)?w(!1):\" \"===e.key&&eD(e)),null==r||x.current.includes(e.key)||1!==e.key.length||e.ctrlKey||e.metaKey||e.altKey)return;t&&\" \"!==e.key&&(eD(e),w(!0)),r.every(e=>!e||e[0]?.toLocaleLowerCase()!==e[1]?.toLocaleLowerCase())&&h.current===e.key&&(h.current=\"\",g.current=m.current),h.current+=e.key,p.start(u,()=>{h.current=\"\",g.current=m.current,w(!1)});let a=g.current,i=n(r,[...r.slice((a||0)+1),...r.slice(0,(a||0)+1)],h.current);-1!==i?(v(i),m.current=i):\" \"!==e.key&&(h.current=\"\",w(!1))}),k=C.useMemo(()=>({onKeyDown:j}),[j]),A=C.useMemo(()=>({onKeyDown:j,onKeyUp(e){\" \"===e.key&&w(!1)}}),[j,w]);return C.useMemo(()=>s?{reference:k,floating:A}:{},[s,k,A])}(ev,{listRef:eC,activeIndex:S,resetMs:500,onMatch:e=>{ee&&e!==S&&_(e)},onTypingChange:C.useCallback(e=>{e_.current=e},[])}),{getReferenceProps:eL,getFloatingProps:eT,getItemProps:eR}=nK([eb,ex,ew,ey,ej,eE,ez]),eN=function(e){let{enabled:n=!0,mouseDownAction:t,open:r}=e,o=C.useRef(!1);return C.useMemo(()=>n?{onMouseDown:e=>{(\"open\"===t&&!r||\"close\"===t&&r)&&(o.current=!0,eQ(e.currentTarget).addEventListener(\"click\",()=>{o.current=!1},{once:!0}))},onClick:e=>{o.current&&(o.current=!1,e.preventBaseUIHandler())}}:nr,[n,t,r])}({open:ee,enabled:\"menubar\"===n.type,mouseDownAction:\"open\"}),eH=C.useMemo(()=>{let e=tc(eL(),{onMouseEnter(){O(!0)},onMouseMove(){G(!0)}},eN);return delete e.role,e},[eL,eN,G]),eF=C.useMemo(()=>eT({onMouseEnter(){J&&\"menu\"!==n.type||O(!1)},onMouseMove(){G(!0)},onClick(){J&&O(!1)}}),[eT,J,n.type,G]),eU=C.useMemo(()=>eR(),[eR]),eX=C.useMemo(()=>({activeIndex:S,setActiveIndex:_,allowMouseUpTriggerRef:n.type?n.context.allowMouseUpTriggerRef:tm,floatingRootContext:ev,itemProps:eU,popupProps:eF,triggerProps:eH,itemDomElements:eO,itemLabels:eC,mounted:ei,open:ee,popupRef:M,positionerRef:I,setOpen:em,setPositionerElement:ea,triggerElement:b,setTriggerElement:y,transitionStatus:es,lastOpenChangeReason:P,instantType:j,onOpenChangeComplete:i,setHoverEnabled:O,typingRef:e_,modal:K,disabled:c,parent:n,rootId:X,allowMouseEnter:Q,setAllowMouseEnter:G}),[S,ev,eU,eF,eH,eO,eC,ei,ee,I,em,es,b,ea,P,j,i,K,c,n,X,Q,G]),eK=(0,l.jsx)(nJ.Provider,{value:eX,children:r});return void 0===n.type||\"context-menu\"===n.type?(0,l.jsx)(Z,{children:eK}):eK};function tb(e,n,t,r){var o,a,i,l,s;let c=P(ty).current;return o=c,a=e,i=n,l=t,s=r,(o.refs[0]!==a||o.refs[1]!==i||o.refs[2]!==l||o.refs[3]!==s)&&tx(c,[e,n,t,r]),c.callback}function ty(){return{callback:null,cleanup:null,refs:[]}}function tx(e,n){if(e.refs=n,n.every(e=>null==e)){e.callback=null;return}e.callback=t=>{if(e.cleanup&&(e.cleanup(),e.cleanup=null),null!=t){let r=Array(n.length).fill(null);for(let e=0;e{for(let e=0;eu?function(e,n){let t={};for(let r in e){let o=e[r];if(n?.hasOwnProperty(r)){let e=n[r](o);null!=e&&Object.assign(t,e);continue}!0===o?t[`data-${r.toLowerCase()}`]=\"\":o&&(t[`data-${r.toLowerCase()}`]=o.toString())}return t}(a,c):nr,[a,c,u]));let f=u?tl(t,Array.isArray(l)?function(e){if(0===e.length)return ts;if(1===e.length)return tf(e[0],ts);let n={...tf(e[0],ts)};for(let t=1;te!==t[n]))&&tx(r,e),r.callback}([f.ref,tk(o),...i]):f.ref=tb(f.ref,tk(o),i):tb(null,null)),u)?(void 0!==d&&(f.className=th(f.className,d)),f):nr}(n,t);return!1===t.enabled?null:function(e,n,t,r){if(n){if(\"function\"==typeof n)return n(t,r);let e=tc(t,n.props);return e.ref=t.ref,C.cloneElement(n,e)}if(e&&\"string\"==typeof e){var o,a;return o=e,a=t,\"button\"===o?(0,l.jsx)(\"button\",{type:\"button\",...a}):\"img\"===o?(0,l.jsx)(\"img\",{alt:\"\",...a}):C.createElement(o,a)}throw Error(\"Base UI: Render element or function are not defined.\")}(e,r,o,t.state??nr)}function tk(e){return e&&\"function\"!=typeof e?tw>=19?e.props.ref:e.ref:null}let tA=C.createContext(void 0);function tO(e=!1){let n=C.useContext(tA);if(void 0===n&&!e)throw Error(\"Base UI: CompositeRootContext is missing. Composite parts must be placed within .\");return n}let tC=C.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}}),tS=((r={})[r.None=0]=\"None\",r[r.GuessFromOrder=1]=\"GuessFromOrder\",r);function tE(e={}){let{label:n,metadata:t,textRef:r,indexGuessBehavior:o}=e,{register:a,unregister:i,subscribeMapChange:l,elementsRef:s,labelsRef:c,nextIndexRef:u}=C.useContext(tC),d=C.useRef(-1),[f,p]=C.useState(o===tS.GuessFromOrder?()=>{if(-1===d.current){let e=u.current;u.current+=1,d.current=e}return d.current}:-1),h=C.useRef(null),g=C.useCallback(e=>{if(h.current=e,-1!==f&&null!==e&&(s.current[f]=e,c)){let t=void 0!==n;c.current[f]=t?n:r?.current?.textContent??e.textContent}},[f,s,c,n,r]);return F(()=>{let e=h.current;if(e)return a(e,t),()=>{i(e)}},[a,i,t]),F(()=>l(e=>{let n=h.current?e.get(h.current)?.index:null;null!=n&&p(n)}),[l,p]),C.useMemo(()=>({ref:g,index:f}),[f,g])}function t_(e){let{render:n,className:t,itemRef:r=null,metadata:o,...a}=e,{props:i,ref:l}=function(e={}){let{highlightedIndex:n,onHighlightedIndexChange:t,highlightItemOnHover:r}=tO(),{ref:o,index:a}=tE(e),i=n===a,l=C.useRef(null),s=tb(o,l),c=C.useMemo(()=>({tabIndex:i?0:-1,onFocus(){t(a)},onMouseMove(){let e=l.current;if(!r||!e)return;let n=e.hasAttribute(\"disabled\")||\"true\"===e.ariaDisabled;i||n||e.focus()}}),[a,i,t,r]);return C.useMemo(()=>({props:c,ref:s,index:a}),[c,a,s])}({metadata:o});return tj(\"div\",e,{ref:[r,l],props:[i,a]})}let tP=((o={}).startingStyle=\"data-starting-style\",o.endingStyle=\"data-ending-style\",o),tz={[tP.startingStyle]:\"\"},tL={[tP.endingStyle]:\"\"},tT={transitionStatus:e=>\"starting\"===e?tz:\"ending\"===e?tL:null},tR=((a={}).open=\"data-open\",a.closed=\"data-closed\",a[a.startingStyle=tP.startingStyle]=\"startingStyle\",a[a.endingStyle=tP.endingStyle]=\"endingStyle\",a.anchorHidden=\"data-anchor-hidden\",a),tN=((i={}).popupOpen=\"data-popup-open\",i.pressed=\"data-pressed\",i),tD={[tN.popupOpen]:\"\"},tB={[tN.popupOpen]:\"\",[tN.pressed]:\"\"},tM={[tR.open]:\"\"},tI={[tR.closed]:\"\"},tH={[tR.anchorHidden]:\"\"},tF={open:e=>e?tD:null},tU={open:e=>e?tB:null},tV={open:e=>e?tM:tI,anchorHidden:e=>e?tH:null};function tq(e={}){let{disabled:n=!1,focusableWhenDisabled:t,tabIndex:r=0,native:o=!0}=e,a=C.useRef(null),i=void 0!==tO(!0),l=T(()=>{let e=a.current;return!!(e?.tagName===\"A\"&&e?.href)}),{props:s}=function(e){let{focusableWhenDisabled:n,disabled:t,composite:r=!1,tabIndex:o=0,isNativeButton:a}=e,i=r&&!1!==n,l=r&&!1===n;return{props:C.useMemo(()=>{let e={onKeyDown(e){t&&n&&\"Tab\"!==e.key&&e.preventDefault()}};return r||(e.tabIndex=o,!a&&t&&(e.tabIndex=n?o:-1)),(a&&(n||i)||!a&&t)&&(e[\"aria-disabled\"]=t),a&&(!n||l)&&(e.disabled=t),e},[r,t,n,i,l,a,o])}}({focusableWhenDisabled:t,disabled:n,composite:i,tabIndex:r,isNativeButton:o});return F(()=>{let e=a.current;e instanceof HTMLButtonElement&&i&&n&&void 0===s.disabled&&e.disabled&&(e.disabled=!1)},[n,s.disabled,i]),{getButtonProps:C.useCallback((e={})=>{let{onClick:t,onMouseDown:r,onKeyUp:a,onKeyDown:i,onPointerDown:c,...u}=e;return tc({type:o?\"button\":void 0,onClick(e){if(n)return void e.preventDefault();t?.(e)},onMouseDown(e){n||r?.(e)},onKeyDown(e){n||(tp(e),i?.(e)),!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||o||l()||\"Enter\"!==e.key||n||(t?.(e),e.preventDefault()))},onKeyUp(e){n||(tp(e),a?.(e)),!e.baseUIHandlerPrevented&&(e.target!==e.currentTarget||o||n||\" \"!==e.key||t?.(e))},onPointerDown(e){if(n)return void e.preventDefault();c?.(e)}},o?void 0:{role:\"button\"},s,u)},[n,s,o,l]),buttonRef:a}}let tW=C.forwardRef(function(e,n){let{render:t,className:r,disabled:o=!1,nativeButton:a=!0,...i}=e,{triggerProps:s,disabled:c,setTriggerElement:u,open:d,allowMouseUpTriggerRef:f,positionerRef:p,parent:h,lastOpenChangeReason:g,rootId:m}=n0(),v=o||c,b=C.useRef(null),y=ek(),{getButtonProps:x,buttonRef:w}=tq({disabled:v,native:a}),j=tb(w,u),{events:k}=W();C.useEffect(()=>{d||void 0!==h.type||(f.current=!1)},[f,d,h.type]);let A=T(e=>{if(!b.current)return;y.clear(),f.current=!1;let n=e.target;if(eY(b.current,n)||eY(p.current,n)||n===b.current||null!=n&&function e(n){return en(n)&&n.hasAttribute(\"data-rootownerid\")?n.getAttribute(\"data-rootownerid\")??void 0:eh(n)?void 0:e(ev(n))}(n)===m)return;let t=function(e){let n=e.getBoundingClientRect(),t=window.getComputedStyle(e,\"::before\"),r=window.getComputedStyle(e,\"::after\");if(\"none\"===t.content&&\"none\"===r.content)return n;let o=parseFloat(t.width)||0,a=parseFloat(t.height)||0,i=parseFloat(r.width)||0,l=parseFloat(r.height)||0,s=Math.max(n.width,o,i),c=Math.max(n.height,a,l),u=s-n.width,d=c-n.height;return{left:n.left-u/2,right:n.right+u/2,top:n.top-d/2,bottom:n.bottom+d/2}}(b.current);e.clientX>=t.left-2&&e.clientX<=t.right+2&&e.clientY>=t.top-2&&e.clientY<=t.bottom+2||k.emit(\"close\",{domEvent:e,reason:\"cancel-open\"})});C.useEffect(()=>{d&&\"trigger-hover\"===g&&eQ(b.current).addEventListener(\"mouseup\",A,{once:!0})},[d,A,g]);let O=C.useCallback(e=>tc({\"aria-haspopup\":\"menu\",ref:j,onMouseDown:e=>{d||(y.start(200,()=>{f.current=!0}),eQ(e.currentTarget).addEventListener(\"mouseup\",A,{once:!0}))}},e,x),[x,j,d,f,y,A]),S=tj(\"button\",e,{state:C.useMemo(()=>({disabled:v,open:d}),[v,d]),customStyleHookMapping:tU,ref:[b,n,w],props:[s,i,O]});return\"menubar\"===h.type?(0,l.jsx)(t_,{render:S}):S}),t$={clip:\"rect(0 0 0 0)\",overflow:\"hidden\",whiteSpace:\"nowrap\",position:\"fixed\",top:0,left:0,border:0,padding:0,width:1,height:1,margin:-1},tZ=C.forwardRef(function(e,n){let[t,r]=C.useState();return F(()=>{eL&&r(\"button\")},[]),(0,l.jsx)(\"span\",{...e,ref:n,tabIndex:0,role:t,\"aria-hidden\":!t||void 0,style:t$,\"data-base-ui-focus-guard\":\"\"})});var tY='input:not([inert]),select:not([inert]),textarea:not([inert]),a[href]:not([inert]),button:not([inert]),[tabindex]:not(slot):not([inert]),audio[controls]:not([inert]),video[controls]:not([inert]),[contenteditable]:not([contenteditable=\"false\"]):not([inert]),details>summary:first-of-type:not([inert]),details:not([inert])',tX=\"undefined\"==typeof Element,tK=tX?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,tQ=!tX&&Element.prototype.getRootNode?function(e){var n;return null==e||null==(n=e.getRootNode)?void 0:n.call(e)}:function(e){return null==e?void 0:e.ownerDocument},tG=function e(n,t){void 0===t&&(t=!0);var r,o=null==n||null==(r=n.getAttribute)?void 0:r.call(n,\"inert\");return\"\"===o||\"true\"===o||t&&n&&e(n.parentNode)},tJ=function(e){var n,t=null==e||null==(n=e.getAttribute)?void 0:n.call(e,\"contenteditable\");return\"\"===t||\"true\"===t},t0=function(e,n,t){if(tG(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(tY));return n&&tK.call(e,tY)&&r.unshift(e),r=r.filter(t)},t1=function e(n,t,r){for(var o=[],a=Array.from(n);a.length;){var i=a.shift();if(!tG(i,!1))if(\"SLOT\"===i.tagName){var l=i.assignedElements(),s=e(l.length?l:i.children,!0,r);r.flatten?o.push.apply(o,s):o.push({scopeParent:i,candidates:s})}else{tK.call(i,tY)&&r.filter(i)&&(t||!n.includes(i))&&o.push(i);var c=i.shadowRoot||\"function\"==typeof r.getShadowRoot&&r.getShadowRoot(i),u=!tG(c,!1)&&(!r.shadowRootFilter||r.shadowRootFilter(i));if(c&&u){var d=e(!0===c?i.children:c.children,!0,r);r.flatten?o.push.apply(o,d):o.push({scopeParent:i,candidates:d})}else a.unshift.apply(a,i.children)}}return o},t2=function(e){return!isNaN(parseInt(e.getAttribute(\"tabindex\"),10))},t4=function(e){if(!e)throw Error(\"No node provided\");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||tJ(e))&&!t2(e)?0:e.tabIndex},t5=function(e,n){var t=t4(e);return t<0&&n&&!t2(e)?0:t},t3=function(e,n){return e.tabIndex===n.tabIndex?e.documentOrder-n.documentOrder:e.tabIndex-n.tabIndex},t6=function(e){return\"INPUT\"===e.tagName},t9=function(e,n){for(var t=0;tsummary:first-of-type\")?e.parentElement:e;if(tK.call(o,\"details:not([open]) *\"))return!0;if(t&&\"full\"!==t&&\"legacy-full\"!==t){if(\"non-zero-area\"===t)return rn(e)}else{if(\"function\"==typeof r){for(var a=e;e;){var i=e.parentElement,l=tQ(e);if(i&&!i.shadowRoot&&!0===r(i))return rn(e);e=e.assignedSlot?e.assignedSlot:i||l===e.ownerDocument?i:l.host}e=a}if(re(e))return!e.getClientRects().length;if(\"legacy-full\"!==t)return!0}return!1},rr=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var n=e.parentElement;n;){if(\"FIELDSET\"===n.tagName&&n.disabled){for(var t=0;tt4(n))&&!!ro(e,n)},ri=function(e){var n=parseInt(e.getAttribute(\"tabindex\"),10);return!!isNaN(n)||!!(n>=0)},rl=function e(n){var t=[],r=[];return n.forEach(function(n,o){var a=!!n.scopeParent,i=a?n.scopeParent:n,l=t5(i,a),s=a?e(n.candidates):i;0===l?a?t.push.apply(t,s):t.push(i):r.push({documentOrder:o,tabIndex:l,item:n,isScope:a,content:s})}),r.sort(t3).reduce(function(e,n){return n.isScope?e.push.apply(e,n.content):e.push(n.content),e},[]).concat(t)},rs=function(e,n){return rl((n=n||{}).getShadowRoot?t1([e],n.includeContainer,{filter:ra.bind(null,n),flatten:!1,getShadowRoot:n.getShadowRoot,shadowRootFilter:ri}):t0(e,n.includeContainer,ra.bind(null,n)))},rc=function(e,n){return(n=n||{}).getShadowRoot?t1([e],n.includeContainer,{filter:ro.bind(null,n),flatten:!0,getShadowRoot:n.getShadowRoot}):t0(e,n.includeContainer,ro.bind(null,n))},ru=function(e,n){if(n=n||{},!e)throw Error(\"No node provided\");return!1!==tK.call(e,tY)&&ra(n,e)};let rd=()=>({getShadowRoot:!0,displayCheck:\"function\"==typeof ResizeObserver&&ResizeObserver.toString().includes(\"[native code]\")?\"full\":\"none\"});function rf(e,n){let t=rs(e,rd()),r=t.length;if(0===r)return;let o=eZ(eQ(e)),a=t.indexOf(o);return t[-1===a?1===n?0:r-1:a+n]}function rp(e){return rf(eQ(e).body,1)||e}function rh(e){return rf(eQ(e).body,-1)||e}function rg(e,n){let t=n||e.currentTarget,r=e.relatedTarget;return!r||!eY(t,r)}function rm(e){e.querySelectorAll(\"[data-tabindex]\").forEach(e=>{let n=e.dataset.tabindex;delete e.dataset.tabindex,n?e.setAttribute(\"tabindex\",n):e.removeAttribute(\"tabindex\")})}let rv=C.createContext(null),rb=()=>C.useContext(rv),ry=e1(\"portal\");function rx(e={}){let{id:n,root:t}=e,r=H(),o=rb(),[a,i]=C.useState(null),l=C.useRef(null);return F(()=>()=>{a?.remove(),queueMicrotask(()=>{l.current=null})},[a]),F(()=>{if(!r||l.current)return;let e=n?document.getElementById(n):null;if(!e)return;let t=document.createElement(\"div\");t.id=r,t.setAttribute(ry,\"\"),e.appendChild(t),l.current=t,i(t)},[n,r]),F(()=>{if(null===t||!r||l.current)return;let e=t||o?.portalNode;e&&!ee(e)&&(e=e.current),e=e||document.body;let a=null;n&&((a=document.createElement(\"div\")).id=n,e.appendChild(a));let s=document.createElement(\"div\");s.id=r,s.setAttribute(ry,\"\"),(e=a||e).appendChild(s),l.current=s,i(s)},[n,t,r,o]),a}function rw(e){let{children:n,id:t,root:r,preserveTabOrder:o=!0}=e,a=rx({id:t,root:r}),[i,s]=C.useState(null),c=C.useRef(null),u=C.useRef(null),d=C.useRef(null),f=C.useRef(null),p=i?.modal,h=i?.open,g=!!i&&!i.modal&&i.open&&o&&!!(r||a);return C.useEffect(()=>{if(a&&o&&!p)return a.addEventListener(\"focusin\",e,!0),a.addEventListener(\"focusout\",e,!0),()=>{a.removeEventListener(\"focusin\",e,!0),a.removeEventListener(\"focusout\",e,!0)};function e(e){a&&rg(e)&&(\"focusin\"===e.type?rm:function(e){rs(e,rd()).forEach(e=>{e.dataset.tabindex=e.getAttribute(\"tabindex\")||\"\",e.setAttribute(\"tabindex\",\"-1\")})})(a)}},[a,o,p]),C.useEffect(()=>{a&&(h||rm(a))},[h,a]),(0,l.jsxs)(rv.Provider,{value:C.useMemo(()=>({preserveTabOrder:o,beforeOutsideRef:c,afterOutsideRef:u,beforeInsideRef:d,afterInsideRef:f,portalNode:a,setFocusManagerState:s}),[o,a]),children:[g&&a&&(0,l.jsx)(tZ,{\"data-type\":\"outside\",ref:c,onFocus:e=>{if(rg(e,a))d.current?.focus();else{let e=rh(i?i.domReference:null);e?.focus()}}}),g&&a&&(0,l.jsx)(\"span\",{\"aria-owns\":a.id,style:t$}),a&&E.createPortal(n,a),g&&a&&(0,l.jsx)(tZ,{\"data-type\":\"outside\",ref:u,onFocus:e=>{if(rg(e,a))f.current?.focus();else{let n=rp(i?i.domReference:null);n?.focus(),i?.closeOnFocusOut&&i?.onOpenChange(!1,e.nativeEvent,\"focus-out\")}}})]})}let rj=C.createContext(void 0);function rk(e){let{children:n,keepMounted:t=!1,container:r}=e,{mounted:o}=n0();return o||t?(0,l.jsx)(rj.Provider,{value:t,children:(0,l.jsx)(rw,{root:r,children:n})}):null}let rA=C.createContext(void 0);function rO(e,n,t){let r,{reference:o,floating:a}=e,i=nE(n),l=nO(nE(n)),s=nC(l),c=nk(n),u=\"y\"===i,d=o.x+o.width/2-a.width/2,f=o.y+o.height/2-a.height/2,p=o[s]/2-a[s]/2;switch(c){case\"top\":r={x:d,y:o.y-a.height};break;case\"bottom\":r={x:d,y:o.y+o.height};break;case\"right\":r={x:o.x+o.width,y:f};break;case\"left\":r={x:o.x-a.width,y:f};break;default:r={x:o.x,y:o.y}}switch(nA(n)){case\"start\":r[l]-=p*(t&&u?-1:1);break;case\"end\":r[l]+=p*(t&&u?-1:1)}return r}let rC=async(e,n,t)=>{let{placement:r=\"bottom\",strategy:o=\"absolute\",middleware:a=[],platform:i}=t,l=a.filter(Boolean),s=await (null==i.isRTL?void 0:i.isRTL(n)),c=await i.getElementRects({reference:e,floating:n,strategy:o}),{x:u,y:d}=rO(c,r,s),f=r,p={},h=0;for(let t=0;te[n]>=0)}let rP=new Set([\"left\",\"top\"]);async function rz(e,n){let{placement:t,platform:r,elements:o}=e,a=await (null==r.isRTL?void 0:r.isRTL(o.floating)),i=nk(t),l=nA(t),s=\"y\"===nE(t),c=rP.has(i)?-1:1,u=a&&s?-1:1,d=nj(n,e),{mainAxis:f,crossAxis:p,alignmentAxis:h}=\"number\"==typeof d?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return l&&\"number\"==typeof h&&(p=\"end\"===l?-1*h:h),s?{x:p*u,y:f*c}:{x:f*c,y:p*u}}function rL(e){let n=eg(e),t=parseFloat(n.width)||0,r=parseFloat(n.height)||0,o=en(e),a=o?e.offsetWidth:t,i=o?e.offsetHeight:r,l=nv(t)!==a||nv(r)!==i;return l&&(t=a,r=i),{width:t,height:r,$:l}}function rT(e){return ee(e)?e:e.contextElement}function rR(e){let n=rT(e);if(!en(n))return ny(1);let t=n.getBoundingClientRect(),{width:r,height:o,$:a}=rL(n),i=(a?nv(t.width):t.width)/r,l=(a?nv(t.height):t.height)/o;return i&&Number.isFinite(i)||(i=1),l&&Number.isFinite(l)||(l=1),{x:i,y:l}}let rN=ny(0);function rD(e){let n=Q(e);return ef()&&n.visualViewport?{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}:rN}function rB(e,n,t,r){var o;void 0===n&&(n=!1),void 0===t&&(t=!1);let a=e.getBoundingClientRect(),i=rT(e),l=ny(1);n&&(r?ee(r)&&(l=rR(r)):l=rR(e));let s=(void 0===(o=t)&&(o=!1),r&&(!o||r===Q(i))&&o)?rD(i):ny(0),c=(a.left+s.x)/l.x,u=(a.top+s.y)/l.y,d=a.width/l.x,f=a.height/l.y;if(i){let e=Q(i),n=r&&ee(r)?Q(r):r,t=e,o=ey(t);for(;o&&r&&n!==t;){let e=rR(o),n=o.getBoundingClientRect(),r=eg(o),a=n.left+(o.clientLeft+parseFloat(r.paddingLeft))*e.x,i=n.top+(o.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,u*=e.y,d*=e.x,f*=e.y,c+=a,u+=i,o=ey(t=Q(o))}}return nD({width:d,height:f,x:c,y:u})}function rM(e,n){let t=em(e).scrollLeft;return n?n.left+t:rB(G(e)).left+t}function rI(e,n,t){void 0===t&&(t=!1);let r=e.getBoundingClientRect();return{x:r.left+n.scrollLeft-(t?0:rM(e,r)),y:r.top+n.scrollTop}}let rH=new Set([\"absolute\",\"fixed\"]);function rF(e,n,t){let r;if(\"viewport\"===n)r=function(e,n){let t=Q(e),r=G(e),o=t.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let e=ef();(!e||e&&\"fixed\"===n)&&(l=o.offsetLeft,s=o.offsetTop)}return{width:a,height:i,x:l,y:s}}(e,t);else if(\"document\"===n)r=function(e){let n=G(e),t=em(e),r=e.ownerDocument.body,o=nm(n.scrollWidth,n.clientWidth,r.scrollWidth,r.clientWidth),a=nm(n.scrollHeight,n.clientHeight,r.scrollHeight,r.clientHeight),i=-t.scrollLeft+rM(e),l=-t.scrollTop;return\"rtl\"===eg(r).direction&&(i+=nm(n.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}(G(e));else if(ee(n))r=function(e,n){let t=rB(e,!0,\"fixed\"===n),r=t.top+e.clientTop,o=t.left+e.clientLeft,a=en(e)?rR(e):ny(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y;return{width:i,height:l,x:o*a.x,y:r*a.y}}(n,t);else{let t=rD(e);r={x:n.x-t.x,y:n.y-t.y,width:n.width,height:n.height}}return nD(r)}function rU(e){return\"static\"===eg(e).position}function rV(e,n){if(!en(e)||\"fixed\"===eg(e).position)return null;if(n)return n(e);let t=e.offsetParent;return G(e)===t&&(t=t.ownerDocument.body),t}function rq(e,n){var t;let r=Q(e);if(el(e))return r;if(!en(e)){let n=ev(e);for(;n&&!eh(n);){if(ee(n)&&!rU(n))return n;n=ev(n)}return r}let o=rV(e,n);for(;o&&(t=o,ea.has(K(t)))&&rU(o);)o=rV(o,n);return o&&eh(o)&&rU(o)&&!ed(o)?r:o||function(e){let n=ev(e);for(;en(n)&&!eh(n);){if(ed(n))return n;if(el(n))break;n=ev(n)}return null}(e)||r}let rW=async function(e){let n=this.getOffsetParent||rq,t=this.getDimensions,r=await t(e.floating);return{reference:function(e,n,t){let r=en(n),o=G(n),a=\"fixed\"===t,i=rB(e,!0,a,n),l={scrollLeft:0,scrollTop:0},s=ny(0);if(r||!r&&!a)if((\"body\"!==K(n)||eo(o))&&(l=em(n)),r){let e=rB(n,!0,a,n);s.x=e.x+n.clientLeft,s.y=e.y+n.clientTop}else o&&(s.x=rM(o));a&&!r&&o&&(s.x=rM(o));let c=!o||r||a?ny(0):rI(o,l);return{x:i.left+l.scrollLeft-s.x-c.x,y:i.top+l.scrollTop-s.y-c.y,width:i.width,height:i.height}}(e.reference,await n(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},r$={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:n,rect:t,offsetParent:r,strategy:o}=e,a=\"fixed\"===o,i=G(r),l=!!n&&el(n.floating);if(r===i||l&&a)return t;let s={scrollLeft:0,scrollTop:0},c=ny(1),u=ny(0),d=en(r);if((d||!d&&!a)&&((\"body\"!==K(r)||eo(i))&&(s=em(r)),en(r))){let e=rB(r);c=rR(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=!i||d||a?ny(0):rI(i,s,!0);return{width:t.width*c.x,height:t.height*c.y,x:t.x*c.x-s.scrollLeft*c.x+u.x+f.x,y:t.y*c.y-s.scrollTop*c.y+u.y+f.y}},getDocumentElement:G,getClippingRect:function(e){let{element:n,boundary:t,rootBoundary:r,strategy:o}=e,a=[...\"clippingAncestors\"===t?el(n)?[]:function(e,n){let t=n.get(e);if(t)return t;let r=eb(e,[],!1).filter(e=>ee(e)&&\"body\"!==K(e)),o=null,a=\"fixed\"===eg(e).position,i=a?ev(e):e;for(;ee(i)&&!eh(i);){let n=eg(i),t=ed(i);t||\"fixed\"!==n.position||(o=null),(a?!t&&!o:!t&&\"static\"===n.position&&!!o&&rH.has(o.position)||eo(i)&&!t&&function e(n,t){let r=ev(n);return!(r===t||!ee(r)||eh(r))&&(\"fixed\"===eg(r).position||e(r,t))}(e,i))?r=r.filter(e=>e!==i):o=n,i=ev(i)}return n.set(e,r),r}(n,this._c):[].concat(t),r],i=a[0],l=a.reduce((e,t)=>{let r=rF(n,t,o);return e.top=nm(r.top,e.top),e.right=ng(r.right,e.right),e.bottom=ng(r.bottom,e.bottom),e.left=nm(r.left,e.left),e},rF(n,i,o));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:rq,getElementRects:rW,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:n,height:t}=rL(e);return{width:n,height:t}},getScale:rR,isElement:ee,isRTL:function(e){return\"rtl\"===eg(e).direction}};function rZ(e,n){return e.x===n.x&&e.y===n.y&&e.width===n.width&&e.height===n.height}function rY(e,n,t,r){let o;void 0===r&&(r={});let{ancestorScroll:a=!0,ancestorResize:i=!0,elementResize:l=\"function\"==typeof ResizeObserver,layoutShift:s=\"function\"==typeof IntersectionObserver,animationFrame:c=!1}=r,u=rT(e),d=a||i?[...u?eb(u):[],...eb(n)]:[];d.forEach(e=>{a&&e.addEventListener(\"scroll\",t,{passive:!0}),i&&e.addEventListener(\"resize\",t)});let f=u&&s?function(e,n){let t,r=null,o=G(e);function a(){var e;clearTimeout(t),null==(e=r)||e.disconnect(),r=null}return!function i(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),a();let c=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=c;if(l||n(),!f||!p)return;let h=nb(d),g=nb(o.clientWidth-(u+f)),m={rootMargin:-h+\"px \"+-g+\"px \"+-nb(o.clientHeight-(d+p))+\"px \"+-nb(u)+\"px\",threshold:nm(0,ng(1,s))||1},v=!0;function b(n){let r=n[0].intersectionRatio;if(r!==s){if(!v)return i();r?i(!1,r):t=setTimeout(()=>{i(!1,1e-7)},1e3)}1!==r||rZ(c,e.getBoundingClientRect())||i(),v=!1}try{r=new IntersectionObserver(b,{...m,root:o.ownerDocument})}catch(e){r=new IntersectionObserver(b,m)}r.observe(e)}(!0),a}(u,t):null,p=-1,h=null;l&&(h=new ResizeObserver(e=>{let[r]=e;r&&r.target===u&&h&&(h.unobserve(n),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=h)||e.observe(n)})),t()}),u&&!c&&h.observe(u),h.observe(n));let g=c?rB(e):null;return c&&function n(){let r=rB(e);g&&!rZ(g,r)&&t(),g=r,o=requestAnimationFrame(n)}(),t(),()=>{var e;d.forEach(e=>{a&&e.removeEventListener(\"scroll\",t),i&&e.removeEventListener(\"resize\",t)}),null==f||f(),null==(e=h)||e.disconnect(),h=null,c&&cancelAnimationFrame(o)}}let rX=e=>({name:\"arrow\",options:e,async fn(n){let{x:t,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=n,{element:c,padding:u=0}=nj(e,n)||{};if(null==c)return{};let d=nN(u),f={x:t,y:r},p=nO(nE(o)),h=nC(p),g=await i.getDimensions(c),m=\"y\"===p,v=m?\"clientHeight\":\"clientWidth\",b=a.reference[h]+a.reference[p]-f[p]-a.floating[h],y=f[p]-a.reference[p],x=await (null==i.getOffsetParent?void 0:i.getOffsetParent(c)),w=x?x[v]:0;w&&await (null==i.isElement?void 0:i.isElement(x))||(w=l.floating[v]||a.floating[h]);let j=w/2-g[h]/2-1,k=ng(d[m?\"top\":\"left\"],j),A=ng(d[m?\"bottom\":\"right\"],j),O=w-g[h]-A,C=w/2-g[h]/2+(b/2-y/2),S=nm(k,ng(C,O)),E=!s.arrow&&null!=nA(o)&&C!==S&&a.reference[h]/2-(C{n.current=e}),n}function r1(e,n,t){let r=\"inline-start\"===e||\"inline-end\"===e;return({top:\"top\",right:r?t?\"inline-start\":\"inline-end\":\"right\",bottom:\"bottom\",left:r?t?\"inline-end\":\"inline-start\":\"left\"})[n]}function r2(e,n,t){let{rects:r,placement:o}=e;return{side:r1(n,nk(o),t),align:nA(o)||\"center\",anchor:{width:r.reference.width,height:r.reference.height},positioner:{width:r.floating.width,height:r.floating.height}}}function r4(e){var n,t,r,o,a,i,l,s,c,u,d,f,p,h,g,m,v;let{anchor:b,positionMethod:y=\"absolute\",side:x=\"bottom\",sideOffset:w=0,align:j=\"center\",alignOffset:k=0,collisionBoundary:A,collisionPadding:O=5,sticky:S=!1,arrowPadding:_=5,trackAnchor:P=!0,keepMounted:z=!1,floatingRootContext:L,mounted:R,collisionAvoidance:N,shiftCrossAxis:D=!1,nodeId:B,adaptiveOrigin:M}=e,I=N.side||\"flip\",H=N.align||\"flip\",U=N.fallbackAxisSide||\"end\",V=\"function\"==typeof b?b:void 0,q=T(V),$=V?q:b,Z=eA(b),X=\"rtl\"===n6(),K={top:\"top\",right:\"right\",bottom:\"bottom\",left:\"left\",\"inline-end\":X?\"left\":\"right\",\"inline-start\":X?\"right\":\"left\"}[x],Q=\"center\"===j?K:`${K}-${j}`,G={boundary:\"clipping-ancestors\"===A?\"clippingAncestors\":A,padding:O},J=C.useRef(null),en=eA(w),et=eA(k),er=\"function\"!=typeof w?w:0,eo=[(n=e=>{let n=r2(e,x,X),t=\"function\"==typeof en.current?en.current(n):en.current,r=\"function\"==typeof et.current?et.current(n):et.current;return{mainAxis:t,crossAxis:r,alignmentAxis:r}},t=[er,\"function\"!=typeof k?k:0,X,x],{...(void 0===(r=n)&&(r=0),{name:\"offset\",options:r,async fn(e){var n,t;let{x:o,y:a,placement:i,middlewareData:l}=e,s=await rz(e,r);return i===(null==(n=l.offset)?void 0:n.placement)&&null!=(t=l.arrow)&&t.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}),options:[n,t]})],ea=\"none\"===H&&\"shift\"!==I,ei=!ea&&(S||D||\"shift\"===I),el=\"none\"===I?null:{...{name:\"flip\",options:i=o={...G,mainAxis:!D&&\"flip\"===I,crossAxis:\"flip\"===H&&\"alignment\",fallbackAxisSideDirection:U},async fn(e){var n,t,r,o,a;let{placement:l,middlewareData:s,rects:c,initialPlacement:u,platform:d,elements:f}=e,{mainAxis:p=!0,crossAxis:h=!0,fallbackPlacements:g,fallbackStrategy:m=\"bestFit\",fallbackAxisSideDirection:v=\"none\",flipAlignment:b=!0,...y}=nj(i,e);if(null!=(n=s.arrow)&&n.alignmentOffset)return{};let x=nk(l),w=nE(u),j=nk(u)===u,k=await (null==d.isRTL?void 0:d.isRTL(f.floating)),A=g||(j||!b?[nR(u)]:function(e){let n=nR(e);return[n_(e),n,n_(n)]}(u)),O=\"none\"!==v;!g&&O&&A.push(...function(e,n,t,r){let o=nA(e),a=function(e,n,t){switch(e){case\"top\":case\"bottom\":if(t)return n?nz:nP;return n?nP:nz;case\"left\":case\"right\":return n?nL:nT;default:return[]}}(nk(e),\"start\"===t,r);return o&&(a=a.map(e=>e+\"-\"+o),n&&(a=a.concat(a.map(n_)))),a}(u,b,v,k));let C=[u,...A],S=await rS(e,y),E=[],_=(null==(t=s.flip)?void 0:t.overflows)||[];if(p&&E.push(S[x]),h){let e=function(e,n,t){void 0===t&&(t=!1);let r=nA(e),o=nO(nE(e)),a=nC(o),i=\"x\"===o?r===(t?\"end\":\"start\")?\"right\":\"left\":\"start\"===r?\"bottom\":\"top\";return n.reference[a]>n.floating[a]&&(i=nR(i)),[i,nR(i)]}(l,c,k);E.push(S[e[0]],S[e[1]])}if(_=[..._,{placement:l,overflows:E}],!E.every(e=>e<=0)){let e=((null==(r=s.flip)?void 0:r.index)||0)+1,n=C[e];if(n&&(\"alignment\"!==h||w===nE(n)||_.every(e=>e.overflows[0]>0&&nE(e.placement)===w)))return{data:{index:e,overflows:_},reset:{placement:n}};let t=null==(o=_.filter(e=>e.overflows[0]<=0).sort((e,n)=>e.overflows[1]-n.overflows[1])[0])?void 0:o.placement;if(!t)switch(m){case\"bestFit\":{let e=null==(a=_.filter(e=>{if(O){let n=nE(e.placement);return n===w||\"y\"===n}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,n)=>e+n,0)]).sort((e,n)=>e[1]-n[1])[0])?void 0:a[0];e&&(t=e);break}case\"initialPlacement\":t=u}if(l!==t)return{reset:{placement:t}}}return{}}},options:[o,a]},es=ea?null:(l=e=>{var n,t,r;let o=eQ(e.elements.floating).documentElement;return{...G,rootBoundary:D?{x:0,y:0,width:o.clientWidth,height:o.clientHeight}:void 0,mainAxis:\"none\"!==H,crossAxis:ei,limiter:S||D?void 0:{...(void 0===(r=n=()=>{if(!J.current)return{};let{height:e}=J.current.getBoundingClientRect();return{offset:e/2+(\"number\"==typeof O?O:0)}})&&(r={}),{options:r,fn(e){let{x:n,y:t,placement:o,rects:a,middlewareData:i}=e,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=nj(r,e),u={x:n,y:t},d=nE(o),f=nO(d),p=u[f],h=u[d],g=nj(l,e),m=\"number\"==typeof g?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(s){let e=\"y\"===f?\"height\":\"width\",n=a.reference[f]-a.floating[e]+m.mainAxis,t=a.reference[f]+a.reference[e]-m.mainAxis;pt&&(p=t)}if(c){var v,b;let e=\"y\"===f?\"width\":\"height\",n=rP.has(nk(o)),t=a.reference[d]-a.floating[e]+(n&&(null==(v=i.offset)?void 0:v[d])||0)+(n?0:m.crossAxis),r=a.reference[d]+a.reference[e]+(n?0:(null==(b=i.offset)?void 0:b[d])||0)-(n?m.crossAxis:0);hr&&(h=r)}return{[f]:p,[d]:h}}}),options:[n,t]}}},s=[G,S,D,O,H],{...(void 0===(c=l)&&(c={}),{name:\"shift\",options:c,async fn(e){let{x:n,y:t,placement:r}=e,{mainAxis:o=!0,crossAxis:a=!1,limiter:i={fn:e=>{let{x:n,y:t}=e;return{x:n,y:t}}},...l}=nj(c,e),s={x:n,y:t},u=await rS(e,l),d=nE(nk(r)),f=nO(d),p=s[f],h=s[d];if(o){let e=\"y\"===f?\"top\":\"left\",n=\"y\"===f?\"bottom\":\"right\",t=p+u[e],r=p-u[n];p=nm(t,ng(p,r))}if(a){let e=\"y\"===d?\"top\":\"left\",n=\"y\"===d?\"bottom\":\"right\",t=h+u[e],r=h-u[n];h=nm(t,ng(h,r))}let g=i.fn({...e,[f]:p,[d]:h});return{...g,data:{x:g.x-n,y:g.y-t,enabled:{[f]:o,[d]:a}}}}}),options:[l,s]});\"shift\"===I||\"shift\"===H||\"center\"===j?eo.push(es,el):eo.push(el,es),eo.push({...{name:\"size\",options:f=u={...G,apply({elements:{floating:e},rects:{reference:n},availableWidth:t,availableHeight:r}){Object.entries({\"--available-width\":`${t}px`,\"--available-height\":`${r}px`,\"--anchor-width\":`${n.width}px`,\"--anchor-height\":`${n.height}px`}).forEach(([n,t])=>{e.style.setProperty(n,t)})}},async fn(e){var n,t;let r,o,{placement:a,rects:i,platform:l,elements:s}=e,{apply:c=()=>{},...u}=nj(f,e),d=await rS(e,u),p=nk(a),h=nA(a),g=\"y\"===nE(a),{width:m,height:v}=i.floating;\"top\"===p||\"bottom\"===p?(r=p,o=h===(await (null==l.isRTL?void 0:l.isRTL(s.floating))?\"start\":\"end\")?\"left\":\"right\"):(o=p,r=\"end\"===h?\"top\":\"bottom\");let b=v-d.top-d.bottom,y=m-d.left-d.right,x=ng(v-d[r],b),w=ng(m-d[o],y),j=!e.middlewareData.shift,k=x,A=w;if(null!=(n=e.middlewareData.shift)&&n.enabled.x&&(A=y),null!=(t=e.middlewareData.shift)&&t.enabled.y&&(k=b),j&&!h){let e=nm(d.left,0),n=nm(d.right,0),t=nm(d.top,0),r=nm(d.bottom,0);g?A=m-2*(0!==e||0!==n?e+n:nm(d.left,d.right)):k=v-2*(0!==t||0!==r?t+r:nm(d.top,d.bottom))}await c({...e,availableWidth:A,availableHeight:k});let O=await l.getDimensions(s.floating);return m!==O.width||v!==O.height?{reset:{rects:!0}}:{}}},options:[u,d]},(p=()=>({element:J.current||document.createElement(\"div\"),padding:_}),h=[_],{name:\"arrow\",options:p,fn(e){let{element:n,padding:t}=p(e);return n&&({}).hasOwnProperty.call(n,\"current\")?null!=n.current?rX({element:n.current,padding:t}).fn(e):{}:n?rX({element:n,padding:t}).fn(e):{}},options:[p,h]}),{...(void 0===(v=g)&&(v={}),{name:\"hide\",options:v,async fn(e){let{rects:n}=e,{strategy:t=\"referenceHidden\",...r}=nj(v,e);switch(t){case\"referenceHidden\":{let t=rE(await rS(e,{...r,elementContext:\"reference\"}),n.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:r_(t)}}}case\"escaped\":{let t=rE(await rS(e,{...r,altBoundary:!0}),n.floating);return{data:{escapedOffsets:t,escaped:r_(t)}}}default:return{}}}}),options:[g,m]},{name:\"transformOrigin\",fn(e){let{elements:n,middlewareData:t,placement:r,rects:o,y:a}=e,i=nk(r),l=nE(i),s=J.current,c=t.arrow?.x||0,u=t.arrow?.y||0,d=s?.clientWidth||0,f=s?.clientHeight||0,p=c+d/2,h=u+f/2,g=Math.abs(t.shift?.y||0),m=o.reference.height/2,v=g>(\"function\"==typeof w?w(r2(e,x,X)):w),b={top:`${p}px calc(100% + ${w}px)`,bottom:`${p}px ${-w}px`,left:`calc(100% + ${w}px) ${h}px`,right:`${-w}px ${h}px`}[i],y=`${p}px ${o.reference.y+m-a}px`;return n.floating.style.setProperty(\"--transform-origin\",ei&&\"y\"===l&&v?y:b),{}}},M);let ec=L;!R&&L&&(ec={...L,elements:{reference:null,floating:null,domReference:null}});let eu=C.useMemo(()=>({elementResize:P&&\"undefined\"!=typeof ResizeObserver,layoutShift:P&&\"undefined\"!=typeof IntersectionObserver}),[P]),{refs:ed,elements:ef,x:ep,y:eh,middlewareData:eg,update:em,placement:ev,context:eb,isPositioned:ey,floatingStyles:ex}=function(e={}){let{nodeId:n}=e,t=Y({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||t,o=r.elements,[a,i]=C.useState(null),[l,s]=C.useState(null),c=o?.domReference||a,u=C.useRef(null),d=W();F(()=>{c&&(u.current=c)},[c]);let f=function(e){void 0===e&&(e={});let{placement:n=\"bottom\",strategy:t=\"absolute\",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[u,d]=C.useState({x:0,y:0,strategy:t,placement:n,middlewareData:{},isPositioned:!1}),[f,p]=C.useState(r);rQ(f,r)||p(r);let[h,g]=C.useState(null),[m,v]=C.useState(null),b=C.useCallback(e=>{e!==j.current&&(j.current=e,g(e))},[]),y=C.useCallback(e=>{e!==k.current&&(k.current=e,v(e))},[]),x=a||h,w=i||m,j=C.useRef(null),k=C.useRef(null),A=C.useRef(u),O=null!=s,S=r0(s),_=r0(o),P=r0(c),z=C.useCallback(()=>{if(!j.current||!k.current)return;let e={placement:n,strategy:t,middleware:f};_.current&&(e.platform=_.current),((e,n,t)=>{let r=new Map,o={platform:r$,...t},a={...o.platform,_c:r};return rC(e,n,{...o,platform:a})})(j.current,k.current,e).then(e=>{let n={...e,isPositioned:!1!==P.current};L.current&&!rQ(A.current,n)&&(A.current=n,E.flushSync(()=>{d(n)}))})},[f,n,t,_,P]);rK(()=>{!1===c&&A.current.isPositioned&&(A.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let L=C.useRef(!1);rK(()=>(L.current=!0,()=>{L.current=!1}),[]),rK(()=>{if(x&&(j.current=x),w&&(k.current=w),x&&w){if(S.current)return S.current(x,w,z);z()}},[x,w,z,S,O]);let T=C.useMemo(()=>({reference:j,floating:k,setReference:b,setFloating:y}),[b,y]),R=C.useMemo(()=>({reference:x,floating:w}),[x,w]),N=C.useMemo(()=>{let e={position:t,left:0,top:0};if(!R.floating)return e;let n=rJ(R.floating,u.x),r=rJ(R.floating,u.y);return l?{...e,transform:\"translate(\"+n+\"px, \"+r+\"px)\",...rG(R.floating)>=1.5&&{willChange:\"transform\"}}:{position:t,left:n,top:r}},[t,l,R.floating,u.x,u.y]);return C.useMemo(()=>({...u,update:z,refs:T,elements:R,floatingStyles:N}),[u,z,T,R,N])}({...e,elements:{...o,...l&&{reference:l}}}),p=C.useCallback(e=>{let n=ee(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;s(n),f.refs.setReference(n)},[f.refs]),h=C.useCallback(e=>{(ee(e)||null===e)&&(u.current=e,i(e)),(ee(f.refs.reference.current)||null===f.refs.reference.current||null!==e&&!ee(e))&&f.refs.setReference(e)},[f.refs]),g=C.useMemo(()=>({...f.refs,setReference:h,setPositionReference:p,domReference:u}),[f.refs,h,p]),m=C.useMemo(()=>({...f.elements,domReference:c}),[f.elements,c]),v=C.useMemo(()=>({...f,...r,refs:g,elements:m,nodeId:n}),[f,g,m,n,r]);return F(()=>{r.dataRef.current.floatingContext=v;let e=d?.nodesRef.current.find(e=>e.id===n);e&&(e.context=v)}),C.useMemo(()=>({...f,context:v,refs:g,elements:m}),[f,g,m,v])}({rootContext:ec,placement:Q,middleware:eo,strategy:y,whileElementsMounted:z?void 0:(...e)=>rY(...e,eu),nodeId:B}),{sideX:ew,sideY:ej}=eg.adaptiveOrigin||{},ek=C.useMemo(()=>M?{position:y,[ew]:`${ep}px`,[ej]:`${eh}px`}:ex,[M,ew,ej,y,ep,eh,ex]),eO=C.useRef(null);F(()=>{if(!R)return;let e=Z.current,n=\"function\"==typeof e?e():e,t=(r5(n)?n.current:n)||null;t!==eO.current&&(ed.setPositionReference(t),eO.current=t)},[R,ed,$,Z]),C.useEffect(()=>{if(!R)return;let e=Z.current;\"function\"!=typeof e&&r5(e)&&e.current!==eO.current&&(ed.setPositionReference(e.current),eO.current=e.current)},[R,ed,$,Z]),C.useEffect(()=>{if(z&&R&&ef.domReference&&ef.floating)return rY(ef.domReference,ef.floating,em,eu)},[z,R,ef,em,eu]);let eC=r1(x,nk(ev),X),eS=nA(ev)||\"center\",eE=!!eg.hide?.referenceHidden,e_=C.useMemo(()=>({position:\"absolute\",top:eg.arrow?.y,left:eg.arrow?.x}),[eg.arrow]),eP=eg.arrow?.centerOffset!==0;return C.useMemo(()=>({positionerStyles:ek,arrowStyles:e_,arrowRef:J,arrowUncentered:eP,side:eC,align:eS,anchorHidden:eE,refs:ed,context:eb,isPositioned:ey,update:em}),[ek,e_,J,eP,eC,eS,eE,ed,eb,ey,em])}function r5(e){return null!=e&&\"current\"in e}function r3(e){let{children:n,elementsRef:t,labelsRef:r,onMapChange:o}=e,a=C.useRef(0),i=P(r9).current,s=P(r6).current,[c,u]=C.useState(0),d=C.useRef(c),f=T((e,n)=>{s.set(e,n??null),d.current+=1,u(d.current)}),p=T(e=>{s.delete(e),d.current+=1,u(d.current)}),h=C.useMemo(()=>{let e=new Map;return Array.from(s.keys()).sort(r8).forEach((n,t)=>{let r=s.get(n)??{};e.set(n,{...r,index:t})}),e},[s,c]);F(()=>{d.current===c&&(t.current.length!==h.size&&(t.current.length=h.size),r&&r.current.length!==h.size&&(r.current.length=h.size)),o?.(h)},[o,h,t,r,c,d]);let g=T(e=>(i.add(e),()=>{i.delete(e)}));F(()=>{i.forEach(e=>e(h))},[i,h]);let m=C.useMemo(()=>({register:f,unregister:p,subscribeMapChange:g,elementsRef:t,labelsRef:r,nextIndexRef:a}),[f,p,g,t,r,a]);return(0,l.jsx)(tC.Provider,{value:m,children:n})}function r6(){return new Map}function r9(){return new Set}function r8(e,n){let t=e.compareDocumentPosition(n);return t&Node.DOCUMENT_POSITION_FOLLOWING||t&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:t&Node.DOCUMENT_POSITION_PRECEDING||t&Node.DOCUMENT_POSITION_CONTAINS?1:0}let r7=C.forwardRef(function(e,n){let t,{cutout:r,...o}=e;if(r){let e=r?.getBoundingClientRect();t=`polygon(\n 0% 0%,\n 100% 0%,\n 100% 100%,\n 0% 100%,\n 0% 0%,\n ${e.left}px ${e.top}px,\n ${e.left}px ${e.bottom}px,\n ${e.right}px ${e.bottom}px,\n ${e.right}px ${e.top}px,\n ${e.left}px ${e.top}px\n )`}return(0,l.jsx)(\"div\",{ref:n,role:\"presentation\",\"data-base-ui-inert\":\"\",...o,style:{position:\"fixed\",inset:0,userSelect:\"none\",WebkitUserSelect:\"none\",clipPath:t}})}),oe=C.forwardRef(function(e,n){var t;let{anchor:r,positionMethod:o=\"absolute\",className:a,render:i,side:s,align:c,sideOffset:u=0,alignOffset:d=0,collisionBoundary:f=\"clipping-ancestors\",collisionPadding:p=5,arrowPadding:h=5,sticky:g=!1,trackAnchor:m=!0,collisionAvoidance:v=no,...b}=e,{open:y,setOpen:x,floatingRootContext:w,setPositionerElement:j,itemDomElements:k,itemLabels:A,mounted:O,modal:S,lastOpenChangeReason:E,parent:_,setHoverEnabled:P,triggerElement:z}=n0(),L=function(){let e=C.useContext(rj);if(void 0===e)throw Error(\"Base UI: is missing.\");return e}(),T=function(e){let n=H(),t=W(),r=q();return F(()=>{if(!n)return;let e={id:n,parentId:r};return t?.addNode(e),()=>{t?.removeNode(e)}},[t,n,r]),n}(),R=q(),N=ta(!0),D=r,B=u,M=d,I=c;\"context-menu\"===_.type&&(D=_.context?.anchor??r,I=e.align??\"start\",M=e.alignOffset??2,B=e.sideOffset??-5);let U=s,V=I;\"menu\"===_.type?(U=U??\"inline-end\",V=V??\"start\"):\"menubar\"===_.type&&(U=U??\"bottom\",V=V??\"start\");let Z=\"context-menu\"===_.type,Y=r4({anchor:D,floatingRootContext:w,positionMethod:N?\"fixed\":o,mounted:O,side:U,sideOffset:B,align:V,alignOffset:M,arrowPadding:Z?0:h,collisionBoundary:f,collisionPadding:p,sticky:g,nodeId:T,keepMounted:L,trackAnchor:m,collisionAvoidance:v,shiftCrossAxis:Z}),{events:X}=W(),K=C.useMemo(()=>{let e={};return y||(e.pointerEvents=\"none\"),{role:\"presentation\",hidden:!O,style:{...Y.positionerStyles,...e}}},[y,O,Y.positionerStyles]);C.useEffect(()=>{function e(e){e.open?(e.parentNodeId===T&&P(!1),e.nodeId!==T&&e.parentNodeId===R&&x(!1,void 0,\"sibling-open\")):e.parentNodeId===T&&P(!0)}return X.on(\"openchange\",e),()=>{X.off(\"openchange\",e)}},[X,T,R,x,P]),C.useEffect(()=>{X.emit(\"openchange\",{open:y,nodeId:T,parentNodeId:R})},[X,y,T,R]);let Q=C.useMemo(()=>({open:y,side:Y.side,align:Y.align,anchorHidden:Y.anchorHidden,nested:\"menu\"===_.type}),[y,Y.side,Y.align,Y.anchorHidden,_.type]),G=C.useMemo(()=>({side:Y.side,align:Y.align,arrowRef:Y.arrowRef,arrowUncentered:Y.arrowUncentered,arrowStyles:Y.arrowStyles,floatingContext:Y.context}),[Y.side,Y.align,Y.arrowRef,Y.arrowUncentered,Y.arrowStyles,Y.context]),J=tj(\"div\",e,{state:Q,customStyleHookMapping:tV,ref:[n,j],props:{...K,...b}}),ee=O&&\"menu\"!==_.type&&(\"menubar\"!==_.type&&S&&\"trigger-hover\"!==E||\"menubar\"===_.type&&_.context.modal),en=null;return\"menubar\"===_.type?en=_.context.contentElement:void 0===_.type&&(en=z),(0,l.jsxs)(rA.Provider,{value:G,children:[ee&&(0,l.jsx)(r7,{ref:\"context-menu\"===_.type||\"nested-context-menu\"===_.type?_.context.internalBackdropRef:null,inert:(t=!y,tw>=19?t:t?\"true\":void 0),cutout:en}),(0,l.jsx)($,{id:T,children:(0,l.jsx)(r3,{elementsRef:k,labelsRef:A,children:J})})]})}),on={inert:new WeakMap,\"aria-hidden\":new WeakMap,none:new WeakMap};function ot(e){return\"inert\"===e?on.inert:\"aria-hidden\"===e?on[\"aria-hidden\"]:on.none}let or=new WeakSet,oo={},oa=0,oi=e=>e&&(e.host||oi(e.parentNode));function ol(e,n=!1,t=!1){let r=eQ(e[0]).body;return function(e,n,t,r){let o=\"data-base-ui-inert\",a=r?\"inert\":t?\"aria-hidden\":null,i=e.map(e=>{if(n.contains(e))return e;let t=oi(e);return n.contains(t)?t:null}).filter(e=>null!=e),l=new Set,s=new Set(i),c=[];oo[o]||(oo[o]=new WeakMap);let u=oo[o];return i.forEach(function e(n){!(!n||l.has(n))&&(l.add(n),n.parentNode&&e(n.parentNode))}),function e(n){!n||s.has(n)||[].forEach.call(n.children,n=>{if(\"script\"!==K(n))if(l.has(n))e(n);else{let e=a?n.getAttribute(a):null,t=null!==e&&\"false\"!==e,r=ot(a),i=(r.get(n)||0)+1,l=(u.get(n)||0)+1;r.set(n,i),u.set(n,l),c.push(n),1===i&&t&&or.add(n),1===l&&n.setAttribute(o,\"\"),!t&&a&&n.setAttribute(a,\"inert\"===a?\"\":\"true\")}})}(n),l.clear(),oa+=1,()=>{c.forEach(e=>{let n=ot(a),t=(n.get(e)||0)-1,r=(u.get(e)||0)-1;n.set(e,t),u.set(e,r),t||(!or.has(e)&&a&&e.removeAttribute(a),or.delete(e)),r||e.removeAttribute(o)}),(oa-=1)||(on.inert=new WeakMap,on[\"aria-hidden\"]=new WeakMap,on.none=new WeakMap,or=new WeakSet,oo={})}}(e.concat(Array.from(r.querySelectorAll(\"[aria-live]\"))),r,n,t)}let os=[];function oc(){return os.slice().reverse().find(e=>e.isConnected)}function ou(e,n){if(!n.current.includes(\"floating\")&&!e.getAttribute(\"role\")?.includes(\"dialog\"))return;let t=rd(),r=rc(e,t).filter(e=>{let n=e.getAttribute(\"data-tabindex\")||\"\";return ru(e,t)||e.hasAttribute(\"data-tabindex\")&&!n.startsWith(\"-\")}),o=e.getAttribute(\"tabindex\");n.current.includes(\"floating\")||0===r.length?\"0\"!==o&&e.setAttribute(\"tabindex\",\"0\"):(\"-1\"!==o||e.hasAttribute(\"data-tabindex\")&&\"-1\"!==e.getAttribute(\"data-tabindex\"))&&(e.setAttribute(\"tabindex\",\"-1\"),e.setAttribute(\"data-tabindex\",\"-1\"))}let od=C.forwardRef(function(e,n){return(0,l.jsx)(\"button\",{...e,type:\"button\",ref:n,tabIndex:-1,style:t$})});function of(e){let{context:n,children:t,disabled:r=!1,order:o=[\"content\"],guards:a=!0,initialFocus:i=0,returnFocus:s=!0,restoreFocus:c=!1,modal:u=!0,visuallyHiddenDismiss:d=!1,closeOnFocusOut:f=!0,outsideElementsInert:p=!1,getInsideElements:h=()=>[]}=e,{open:g,onOpenChange:m,events:v,dataRef:b,elements:{domReference:y,floating:x}}=n,w=T(()=>b.current.floatingContext?.nodeId),j=T(h),k=\"number\"==typeof i&&i<0,A=eJ(y)&&k,O=\"undefined\"!=typeof HTMLElement&&\"inert\"in HTMLElement.prototype,S=!O||a,E=!S||O&&p,_=eA(o),P=eA(i),z=eA(s),L=W(),R=rb(),N=C.useRef(null),D=C.useRef(null),B=C.useRef(!1),M=C.useRef(!1),I=C.useRef(-1),H=null!=R,U=e0(x),V=T((e=U)=>e?rs(e,rd()):[]),q=T(e=>{let n=V(e);return _.current.map(e=>y&&\"reference\"===e?y:U&&\"floating\"===e?U:n).filter(Boolean).flat()});C.useEffect(()=>{if(r||!u)return;function e(e){if(\"Tab\"===e.key){eY(U,eZ(eQ(U)))&&0===V().length&&!A&&eD(e);let n=q(),t=eX(e);\"reference\"===_.current[0]&&t===y&&(eD(e),e.shiftKey?nq(n[n.length-1]):nq(n[1])),\"floating\"===_.current[1]&&t===U&&e.shiftKey&&(eD(e),nq(n[0]))}}let n=eQ(U);return n.addEventListener(\"keydown\",e),()=>{n.removeEventListener(\"keydown\",e)}},[r,y,U,u,_,A,V,q]),C.useEffect(()=>{if(!r&&x)return x.addEventListener(\"focusin\",e),()=>{x.removeEventListener(\"focusin\",e)};function e(e){let n=eX(e),t=V().indexOf(n);-1!==t&&(I.current=t)}},[r,x,V]),C.useEffect(()=>{if(!r&&f&&x&&en(y))return y.addEventListener(\"focusout\",n),y.addEventListener(\"pointerdown\",e),x.addEventListener(\"focusout\",n),()=>{y.removeEventListener(\"focusout\",n),y.removeEventListener(\"pointerdown\",e),x.removeEventListener(\"focusout\",n)};function e(){M.current=!0,setTimeout(()=>{M.current=!1})}function n(e){let n=e.relatedTarget,t=e.currentTarget,r=eX(e);queueMicrotask(()=>{let o=w(),a=!(eY(y,n)||eY(x,n)||eY(n,x)||eY(R?.portalNode,n)||n?.hasAttribute(e1(\"focus-guard\"))||L&&(e6(L.nodesRef.current,o).find(e=>eY(e.context?.elements.floating,n)||eY(e.context?.elements.domReference,n))||e9(L.nodesRef.current,o).find(e=>[e.context?.elements.floating,e0(e.context?.elements.floating)].includes(n)||e.context?.elements.domReference===n)));if(t===y&&U&&ou(U,_),c&&t!==y&&!r?.isConnected&&eZ(eQ(U))===eQ(U).body){en(U)&&U.focus();let e=I.current,n=V(),t=n[e]||n[n.length-1]||U;en(t)&&t.focus()}if(b.current.insideReactTree){b.current.insideReactTree=!1;return}(A||!u)&&n&&a&&!M.current&&n!==oc()&&(B.current=!0,m(!1,e,\"focus-out\"))})}},[r,y,x,U,u,L,R,m,f,c,V,A,w,_,b]);let $=C.useRef(null),Z=C.useRef(null),Y=tb($,R?.beforeInsideRef),X=tb(Z,R?.afterInsideRef);function Q(e){return!r&&d&&u?(0,l.jsx)(od,{ref:\"start\"===e?N:D,onClick:e=>m(!1,e.nativeEvent),children:\"string\"==typeof d?d:\"Dismiss\"}):null}C.useEffect(()=>{if(r||!x)return;let e=Array.from(R?.portalNode?.querySelectorAll(`[${e1(\"portal\")}]`)||[]),n=L?e9(L.nodesRef.current,w()):[],t=L&&!u?n.map(e=>e.context?.elements.floating):[],o=[x,n.find(e=>eJ(e.context?.elements.domReference||null))?.context?.elements.domReference,...e,...t,...j(),N.current,D.current,$.current,Z.current,R?.beforeOutsideRef.current,R?.afterOutsideRef.current,_.current.includes(\"reference\")||A?y:null].filter(e=>null!=e),a=u||A?ol(o,!E,E):ol(o);return()=>{a()}},[r,y,x,u,_,R,A,S,E,L,w,j]),F(()=>{if(r||!en(U))return;let e=eZ(eQ(U));queueMicrotask(()=>{let n=q(U),t=P.current,r=(\"number\"==typeof t?n[t]:t.current)||U,o=eY(U,e);k||o||!g||nq(r,{preventScroll:r===U})})},[r,g,U,k,q,P]),F(()=>{var e;if(r||!U)return;let n=eQ(U);function t({reason:e,event:n,nested:t}){if([\"hover\",\"safe-polygon\"].includes(e)&&\"mouseleave\"===n.type&&(B.current=!0),\"outside-press\"===e)if(t)B.current=!1;else if(eB(n)||eM(n))B.current=!1;else{let e=!1;document.createElement(\"div\").focus({get preventScroll(){return e=!0,!1}}),e?B.current=!1:B.current=!0}}e=eZ(n),os=os.filter(e=>e.isConnected),e&&\"body\"!==K(e)&&(os.push(e),os.length>20&&(os=os.slice(-20))),v.on(\"openchange\",t);let o=n.createElement(\"span\");return o.setAttribute(\"tabindex\",\"-1\"),o.setAttribute(\"aria-hidden\",\"true\"),Object.assign(o.style,t$),H&&y&&y.insertAdjacentElement(\"afterend\",o),()=>{v.off(\"openchange\",t);let e=eZ(n),r=eY(x,e)||L&&e6(L.nodesRef.current,w(),!1).some(n=>eY(n.context?.elements.floating,e)),a=function(){if(\"boolean\"==typeof z.current){let e=y||oc();return e&&e.isConnected?e:o}return z.current.current||o}();queueMicrotask(()=>{let t=function(e){let n=rd();return ru(e,n)?e:rs(e,n)[0]||e}(a);z.current&&!B.current&&en(t)&&(t===e||e===n.body||r)&&t.focus({preventScroll:!0}),o.remove()})}},[r,x,U,z,b,v,L,H,y,w]),C.useEffect(()=>{queueMicrotask(()=>{B.current=!1})},[r]),F(()=>{if(!r&&R)return R.setFocusManagerState({modal:u,closeOnFocusOut:f,open:g,onOpenChange:m,domReference:y}),()=>{R.setFocusManagerState(null)}},[r,R,u,g,m,f,y]),F(()=>{!r&&U&&ou(U,_)},[r,U,_]);let G=!r&&S&&(!u||!A)&&(H||u);return(0,l.jsxs)(C.Fragment,{children:[G&&(0,l.jsx)(tZ,{\"data-type\":\"inside\",ref:Y,onFocus:e=>{if(u){let e=q();nq(\"reference\"===o[0]?e[0]:e[e.length-1])}else if(R?.preserveTabOrder&&R.portalNode)if(B.current=!1,rg(e,R.portalNode)){let e=rp(y);e?.focus()}else R.beforeOutsideRef.current?.focus()}}),!A&&Q(\"start\"),t,Q(\"end\"),G&&(0,l.jsx)(tZ,{\"data-type\":\"inside\",ref:X,onFocus:e=>{if(u)nq(q()[0]);else if(R?.preserveTabOrder&&R.portalNode)if(f&&(B.current=!0),rg(e,R.portalNode)){let e=rh(y);e?.focus()}else R.afterOutsideRef.current?.focus()}})]})}let op={...tV,...tT},oh=C.forwardRef(function(e,n){let{render:t,className:r,finalFocus:o,...a}=e,{open:i,setOpen:s,popupRef:c,transitionStatus:u,popupProps:d,mounted:f,instantType:p,onOpenChangeComplete:h,parent:g,lastOpenChangeReason:m,rootId:v}=n0(),{side:b,align:y,floatingContext:x}=function(){let e=C.useContext(rA);if(void 0===e)throw Error(\"Base UI: MenuPositionerContext is missing. MenuPositioner parts must be placed within .\");return e}();n5({open:i,ref:c,onComplete(){i&&h?.(!0)}});let{events:w}=W();C.useEffect(()=>{function e(e){s(!1,e.domEvent,e.reason)}return w.on(\"close\",e),()=>{w.off(\"close\",e)}},[w,s]);let j=tj(\"div\",e,{state:C.useMemo(()=>({transitionStatus:u,side:b,align:y,open:i,nested:\"menu\"===g.type,instant:p}),[u,b,y,i,g.type,p]),ref:[n,c],customStyleHookMapping:op,props:[d,\"starting\"===u?nt:nr,a,{\"data-rootownerid\":v}]}),k=void 0===g.type||\"context-menu\"===g.type;return\"menubar\"===g.type&&\"outside-press\"!==m&&(k=!0),(0,l.jsx)(of,{context:x,modal:!1,disabled:!f,returnFocus:o||k,initialFocus:\"menu\"===g.type?-1:0,restoreFocus:!0,children:j})}),og=C.createContext(void 0),om=C.forwardRef(function(e,n){let{render:t,className:r,...o}=e,[a,i]=C.useState(void 0),s=C.useMemo(()=>({setLabelId:i}),[i]),c=tj(\"div\",e,{ref:n,props:{role:\"group\",\"aria-labelledby\":a,...o}});return(0,l.jsx)(og.Provider,{value:s,children:c})});function ov(e){return H(e,\"base-ui\")}let ob=C.forwardRef(function(e,n){let{className:t,render:r,id:o,...a}=e,i=ov(o),{setLabelId:l}=function(){let e=C.useContext(og);if(void 0===e)throw Error(\"Base UI: MenuGroupRootContext is missing. Menu group parts must be used within .\");return e}();return F(()=>(l(i),()=>{l(void 0)}),[l,i]),tj(\"div\",e,{ref:n,props:{id:i,role:\"presentation\",...a}})}),oy={type:\"regular-item\"},ox=C.memo(C.forwardRef(function(e,n){let{className:t,closeOnClick:r=!0,disabled:o=!1,highlighted:a,id:i,menuEvents:l,itemProps:s,render:c,allowMouseUpTriggerRef:u,typingRef:d,nativeButton:f,...p}=e,{getItemProps:h,itemRef:g}=function(e){let{closeOnClick:n,disabled:t=!1,highlighted:r,id:o,menuEvents:a,allowMouseUpTriggerRef:i,typingRef:l,nativeButton:s,itemMetadata:c}=e,u=C.useRef(null),{getButtonProps:d,buttonRef:f}=tq({disabled:t,focusableWhenDisabled:!0,native:s}),p=C.useCallback(e=>tc({id:o,role:\"menuitem\",tabIndex:r?0:-1,onMouseEnter(){\"submenu-trigger\"===c.type&&c.setActive()},onKeyUp:e=>{\" \"===e.key&&l.current&&e.preventBaseUIHandler()},onClick:e=>{n&&a.emit(\"close\",{domEvent:e,reason:\"item-press\"})},onMouseUp:()=>{u.current&&i.current&&\"regular-item\"===c.type&&u.current.click()}},e,d),[o,r,d,l,n,a,i,c]),h=tb(u,f);return C.useMemo(()=>({getItemProps:p,itemRef:h}),[p,h])}({closeOnClick:r,disabled:o,highlighted:a,id:i,menuEvents:l,allowMouseUpTriggerRef:u,typingRef:d,nativeButton:f,itemMetadata:oy});return tj(\"div\",e,{state:C.useMemo(()=>({disabled:o,highlighted:a}),[o,a]),ref:[g,n],props:[s,p,h]})})),ow=C.forwardRef(function(e,n){let{id:t,label:r,nativeButton:o=!1,...a}=e,i=C.useRef(null),s=tE({label:r}),c=tb(n,s.ref,i),{itemProps:u,activeIndex:d,allowMouseUpTriggerRef:f,typingRef:p}=n0(),h=ov(t),g=s.index===d,{events:m}=W();return(0,l.jsx)(ox,{...a,id:h,ref:c,highlighted:g,menuEvents:m,itemProps:u,allowMouseUpTriggerRef:f,typingRef:p,nativeButton:o})});var oj=\"__next_builtin__\";function ok(e){return e.replace(new RegExp(\"^\".concat(oj)),\"\").replace(new RegExp(\"\".concat(\"@boundary\",\"$\")),\"\")}var oA=\"boundary:\";function oO(e){return e.startsWith(oA)}var oC=t(\"./src/next-devtools/dev-overlay/components/errors/dev-tools-indicator/utils.ts\");function oS(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t({hasProvider:!0,delayRef:o,initialDelayRef:a,currentIdRef:i,timeoutMs:r,currentContextRef:s,timeout:c}),[r,c]),children:n})}let oF=C.createContext(void 0),oU=function(e){let{delay:n,closeDelay:t,timeout:r=400}=e,o=C.useMemo(()=>({delay:n,closeDelay:t}),[n,t]);return(0,l.jsx)(oF.Provider,{value:o,children:(0,l.jsx)(oH,{delay:{open:n,close:t},timeoutMs:r,children:e.children})})},oV=C.createContext(void 0);function oq(){let e=C.useContext(oV);if(void 0===e)throw Error(\"Base UI: TooltipRootContext is missing. Tooltip parts must be placed within .\");return e}function oW(e){return null!=e&&null!=e.clientX}function o$(e){let{disabled:n=!1,defaultOpen:t=!1,onOpenChange:r,open:o,delay:a,closeDelay:i,hoverable:s=!0,trackCursorAxis:c=\"none\",actionsRef:u,onOpenChangeComplete:d}=e,f=a??600,p=i??0,[h,g]=C.useState(null),[m,v]=C.useState(null),[b,y]=C.useState(),x=C.useRef(null),[w,j]=n4({controlled:o,default:t,name:\"Tooltip\",state:\"open\"}),k=T(r),A=T((e,n,t)=>{let r=\"trigger-hover\"===t,o=e&&\"trigger-focus\"===t,a=!e&&(\"trigger-press\"===t||\"escape-key\"===t);function i(){k(e,n,t),j(e)}r?E.flushSync(i):i(),o||a?y(o?\"focus\":\"dismiss\"):\"trigger-hover\"===t&&y(void 0)});w&&n&&A(!1,void 0,\"disabled\");let{mounted:O,setMounted:S,transitionStatus:_}=n2(w),P=T(()=>{S(!1),d?.(!1)});n5({enabled:!u,open:w,ref:x,onComplete(){w||P()}}),C.useImperativeHandle(u,()=>({unmount:P}),[P]);let z=Y({elements:{reference:h,floating:m},open:w,onOpenChange(e,n,t){A(e,n,tr(t))}}),L=C.useContext(oF),{delayRef:R,isInstantPhase:N,hasProvider:D}=function(e,n={}){let{open:t,onOpenChange:r,floatingId:o}=e,{enabled:a=!0}=n,{currentIdRef:i,delayRef:l,timeoutMs:s,initialDelayRef:c,currentContextRef:u,hasProvider:d,timeout:f}=C.useContext(oI),[p,h]=C.useState(!1);return F(()=>{function e(){h(!1),u.current?.setIsInstantPhase(!1),i.current=null,u.current=null,l.current=c.current}if(a&&i.current&&!t&&i.current===o){if(h(!1),s)return f.start(s,e),()=>{f.clear()};e()}},[a,t,o,i,l,s,c,u,f]),F(()=>{if(!a||!t)return;let e=u.current,n=i.current;u.current={onOpenChange:r,setIsInstantPhase:h},i.current=o,l.current={open:0,close:e4(c.current,\"close\")},null!==n&&n!==o?(f.clear(),h(!0),e?.setIsInstantPhase(!0),e?.onOpenChange(!1)):(h(!1),e?.setIsInstantPhase(!1))},[a,t,o,r,i,l,s,c,u,f]),F(()=>()=>{u.current=null},[u]),C.useMemo(()=>({hasProvider:d,delayRef:l,isInstantPhase:p}),[d,l,p])}(z),B=N?\"delay\":b,M=e3(z,{enabled:!n,mouseOnly:!0,move:!1,handleClose:s&&\"both\"!==c?e7():null,restMs(){let e=L?.delay,n=\"object\"==typeof R.current?R.current.open:void 0,t=f;return D&&(t=0!==n?a??e??f:0),t},delay(){let e=\"object\"==typeof R.current?R.current.close:void 0,n=p;return null==i&&D&&(n=e),{close:n}}}),I=nn(z,{enabled:!n}),{getReferenceProps:H,getFloatingProps:U}=nK([M,I,nf(z,{enabled:!n,referencePress:!0}),function(e,n={}){let{open:t,dataRef:r,elements:{floating:o,domReference:a},refs:i}=e,{enabled:l=!0,axis:s=\"both\",x:c=null,y:u=null}=n,d=C.useRef(!1),f=C.useRef(null),[p,h]=C.useState(),[g,m]=C.useState([]),v=T((e,n)=>{if(!d.current&&(!r.current.openEvent||oW(r.current.openEvent))){var t;let o,l,c;i.setPositionReference((t={x:e,y:n,axis:s,dataRef:r,pointerType:p},o=null,l=null,c=!1,{contextElement:a||void 0,getBoundingClientRect(){let e=a?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},n=\"x\"===t.axis||\"both\"===t.axis,r=\"y\"===t.axis||\"both\"===t.axis,i=[\"mouseenter\",\"mousemove\"].includes(t.dataRef.current.openEvent?.type||\"\")&&\"touch\"!==t.pointerType,s=e.width,u=e.height,d=e.x,f=e.y;return null==o&&t.x&&n&&(o=e.x-t.x),null==l&&t.y&&r&&(l=e.y-t.y),d-=o||0,f-=l||0,s=0,u=0,!c||i?(s=\"y\"===t.axis?e.width:0,u=\"x\"===t.axis?e.height:0,d=n&&null!=t.x?t.x:d,f=r&&null!=t.y?t.y:f):c&&!i&&(u=\"x\"===t.axis?e.height:u,s=\"y\"===t.axis?e.width:s),c=!0,{width:s,height:u,x:d,y:f,top:f,right:d+s,bottom:f+u,left:d}}}))}}),b=T(e=>{null==c&&null==u&&(t?f.current||m([]):v(e.clientX,e.clientY))}),y=eI(p)?o:t,x=C.useCallback(()=>{if(!y||!l||null!=c||null!=u)return;let e=Q(o);function n(t){eY(o,eX(t))?(e.removeEventListener(\"mousemove\",n),f.current=null):v(t.clientX,t.clientY)}if(!r.current.openEvent||oW(r.current.openEvent)){e.addEventListener(\"mousemove\",n);let t=()=>{e.removeEventListener(\"mousemove\",n),f.current=null};return f.current=t,t}i.setPositionReference(a)},[y,l,c,u,o,r,i,a,v]);C.useEffect(()=>x(),[x,g]),C.useEffect(()=>{l&&!o&&(d.current=!1)},[l,o]),C.useEffect(()=>{!l&&t&&(d.current=!0)},[l,t]),F(()=>{l&&(null!=c||null!=u)&&(d.current=!1,v(c,u))},[l,c,u,v]);let w=C.useMemo(()=>{function e(e){h(e.pointerType)}return{onPointerDown:e,onPointerEnter:e,onMouseMove:b,onMouseEnter:b}},[b]);return C.useMemo(()=>l?{reference:w}:{},[l,w])}(z,{enabled:!n&&\"none\"!==c,axis:\"none\"===c?void 0:c})]),V=C.useMemo(()=>({open:w,setOpen:A,mounted:O,setMounted:S,setTriggerElement:g,positionerElement:m,setPositionerElement:v,popupRef:x,triggerProps:H(),popupProps:U(),floatingRootContext:z,instantType:B,transitionStatus:_,onOpenChangeComplete:d}),[w,A,O,S,g,m,v,x,H,U,z,B,_,d]),q=C.useMemo(()=>({...V,delay:f,closeDelay:p,trackCursorAxis:c,hoverable:s}),[V,f,p,c,s]);return(0,l.jsx)(oV.Provider,{value:q,children:e.children})}let oZ=C.forwardRef(function(e,n){let{className:t,render:r,...o}=e,{open:a,setTriggerElement:i,triggerProps:l}=oq();return tj(\"button\",e,{state:C.useMemo(()=>({open:a}),[a]),ref:[n,i],props:[l,o],customStyleHookMapping:tF})}),oY=C.createContext(void 0);function oX(e){let n=rx({root:e.root});return n&&E.createPortal(e.children,n)}function oK(e){let{children:n,keepMounted:t=!1,container:r}=e,{mounted:o}=oq();return o||t?(0,l.jsx)(oY.Provider,{value:t,children:(0,l.jsx)(oX,{root:r,children:n})}):null}let oQ=C.createContext(void 0);function oG(){let e=C.useContext(oQ);if(void 0===e)throw Error(\"Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within .\");return e}let oJ=C.forwardRef(function(e,n){let{render:t,className:r,anchor:o,positionMethod:a=\"absolute\",side:i=\"top\",align:s=\"center\",sideOffset:c=0,alignOffset:u=0,collisionBoundary:d=\"clipping-ancestors\",collisionPadding:f=5,arrowPadding:p=5,sticky:h=!1,trackAnchor:g=!0,collisionAvoidance:m=na,...v}=e,{open:b,setPositionerElement:y,mounted:x,floatingRootContext:w,trackCursorAxis:j,hoverable:k}=oq(),A=r4({anchor:o,positionMethod:a,floatingRootContext:w,mounted:x,side:i,sideOffset:c,align:s,alignOffset:u,collisionBoundary:d,collisionPadding:f,sticky:h,arrowPadding:p,trackAnchor:g,keepMounted:function(){let e=C.useContext(oY);if(void 0===e)throw Error(\"Base UI: is missing.\");return e}(),collisionAvoidance:m}),O=C.useMemo(()=>{let e={};return b&&\"both\"!==j&&k||(e.pointerEvents=\"none\"),{role:\"presentation\",hidden:!x,style:{...A.positionerStyles,...e}}},[b,j,k,x,A.positionerStyles]),S=C.useMemo(()=>({props:O,...A}),[O,A]),E=C.useMemo(()=>({open:b,side:S.side,align:S.align,anchorHidden:S.anchorHidden}),[b,S.side,S.align,S.anchorHidden]),_=C.useMemo(()=>({...E,arrowRef:S.arrowRef,arrowStyles:S.arrowStyles,arrowUncentered:S.arrowUncentered}),[E,S.arrowRef,S.arrowStyles,S.arrowUncentered]),P=tj(\"div\",e,{state:E,props:[S.props,v],ref:[n,y],customStyleHookMapping:tV});return(0,l.jsx)(oQ.Provider,{value:_,children:P})}),o0={...tV,...tT},o1=C.forwardRef(function(e,n){let{className:t,render:r,...o}=e,{open:a,instantType:i,transitionStatus:l,popupProps:s,popupRef:c,onOpenChangeComplete:u}=oq(),{side:d,align:f}=oG();return n5({open:a,ref:c,onComplete(){a&&u?.(!0)}}),tj(\"div\",e,{state:C.useMemo(()=>({open:a,side:d,align:f,instant:i,transitionStatus:l}),[a,d,f,i,l]),ref:[n,c],props:[s,\"starting\"===l?nt:nr,o],customStyleHookMapping:o0})}),o2=C.forwardRef(function(e,n){let{className:t,render:r,...o}=e,{open:a,arrowRef:i,side:l,align:s,arrowUncentered:c,arrowStyles:u}=oG();return tj(\"div\",e,{state:C.useMemo(()=>({open:a,side:l,align:s,uncentered:c}),[a,l,s,c]),ref:[n,i],props:[{style:u,\"aria-hidden\":!0},o],customStyleHookMapping:tV})});var o4=t(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/components/tooltip.css\"),o5={};function o3(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t0;return(0,l.jsx)(\"div\",{className:\"segment-explorer-footer\",children:(0,l.jsxs)(\"button\",{className:\"segment-explorer-footer-button \".concat(r?\"\":\"segment-explorer-footer-button--disabled\"),onClick:r?t:void 0,disabled:!r,type:\"button\",children:[(0,l.jsx)(\"span\",{className:\"segment-explorer-footer-text\",children:\"Clear Segment Overrides\"}),r&&(0,l.jsx)(\"span\",{className:\"segment-explorer-footer-badge\",children:n})]})})}function at(e){var n=e.isAppRouter,t=e.page,r=(0,j.i8)(),o=(0,C.useMemo)(function(){return n?function e(n){var t,r=0;return(null==(t=n.value)?void 0:t.setBoundaryType)&&null!==n.value.boundaryType&&!oO(n.value.type)&&r++,Object.values(n.children).forEach(function(n){n&&(r+=e(n))}),r}(r):0},[r,n]),a=(0,C.useCallback)(function(){n&&function e(n){var t;(null==(t=n.value)?void 0:t.setBoundaryType)&&n.value.setBoundaryType(null),Object.values(n.children).forEach(function(n){n&&e(n)})}(r)},[r,n]);return(0,l.jsxs)(\"div\",{\"data-nextjs-devtools-panel-segments-explorer\":!0,children:[n&&(0,l.jsx)(ae,{page:t}),(0,l.jsx)(\"div\",{className:\"segment-explorer-content\",\"data-nextjs-devtool-segment-explorer\":!0,children:n?(0,l.jsx)(ar,{node:r,level:0,segment:\"\"}):(0,l.jsx)(\"p\",{children:\"Route Info currently is only available for the App Router.\"})}),n&&(0,l.jsx)(an,{activeBoundariesCount:o,onGlobalReset:a})]})}function ar(e){var n=e.segment,t=e.node,r=e.level,o=Object.keys(t.children).sort(function(e,n){var r=e.includes(\".\"),o=n.includes(\".\");if(r&&!o)return -1;if(!r&&o)return 1;if(r&&o){var a,i,l,s,c,u,d,f,p=null==(i=t.children[e])||null==(a=i.value)?void 0:a.type,h=null==(s=t.children[n])||null==(l=s.value)?void 0:l.type,g=function(e){return e?\"layout\"===e?1:\"template\"===e?2:\"page\"===e?3:oO(e)?4:5:5},m=g(p),v=g(h);if(m!==v)return m-v;var b=(null==(u=t.children[e])||null==(c=u.value)?void 0:c.pagePath)||\"\",y=(null==(f=t.children[n])||null==(d=f.value)?void 0:d.pagePath)||\"\";return b.localeCompare(y)}return e.localeCompare(n)}),a=0!==r||n?n:\"app\",i=[],s=[],c=!0,u=!1,d=void 0;try{for(var f,p=o[Symbol.iterator]();!(c=(f=p.next()).done);c=!0){var h=f.value,g=t.children[h];if(g){if(o7(g)){s.push(h);continue}i.push(h)}}}catch(e){u=!0,d=e}finally{try{c||null==p.return||p.return()}finally{if(u)throw d}}for(var m=null,v=o.length-1;v>=0;v--){var b=t.children[o[v]];if(b&&b.value){var y=oO(b.value.type);if(!m&&!y){m=b;break}}}var x=null,w=!0,j=!1,A=void 0;try{for(var O,C=o[Symbol.iterator]();!(w=(O=C.next()).done);w=!0){var S=O.value,E=t.children[S];if(E&&E.value&&oO(E.value.type)){x=E;break}}}catch(e){j=!0,A=e}finally{try{w||null==C.return||C.return()}finally{if(j)throw A}}m=m||x;var _=s.length>0,P={\"not-found\":null,loading:null,error:null};return s.forEach(function(e){var n=t.children[e];if(n&&n.value&&oO(n.value.type)){var r=n.value.type.replace(oA,\"\");r in P&&(P[r]=n.value.pagePath||null)}}),(0,l.jsxs)(l.Fragment,{children:[_&&(0,l.jsx)(\"div\",{className:\"segment-explorer-item\",\"data-nextjs-devtool-segment-explorer-segment\":n+\"-\"+r,children:(0,l.jsx)(\"div\",{className:\"segment-explorer-item-row\",style:o9({},{paddingLeft:\"\".concat((r+1)*8,\"px\")}),children:(0,l.jsxs)(\"div\",{className:\"segment-explorer-filename\",children:[a&&(0,l.jsxs)(\"span\",{className:\"segment-explorer-filename--path\",children:[a,(0,l.jsx)(\"small\",{children:\"/\"})]}),s.length>0&&(0,l.jsx)(\"span\",{className:\"segment-explorer-files\",children:s.map(function(e){var n=t.children[e];if(!n||!n.value||oO(n.value.type))return null;var r=n.value.pagePath,o=r.split(\"/\").pop()||\"\",a=r.startsWith(oj),i=ok(o),s=a?\"The default Next.js \".concat(n.value.type,\" is being shown. You can customize this page by adding your own \").concat(i,\" file to the app/ directory.\"):null,c=null!==n.value.boundaryType;return(0,l.jsx)(o6,{className:\"segment-explorer-file-label-tooltip--\"+(a?\"lg\":\"sm\"),direction:a?\"right\":\"top\",title:s,offset:12,bgcolor:\"var(--color-gray-1000)\",color:\"var(--color-gray-100)\",children:(0,l.jsxs)(\"span\",{className:(0,k.cx)(\"segment-explorer-file-label\",\"segment-explorer-file-label--\".concat(n.value.type),a&&\"segment-explorer-file-label--builtin\",c&&\"segment-explorer-file-label--overridden\"),onClick:function(){var e;e=new URLSearchParams({file:{filePath:r}.filePath,isAppRelativePath:\"1\"}),fetch(\"\".concat( false||\"\",\"/__nextjs_launch-editor?\").concat(e.toString()))},children:[(0,l.jsx)(\"span\",{className:\"segment-explorer-file-label-text\",children:i}),a?(0,l.jsx)(ao,{}):(0,l.jsx)(ai,{className:\"code-icon\"})]})},e)})}),m&&m.value&&(0,l.jsx)(oL,{nodeState:m.value,boundaries:P})]})})}),i.map(function(e){var o=t.children[e];if(!o)return null;var a=_?e:n+\" / \"+e;return(0,l.jsx)(ar,{segment:a,node:o,level:_?r+1:r},e)})]})}function ao(e){return(0,l.jsxs)(\"svg\",o8(o9({width:\"16\",height:\"16\",viewBox:\"0 0 16 16\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\"},e),{children:[(0,l.jsx)(\"path\",{d:\"M14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8Z\",fill:\"var(--color-gray-400)\"}),(0,l.jsx)(\"path\",{d:\"M7.75 7C8.30228 7.00001 8.75 7.44772 8.75 8V11.25H7.25V8.5H6.25V7H7.75ZM8 4C8.55228 4 9 4.44772 9 5C9 5.55228 8.55228 6 8 6C7.44772 6 7 5.55228 7 5C7 4.44772 7.44772 4 8 4Z\",fill:\"var(--color-gray-900)\"})]}))}function aa(){return(0,l.jsx)(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"var(--color-gray-600)\",xmlns:\"http://www.w3.org/2000/svg\",children:(0,l.jsx)(\"path\",{d:\"M4.5 11.25C4.5 11.3881 4.61193 11.5 4.75 11.5H14.4395L11.9395 9L13 7.93945L16.7803 11.7197L16.832 11.7764C17.0723 12.0709 17.0549 12.5057 16.7803 12.7803L13 16.5605L11.9395 15.5L14.4395 13H4.75C3.7835 13 3 12.2165 3 11.25V4.25H4.5V11.25Z\"})})}function ai(e){return(0,l.jsx)(\"svg\",o8(o9({width:\"12\",height:\"12\",strokeLinejoin:\"round\",viewBox:\"0 0 16 16\",fill:\"currentColor\"},e),{children:(0,l.jsx)(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M7.22763 14.1819L10.2276 2.18193L10.4095 1.45432L8.95432 1.09052L8.77242 1.81812L5.77242 13.8181L5.59051 14.5457L7.04573 14.9095L7.22763 14.1819ZM3.75002 12.0607L3.21969 11.5304L0.39647 8.70713C0.00594559 8.31661 0.00594559 7.68344 0.39647 7.29292L3.21969 4.46969L3.75002 3.93936L4.81068 5.00002L4.28035 5.53035L1.81068 8.00003L4.28035 10.4697L4.81068 11L3.75002 12.0607ZM12.25 12.0607L12.7804 11.5304L15.6036 8.70713C15.9941 8.31661 15.9941 7.68344 15.6036 7.29292L12.7804 4.46969L12.25 3.93936L11.1894 5.00002L11.7197 5.53035L14.1894 8.00003L11.7197 10.4697L11.1894 11L12.25 12.0607Z\",fill:\"currentColor\"})}))}},\"./src/next-devtools/dev-overlay/hooks/use-delayed-render.ts\":function(e,n,t){\"use strict\";t.d(n,{N:()=>i});var r=t(\"./dist/compiled/react/index.js\");function o(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=a((0,r.useState)(e),2),o=t[0],i=t[1],l=a((0,r.useState)(!1),2),s=l[0],c=l[1],u=n.enterDelay,d=void 0===u?1:u,f=n.exitDelay,p=void 0===f?0:f;return(0,r.useEffect)(function(){var n,t;return e?(i(!0),d<=0?c(!0):n=setTimeout(function(){c(!0)},d)):(c(!1),p<=0?i(!1):t=setTimeout(function(){i(!1)},p)),function(){clearTimeout(n),clearTimeout(t)}},[e,d,p]),{mounted:o,rendered:s}}},\"./src/next-devtools/dev-overlay/segment-explorer-trie.ts\":function(e,n,t){\"use strict\";t.d(n,{_c:()=>d,i8:()=>f,th:()=>u});var r=t(\"./dist/compiled/react/index.js\");function o(e){for(var n=1;n=0;m--){var v=a[m],b=r[m];0===Object.keys(v.children[b].children).length&&delete v.children[b]}l=o({},l),s()}},getRoot:function(){return l}}}({compare:function(e,n){return!!e&&!!n&&e.pagePath===n.pagePath&&e.type===n.type&&e.boundaryType===n.boundaryType},getCharacters:function(e){return e.pagePath.split(\"/\")}}),u=c.insert,d=c.remove;function f(){return(0,r.useSyncExternalStore)(i,l,s)}},\"./src/next-devtools/dev-overlay/utils/cx.ts\":function(e,n,t){\"use strict\";function r(){for(var e=arguments.length,n=Array(e),t=0;tr})}},__webpack_module_cache__={};function __nested_webpack_require_381207__(e){var n=__webpack_module_cache__[e];if(void 0!==n)return n.exports;var t=__webpack_module_cache__[e]={id:e,exports:{}};return __webpack_modules__[e](t,t.exports,__nested_webpack_require_381207__),t.exports}__nested_webpack_require_381207__.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return __nested_webpack_require_381207__.d(n,{a:n}),n},(()=>{var e,n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__nested_webpack_require_381207__.t=function(t,r){if(1&r&&(t=this(t)),8&r||\"object\"==typeof t&&t&&(4&r&&t.__esModule||16&r&&\"function\"==typeof t.then))return t;var o=Object.create(null);__nested_webpack_require_381207__.r(o);var a={};e=e||[null,n({}),n([]),n(n)];for(var i=2&r&&t;\"object\"==typeof i&&!~e.indexOf(i);i=n(i))Object.getOwnPropertyNames(i).forEach(e=>{a[e]=()=>t[e]});return a.default=()=>t,__nested_webpack_require_381207__.d(o,a),o}})(),__nested_webpack_require_381207__.d=(e,n)=>{for(var t in n)__nested_webpack_require_381207__.o(n,t)&&!__nested_webpack_require_381207__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__nested_webpack_require_381207__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__nested_webpack_require_381207__.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},__nested_webpack_require_381207__.nc=void 0;var __nested_webpack_exports__={};for(var __webpack_i__ in(()=>{\"use strict\";__nested_webpack_require_381207__.r(__nested_webpack_exports__),__nested_webpack_require_381207__.d(__nested_webpack_exports__,{dispatcher:()=>aH,renderAppDevOverlay:()=>aW,renderPagesDevOverlay:()=>a$});var e,n,t,r=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\"),o=__nested_webpack_require_381207__.n(r),a=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/styleDomAPI.js\"),i=__nested_webpack_require_381207__.n(a),l=__nested_webpack_require_381207__(\"./src/build/webpack/loaders/devtool/devtool-style-inject.js\"),s=__nested_webpack_require_381207__.n(l),c=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\"),u=__nested_webpack_require_381207__.n(c),d=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/insertStyleElement.js\"),f=__nested_webpack_require_381207__.n(d),p=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/style-loader@4.0.0_webpack@5.98.0_@swc+core@1.11.24_@swc+helpers@0.5.15__esbuild@0.24.2_/node_modules/style-loader/dist/runtime/styleTagTransform.js\"),h=__nested_webpack_require_381207__.n(p),g=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/global.css\"),m={};m.styleTagTransform=h(),m.setAttributes=u(),m.insert=s(),m.domAPI=i(),m.insertStyleElement=f(),o()(g.Z,m),g.Z&&g.Z.locals&&g.Z.locals;var v=__nested_webpack_require_381207__(\"../../node_modules/.pnpm/css-loader@7.1.2_@rspack+core@1.4.5_@swc+helpers@0.5.15__webpack@5.98.0_@swc+core@1.11.24_@sw_wm7ee5ic4mofrhisudwon4qpq4/node_modules/css-loader/dist/cjs.js!./src/next-devtools/dev-overlay/components/toast/style.css\"),b={};b.styleTagTransform=h(),b.setAttributes=u(),b.insert=s(),b.domAPI=i(),b.insertStyleElement=f(),o()(v.Z,b),v.Z&&v.Z.locals&&v.Z.locals;var y=__nested_webpack_require_381207__(\"./dist/compiled/react/jsx-runtime.js\"),x=__nested_webpack_require_381207__(\"./dist/compiled/react/index.js\");function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t1?n-1:0),r=1;re.length)&&(n=e.length);for(var t=0,r=Array(n);t0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]\"!==e.file&&(null!=e.column?t+=\" (\".concat(e.lineNumber,\":\").concat(e.column,\")\"):t+=\" (\".concat(e.lineNumber,\")\")),t}function eE(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.file,t=e.lineNumber,r=e.column;return(0,x.useCallback)(function(){if(null!=n&&null!=t&&null!=r){var e=new URLSearchParams;e.append(\"file\",n),e.append(\"lineNumber\",String(t)),e.append(\"column\",String(r)),self.fetch(\"\".concat( false||\"\",\"/__nextjs_launch-editor?\").concat(e.toString())).then(function(){},function(e){console.error('Failed to open file \"'.concat(n,\" (\").concat(t,\":\").concat(r,')\" in your editor. Cause:'),e)})}},[n,t,r])}function e_(e){for(var n=1;n0&&t.push(r),t})((n=(e=r.split(/\\r?\\n/g)).map(function(e){return null===/^>? +\\d+ +\\| [ ]+/.exec(eU()(e))?null:/^>? +\\d+ +\\| ( *)/.exec(eU()(e))}).filter(Boolean).map(function(e){return e.pop()}).reduce(function(e,n){return isNaN(e)?n.length:Math.min(e,n.length)},NaN))>1?e.map(function(e,t){return~(t=e.indexOf(\"|\"))?e.substring(0,t)+e.substring(t).replace(\"^\\\\ {\".concat(n,\"}\"),\"\"):e}).join(\"\\n\"):e.join(\"\\n\")).map(function(e){var n,r,o,a,i,l,s,c,u;return{line:e,parsedLine:(n=e,r=t,((null==(o=n[0])?void 0:o.content)===\">\"||(null==(a=n[0])?void 0:a.content)===\" \")&&(s=null==(l=n[1])||null==(u=l.content)||null==(c=u.replace(\"|\",\"\"))?void 0:c.trim()),{lineNumber:s,isErroredLine:s===(null==(i=r.lineNumber)?void 0:i.toString())})}})},[r,t]),a=eE({file:t.file,lineNumber:t.lineNumber,column:t.column}),i=null==t||null==(n=t.file)?void 0:n.split(\".\").pop();return(0,y.jsxs)(\"div\",{\"data-nextjs-codeframe\":!0,children:[(0,y.jsx)(\"div\",{className:\"code-frame-header\",children:(0,y.jsxs)(\"p\",{className:\"code-frame-link\",children:[(0,y.jsx)(\"span\",{className:\"code-frame-icon\",children:(0,y.jsx)(eT,{lang:i})}),(0,y.jsxs)(\"span\",{\"data-text\":!0,children:[eS(t),\" @\",\" \",(0,y.jsx)(eb,{text:t.methodName})]}),(0,y.jsx)(\"button\",{\"aria-label\":\"Open in editor\",\"data-with-open-in-editor-link-source-file\":!0,onClick:a,children:(0,y.jsx)(\"span\",{className:\"code-frame-icon\",\"data-icon\":\"right\",children:(0,y.jsx)(ez,{width:16,height:16})})})]})}),(0,y.jsx)(\"pre\",{className:\"code-frame-pre\",children:(0,y.jsx)(\"div\",{className:\"code-frame-lines\",children:o.map(function(e,n){var t,r,o=e.line,a=e.parsedLine,i=a.lineNumber,l=a.isErroredLine,s={};return i&&(s[\"data-nextjs-codeframe-line\"]=i),l&&(s[\"data-nextjs-codeframe-line--errored\"]=!0),(0,y.jsx)(\"div\",(t=eV({},s),r=r={children:o.map(function(e,n){return(0,y.jsx)(\"span\",{style:eV({color:e.fg?\"var(--color-\".concat(e.fg,\")\"):void 0},\"bold\"===e.decoration?{fontWeight:500}:\"italic\"===e.decoration?{fontStyle:\"italic\"}:void 0),children:e.content},\"frame-\".concat(n))})},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t),\"line-\".concat(n))})})})]})}function eW(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,[\"children\",\"className\",\"onClose\",\"aria-labelledby\",\"aria-describedby\",\"dialogResizerRef\"])),h=x.useRef(null),g=(n=x.useState(\"undefined\"!=typeof document&&document.hasFocus()?\"dialog\":void 0),t=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t,r,o=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=o){var a=[],i=!0,l=!1;try{for(o=o.call(e);!(i=(t=o.next()).done)&&(a.push(t.value),a.length!==n);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==o.return||o.return()}finally{if(l)throw r}}return a}}(n,2)||function(e,n){if(e){if(\"string\"==typeof e)return eW(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if(\"Object\"===t&&e.constructor&&(t=e.constructor.name),\"Map\"===t||\"Set\"===t)return Array.from(t);if(\"Arguments\"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return eW(e,n)}}(n,t)||function(){throw TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()),m=g[0],v=g[1];return r=h.current,o=e$,a=function(e){return e.preventDefault(),null==u?void 0:u()},x.useEffect(function(){if(null!=r&&null!=a){var e=function(e){!(!r||r.contains(e.target))&&(o.some(function(n){return e.target.closest(n)})||a(e))},n=r.getRootNode();return n.addEventListener(\"mouseup\",e),n.addEventListener(\"touchend\",e,{passive:!1}),function(){n.removeEventListener(\"mouseup\",e),n.removeEventListener(\"touchend\",e)}}},[a,r,o]),x.useEffect(function(){var e=function(){v(document.hasFocus()?\"dialog\":void 0)};if(null!=h.current)return window.addEventListener(\"focus\",e),window.addEventListener(\"blur\",e),function(){window.removeEventListener(\"focus\",e),window.removeEventListener(\"blur\",e)}},[]),x.useEffect(function(){var e,n,t=h.current,r=null==t?void 0:t.getRootNode(),o=(e=r,null!=(n=ShadowRoot)&&\"undefined\"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n)?null==r?void 0:r.activeElement:null;return null==t||t.focus(),function(){null==t||t.blur(),null==o||o.focus()}},[]),(0,y.jsx)(\"div\",(i=function(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,[\"children\",\"className\"]);return(0,y.jsx)(\"div\",(n=function(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}(e,[\"children\",\"className\"]);return(0,y.jsx)(\"div\",(n=function(e){for(var n=1;n