Files
e-tib.com/.next/dev/server/vendor-chunks/@formatjs+icu-messageformat-parser@3.5.3.js
Marc Mintel d14122005d Initial commit: E-TIB production hardening & E2E foundation
Former-commit-id: ef04fca3d76375630c05aac117bf586953f3b657
2026-04-28 19:11:38 +02:00

175 lines
368 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
exports.id = "vendor-chunks/@formatjs+icu-messageformat-parser@3.5.3";
exports.ids = ["vendor-chunks/@formatjs+icu-messageformat-parser@3.5.3"];
exports.modules = {
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js":
/*!****************************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js ***!
\****************************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBestPattern: () => (/* binding */ getBestPattern)\n/* harmony export */ });\n/* harmony import */ var _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time-data.generated.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js\");\n\n/**\n* Returns the best matching date time pattern if a date time skeleton\n* pattern is provided with a locale. Follows the Unicode specification:\n* https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n* @param skeleton date time skeleton pattern that possibly includes j, J or C\n* @param locale\n*/\nfunction getBestPattern(skeleton, locale) {\n\tlet skeletonCopy = \"\";\n\tfor (let patternPos = 0; patternPos < skeleton.length; patternPos++) {\n\t\tconst patternChar = skeleton.charAt(patternPos);\n\t\tif (patternChar === \"j\") {\n\t\t\tlet extraLength = 0;\n\t\t\twhile (patternPos + 1 < skeleton.length && skeleton.charAt(patternPos + 1) === patternChar) {\n\t\t\t\textraLength++;\n\t\t\t\tpatternPos++;\n\t\t\t}\n\t\t\tlet hourLen = 1 + (extraLength & 1);\n\t\t\tlet dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n\t\t\tlet dayPeriodChar = \"a\";\n\t\t\tlet hourChar = getDefaultHourSymbolFromLocale(locale);\n\t\t\tif (hourChar == \"H\" || hourChar == \"k\") {\n\t\t\t\tdayPeriodLen = 0;\n\t\t\t}\n\t\t\twhile (dayPeriodLen-- > 0) {\n\t\t\t\tskeletonCopy += dayPeriodChar;\n\t\t\t}\n\t\t\twhile (hourLen-- > 0) {\n\t\t\t\tskeletonCopy = hourChar + skeletonCopy;\n\t\t\t}\n\t\t} else if (patternChar === \"J\") {\n\t\t\tskeletonCopy += \"H\";\n\t\t} else {\n\t\t\tskeletonCopy += patternChar;\n\t\t}\n\t}\n\treturn skeletonCopy;\n}\n/**\n* Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n* of the given `locale` to the corresponding time pattern.\n* @param locale\n*/\nfunction getDefaultHourSymbolFromLocale(locale) {\n\tlet hourCycle = locale.hourCycle;\n\tif (hourCycle === undefined && locale.hourCycles && locale.hourCycles.length) {\n\t\t// @ts-ignore\n\t\thourCycle = locale.hourCycles[0];\n\t}\n\tif (hourCycle) {\n\t\tswitch (hourCycle) {\n\t\t\tcase \"h24\": return \"k\";\n\t\t\tcase \"h23\": return \"H\";\n\t\t\tcase \"h12\": return \"h\";\n\t\t\tcase \"h11\": return \"K\";\n\t\t\tdefault: throw new Error(\"Invalid hourCycle\");\n\t\t}\n\t}\n\t// TODO: Once hourCycle is fully supported remove the following with data generation\n\tconst languageTag = locale.language;\n\tlet regionTag;\n\tif (languageTag !== \"root\") {\n\t\tregionTag = locale.maximize().region;\n\t}\n\tconst hourCycles = _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[regionTag || \"\"] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[languageTag || \"\"] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[`${languageTag}-001`] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[\"001\"];\n\treturn hourCycles[0];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9kYXRlLXRpbWUtcGF0dGVybi1nZW5lcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsMEJBQTBCLDhCQUE4QjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZEQUFRLHFCQUFxQiw2REFBUSx1QkFBdUIsNkRBQVEsSUFBSSxZQUFZLFVBQVUsNkRBQVE7QUFDMUg7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2RhdGUtdGltZS1wYXR0ZXJuLWdlbmVyYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aW1lRGF0YSB9IGZyb20gXCIuL3RpbWUtZGF0YS5nZW5lcmF0ZWQuanNcIjtcbi8qKlxuKiBSZXR1cm5zIHRoZSBiZXN0IG1hdGNoaW5nIGRhdGUgdGltZSBwYXR0ZXJuIGlmIGEgZGF0ZSB0aW1lIHNrZWxldG9uXG4qIHBhdHRlcm4gaXMgcHJvdmlkZWQgd2l0aCBhIGxvY2FsZS4gRm9sbG93cyB0aGUgVW5pY29kZSBzcGVjaWZpY2F0aW9uOlxuKiBodHRwczovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvdHIzNS1kYXRlcy5odG1sI3RhYmxlLW1hcHBpbmctcmVxdWVzdGVkLXRpbWUtc2tlbGV0b25zLXRvLXBhdHRlcm5zXG4qIEBwYXJhbSBza2VsZXRvbiBkYXRlIHRpbWUgc2tlbGV0b24gcGF0dGVybiB0aGF0IHBvc3NpYmx5IGluY2x1ZGVzIGosIEogb3IgQ1xuKiBAcGFyYW0gbG9jYWxlXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJlc3RQYXR0ZXJuKHNrZWxldG9uLCBsb2NhbGUpIHtcblx0bGV0IHNrZWxldG9uQ29weSA9IFwiXCI7XG5cdGZvciAobGV0IHBhdHRlcm5Qb3MgPSAwOyBwYXR0ZXJuUG9zIDwgc2tlbGV0b24ubGVuZ3RoOyBwYXR0ZXJuUG9zKyspIHtcblx0XHRjb25zdCBwYXR0ZXJuQ2hhciA9IHNrZWxldG9uLmNoYXJBdChwYXR0ZXJuUG9zKTtcblx0XHRpZiAocGF0dGVybkNoYXIgPT09IFwialwiKSB7XG5cdFx0XHRsZXQgZXh0cmFMZW5ndGggPSAwO1xuXHRcdFx0d2hpbGUgKHBhdHRlcm5Qb3MgKyAxIDwgc2tlbGV0b24ubGVuZ3RoICYmIHNrZWxldG9uLmNoYXJBdChwYXR0ZXJuUG9zICsgMSkgPT09IHBhdHRlcm5DaGFyKSB7XG5cdFx0XHRcdGV4dHJhTGVuZ3RoKys7XG5cdFx0XHRcdHBhdHRlcm5Qb3MrKztcblx0XHRcdH1cblx0XHRcdGxldCBob3VyTGVuID0gMSArIChleHRyYUxlbmd0aCAmIDEpO1xuXHRcdFx0bGV0IGRheVBlcmlvZExlbiA9IGV4dHJhTGVuZ3RoIDwgMiA/IDEgOiAzICsgKGV4dHJhTGVuZ3RoID4+IDEpO1xuXHRcdFx0bGV0IGRheVBlcmlvZENoYXIgPSBcImFcIjtcblx0XHRcdGxldCBob3VyQ2hhciA9IGdldERlZmF1bHRIb3VyU3ltYm9sRnJvbUxvY2FsZShsb2NhbGUpO1xuXHRcdFx0aWYgKGhvdXJDaGFyID09IFwiSFwiIHx8IGhvdXJDaGFyID09IFwia1wiKSB7XG5cdFx0XHRcdGRheVBlcmlvZExlbiA9IDA7XG5cdFx0XHR9XG5cdFx0XHR3aGlsZSAoZGF5UGVyaW9kTGVuLS0gPiAwKSB7XG5cdFx0XHRcdHNrZWxldG9uQ29weSArPSBkYXlQZXJpb2RDaGFyO1xuXHRcdFx0fVxuXHRcdFx0d2hpbGUgKGhvdXJMZW4tLSA+IDApIHtcblx0XHRcdFx0c2tlbGV0b25Db3B5ID0gaG91ckNoYXIgKyBza2VsZXRvbkNvcHk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChwYXR0ZXJuQ2hhciA9PT0gXCJKXCIpIHtcblx0XHRcdHNrZWxldG9uQ29weSArPSBcIkhcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c2tlbGV0b25Db3B5ICs9IHBhdHRlcm5DaGFyO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gc2tlbGV0b25Db3B5O1xufVxuLyoqXG4qIE1hcHMgdGhlIFtob3VyIGN5Y2xlIHR5cGVdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTG9jYWxlL2hvdXJDeWNsZSlcbiogb2YgdGhlIGdpdmVuIGBsb2NhbGVgIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRpbWUgcGF0dGVybi5cbiogQHBhcmFtIGxvY2FsZVxuKi9cbmZ1bmN0aW9uIGdldERlZmF1bHRIb3VyU3ltYm9sRnJvbUxvY2FsZShsb2NhbGUpIHtcblx0bGV0IGhvdXJDeWNsZSA9IGxvY2FsZS5ob3VyQ3ljbGU7XG5cdGlmIChob3VyQ3ljbGUgPT09IHVuZGVmaW5lZCAmJiBsb2NhbGUuaG91ckN5Y2xlcyAmJiBsb2NhbGUuaG91ckN5Y2xlcy5sZW5ndGgpIHtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0aG91ckN5Y2xlID0gbG9jYWxlLmhvdXJDeWNsZXNbMF07XG5cdH1cblx0aWYgKGhvdXJDeWNsZSkge1xuXHRcdHN3aXRjaCAoaG91ckN5Y2xlKSB7XG5cdFx0XHRjYXNlIFwiaDI0XCI6IHJldHVybiBcImtcIjtcblx0XHRcdGNhc2UgXCJoMjNcIjogcmV0dXJuIFwiSFwiO1xuXHRcdFx0Y2FzZSBcImgxMlwiOiByZXR1cm4gXCJoXCI7XG5cdFx0XHRjYXNlIFwiaDExXCI6IHJldHVybiBcIktcIjtcblx0XHRcdGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgaG91ckN5Y2xlXCIpO1xuXHRcdH1cblx0fVxuXHQvLyBUT0RPOiBPbmNlIGhvdXJDeWNsZSBpcyBmdWxseSBzdXBwb3J0ZWQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgd2l0aCBkYXRhIGdlbmVyYXRpb25cblx0Y29uc3QgbGFuZ3VhZ2VUYWcgPSBsb2NhbGUubGFuZ3VhZ2U7XG5cdGxldCByZWdpb25UYWc7XG5cdGlmIChsYW5ndWFnZVRhZyAhPT0gXCJyb290XCIpIHtcblx0XHRyZWdpb25UYWcgPSBsb2NhbGUubWF4aW1pemUoKS5yZWdpb247XG5cdH1cblx0Y29uc3QgaG91ckN5Y2xlcyA9IHRpbWVEYXRhW3JlZ2lvblRhZyB8fCBcIlwiXSB8fCB0aW1lRGF0YVtsYW5ndWFnZVRhZyB8fCBcIlwiXSB8fCB0aW1lRGF0YVtgJHtsYW5ndWFnZVRhZ30tMDAxYF0gfHwgdGltZURhdGFbXCIwMDFcIl07XG5cdHJldHVybiBob3VyQ3ljbGVzWzBdO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js ***!
\******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ErrorKind: () => (/* binding */ ErrorKind)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n\nlet ErrorKind = /* @__PURE__ */ function(ErrorKind) {\n\t/** Argument is unclosed (e.g. `{0`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n\t/** Argument is empty (e.g. `{}`). */\n\tErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n\t/** Argument is malformed (e.g. `{foo!}``) */\n\tErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n\t/** Expect an argument type (e.g. `{foo,}`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n\t/** Unsupported argument type (e.g. `{foo,foo}`) */\n\tErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n\t/** Expect an argument style (e.g. `{foo, number, }`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n\t/** The number skeleton is invalid. */\n\tErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n\t/** The date time skeleton is invalid. */\n\tErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n\t/** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n\tErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n\t/** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n\tErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n\t/** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n\tErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n\t/** Missing select argument options (e.g. `{foo, select}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n\t/** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n\t/** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n\tErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n\t/** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n\t/** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n\t/** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n\t/**\n\t* Expecting a message fragment after the `plural` or `selectordinal` selector\n\t* (e.g. `{foo, plural, one}`)\n\t*/\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n\t/** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n\tErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n\t/**\n\t* Duplicate selectors in `plural` or `selectordinal` argument.\n\t* (e.g. {foo, plural, one {#} one {#}})\n\t*/\n\tErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n\t/** Duplicate selectors in `select` argument.\n\t* (e.g. {foo, select, apple {apple} apple {apple}})\n\t*/\n\tErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n\t/** Plural or select argument option must have `other` clause. */\n\tErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n\t/** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n\tErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n\t/** The tag name is invalid. (e.g. `<123>foo</123>`) */\n\tErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n\t/** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n\tErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n\t/** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n\tErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n\treturn ErrorKind;\n}({});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFvQjtBQUNiO0FBQ1Asa0NBQWtDO0FBQ2xDO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0EsbUNBQW1DLEtBQUs7QUFDeEM7QUFDQSxxQ0FBcUMsS0FBSztBQUMxQztBQUNBLHVDQUF1QyxRQUFRO0FBQy9DO0FBQ0Esc0NBQXNDLGNBQWM7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxnQkFBZ0I7QUFDekU7QUFDQSw0REFBNEQsY0FBYztBQUMxRTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBLDZDQUE2QyxZQUFZO0FBQ3pEO0FBQ0EsOEVBQThFLG9CQUFvQjtBQUNsRztBQUNBLG9FQUFvRSx1QkFBdUI7QUFDM0Y7QUFDQSxzREFBc0QsWUFBWTtBQUNsRTtBQUNBLHlFQUF5RSxZQUFZO0FBQ3JGO0FBQ0Esc0VBQXNFLG1CQUFtQjtBQUN6RjtBQUNBO0FBQ0E7QUFDQSxXQUFXLGlCQUFpQjtBQUM1QjtBQUNBO0FBQ0Esa0VBQWtFLGlCQUFpQixHQUFHO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBLFVBQVUsa0JBQWtCLEdBQUcsS0FBSyxHQUFHO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLFVBQVUsb0JBQW9CLE9BQU8sT0FBTyxPQUFPO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi90eXBlcy5qc1wiO1xuZXhwb3J0IGxldCBFcnJvcktpbmQgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oRXJyb3JLaW5kKSB7XG5cdC8qKiBBcmd1bWVudCBpcyB1bmNsb3NlZCAoZS5nLiBgezBgKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0VcIl0gPSAxXSA9IFwiRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0VcIjtcblx0LyoqIEFyZ3VtZW50IGlzIGVtcHR5IChlLmcuIGB7fWApLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRU1QVFlfQVJHVU1FTlRcIl0gPSAyXSA9IFwiRU1QVFlfQVJHVU1FTlRcIjtcblx0LyoqIEFyZ3VtZW50IGlzIG1hbGZvcm1lZCAoZS5nLiBge2ZvbyF9YGApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJNQUxGT1JNRURfQVJHVU1FTlRcIl0gPSAzXSA9IFwiTUFMRk9STUVEX0FSR1VNRU5UXCI7XG5cdC8qKiBFeHBlY3QgYW4gYXJndW1lbnQgdHlwZSAoZS5nLiBge2Zvbyx9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9BUkdVTUVOVF9UWVBFXCJdID0gNF0gPSBcIkVYUEVDVF9BUkdVTUVOVF9UWVBFXCI7XG5cdC8qKiBVbnN1cHBvcnRlZCBhcmd1bWVudCB0eXBlIChlLmcuIGB7Zm9vLGZvb31gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9BUkdVTUVOVF9UWVBFXCJdID0gNV0gPSBcIklOVkFMSURfQVJHVU1FTlRfVFlQRVwiO1xuXHQvKiogRXhwZWN0IGFuIGFyZ3VtZW50IHN0eWxlIChlLmcuIGB7Zm9vLCBudW1iZXIsIH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX0FSR1VNRU5UX1NUWUxFXCJdID0gNl0gPSBcIkVYUEVDVF9BUkdVTUVOVF9TVFlMRVwiO1xuXHQvKiogVGhlIG51bWJlciBza2VsZXRvbiBpcyBpbnZhbGlkLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9OVU1CRVJfU0tFTEVUT05cIl0gPSA3XSA9IFwiSU5WQUxJRF9OVU1CRVJfU0tFTEVUT05cIjtcblx0LyoqIFRoZSBkYXRlIHRpbWUgc2tlbGV0b24gaXMgaW52YWxpZC4gKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIklOVkFMSURfREFURV9USU1FX1NLRUxFVE9OXCJdID0gOF0gPSBcIklOVkFMSURfREFURV9USU1FX1NLRUxFVE9OXCI7XG5cdC8qKiBFeGVwY3QgYSBudW1iZXIgc2tlbGV0b24gZm9sbG93aW5nIHRoZSBgOjpgIChlLmcuIGB7Zm9vLCBudW1iZXIsIDo6fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfTlVNQkVSX1NLRUxFVE9OXCJdID0gOV0gPSBcIkVYUEVDVF9OVU1CRVJfU0tFTEVUT05cIjtcblx0LyoqIEV4ZXBjdCBhIGRhdGUgdGltZSBza2VsZXRvbiBmb2xsb3dpbmcgdGhlIGA6OmAgKGUuZy4gYHtmb28sIGRhdGUsIDo6fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfREFURV9USU1FX1NLRUxFVE9OXCJdID0gMTBdID0gXCJFWFBFQ1RfREFURV9USU1FX1NLRUxFVE9OXCI7XG5cdC8qKiBVbm1hdGNoZWQgYXBvc3Ryb3BoZXMgaW4gdGhlIGFyZ3VtZW50IHN0eWxlIChlLmcuIGB7Zm9vLCBudW1iZXIsICd0ZXN0YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIlVOQ0xPU0VEX1FVT1RFX0lOX0FSR1VNRU5UX1NUWUxFXCJdID0gMTFdID0gXCJVTkNMT1NFRF9RVU9URV9JTl9BUkdVTUVOVF9TVFlMRVwiO1xuXHQvKiogTWlzc2luZyBzZWxlY3QgYXJndW1lbnQgb3B0aW9ucyAoZS5nLiBge2Zvbywgc2VsZWN0fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfU0VMRUNUX0FSR1VNRU5UX09QVElPTlNcIl0gPSAxMl0gPSBcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfT1BUSU9OU1wiO1xuXHQvKiogRXhwZWN0aW5nIGFuIG9mZnNldCB2YWx1ZSBpbiBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgYXJndW1lbnQgKGUuZyBge2ZvbywgcGx1cmFsLCBvZmZzZXR9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFXCJdID0gMTNdID0gXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRVwiO1xuXHQvKiogT2Zmc2V0IHZhbHVlIGluIGBwbHVyYWxgIG9yIGBzZWxlY3RvcmRpbmFsYCBpcyBpbnZhbGlkIChlLmcuIGB7Zm9vLCBwbHVyYWwsIG9mZnNldDogeH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFXCJdID0gMTRdID0gXCJJTlZBTElEX1BMVVJBTF9BUkdVTUVOVF9PRkZTRVRfVkFMVUVcIjtcblx0LyoqIEV4cGVjdGluZyBhIHNlbGVjdG9yIGluIGBzZWxlY3RgIGFyZ3VtZW50IChlLmcgYHtmb28sIHNlbGVjdH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDE1XSA9IFwiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogRXhwZWN0aW5nIGEgc2VsZWN0b3IgaW4gYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIGFyZ3VtZW50IChlLmcgYHtmb28sIHBsdXJhbH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDE2XSA9IFwiRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogRXhwZWN0aW5nIGEgbWVzc2FnZSBmcmFnbWVudCBhZnRlciB0aGUgYHNlbGVjdGAgc2VsZWN0b3IgKGUuZy4gYHtmb28sIHNlbGVjdCwgYXBwbGV9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlRcIl0gPSAxN10gPSBcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlRcIjtcblx0LyoqXG5cdCogRXhwZWN0aW5nIGEgbWVzc2FnZSBmcmFnbWVudCBhZnRlciB0aGUgYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIHNlbGVjdG9yXG5cdCogKGUuZy4gYHtmb28sIHBsdXJhbCwgb25lfWApXG5cdCovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SX0ZSQUdNRU5UXCJdID0gMThdID0gXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SX0ZSQUdNRU5UXCI7XG5cdC8qKiBTZWxlY3RvciBpbiBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgaXMgbWFsZm9ybWVkIChlLmcuIGB7Zm9vLCBwbHVyYWwsID14IHsjfX1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIl0gPSAxOV0gPSBcIklOVkFMSURfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SXCI7XG5cdC8qKlxuXHQqIER1cGxpY2F0ZSBzZWxlY3RvcnMgaW4gYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIGFyZ3VtZW50LlxuXHQqIChlLmcuIHtmb28sIHBsdXJhbCwgb25lIHsjfSBvbmUgeyN9fSlcblx0Ki9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkRVUExJQ0FURV9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIl0gPSAyMF0gPSBcIkRVUExJQ0FURV9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIjtcblx0LyoqIER1cGxpY2F0ZSBzZWxlY3RvcnMgaW4gYHNlbGVjdGAgYXJndW1lbnQuXG5cdCogKGUuZy4ge2Zvbywgc2VsZWN0LCBhcHBsZSB7YXBwbGV9IGFwcGxlIHthcHBsZX19KVxuXHQqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRFVQTElDQVRFX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDIxXSA9IFwiRFVQTElDQVRFX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogUGx1cmFsIG9yIHNlbGVjdCBhcmd1bWVudCBvcHRpb24gbXVzdCBoYXZlIGBvdGhlcmAgY2xhdXNlLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiTUlTU0lOR19PVEhFUl9DTEFVU0VcIl0gPSAyMl0gPSBcIk1JU1NJTkdfT1RIRVJfQ0xBVVNFXCI7XG5cdC8qKiBUaGUgdGFnIGlzIG1hbGZvcm1lZC4gKGUuZy4gYDxib2xkIT5mb288L2JvbGQhPikgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIklOVkFMSURfVEFHXCJdID0gMjNdID0gXCJJTlZBTElEX1RBR1wiO1xuXHQvKiogVGhlIHRhZyBuYW1lIGlzIGludmFsaWQuIChlLmcuIGA8MTIzPmZvbzwvMTIzPmApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJJTlZBTElEX1RBR19OQU1FXCJdID0gMjVdID0gXCJJTlZBTElEX1RBR19OQU1FXCI7XG5cdC8qKiBUaGUgY2xvc2luZyB0YWcgZG9lcyBub3QgbWF0Y2ggdGhlIG9wZW5pbmcgdGFnLiAoZS5nLiBgPGJvbGQ+Zm9vPC9pdGFsaWM+YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIlVOTUFUQ0hFRF9DTE9TSU5HX1RBR1wiXSA9IDI2XSA9IFwiVU5NQVRDSEVEX0NMT1NJTkdfVEFHXCI7XG5cdC8qKiBUaGUgb3BlbmluZyB0YWcgaGFzIHVubWF0Y2hlZCBjbG9zaW5nIHRhZy4gKGUuZy4gYDxib2xkPmZvb2ApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJVTkNMT1NFRF9UQUdcIl0gPSAyN10gPSBcIlVOQ0xPU0VEX1RBR1wiO1xuXHRyZXR1cm4gRXJyb3JLaW5kO1xufSh7fSk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js ***!
\******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SKELETON_TYPE: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.SKELETON_TYPE),\n/* harmony export */ TYPE: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.TYPE),\n/* harmony export */ _Parser: () => (/* binding */ _Parser),\n/* harmony export */ createLiteralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.createLiteralElement),\n/* harmony export */ createNumberElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.createNumberElement),\n/* harmony export */ isArgumentElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isArgumentElement),\n/* harmony export */ isDateElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isDateElement),\n/* harmony export */ isDateTimeSkeleton: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isDateTimeSkeleton),\n/* harmony export */ isLiteralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isLiteralElement),\n/* harmony export */ isNumberElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberElement),\n/* harmony export */ isNumberSkeleton: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberSkeleton),\n/* harmony export */ isPluralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isPluralElement),\n/* harmony export */ isPoundElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isPoundElement),\n/* harmony export */ isSelectElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isSelectElement),\n/* harmony export */ isStructurallySame: () => (/* reexport safe */ _manipulator_js__WEBPACK_IMPORTED_MODULE_3__.isStructurallySame),\n/* harmony export */ isTagElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isTagElement),\n/* harmony export */ isTimeElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isTimeElement),\n/* harmony export */ parse: () => (/* binding */ parse)\n/* harmony export */ });\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\");\n/* harmony import */ var _parser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n/* harmony import */ var _manipulator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./manipulator.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js\");\n\n\n\nfunction pruneLocation(els) {\n\tels.forEach((el) => {\n\t\tdelete el.location;\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isSelectElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isPluralElement)(el)) {\n\t\t\tfor (const k in el.options) {\n\t\t\t\tdelete el.options[k].location;\n\t\t\t\tpruneLocation(el.options[k].value);\n\t\t\t}\n\t\t} else if ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberElement)(el) && (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberSkeleton)(el.style)) {\n\t\t\tdelete el.style.location;\n\t\t} else if (((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isDateElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isTimeElement)(el)) && (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isDateTimeSkeleton)(el.style)) {\n\t\t\tdelete el.style.location;\n\t\t} else if ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isTagElement)(el)) {\n\t\t\tpruneLocation(el.children);\n\t\t}\n\t});\n}\nfunction parse(message, opts = {}) {\n\topts = {\n\t\tshouldParseSkeletons: true,\n\t\trequiresOtherClause: true,\n\t\t...opts\n\t};\n\tconst result = new _parser_js__WEBPACK_IMPORTED_MODULE_1__.Parser(message, opts).parse();\n\tif (result.err) {\n\t\tconst error = SyntaxError(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind[result.err.kind]);\n\t\t// @ts-expect-error Assign to error object\n\t\terror.location = result.err.location;\n\t\t// @ts-expect-error Assign to error object\n\t\terror.originalMessage = result.err.message;\n\t\tthrow error;\n\t}\n\tif (!opts?.captureLocation) {\n\t\tpruneLocation(result.val);\n\t}\n\treturn result.val;\n}\n\n// only for testing\nconst _Parser = _parser_js__WEBPACK_IMPORTED_MODULE_1__.Parser;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVDO0FBQ0Y7QUFDNEg7QUFDaks7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwREFBZSxRQUFRLDBEQUFlO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLDBEQUFlLFFBQVEsMkRBQWdCO0FBQ3BEO0FBQ0EsSUFBSSxVQUFVLHdEQUFhLFFBQVEsd0RBQWEsU0FBUyw2REFBa0I7QUFDM0U7QUFDQSxJQUFJLFNBQVMsdURBQVk7QUFDekI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNPLGlDQUFpQztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUFNO0FBQzFCO0FBQ0EsNEJBQTRCLGdEQUFTO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDMkI7QUFDM0I7QUFDTyxnQkFBZ0IsOENBQU07QUFDeUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvcktpbmQgfSBmcm9tIFwiLi9lcnJvci5qc1wiO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSBcIi4vcGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBpc0RhdGVFbGVtZW50LCBpc0RhdGVUaW1lU2tlbGV0b24sIGlzTnVtYmVyRWxlbWVudCwgaXNOdW1iZXJTa2VsZXRvbiwgaXNQbHVyYWxFbGVtZW50LCBpc1NlbGVjdEVsZW1lbnQsIGlzVGFnRWxlbWVudCwgaXNUaW1lRWxlbWVudCB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5mdW5jdGlvbiBwcnVuZUxvY2F0aW9uKGVscykge1xuXHRlbHMuZm9yRWFjaCgoZWwpID0+IHtcblx0XHRkZWxldGUgZWwubG9jYXRpb247XG5cdFx0aWYgKGlzU2VsZWN0RWxlbWVudChlbCkgfHwgaXNQbHVyYWxFbGVtZW50KGVsKSkge1xuXHRcdFx0Zm9yIChjb25zdCBrIGluIGVsLm9wdGlvbnMpIHtcblx0XHRcdFx0ZGVsZXRlIGVsLm9wdGlvbnNba10ubG9jYXRpb247XG5cdFx0XHRcdHBydW5lTG9jYXRpb24oZWwub3B0aW9uc1trXS52YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChpc051bWJlckVsZW1lbnQoZWwpICYmIGlzTnVtYmVyU2tlbGV0b24oZWwuc3R5bGUpKSB7XG5cdFx0XHRkZWxldGUgZWwuc3R5bGUubG9jYXRpb247XG5cdFx0fSBlbHNlIGlmICgoaXNEYXRlRWxlbWVudChlbCkgfHwgaXNUaW1lRWxlbWVudChlbCkpICYmIGlzRGF0ZVRpbWVTa2VsZXRvbihlbC5zdHlsZSkpIHtcblx0XHRcdGRlbGV0ZSBlbC5zdHlsZS5sb2NhdGlvbjtcblx0XHR9IGVsc2UgaWYgKGlzVGFnRWxlbWVudChlbCkpIHtcblx0XHRcdHBydW5lTG9jYXRpb24oZWwuY2hpbGRyZW4pO1xuXHRcdH1cblx0fSk7XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2UobWVzc2FnZSwgb3B0cyA9IHt9KSB7XG5cdG9wdHMgPSB7XG5cdFx0c2hvdWxkUGFyc2VTa2VsZXRvbnM6IHRydWUsXG5cdFx0cmVxdWlyZXNPdGhlckNsYXVzZTogdHJ1ZSxcblx0XHQuLi5vcHRzXG5cdH07XG5cdGNvbnN0IHJlc3VsdCA9IG5ldyBQYXJzZXIobWVzc2FnZSwgb3B0cykucGFyc2UoKTtcblx0aWYgKHJlc3VsdC5lcnIpIHtcblx0XHRjb25zdCBlcnJvciA9IFN5bnRheEVycm9yKEVycm9yS2luZFtyZXN1bHQuZXJyLmtpbmRdKTtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEFzc2lnbiB0byBlcnJvciBvYmplY3Rcblx0XHRlcnJvci5sb2NhdGlvbiA9IHJlc3VsdC5lcnIubG9jYXRpb247XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBBc3NpZ24gdG8gZXJyb3Igb2JqZWN0XG5cdFx0ZXJyb3Iub3JpZ2luYWxNZXNzYWdlID0gcmVzdWx0LmVyci5tZXNzYWdlO1xuXHRcdHRocm93IGVycm9yO1xuXHR9XG5cdGlmICghb3B0cz8uY2FwdHVyZUxvY2F0aW9uKSB7XG5cdFx0cHJ1bmVMb2NhdGlvbihyZXN1bHQudmFsKTtcblx0fVxuXHRyZXR1cm4gcmVzdWx0LnZhbDtcbn1cbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzLmpzXCI7XG4vLyBvbmx5IGZvciB0ZXN0aW5nXG5leHBvcnQgY29uc3QgX1BhcnNlciA9IFBhcnNlcjtcbmV4cG9ydCB7IGlzU3RydWN0dXJhbGx5U2FtZSB9IGZyb20gXCIuL21hbmlwdWxhdG9yLmpzXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js":
/*!************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js ***!
\************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hoistSelectors: () => (/* binding */ hoistSelectors),\n/* harmony export */ isStructurallySame: () => (/* binding */ isStructurallySame)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n\nfunction cloneDeep(obj) {\n\tif (Array.isArray(obj)) {\n\t\t// @ts-expect-error meh\n\t\treturn obj.map(cloneDeep);\n\t}\n\tif (obj !== null && typeof obj === \"object\") {\n\t\t// @ts-expect-error meh\n\t\treturn Object.keys(obj).reduce((cloned, k) => {\n\t\t\t// @ts-expect-error meh\n\t\t\tcloned[k] = cloneDeep(obj[k]);\n\t\t\treturn cloned;\n\t\t}, {});\n\t}\n\treturn obj;\n}\n/**\n* Replace pound elements with number elements referencing the given variable.\n* This is needed when nesting plurals - the # in the outer plural should become\n* an explicit variable reference when nested inside another plural.\n* GH #4202\n*/\nfunction replacePoundWithArgument(ast, variableName) {\n\treturn ast.map((el) => {\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPoundElement)(el)) {\n\t\t\t// Replace # with {variableName, number}\n\t\t\treturn {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE.number,\n\t\t\t\tvalue: variableName,\n\t\t\t\tstyle: null,\n\t\t\t\tlocation: el.location\n\t\t\t};\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\t// Recursively process options\n\t\t\tconst newOptions = {};\n\t\t\tfor (const key of Object.keys(el.options)) {\n\t\t\t\tnewOptions[key] = { value: replacePoundWithArgument(el.options[key].value, variableName) };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\toptions: newOptions\n\t\t\t};\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\tchildren: replacePoundWithArgument(el.children, variableName)\n\t\t\t};\n\t\t}\n\t\treturn el;\n\t});\n}\nfunction hoistPluralOrSelectElement(ast, el, positionToInject) {\n\t// pull this out of the ast and move it to the top\n\tconst cloned = cloneDeep(el);\n\tconst { options } = cloned;\n\t// GH #4202: Check if there are other plural/select elements after this one\n\tconst afterElements = ast.slice(positionToInject + 1);\n\tconst hasSubsequentPluralOrSelect = afterElements.some(isPluralOrSelectElement);\n\tcloned.options = Object.keys(options).reduce((all, k) => {\n\t\tlet optionValue = options[k].value;\n\t\t// GH #4202: If there are subsequent plurals/selects and this is a plural,\n\t\t// replace # with explicit variable reference to avoid ambiguity\n\t\tif (hasSubsequentPluralOrSelect && (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el)) {\n\t\t\toptionValue = replacePoundWithArgument(optionValue, el.value);\n\t\t}\n\t\tconst newValue = hoistSelectors([\n\t\t\t...ast.slice(0, positionToInject),\n\t\t\t...optionValue,\n\t\t\t...afterElements\n\t\t]);\n\t\tall[k] = { value: newValue };\n\t\treturn all;\n\t}, {});\n\treturn cloned;\n}\nfunction isPluralOrSelectElement(el) {\n\treturn (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el);\n}\nfunction findPluralOrSelectElement(ast) {\n\treturn !!ast.find((el) => {\n\t\tif (isPluralOrSelectElement(el)) {\n\t\t\treturn true;\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\treturn findPluralOrSelectElement(el.children);\n\t\t}\n\t\treturn false;\n\t});\n}\n/**\n* Hoist all selectors to the beginning of the AST & flatten the\n* resulting options. E.g:\n* \"I have {count, plural, one{a dog} other{many dogs}}\"\n* becomes \"{count, plural, one{I have a dog} other{I have many dogs}}\".\n* If there are multiple selectors, the order of which one is hoisted 1st\n* is non-deterministic.\n* The goal is to provide as many full sentences as possible since fragmented\n* sentences are not translator-friendly\n* @param ast AST\n*/\nfunction hoistSelectors(ast) {\n\tfor (let i = 0; i < ast.length; i++) {\n\t\tconst el = ast[i];\n\t\tif (isPluralOrSelectElement(el)) {\n\t\t\treturn [hoistPluralOrSelectElement(ast, el, i)];\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el) && findPluralOrSelectElement([el])) {\n\t\t\tthrow new Error(\"Cannot hoist plural/select within a tag element. Please put the tag element inside each plural/select option\");\n\t\t}\n\t}\n\treturn ast;\n}\n/**\n* Collect all variables in an AST to Record<string, TYPE>\n* @param ast AST to collect variables from\n* @param vars Record of variable name to variable type\n*/\nfunction collectVariables(ast, vars = new Map()) {\n\tast.forEach((el) => {\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isArgumentElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isDateElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTimeElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isNumberElement)(el)) {\n\t\t\tif (el.value in vars && vars.get(el.value) !== el.type) {\n\t\t\t\tthrow new Error(`Variable ${el.value} has conflicting types`);\n\t\t\t}\n\t\t\tvars.set(el.value, el.type);\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\tvars.set(el.value, el.type);\n\t\t\tObject.keys(el.options).forEach((k) => {\n\t\t\t\tcollectVariables(el.options[k].value, vars);\n\t\t\t});\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\tvars.set(el.value, el.type);\n\t\t\tcollectVariables(el.children, vars);\n\t\t}\n\t});\n}\n/**\n* Check if 2 ASTs are structurally the same. This primarily means that\n* they have the same variables with the same type\n* @param a\n* @param b\n* @returns\n*/\nfunction isStructurallySame(a, b) {\n\tconst aVars = new Map();\n\tconst bVars = new Map();\n\tcollectVariables(a, aVars);\n\tcollectVariables(b, bVars);\n\tif (aVars.size !== bVars.size) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(`Different number of variables: [${Array.from(aVars.keys()).join(\", \")}] vs [${Array.from(bVars.keys()).join(\", \")}]`)\n\t\t};\n\t}\n\treturn Array.from(aVars.entries()).reduce((result, [key, type]) => {\n\t\tif (!result.success) {\n\t\t\treturn result;\n\t\t}\n\t\tconst bType = bVars.get(key);\n\t\tif (bType == null) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: new Error(`Missing variable ${key} in message`)\n\t\t\t};\n\t\t}\n\t\tif (bType !== type) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: new Error(`Variable ${key} has conflicting types: ${_types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE[type]} vs ${_types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE[bType]}`)\n\t\t\t};\n\t\t}\n\t\treturn result;\n\t}, { success: true });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9tYW5pcHVsYXRvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBb0s7QUFDcEs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsSUFBSTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHlEQUFjO0FBQ3BCLHNCQUFzQjtBQUN0QjtBQUNBLFVBQVUsMkNBQUk7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwREFBZSxRQUFRLDBEQUFlO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsVUFBVTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQywwREFBZTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEVBQUUsSUFBSTtBQUNOO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMERBQWUsUUFBUSwwREFBZTtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsbUJBQW1CLE9BQU8sTUFBTSxXQUFXO0FBQ3RELFlBQVksbUJBQW1CLGNBQWMsTUFBTSxrQkFBa0I7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxpQkFBaUIsZ0JBQWdCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx1REFBWTtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDREQUFpQixRQUFRLHdEQUFhLFFBQVEsd0RBQWEsUUFBUSwwREFBZTtBQUN4RjtBQUNBLGdDQUFnQyxVQUFVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMERBQWUsUUFBUSwwREFBZTtBQUM1QztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxvQ0FBb0MsUUFBUSxvQ0FBb0M7QUFDdkk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsS0FBSztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLEtBQUsseUJBQXlCLDJDQUFJLFFBQVEsS0FBSywyQ0FBSSxRQUFRO0FBQzVGO0FBQ0E7QUFDQTtBQUNBLEVBQUUsSUFBSSxlQUFlO0FBQ3JCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvbWFuaXB1bGF0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcmd1bWVudEVsZW1lbnQsIGlzRGF0ZUVsZW1lbnQsIGlzTnVtYmVyRWxlbWVudCwgaXNQbHVyYWxFbGVtZW50LCBpc1BvdW5kRWxlbWVudCwgaXNTZWxlY3RFbGVtZW50LCBpc1RhZ0VsZW1lbnQsIGlzVGltZUVsZW1lbnQsIFRZUEUgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuZnVuY3Rpb24gY2xvbmVEZWVwKG9iaikge1xuXHRpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBtZWhcblx0XHRyZXR1cm4gb2JqLm1hcChjbG9uZURlZXApO1xuXHR9XG5cdGlmIChvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIikge1xuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgbWVoXG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKChjbG9uZWQsIGspID0+IHtcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgbWVoXG5cdFx0XHRjbG9uZWRba10gPSBjbG9uZURlZXAob2JqW2tdKTtcblx0XHRcdHJldHVybiBjbG9uZWQ7XG5cdFx0fSwge30pO1xuXHR9XG5cdHJldHVybiBvYmo7XG59XG4vKipcbiogUmVwbGFjZSBwb3VuZCBlbGVtZW50cyB3aXRoIG51bWJlciBlbGVtZW50cyByZWZlcmVuY2luZyB0aGUgZ2l2ZW4gdmFyaWFibGUuXG4qIFRoaXMgaXMgbmVlZGVkIHdoZW4gbmVzdGluZyBwbHVyYWxzIC0gdGhlICMgaW4gdGhlIG91dGVyIHBsdXJhbCBzaG91bGQgYmVjb21lXG4qIGFuIGV4cGxpY2l0IHZhcmlhYmxlIHJlZmVyZW5jZSB3aGVuIG5lc3RlZCBpbnNpZGUgYW5vdGhlciBwbHVyYWwuXG4qIEdIICM0MjAyXG4qL1xuZnVuY3Rpb24gcmVwbGFjZVBvdW5kV2l0aEFyZ3VtZW50KGFzdCwgdmFyaWFibGVOYW1lKSB7XG5cdHJldHVybiBhc3QubWFwKChlbCkgPT4ge1xuXHRcdGlmIChpc1BvdW5kRWxlbWVudChlbCkpIHtcblx0XHRcdC8vIFJlcGxhY2UgIyB3aXRoIHt2YXJpYWJsZU5hbWUsIG51bWJlcn1cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHR5cGU6IFRZUEUubnVtYmVyLFxuXHRcdFx0XHR2YWx1ZTogdmFyaWFibGVOYW1lLFxuXHRcdFx0XHRzdHlsZTogbnVsbCxcblx0XHRcdFx0bG9jYXRpb246IGVsLmxvY2F0aW9uXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpZiAoaXNQbHVyYWxFbGVtZW50KGVsKSB8fCBpc1NlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHQvLyBSZWN1cnNpdmVseSBwcm9jZXNzIG9wdGlvbnNcblx0XHRcdGNvbnN0IG5ld09wdGlvbnMgPSB7fTtcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGVsLm9wdGlvbnMpKSB7XG5cdFx0XHRcdG5ld09wdGlvbnNba2V5XSA9IHsgdmFsdWU6IHJlcGxhY2VQb3VuZFdpdGhBcmd1bWVudChlbC5vcHRpb25zW2tleV0udmFsdWUsIHZhcmlhYmxlTmFtZSkgfTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdC4uLmVsLFxuXHRcdFx0XHRvcHRpb25zOiBuZXdPcHRpb25zXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpZiAoaXNUYWdFbGVtZW50KGVsKSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Li4uZWwsXG5cdFx0XHRcdGNoaWxkcmVuOiByZXBsYWNlUG91bmRXaXRoQXJndW1lbnQoZWwuY2hpbGRyZW4sIHZhcmlhYmxlTmFtZSlcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiBlbDtcblx0fSk7XG59XG5mdW5jdGlvbiBob2lzdFBsdXJhbE9yU2VsZWN0RWxlbWVudChhc3QsIGVsLCBwb3NpdGlvblRvSW5qZWN0KSB7XG5cdC8vIHB1bGwgdGhpcyBvdXQgb2YgdGhlIGFzdCBhbmQgbW92ZSBpdCB0byB0aGUgdG9wXG5cdGNvbnN0IGNsb25lZCA9IGNsb25lRGVlcChlbCk7XG5cdGNvbnN0IHsgb3B0aW9ucyB9ID0gY2xvbmVkO1xuXHQvLyBHSCAjNDIwMjogQ2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIHBsdXJhbC9zZWxlY3QgZWxlbWVudHMgYWZ0ZXIgdGhpcyBvbmVcblx0Y29uc3QgYWZ0ZXJFbGVtZW50cyA9IGFzdC5zbGljZShwb3NpdGlvblRvSW5qZWN0ICsgMSk7XG5cdGNvbnN0IGhhc1N1YnNlcXVlbnRQbHVyYWxPclNlbGVjdCA9IGFmdGVyRWxlbWVudHMuc29tZShpc1BsdXJhbE9yU2VsZWN0RWxlbWVudCk7XG5cdGNsb25lZC5vcHRpb25zID0gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKChhbGwsIGspID0+IHtcblx0XHRsZXQgb3B0aW9uVmFsdWUgPSBvcHRpb25zW2tdLnZhbHVlO1xuXHRcdC8vIEdIICM0MjAyOiBJZiB0aGVyZSBhcmUgc3Vic2VxdWVudCBwbHVyYWxzL3NlbGVjdHMgYW5kIHRoaXMgaXMgYSBwbHVyYWwsXG5cdFx0Ly8gcmVwbGFjZSAjIHdpdGggZXhwbGljaXQgdmFyaWFibGUgcmVmZXJlbmNlIHRvIGF2b2lkIGFtYmlndWl0eVxuXHRcdGlmIChoYXNTdWJzZXF1ZW50UGx1cmFsT3JTZWxlY3QgJiYgaXNQbHVyYWxFbGVtZW50KGVsKSkge1xuXHRcdFx0b3B0aW9uVmFsdWUgPSByZXBsYWNlUG91bmRXaXRoQXJndW1lbnQob3B0aW9uVmFsdWUsIGVsLnZhbHVlKTtcblx0XHR9XG5cdFx0Y29uc3QgbmV3VmFsdWUgPSBob2lzdFNlbGVjdG9ycyhbXG5cdFx0XHQuLi5hc3Quc2xpY2UoMCwgcG9zaXRpb25Ub0luamVjdCksXG5cdFx0XHQuLi5vcHRpb25WYWx1ZSxcblx0XHRcdC4uLmFmdGVyRWxlbWVudHNcblx0XHRdKTtcblx0XHRhbGxba10gPSB7IHZhbHVlOiBuZXdWYWx1ZSB9O1xuXHRcdHJldHVybiBhbGw7XG5cdH0sIHt9KTtcblx0cmV0dXJuIGNsb25lZDtcbn1cbmZ1bmN0aW9uIGlzUGx1cmFsT3JTZWxlY3RFbGVtZW50KGVsKSB7XG5cdHJldHVybiBpc1BsdXJhbEVsZW1lbnQoZWwpIHx8IGlzU2VsZWN0RWxlbWVudChlbCk7XG59XG5mdW5jdGlvbiBmaW5kUGx1cmFsT3JTZWxlY3RFbGVtZW50KGFzdCkge1xuXHRyZXR1cm4gISFhc3QuZmluZCgoZWwpID0+IHtcblx0XHRpZiAoaXNQbHVyYWxPclNlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKGlzVGFnRWxlbWVudChlbCkpIHtcblx0XHRcdHJldHVybiBmaW5kUGx1cmFsT3JTZWxlY3RFbGVtZW50KGVsLmNoaWxkcmVuKTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9KTtcbn1cbi8qKlxuKiBIb2lzdCBhbGwgc2VsZWN0b3JzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIEFTVCAmIGZsYXR0ZW4gdGhlXG4qIHJlc3VsdGluZyBvcHRpb25zLiBFLmc6XG4qIFwiSSBoYXZlIHtjb3VudCwgcGx1cmFsLCBvbmV7YSBkb2d9IG90aGVye21hbnkgZG9nc319XCJcbiogYmVjb21lcyBcIntjb3VudCwgcGx1cmFsLCBvbmV7SSBoYXZlIGEgZG9nfSBvdGhlcntJIGhhdmUgbWFueSBkb2dzfX1cIi5cbiogSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNlbGVjdG9ycywgdGhlIG9yZGVyIG9mIHdoaWNoIG9uZSBpcyBob2lzdGVkIDFzdFxuKiBpcyBub24tZGV0ZXJtaW5pc3RpYy5cbiogVGhlIGdvYWwgaXMgdG8gcHJvdmlkZSBhcyBtYW55IGZ1bGwgc2VudGVuY2VzIGFzIHBvc3NpYmxlIHNpbmNlIGZyYWdtZW50ZWRcbiogc2VudGVuY2VzIGFyZSBub3QgdHJhbnNsYXRvci1mcmllbmRseVxuKiBAcGFyYW0gYXN0IEFTVFxuKi9cbmV4cG9ydCBmdW5jdGlvbiBob2lzdFNlbGVjdG9ycyhhc3QpIHtcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhc3QubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBlbCA9IGFzdFtpXTtcblx0XHRpZiAoaXNQbHVyYWxPclNlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHRyZXR1cm4gW2hvaXN0UGx1cmFsT3JTZWxlY3RFbGVtZW50KGFzdCwgZWwsIGkpXTtcblx0XHR9XG5cdFx0aWYgKGlzVGFnRWxlbWVudChlbCkgJiYgZmluZFBsdXJhbE9yU2VsZWN0RWxlbWVudChbZWxdKSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGhvaXN0IHBsdXJhbC9zZWxlY3Qgd2l0aGluIGEgdGFnIGVsZW1lbnQuIFBsZWFzZSBwdXQgdGhlIHRhZyBlbGVtZW50IGluc2lkZSBlYWNoIHBsdXJhbC9zZWxlY3Qgb3B0aW9uXCIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gYXN0O1xufVxuLyoqXG4qIENvbGxlY3QgYWxsIHZhcmlhYmxlcyBpbiBhbiBBU1QgdG8gUmVjb3JkPHN0cmluZywgVFlQRT5cbiogQHBhcmFtIGFzdCBBU1QgdG8gY29sbGVjdCB2YXJpYWJsZXMgZnJvbVxuKiBAcGFyYW0gdmFycyBSZWNvcmQgb2YgdmFyaWFibGUgbmFtZSB0byB2YXJpYWJsZSB0eXBlXG4qL1xuZnVuY3Rpb24gY29sbGVjdFZhcmlhYmxlcyhhc3QsIHZhcnMgPSBuZXcgTWFwKCkpIHtcblx0YXN0LmZvckVhY2goKGVsKSA9PiB7XG5cdFx0aWYgKGlzQXJndW1lbnRFbGVtZW50KGVsKSB8fCBpc0RhdGVFbGVtZW50KGVsKSB8fCBpc1RpbWVFbGVtZW50KGVsKSB8fCBpc051bWJlckVsZW1lbnQoZWwpKSB7XG5cdFx0XHRpZiAoZWwudmFsdWUgaW4gdmFycyAmJiB2YXJzLmdldChlbC52YWx1ZSkgIT09IGVsLnR5cGUpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBWYXJpYWJsZSAke2VsLnZhbHVlfSBoYXMgY29uZmxpY3RpbmcgdHlwZXNgKTtcblx0XHRcdH1cblx0XHRcdHZhcnMuc2V0KGVsLnZhbHVlLCBlbC50eXBlKTtcblx0XHR9XG5cdFx0aWYgKGlzUGx1cmFsRWxlbWVudChlbCkgfHwgaXNTZWxlY3RFbGVtZW50KGVsKSkge1xuXHRcdFx0dmFycy5zZXQoZWwudmFsdWUsIGVsLnR5cGUpO1xuXHRcdFx0T2JqZWN0LmtleXMoZWwub3B0aW9ucykuZm9yRWFjaCgoaykgPT4ge1xuXHRcdFx0XHRjb2xsZWN0VmFyaWFibGVzKGVsLm9wdGlvbnNba10udmFsdWUsIHZhcnMpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdGlmIChpc1RhZ0VsZW1lbnQoZWwpKSB7XG5cdFx0XHR2YXJzLnNldChlbC52YWx1ZSwgZWwudHlwZSk7XG5cdFx0XHRjb2xsZWN0VmFyaWFibGVzKGVsLmNoaWxkcmVuLCB2YXJzKTtcblx0XHR9XG5cdH0pO1xufVxuLyoqXG4qIENoZWNrIGlmIDIgQVNUcyBhcmUgc3RydWN0dXJhbGx5IHRoZSBzYW1lLiBUaGlzIHByaW1hcmlseSBtZWFucyB0aGF0XG4qIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YXJpYWJsZXMgd2l0aCB0aGUgc2FtZSB0eXBlXG4qIEBwYXJhbSBhXG4qIEBwYXJhbSBiXG4qIEByZXR1cm5zXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RydWN0dXJhbGx5U2FtZShhLCBiKSB7XG5cdGNvbnN0IGFWYXJzID0gbmV3IE1hcCgpO1xuXHRjb25zdCBiVmFycyA9IG5ldyBNYXAoKTtcblx0Y29sbGVjdFZhcmlhYmxlcyhhLCBhVmFycyk7XG5cdGNvbGxlY3RWYXJpYWJsZXMoYiwgYlZhcnMpO1xuXHRpZiAoYVZhcnMuc2l6ZSAhPT0gYlZhcnMuc2l6ZSkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzdWNjZXNzOiBmYWxzZSxcblx0XHRcdGVycm9yOiBuZXcgRXJyb3IoYERpZmZlcmVudCBudW1iZXIgb2YgdmFyaWFibGVzOiBbJHtBcnJheS5mcm9tKGFWYXJzLmtleXMoKSkuam9pbihcIiwgXCIpfV0gdnMgWyR7QXJyYXkuZnJvbShiVmFycy5rZXlzKCkpLmpvaW4oXCIsIFwiKX1dYClcblx0XHR9O1xuXHR9XG5cdHJldHVybiBBcnJheS5mcm9tKGFWYXJzLmVudHJpZXMoKSkucmVkdWNlKChyZXN1bHQsIFtrZXksIHR5cGVdKSA9PiB7XG5cdFx0aWYgKCFyZXN1bHQuc3VjY2Vzcykge1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cdFx0Y29uc3QgYlR5cGUgPSBiVmFycy5nZXQoa2V5KTtcblx0XHRpZiAoYlR5cGUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3VjY2VzczogZmFsc2UsXG5cdFx0XHRcdGVycm9yOiBuZXcgRXJyb3IoYE1pc3NpbmcgdmFyaWFibGUgJHtrZXl9IGluIG1lc3NhZ2VgKVxuXHRcdFx0fTtcblx0XHR9XG5cdFx0aWYgKGJUeXBlICE9PSB0eXBlKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdWNjZXNzOiBmYWxzZSxcblx0XHRcdFx0ZXJyb3I6IG5ldyBFcnJvcihgVmFyaWFibGUgJHtrZXl9IGhhcyBjb25mbGljdGluZyB0eXBlczogJHtUWVBFW3R5cGVdfSB2cyAke1RZUEVbYlR5cGVdfWApXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LCB7IHN1Y2Nlc3M6IHRydWUgfSk7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js":
/*!*******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js ***!
\*******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Parser: () => (/* binding */ Parser)\n/* harmony export */ });\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n/* harmony import */ var _regex_generated_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./regex.generated.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js\");\n/* harmony import */ var _formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @formatjs/icu-skeleton-parser */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\");\n/* harmony import */ var _date_time_pattern_generator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./date-time-pattern-generator.js */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js\");\n\n\n\n\n\nconst SPACE_SEPARATOR_START_REGEX = new RegExp(`^${_regex_generated_js__WEBPACK_IMPORTED_MODULE_2__.SPACE_SEPARATOR_REGEX.source}*`);\nconst SPACE_SEPARATOR_END_REGEX = new RegExp(`${_regex_generated_js__WEBPACK_IMPORTED_MODULE_2__.SPACE_SEPARATOR_REGEX.source}*$`);\nfunction createLocation(start, end) {\n\treturn {\n\t\tstart,\n\t\tend\n\t};\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nconst hasNativeFromEntries = !!Object.fromEntries;\nconst hasTrimStart = !!String.prototype.trimStart;\nconst hasTrimEnd = !!String.prototype.trimEnd;\nconst fromEntries = hasNativeFromEntries ? Object.fromEntries : function fromEntries(entries) {\n\tconst obj = {};\n\tfor (const [k, v] of entries) {\n\t\tobj[k] = v;\n\t}\n\treturn obj;\n};\nconst trimStart = hasTrimStart ? function trimStart(s) {\n\treturn s.trimStart();\n} : function trimStart(s) {\n\treturn s.replace(SPACE_SEPARATOR_START_REGEX, \"\");\n};\nconst trimEnd = hasTrimEnd ? function trimEnd(s) {\n\treturn s.trimEnd();\n} : function trimEnd(s) {\n\treturn s.replace(SPACE_SEPARATOR_END_REGEX, \"\");\n};\n// #endregion\nconst IDENTIFIER_PREFIX_RE = new RegExp(\"([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)\", \"yu\");\nfunction matchIdentifierAtIndex(s, index) {\n\tIDENTIFIER_PREFIX_RE.lastIndex = index;\n\tconst match = IDENTIFIER_PREFIX_RE.exec(s);\n\treturn match[1] ?? \"\";\n}\nclass Parser {\n\tmessage;\n\tposition;\n\tlocale;\n\tignoreTag;\n\trequiresOtherClause;\n\tshouldParseSkeletons;\n\tconstructor(message, options = {}) {\n\t\tthis.message = message;\n\t\tthis.position = {\n\t\t\toffset: 0,\n\t\t\tline: 1,\n\t\t\tcolumn: 1\n\t\t};\n\t\tthis.ignoreTag = !!options.ignoreTag;\n\t\tthis.locale = options.locale;\n\t\tthis.requiresOtherClause = !!options.requiresOtherClause;\n\t\tthis.shouldParseSkeletons = !!options.shouldParseSkeletons;\n\t}\n\tparse() {\n\t\tif (this.offset() !== 0) {\n\t\t\tthrow Error(\"parser can only be used once\");\n\t\t}\n\t\treturn this.parseMessage(0, \"\", false);\n\t}\n\tparseMessage(nestingLevel, parentArgType, expectingCloseTag) {\n\t\tlet elements = [];\n\t\twhile (!this.isEOF()) {\n\t\t\tconst char = this.char();\n\t\t\tif (char === 123) {\n\t\t\t\tconst result = this.parseArgument(nestingLevel, expectingCloseTag);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t} else if (char === 125 && nestingLevel > 0) {\n\t\t\t\tbreak;\n\t\t\t} else if (char === 35 && (parentArgType === \"plural\" || parentArgType === \"selectordinal\")) {\n\t\t\t\tconst position = this.clonePosition();\n\t\t\t\tthis.bump();\n\t\t\t\telements.push({\n\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.pound,\n\t\t\t\t\tlocation: createLocation(position, this.clonePosition())\n\t\t\t\t});\n\t\t\t} else if (char === 60 && !this.ignoreTag && this.peek() === 47) {\n\t\t\t\tif (expectingCloseTag) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t}\n\t\t\t} else if (char === 60 && !this.ignoreTag && _isAlpha(this.peek() || 0)) {\n\t\t\t\tconst result = this.parseTag(nestingLevel, parentArgType);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t} else {\n\t\t\t\tconst result = this.parseLiteral(nestingLevel, parentArgType);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tval: elements,\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n\t* [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n\t* are accepted:\n\t*\n\t* ```\n\t* tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n\t* tagName ::= [a-z] (PENChar)*\n\t* PENChar ::=\n\t* \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n\t* [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n\t* [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n\t* ```\n\t*\n\t* [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n\t* NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n\t* since other tag-based engines like React allow it\n\t*/\n\tparseTag(nestingLevel, parentArgType) {\n\t\tconst startPosition = this.clonePosition();\n\t\tthis.bump();\n\t\tconst tagName = this.parseTagName();\n\t\tthis.bumpSpace();\n\t\tif (this.bumpIf(\"/>\")) {\n\t\t\t// Self closing tag\n\t\t\treturn {\n\t\t\t\tval: {\n\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.literal,\n\t\t\t\t\tvalue: `<${tagName}/>`,\n\t\t\t\t\tlocation: createLocation(startPosition, this.clonePosition())\n\t\t\t\t},\n\t\t\t\terr: null\n\t\t\t};\n\t\t} else if (this.bumpIf(\">\")) {\n\t\t\tconst childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n\t\t\tif (childrenResult.err) {\n\t\t\t\treturn childrenResult;\n\t\t\t}\n\t\t\tconst children = childrenResult.val;\n\t\t\t// Expecting a close tag\n\t\t\tconst endTagStartPosition = this.clonePosition();\n\t\t\tif (this.bumpIf(\"</\")) {\n\t\t\t\tif (this.isEOF() || !_isAlpha(this.char())) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\tconst closingTagNameStartPosition = this.clonePosition();\n\t\t\t\tconst closingTagName = this.parseTagName();\n\t\t\t\tif (tagName !== closingTagName) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (!this.bumpIf(\">\")) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.tag,\n\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\tchildren,\n\t\t\t\t\t\tlocation: createLocation(startPosition, this.clonePosition())\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n\t\t}\n\t}\n\t/**\n\t* This method assumes that the caller has peeked ahead for the first tag character.\n\t*/\n\tparseTagName() {\n\t\tconst startOffset = this.offset();\n\t\tthis.bump();\n\t\twhile (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n\t\t\tthis.bump();\n\t\t}\n\t\treturn this.message.slice(startOffset, this.offset());\n\t}\n\tparseLiteral(nestingLevel, parentArgType) {\n\t\tconst start = this.clonePosition();\n\t\tlet value = \"\";\n\t\twhile (true) {\n\t\t\tconst parseQuoteResult = this.tryParseQuote(parentArgType);\n\t\t\tif (parseQuoteResult) {\n\t\t\t\tvalue += parseQuoteResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n\t\t\tif (parseUnquotedResult) {\n\t\t\t\tvalue += parseUnquotedResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parseLeftAngleResult = this.tryParseLeftAngleBracket();\n\t\t\tif (parseLeftAngleResult) {\n\t\t\t\tvalue += parseLeftAngleResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tconst location = createLocation(start, this.clonePosition());\n\t\treturn {\n\t\t\tval: {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.literal,\n\t\t\t\tvalue,\n\t\t\t\tlocation\n\t\t\t},\n\t\t\terr: null\n\t\t};\n\t}\n\ttryParseLeftAngleBracket() {\n\t\tif (!this.isEOF() && this.char() === 60 && (this.ignoreTag || !_isAlphaOrSlash(this.peek() || 0))) {\n\t\t\tthis.bump();\n\t\t\treturn \"<\";\n\t\t}\n\t\treturn null;\n\t}\n\t/**\n\t* Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n\t* a character that requires quoting (that is, \"only where needed\"), and works the same in\n\t* nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n\t*/\n\ttryParseQuote(parentArgType) {\n\t\tif (this.isEOF() || this.char() !== 39) {\n\t\t\treturn null;\n\t\t}\n\t\t// Parse escaped char following the apostrophe, or early return if there is no escaped char.\n\t\t// Check if is valid escaped character\n\t\tswitch (this.peek()) {\n\t\t\tcase 39:\n\t\t\t\t// double quote, should return as a single quote.\n\t\t\t\tthis.bump();\n\t\t\t\tthis.bump();\n\t\t\t\treturn \"'\";\n\t\t\tcase 123:\n\t\t\tcase 60:\n\t\t\tcase 62:\n\t\t\tcase 125: break;\n\t\t\tcase 35:\n\t\t\t\tif (parentArgType === \"plural\" || parentArgType === \"selectordinal\") {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\tdefault: return null;\n\t\t}\n\t\tthis.bump();\n\t\tconst codePoints = [this.char()];\n\t\tthis.bump();\n\t\t// read chars until the optional closing apostrophe is found\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tif (ch === 39) {\n\t\t\t\tif (this.peek() === 39) {\n\t\t\t\t\tcodePoints.push(39);\n\t\t\t\t\t// Bump one more time because we need to skip 2 characters.\n\t\t\t\t\tthis.bump();\n\t\t\t\t} else {\n\t\t\t\t\t// Optional closing apostrophe.\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcodePoints.push(ch);\n\t\t\t}\n\t\t\tthis.bump();\n\t\t}\n\t\treturn String.fromCodePoint(...codePoints);\n\t}\n\ttryParseUnquoted(nestingLevel, parentArgType) {\n\t\tif (this.isEOF()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst ch = this.char();\n\t\tif (ch === 60 || ch === 123 || ch === 35 && (parentArgType === \"plural\" || parentArgType === \"selectordinal\") || ch === 125 && nestingLevel > 0) {\n\t\t\treturn null;\n\t\t} else {\n\t\t\tthis.bump();\n\t\t\treturn String.fromCodePoint(ch);\n\t\t}\n\t}\n\tparseArgument(nestingLevel, expectingCloseTag) {\n\t\tconst openingBracePosition = this.clonePosition();\n\t\tthis.bump();\n\t\tthis.bumpSpace();\n\t\tif (this.isEOF()) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tif (this.char() === 125) {\n\t\t\tthis.bump();\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\t// argument name\n\t\tlet value = this.parseIdentifierIfPossible().value;\n\t\tif (!value) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tthis.bumpSpace();\n\t\tif (this.isEOF()) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tswitch (this.char()) {\n\t\t\tcase 125: {\n\t\t\t\tthis.bump();\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.argument,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tlocation: createLocation(openingBracePosition, this.clonePosition())\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase 44: {\n\t\t\t\tthis.bump();\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (this.isEOF()) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\treturn this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n\t\t\t}\n\t\t\tdefault: return this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t}\n\t/**\n\t* Advance the parser until the end of the identifier, if it is currently on\n\t* an identifier character. Return an empty string otherwise.\n\t*/\n\tparseIdentifierIfPossible() {\n\t\tconst startingPosition = this.clonePosition();\n\t\tconst startOffset = this.offset();\n\t\tconst value = matchIdentifierAtIndex(this.message, startOffset);\n\t\tconst endOffset = startOffset + value.length;\n\t\tthis.bumpTo(endOffset);\n\t\tconst endPosition = this.clonePosition();\n\t\tconst location = createLocation(startingPosition, endPosition);\n\t\treturn {\n\t\t\tvalue,\n\t\t\tlocation\n\t\t};\n\t}\n\tparseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition) {\n\t\t// Parse this range:\n\t\t// {name, type, style}\n\t\t// ^---^\n\t\tlet typeStartPosition = this.clonePosition();\n\t\tlet argType = this.parseIdentifierIfPossible().value;\n\t\tlet typeEndPosition = this.clonePosition();\n\t\tswitch (argType) {\n\t\t\tcase \"\":\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\t\t\tcase \"number\":\n\t\t\tcase \"date\":\n\t\t\tcase \"time\": {\n\t\t\t\t// Parse this range:\n\t\t\t\t// {name, number, style}\n\t\t\t\t// ^-------^\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tlet styleAndLocation = null;\n\t\t\t\tif (this.bumpIf(\",\")) {\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tconst styleStartPosition = this.clonePosition();\n\t\t\t\t\tconst result = this.parseSimpleArgStyleIfPossible();\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\tconst style = trimEnd(result.val);\n\t\t\t\t\tif (style.length === 0) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tconst styleLocation = createLocation(styleStartPosition, this.clonePosition());\n\t\t\t\t\tstyleAndLocation = {\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tstyleLocation\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\t\tif (argCloseResult.err) {\n\t\t\t\t\treturn argCloseResult;\n\t\t\t\t}\n\t\t\t\tconst location = createLocation(openingBracePosition, this.clonePosition());\n\t\t\t\t// Extract style or skeleton\n\t\t\t\tif (styleAndLocation && styleAndLocation.style.startsWith(\"::\")) {\n\t\t\t\t\t// Skeleton starts with `::`.\n\t\t\t\t\tlet skeleton = trimStart(styleAndLocation.style.slice(2));\n\t\t\t\t\tif (argType === \"number\") {\n\t\t\t\t\t\tconst result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n\t\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.number,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tstyle: result.val\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (skeleton.length === 0) {\n\t\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_DATE_TIME_SKELETON, location);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet dateTimePattern = skeleton;\n\t\t\t\t\t\t// Get \"best match\" pattern only if locale is passed, if not, let it\n\t\t\t\t\t\t// pass as-is where `parseDateTimeSkeleton()` will throw an error\n\t\t\t\t\t\t// for unsupported patterns.\n\t\t\t\t\t\tif (this.locale) {\n\t\t\t\t\t\t\tdateTimePattern = (0,_date_time_pattern_generator_js__WEBPACK_IMPORTED_MODULE_4__.getBestPattern)(skeleton, this.locale);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst style = {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.SKELETON_TYPE.dateTime,\n\t\t\t\t\t\t\tpattern: dateTimePattern,\n\t\t\t\t\t\t\tlocation: styleAndLocation.styleLocation,\n\t\t\t\t\t\t\tparsedOptions: this.shouldParseSkeletons ? (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseDateTimeSkeleton)(dateTimePattern) : {}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst type = argType === \"date\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.date : _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.time;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tstyle\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Regular style or no style.\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: argType === \"number\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.number : argType === \"date\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.date : _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.time,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tstyle: styleAndLocation?.style ?? null\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"plural\":\n\t\t\tcase \"selectordinal\":\n\t\t\tcase \"select\": {\n\t\t\t\t// Parse this range:\n\t\t\t\t// {name, plural, options}\n\t\t\t\t// ^---------^\n\t\t\t\tconst typeEndPosition = this.clonePosition();\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (!this.bumpIf(\",\")) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition, { ...typeEndPosition }));\n\t\t\t\t}\n\t\t\t\tthis.bumpSpace();\n\t\t\t\t// Parse offset:\n\t\t\t\t// {name, plural, offset:1, options}\n\t\t\t\t// ^-----^\n\t\t\t\t//\n\t\t\t\t// or the first option:\n\t\t\t\t//\n\t\t\t\t// {name, plural, one {...} other {...}}\n\t\t\t\t// ^--^\n\t\t\t\tlet identifierAndLocation = this.parseIdentifierIfPossible();\n\t\t\t\tlet pluralOffset = 0;\n\t\t\t\tif (argType !== \"select\" && identifierAndLocation.value === \"offset\") {\n\t\t\t\t\tif (!this.bumpIf(\":\")) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tconst result = this.tryParseDecimalInteger(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\t// Parse another identifier for option parsing\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tidentifierAndLocation = this.parseIdentifierIfPossible();\n\t\t\t\t\tpluralOffset = result.val;\n\t\t\t\t}\n\t\t\t\tconst optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n\t\t\t\tif (optionsResult.err) {\n\t\t\t\t\treturn optionsResult;\n\t\t\t\t}\n\t\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\t\tif (argCloseResult.err) {\n\t\t\t\t\treturn argCloseResult;\n\t\t\t\t}\n\t\t\t\tconst location = createLocation(openingBracePosition, this.clonePosition());\n\t\t\t\tif (argType === \"select\") {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.select,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\toptions: fromEntries(optionsResult.val),\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t},\n\t\t\t\t\t\terr: null\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.plural,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\toptions: fromEntries(optionsResult.val),\n\t\t\t\t\t\t\toffset: pluralOffset,\n\t\t\t\t\t\t\tpluralType: argType === \"plural\" ? \"cardinal\" : \"ordinal\",\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t},\n\t\t\t\t\t\terr: null\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault: return this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\t\t}\n\t}\n\ttryParseArgumentClose(openingBracePosition) {\n\t\t// Parse: {value, number, ::currency/GBP }\n\t\t//\n\t\tif (this.isEOF() || this.char() !== 125) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tthis.bump();\n\t\treturn {\n\t\t\tval: true,\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n\t*/\n\tparseSimpleArgStyleIfPossible() {\n\t\tlet nestedBraces = 0;\n\t\tconst startPosition = this.clonePosition();\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tswitch (ch) {\n\t\t\t\tcase 39: {\n\t\t\t\t\t// Treat apostrophe as quoting but include it in the style part.\n\t\t\t\t\t// Find the end of the quoted literal text.\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tlet apostrophePosition = this.clonePosition();\n\t\t\t\t\tif (!this.bumpUntil(\"'\")) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 123: {\n\t\t\t\t\tnestedBraces += 1;\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 125: {\n\t\t\t\t\tif (nestedBraces > 0) {\n\t\t\t\t\t\tnestedBraces -= 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: this.message.slice(startPosition.offset, this.offset()),\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tval: this.message.slice(startPosition.offset, this.offset()),\n\t\t\terr: null\n\t\t};\n\t}\n\tparseNumberSkeletonFromString(skeleton, location) {\n\t\tlet tokens = [];\n\t\ttry {\n\t\t\ttokens = (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseNumberSkeletonFromString)(skeleton);\n\t\t} catch {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_NUMBER_SKELETON, location);\n\t\t}\n\t\treturn {\n\t\t\tval: {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.SKELETON_TYPE.number,\n\t\t\t\ttokens,\n\t\t\t\tlocation,\n\t\t\t\tparsedOptions: this.shouldParseSkeletons ? (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseNumberSkeleton)(tokens) : {}\n\t\t\t},\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* @param nesting_level The current nesting level of messages.\n\t* This can be positive when parsing message fragment in select or plural argument options.\n\t* @param parent_arg_type The parent argument's type.\n\t* @param parsed_first_identifier If provided, this is the first identifier-like selector of\n\t* the argument. It is a by-product of a previous parsing attempt.\n\t* @param expecting_close_tag If true, this message is directly or indirectly nested inside\n\t* between a pair of opening and closing tags. The nested message will not parse beyond\n\t* the closing tag boundary.\n\t*/\n\ttryParsePluralOrSelectOptions(nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n\t\tlet hasOtherClause = false;\n\t\tconst options = [];\n\t\tconst parsedSelectors = new Set();\n\t\tlet { value: selector, location: selectorLocation } = parsedFirstIdentifier;\n\t\t// Parse:\n\t\t// one {one apple}\n\t\t// ^--^\n\t\twhile (true) {\n\t\t\tif (selector.length === 0) {\n\t\t\t\tconst startPosition = this.clonePosition();\n\t\t\t\tif (parentArgType !== \"select\" && this.bumpIf(\"=\")) {\n\t\t\t\t\t// Try parse `={number}` selector\n\t\t\t\t\tconst result = this.tryParseDecimalInteger(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\tselectorLocation = createLocation(startPosition, this.clonePosition());\n\t\t\t\t\tselector = this.message.slice(startPosition.offset, this.offset());\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Duplicate selector clauses\n\t\t\tif (parsedSelectors.has(selector)) {\n\t\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n\t\t\t}\n\t\t\tif (selector === \"other\") {\n\t\t\t\thasOtherClause = true;\n\t\t\t}\n\t\t\t// Parse:\n\t\t\t// one {one apple}\n\t\t\t// ^----------^\n\t\t\tthis.bumpSpace();\n\t\t\tconst openingBracePosition = this.clonePosition();\n\t\t\tif (!this.bumpIf(\"{\")) {\n\t\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t}\n\t\t\tconst fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n\t\t\tif (fragmentResult.err) {\n\t\t\t\treturn fragmentResult;\n\t\t\t}\n\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\tif (argCloseResult.err) {\n\t\t\t\treturn argCloseResult;\n\t\t\t}\n\t\t\toptions.push([selector, {\n\t\t\t\tvalue: fragmentResult.val,\n\t\t\t\tlocation: createLocation(openingBracePosition, this.clonePosition())\n\t\t\t}]);\n\t\t\t// Keep track of the existing selectors\n\t\t\tparsedSelectors.add(selector);\n\t\t\t// Prep next selector clause.\n\t\t\tthis.bumpSpace();\n\t\t\t({value: selector, location: selectorLocation} = this.parseIdentifierIfPossible());\n\t\t}\n\t\tif (options.length === 0) {\n\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t}\n\t\tif (this.requiresOtherClause && !hasOtherClause) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t}\n\t\treturn {\n\t\t\tval: options,\n\t\t\terr: null\n\t\t};\n\t}\n\ttryParseDecimalInteger(expectNumberError, invalidNumberError) {\n\t\tlet sign = 1;\n\t\tconst startingPosition = this.clonePosition();\n\t\tif (this.bumpIf(\"+\")) {} else if (this.bumpIf(\"-\")) {\n\t\t\tsign = -1;\n\t\t}\n\t\tlet hasDigits = false;\n\t\tlet decimal = 0;\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tif (ch >= 48 && ch <= 57) {\n\t\t\t\thasDigits = true;\n\t\t\t\tdecimal = decimal * 10 + (ch - 48);\n\t\t\t\tthis.bump();\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tconst location = createLocation(startingPosition, this.clonePosition());\n\t\tif (!hasDigits) {\n\t\t\treturn this.error(expectNumberError, location);\n\t\t}\n\t\tdecimal *= sign;\n\t\tif (!Number.isSafeInteger(decimal)) {\n\t\t\treturn this.error(invalidNumberError, location);\n\t\t}\n\t\treturn {\n\t\t\tval: decimal,\n\t\t\terr: null\n\t\t};\n\t}\n\toffset() {\n\t\treturn this.position.offset;\n\t}\n\tisEOF() {\n\t\treturn this.offset() === this.message.length;\n\t}\n\tclonePosition() {\n\t\t// This is much faster than `Object.assign` or spread.\n\t\treturn {\n\t\t\toffset: this.position.offset,\n\t\t\tline: this.position.line,\n\t\t\tcolumn: this.position.column\n\t\t};\n\t}\n\t/**\n\t* Return the code point at the current position of the parser.\n\t* Throws if the index is out of bound.\n\t*/\n\tchar() {\n\t\tconst offset = this.position.offset;\n\t\tif (offset >= this.message.length) {\n\t\t\tthrow Error(\"out of bound\");\n\t\t}\n\t\tconst code = this.message.codePointAt(offset);\n\t\tif (code === undefined) {\n\t\t\tthrow Error(`Offset ${offset} is at invalid UTF-16 code unit boundary`);\n\t\t}\n\t\treturn code;\n\t}\n\terror(kind, location) {\n\t\treturn {\n\t\t\tval: null,\n\t\t\terr: {\n\t\t\t\tkind,\n\t\t\t\tmessage: this.message,\n\t\t\t\tlocation\n\t\t\t}\n\t\t};\n\t}\n\t/** Bump the parser to the next UTF-16 code unit. */\n\tbump() {\n\t\tif (this.isEOF()) {\n\t\t\treturn;\n\t\t}\n\t\tconst code = this.char();\n\t\tif (code === 10) {\n\t\t\tthis.position.line += 1;\n\t\t\tthis.position.column = 1;\n\t\t\tthis.position.offset += 1;\n\t\t} else {\n\t\t\tthis.position.column += 1;\n\t\t\t// 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n\t\t\tthis.position.offset += code < 65536 ? 1 : 2;\n\t\t}\n\t}\n\t/**\n\t* If the substring starting at the current position of the parser has\n\t* the given prefix, then bump the parser to the character immediately\n\t* following the prefix and return true. Otherwise, don't bump the parser\n\t* and return false.\n\t*/\n\tbumpIf(prefix) {\n\t\tif (this.message.startsWith(prefix, this.offset())) {\n\t\t\tfor (let i = 0; i < prefix.length; i++) {\n\t\t\t\tthis.bump();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\t/**\n\t* Bump the parser until the pattern character is found and return `true`.\n\t* Otherwise bump to the end of the file and return `false`.\n\t*/\n\tbumpUntil(pattern) {\n\t\tconst currentOffset = this.offset();\n\t\tconst index = this.message.indexOf(pattern, currentOffset);\n\t\tif (index >= 0) {\n\t\t\tthis.bumpTo(index);\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.bumpTo(this.message.length);\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t* Bump the parser to the target offset.\n\t* If target offset is beyond the end of the input, bump the parser to the end of the input.\n\t*/\n\tbumpTo(targetOffset) {\n\t\tif (this.offset() > targetOffset) {\n\t\t\tthrow Error(`targetOffset ${targetOffset} must be greater than or equal to the current offset ${this.offset()}`);\n\t\t}\n\t\ttargetOffset = Math.min(targetOffset, this.message.length);\n\t\twhile (true) {\n\t\t\tconst offset = this.offset();\n\t\t\tif (offset === targetOffset) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (offset > targetOffset) {\n\t\t\t\tthrow Error(`targetOffset ${targetOffset} is at invalid UTF-16 code unit boundary`);\n\t\t\t}\n\t\t\tthis.bump();\n\t\t\tif (this.isEOF()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t/** advance the parser through all whitespace to the next non-whitespace code unit. */\n\tbumpSpace() {\n\t\twhile (!this.isEOF() && _isWhiteSpace(this.char())) {\n\t\t\tthis.bump();\n\t\t}\n\t}\n\t/**\n\t* Peek at the *next* Unicode codepoint in the input without advancing the parser.\n\t* If the input has been exhausted, then this returns null.\n\t*/\n\tpeek() {\n\t\tif (this.isEOF()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst code = this.char();\n\t\tconst offset = this.offset();\n\t\tconst nextCode = this.message.charCodeAt(offset + (code >= 65536 ? 2 : 1));\n\t\treturn nextCode ?? null;\n\t}\n}\n/**\n* This check if codepoint is alphabet (lower & uppercase)\n* @param codepoint\n* @returns\n*/\nfunction _isAlpha(codepoint) {\n\treturn codepoint >= 97 && codepoint <= 122 || codepoint >= 65 && codepoint <= 90;\n}\nfunction _isAlphaOrSlash(codepoint) {\n\treturn _isAlpha(codepoint) || codepoint === 47;\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n\treturn c === 45 || c === 46 || c >= 48 && c <= 57 || c === 95 || c >= 97 && c <= 122 || c >= 65 && c <= 90 || c == 183 || c >= 192 && c <= 214 || c >= 216 && c <= 246 || c >= 248 && c <= 893 || c >= 895 && c <= 8191 || c >= 8204 && c <= 8205 || c >= 8255 && c <= 8256 || c >= 8304 && c <= 8591 || c >= 11264 && c <= 12271 || c >= 12289 && c <= 55295 || c >= 63744 && c <= 64975 || c >= 65008 && c <= 65533 || c >= 65536 && c <= 983039;\n}\n/**\n* Code point equivalent of regex `\\p{White_Space}`.\n* From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n*/\nfunction _isWhiteSpace(c) {\n\treturn c >= 9 && c <= 13 || c === 32 || c === 133 || c >= 8206 && c <= 8207 || c === 8232 || c === 8233;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9wYXJzZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXVDO0FBQ1U7QUFDWTtBQUM2RDtBQUN4RDtBQUNsRSxtREFBbUQsc0VBQXFCLFFBQVE7QUFDaEYsZ0RBQWdELHNFQUFxQixRQUFRO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELFlBQVksSUFBSSxlQUFlO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsV0FBVywyQ0FBSTtBQUNmO0FBQ0EsS0FBSztBQUNMLEtBQUs7QUFDTDtBQUNBO0FBQ0EsTUFBTTtBQUNOLHVCQUF1QixnREFBUztBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsMkNBQUk7QUFDZixnQkFBZ0IsUUFBUTtBQUN4QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixnREFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixnREFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsZ0RBQVM7QUFDaEM7QUFDQTtBQUNBO0FBQ0EsWUFBWSwyQ0FBSTtBQUNoQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEtBQUs7QUFDTCxzQkFBc0IsZ0RBQVM7QUFDL0I7QUFDQSxJQUFJO0FBQ0oscUJBQXFCLGdEQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSwyQ0FBSTtBQUNkO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGdEQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixnREFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixnREFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSwyQ0FBSTtBQUNoQjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGdEQUFTO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixnREFBUztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdEQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDJDQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLGdEQUFTO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwrRUFBYztBQUN2QztBQUNBO0FBQ0EsYUFBYSxvREFBYTtBQUMxQjtBQUNBO0FBQ0Esa0RBQWtELG9GQUFxQjtBQUN2RTtBQUNBLHdDQUF3QywyQ0FBSSxRQUFRLDJDQUFJO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQywyQ0FBSSwrQkFBK0IsMkNBQUksUUFBUSwyQ0FBSTtBQUN0RjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsZ0RBQVMsbUVBQW1FLG9CQUFvQjtBQUN2SDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLG1CQUFtQixLQUFLLE9BQU87QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnREFBUztBQUNqQztBQUNBO0FBQ0EsZ0RBQWdELGdEQUFTLHNDQUFzQyxnREFBUztBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwyQ0FBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsYUFBYSwyQ0FBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGdEQUFTO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EscUJBQXFCLGdEQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdEQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw0RkFBNkI7QUFDekMsSUFBSTtBQUNKLHFCQUFxQixnREFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9EQUFhO0FBQ3ZCO0FBQ0E7QUFDQSwrQ0FBK0Msa0ZBQW1CO0FBQ2xFLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSw4Q0FBOEM7QUFDdEQ7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixPQUFPO0FBQzVCLGdEQUFnRCxnREFBUyxrQ0FBa0MsZ0RBQVM7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELGdEQUFTLHNDQUFzQyxnREFBUztBQUMzRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixtREFBbUQsZ0RBQVMsNENBQTRDLGdEQUFTO0FBQ2pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssNkNBQTZDO0FBQ2xEO0FBQ0E7QUFDQSxrREFBa0QsZ0RBQVMsbUNBQW1DLGdEQUFTO0FBQ3ZHO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsUUFBUTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixjQUFjLHNEQUFzRCxjQUFjO0FBQ2pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsY0FBYztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxZQUFZO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9wYXJzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JLaW5kIH0gZnJvbSBcIi4vZXJyb3IuanNcIjtcbmltcG9ydCB7IFNLRUxFVE9OX1RZUEUsIFRZUEUgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgU1BBQ0VfU0VQQVJBVE9SX1JFR0VYIH0gZnJvbSBcIi4vcmVnZXguZ2VuZXJhdGVkLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU51bWJlclNrZWxldG9uLCBwYXJzZU51bWJlclNrZWxldG9uRnJvbVN0cmluZywgcGFyc2VEYXRlVGltZVNrZWxldG9uIH0gZnJvbSBcIkBmb3JtYXRqcy9pY3Utc2tlbGV0b24tcGFyc2VyXCI7XG5pbXBvcnQgeyBnZXRCZXN0UGF0dGVybiB9IGZyb20gXCIuL2RhdGUtdGltZS1wYXR0ZXJuLWdlbmVyYXRvci5qc1wiO1xuY29uc3QgU1BBQ0VfU0VQQVJBVE9SX1NUQVJUX1JFR0VYID0gbmV3IFJlZ0V4cChgXiR7U1BBQ0VfU0VQQVJBVE9SX1JFR0VYLnNvdXJjZX0qYCk7XG5jb25zdCBTUEFDRV9TRVBBUkFUT1JfRU5EX1JFR0VYID0gbmV3IFJlZ0V4cChgJHtTUEFDRV9TRVBBUkFUT1JfUkVHRVguc291cmNlfSokYCk7XG5mdW5jdGlvbiBjcmVhdGVMb2NhdGlvbihzdGFydCwgZW5kKSB7XG5cdHJldHVybiB7XG5cdFx0c3RhcnQsXG5cdFx0ZW5kXG5cdH07XG59XG4vLyAjcmVnaW9uIFBvbnlmaWxsc1xuLy8gQ29uc29saWRhdGUgdGhlc2UgdmFyaWFibGVzIHVwIHRvcCBmb3IgZWFzaWVyIHRvZ2dsaW5nIGR1cmluZyBkZWJ1Z2dpbmdcbmNvbnN0IGhhc05hdGl2ZUZyb21FbnRyaWVzID0gISFPYmplY3QuZnJvbUVudHJpZXM7XG5jb25zdCBoYXNUcmltU3RhcnQgPSAhIVN0cmluZy5wcm90b3R5cGUudHJpbVN0YXJ0O1xuY29uc3QgaGFzVHJpbUVuZCA9ICEhU3RyaW5nLnByb3RvdHlwZS50cmltRW5kO1xuY29uc3QgZnJvbUVudHJpZXMgPSBoYXNOYXRpdmVGcm9tRW50cmllcyA/IE9iamVjdC5mcm9tRW50cmllcyA6IGZ1bmN0aW9uIGZyb21FbnRyaWVzKGVudHJpZXMpIHtcblx0Y29uc3Qgb2JqID0ge307XG5cdGZvciAoY29uc3QgW2ssIHZdIG9mIGVudHJpZXMpIHtcblx0XHRvYmpba10gPSB2O1xuXHR9XG5cdHJldHVybiBvYmo7XG59O1xuY29uc3QgdHJpbVN0YXJ0ID0gaGFzVHJpbVN0YXJ0ID8gZnVuY3Rpb24gdHJpbVN0YXJ0KHMpIHtcblx0cmV0dXJuIHMudHJpbVN0YXJ0KCk7XG59IDogZnVuY3Rpb24gdHJpbVN0YXJ0KHMpIHtcblx0cmV0dXJuIHMucmVwbGFjZShTUEFDRV9TRVBBUkFUT1JfU1RBUlRfUkVHRVgsIFwiXCIpO1xufTtcbmNvbnN0IHRyaW1FbmQgPSBoYXNUcmltRW5kID8gZnVuY3Rpb24gdHJpbUVuZChzKSB7XG5cdHJldHVybiBzLnRyaW1FbmQoKTtcbn0gOiBmdW5jdGlvbiB0cmltRW5kKHMpIHtcblx0cmV0dXJuIHMucmVwbGFjZShTUEFDRV9TRVBBUkFUT1JfRU5EX1JFR0VYLCBcIlwiKTtcbn07XG4vLyAjZW5kcmVnaW9uXG5jb25zdCBJREVOVElGSUVSX1BSRUZJWF9SRSA9IG5ldyBSZWdFeHAoXCIoW15cXFxccHtXaGl0ZV9TcGFjZX1cXFxccHtQYXR0ZXJuX1N5bnRheH1dKilcIiwgXCJ5dVwiKTtcbmZ1bmN0aW9uIG1hdGNoSWRlbnRpZmllckF0SW5kZXgocywgaW5kZXgpIHtcblx0SURFTlRJRklFUl9QUkVGSVhfUkUubGFzdEluZGV4ID0gaW5kZXg7XG5cdGNvbnN0IG1hdGNoID0gSURFTlRJRklFUl9QUkVGSVhfUkUuZXhlYyhzKTtcblx0cmV0dXJuIG1hdGNoWzFdID8/IFwiXCI7XG59XG5leHBvcnQgY2xhc3MgUGFyc2VyIHtcblx0bWVzc2FnZTtcblx0cG9zaXRpb247XG5cdGxvY2FsZTtcblx0aWdub3JlVGFnO1xuXHRyZXF1aXJlc090aGVyQ2xhdXNlO1xuXHRzaG91bGRQYXJzZVNrZWxldG9ucztcblx0Y29uc3RydWN0b3IobWVzc2FnZSwgb3B0aW9ucyA9IHt9KSB7XG5cdFx0dGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcblx0XHR0aGlzLnBvc2l0aW9uID0ge1xuXHRcdFx0b2Zmc2V0OiAwLFxuXHRcdFx0bGluZTogMSxcblx0XHRcdGNvbHVtbjogMVxuXHRcdH07XG5cdFx0dGhpcy5pZ25vcmVUYWcgPSAhIW9wdGlvbnMuaWdub3JlVGFnO1xuXHRcdHRoaXMubG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG5cdFx0dGhpcy5yZXF1aXJlc090aGVyQ2xhdXNlID0gISFvcHRpb25zLnJlcXVpcmVzT3RoZXJDbGF1c2U7XG5cdFx0dGhpcy5zaG91bGRQYXJzZVNrZWxldG9ucyA9ICEhb3B0aW9ucy5zaG91bGRQYXJzZVNrZWxldG9ucztcblx0fVxuXHRwYXJzZSgpIHtcblx0XHRpZiAodGhpcy5vZmZzZXQoKSAhPT0gMCkge1xuXHRcdFx0dGhyb3cgRXJyb3IoXCJwYXJzZXIgY2FuIG9ubHkgYmUgdXNlZCBvbmNlXCIpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5wYXJzZU1lc3NhZ2UoMCwgXCJcIiwgZmFsc2UpO1xuXHR9XG5cdHBhcnNlTWVzc2FnZShuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUsIGV4cGVjdGluZ0Nsb3NlVGFnKSB7XG5cdFx0bGV0IGVsZW1lbnRzID0gW107XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkpIHtcblx0XHRcdGNvbnN0IGNoYXIgPSB0aGlzLmNoYXIoKTtcblx0XHRcdGlmIChjaGFyID09PSAxMjMpIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZUFyZ3VtZW50KG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcpO1xuXHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxlbWVudHMucHVzaChyZXN1bHQudmFsKTtcblx0XHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gMTI1ICYmIG5lc3RpbmdMZXZlbCA+IDApIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDM1ICYmIChwYXJlbnRBcmdUeXBlID09PSBcInBsdXJhbFwiIHx8IHBhcmVudEFyZ1R5cGUgPT09IFwic2VsZWN0b3JkaW5hbFwiKSkge1xuXHRcdFx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0ZWxlbWVudHMucHVzaCh7XG5cdFx0XHRcdFx0dHlwZTogVFlQRS5wb3VuZCxcblx0XHRcdFx0XHRsb2NhdGlvbjogY3JlYXRlTG9jYXRpb24ocG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKVxuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gNjAgJiYgIXRoaXMuaWdub3JlVGFnICYmIHRoaXMucGVlaygpID09PSA0Nykge1xuXHRcdFx0XHRpZiAoZXhwZWN0aW5nQ2xvc2VUYWcpIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuVU5NQVRDSEVEX0NMT1NJTkdfVEFHLCBjcmVhdGVMb2NhdGlvbih0aGlzLmNsb25lUG9zaXRpb24oKSwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChjaGFyID09PSA2MCAmJiAhdGhpcy5pZ25vcmVUYWcgJiYgX2lzQWxwaGEodGhpcy5wZWVrKCkgfHwgMCkpIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZVRhZyhuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpO1xuXHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxlbWVudHMucHVzaChyZXN1bHQudmFsKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VMaXRlcmFsKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSk7XG5cdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbGVtZW50cy5wdXNoKHJlc3VsdC52YWwpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiBlbGVtZW50cyxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0LyoqXG5cdCogQSB0YWcgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYW4gQVNDSUkgbG93ZXIvdXBwZXIgY2FzZSBsZXR0ZXIuIFRoZSBncmFtbWFyIGlzIGJhc2VkIG9uIHRoZVxuXHQqIFtjdXN0b20gZWxlbWVudCBuYW1lXVtdIGV4Y2VwdCB0aGF0IGEgZGFzaCBpcyBOT1QgYWx3YXlzIG1hbmRhdG9yeSBhbmQgdXBwZXJjYXNlIGxldHRlcnNcblx0KiBhcmUgYWNjZXB0ZWQ6XG5cdCpcblx0KiBgYGBcblx0KiB0YWcgOjo9IFwiPFwiIHRhZ05hbWUgKHdoaXRlc3BhY2UpKiBcIi8+XCIgfCBcIjxcIiB0YWdOYW1lICh3aGl0ZXNwYWNlKSogXCI+XCIgbWVzc2FnZSBcIjwvXCIgdGFnTmFtZSAod2hpdGVzcGFjZSkqIFwiPlwiXG5cdCogdGFnTmFtZSA6Oj0gW2Etel0gKFBFTkNoYXIpKlxuXHQqIFBFTkNoYXIgOjo9XG5cdCogICAgIFwiLVwiIHwgXCIuXCIgfCBbMC05XSB8IFwiX1wiIHwgW2Etel0gfCBbQS1aXSB8ICN4QjcgfCBbI3hDMC0jeEQ2XSB8IFsjeEQ4LSN4RjZdIHwgWyN4RjgtI3gzN0RdIHxcblx0KiAgICAgWyN4MzdGLSN4MUZGRl0gfCBbI3gyMDBDLSN4MjAwRF0gfCBbI3gyMDNGLSN4MjA0MF0gfCBbI3gyMDcwLSN4MjE4Rl0gfCBbI3gyQzAwLSN4MkZFRl0gfFxuXHQqICAgICBbI3gzMDAxLSN4RDdGRl0gfCBbI3hGOTAwLSN4RkRDRl0gfCBbI3hGREYwLSN4RkZGRF0gfCBbI3gxMDAwMC0jeEVGRkZGXVxuXHQqIGBgYFxuXHQqXG5cdCogW2N1c3RvbSBlbGVtZW50IG5hbWVdOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0b20tZWxlbWVudHMuaHRtbCN2YWxpZC1jdXN0b20tZWxlbWVudC1uYW1lXG5cdCogTk9URTogV2UncmUgYSBiaXQgbW9yZSBsYXggaGVyZSBzaW5jZSBIVE1MIHRlY2huaWNhbGx5IGRvZXMgbm90IGFsbG93IHVwcGVyY2FzZSBIVE1MIGVsZW1lbnQgYnV0IHdlIGRvXG5cdCogc2luY2Ugb3RoZXIgdGFnLWJhc2VkIGVuZ2luZXMgbGlrZSBSZWFjdCBhbGxvdyBpdFxuXHQqL1xuXHRwYXJzZVRhZyhuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpIHtcblx0XHRjb25zdCBzdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0Y29uc3QgdGFnTmFtZSA9IHRoaXMucGFyc2VUYWdOYW1lKCk7XG5cdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRpZiAodGhpcy5idW1wSWYoXCIvPlwiKSkge1xuXHRcdFx0Ly8gU2VsZiBjbG9zaW5nIHRhZ1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0dHlwZTogVFlQRS5saXRlcmFsLFxuXHRcdFx0XHRcdHZhbHVlOiBgPCR7dGFnTmFtZX0vPmAsXG5cdFx0XHRcdFx0bG9jYXRpb246IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdH07XG5cdFx0fSBlbHNlIGlmICh0aGlzLmJ1bXBJZihcIj5cIikpIHtcblx0XHRcdGNvbnN0IGNoaWxkcmVuUmVzdWx0ID0gdGhpcy5wYXJzZU1lc3NhZ2UobmVzdGluZ0xldmVsICsgMSwgcGFyZW50QXJnVHlwZSwgdHJ1ZSk7XG5cdFx0XHRpZiAoY2hpbGRyZW5SZXN1bHQuZXJyKSB7XG5cdFx0XHRcdHJldHVybiBjaGlsZHJlblJlc3VsdDtcblx0XHRcdH1cblx0XHRcdGNvbnN0IGNoaWxkcmVuID0gY2hpbGRyZW5SZXN1bHQudmFsO1xuXHRcdFx0Ly8gRXhwZWN0aW5nIGEgY2xvc2UgdGFnXG5cdFx0XHRjb25zdCBlbmRUYWdTdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRpZiAodGhpcy5idW1wSWYoXCI8L1wiKSkge1xuXHRcdFx0XHRpZiAodGhpcy5pc0VPRigpIHx8ICFfaXNBbHBoYSh0aGlzLmNoYXIoKSkpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuSU5WQUxJRF9UQUcsIGNyZWF0ZUxvY2F0aW9uKGVuZFRhZ1N0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgY2xvc2luZ1RhZ05hbWVTdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IGNsb3NpbmdUYWdOYW1lID0gdGhpcy5wYXJzZVRhZ05hbWUoKTtcblx0XHRcdFx0aWYgKHRhZ05hbWUgIT09IGNsb3NpbmdUYWdOYW1lKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLlVOTUFUQ0hFRF9DTE9TSU5HX1RBRywgY3JlYXRlTG9jYXRpb24oY2xvc2luZ1RhZ05hbWVTdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGlmICghdGhpcy5idW1wSWYoXCI+XCIpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLklOVkFMSURfVEFHLCBjcmVhdGVMb2NhdGlvbihlbmRUYWdTdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBUWVBFLnRhZyxcblx0XHRcdFx0XHRcdHZhbHVlOiB0YWdOYW1lLFxuXHRcdFx0XHRcdFx0Y2hpbGRyZW4sXG5cdFx0XHRcdFx0XHRsb2NhdGlvbjogY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0fTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5VTkNMT1NFRF9UQUcsIGNyZWF0ZUxvY2F0aW9uKHN0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX1RBRywgY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogVGhpcyBtZXRob2QgYXNzdW1lcyB0aGF0IHRoZSBjYWxsZXIgaGFzIHBlZWtlZCBhaGVhZCBmb3IgdGhlIGZpcnN0IHRhZyBjaGFyYWN0ZXIuXG5cdCovXG5cdHBhcnNlVGFnTmFtZSgpIHtcblx0XHRjb25zdCBzdGFydE9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkgJiYgX2lzUG90ZW50aWFsRWxlbWVudE5hbWVDaGFyKHRoaXMuY2hhcigpKSkge1xuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm1lc3NhZ2Uuc2xpY2Uoc3RhcnRPZmZzZXQsIHRoaXMub2Zmc2V0KCkpO1xuXHR9XG5cdHBhcnNlTGl0ZXJhbChuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpIHtcblx0XHRjb25zdCBzdGFydCA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdGxldCB2YWx1ZSA9IFwiXCI7XG5cdFx0d2hpbGUgKHRydWUpIHtcblx0XHRcdGNvbnN0IHBhcnNlUXVvdGVSZXN1bHQgPSB0aGlzLnRyeVBhcnNlUXVvdGUocGFyZW50QXJnVHlwZSk7XG5cdFx0XHRpZiAocGFyc2VRdW90ZVJlc3VsdCkge1xuXHRcdFx0XHR2YWx1ZSArPSBwYXJzZVF1b3RlUmVzdWx0O1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHBhcnNlVW5xdW90ZWRSZXN1bHQgPSB0aGlzLnRyeVBhcnNlVW5xdW90ZWQobmVzdGluZ0xldmVsLCBwYXJlbnRBcmdUeXBlKTtcblx0XHRcdGlmIChwYXJzZVVucXVvdGVkUmVzdWx0KSB7XG5cdFx0XHRcdHZhbHVlICs9IHBhcnNlVW5xdW90ZWRSZXN1bHQ7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcGFyc2VMZWZ0QW5nbGVSZXN1bHQgPSB0aGlzLnRyeVBhcnNlTGVmdEFuZ2xlQnJhY2tldCgpO1xuXHRcdFx0aWYgKHBhcnNlTGVmdEFuZ2xlUmVzdWx0KSB7XG5cdFx0XHRcdHZhbHVlICs9IHBhcnNlTGVmdEFuZ2xlUmVzdWx0O1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0LCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDoge1xuXHRcdFx0XHR0eXBlOiBUWVBFLmxpdGVyYWwsXG5cdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRsb2NhdGlvblxuXHRcdFx0fSxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0dHJ5UGFyc2VMZWZ0QW5nbGVCcmFja2V0KCkge1xuXHRcdGlmICghdGhpcy5pc0VPRigpICYmIHRoaXMuY2hhcigpID09PSA2MCAmJiAodGhpcy5pZ25vcmVUYWcgfHwgIV9pc0FscGhhT3JTbGFzaCh0aGlzLnBlZWsoKSB8fCAwKSkpIHtcblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0cmV0dXJuIFwiPFwiO1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXHQvKipcblx0KiBTdGFydGluZyB3aXRoIElDVSA0LjgsIGFuIEFTQ0lJIGFwb3N0cm9waGUgb25seSBzdGFydHMgcXVvdGVkIHRleHQgaWYgaXQgaW1tZWRpYXRlbHkgcHJlY2VkZXNcblx0KiBhIGNoYXJhY3RlciB0aGF0IHJlcXVpcmVzIHF1b3RpbmcgKHRoYXQgaXMsIFwib25seSB3aGVyZSBuZWVkZWRcIiksIGFuZCB3b3JrcyB0aGUgc2FtZSBpblxuXHQqIG5lc3RlZCBtZXNzYWdlcyBhcyBvbiB0aGUgdG9wIGxldmVsIG9mIHRoZSBwYXR0ZXJuLiBUaGUgbmV3IGJlaGF2aW9yIGlzIG90aGVyd2lzZSBjb21wYXRpYmxlLlxuXHQqL1xuXHR0cnlQYXJzZVF1b3RlKHBhcmVudEFyZ1R5cGUpIHtcblx0XHRpZiAodGhpcy5pc0VPRigpIHx8IHRoaXMuY2hhcigpICE9PSAzOSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdC8vIFBhcnNlIGVzY2FwZWQgY2hhciBmb2xsb3dpbmcgdGhlIGFwb3N0cm9waGUsIG9yIGVhcmx5IHJldHVybiBpZiB0aGVyZSBpcyBubyBlc2NhcGVkIGNoYXIuXG5cdFx0Ly8gQ2hlY2sgaWYgaXMgdmFsaWQgZXNjYXBlZCBjaGFyYWN0ZXJcblx0XHRzd2l0Y2ggKHRoaXMucGVlaygpKSB7XG5cdFx0XHRjYXNlIDM5OlxuXHRcdFx0XHQvLyBkb3VibGUgcXVvdGUsIHNob3VsZCByZXR1cm4gYXMgYSBzaW5nbGUgcXVvdGUuXG5cdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0cmV0dXJuIFwiJ1wiO1xuXHRcdFx0Y2FzZSAxMjM6XG5cdFx0XHRjYXNlIDYwOlxuXHRcdFx0Y2FzZSA2Mjpcblx0XHRcdGNhc2UgMTI1OiBicmVhaztcblx0XHRcdGNhc2UgMzU6XG5cdFx0XHRcdGlmIChwYXJlbnRBcmdUeXBlID09PSBcInBsdXJhbFwiIHx8IHBhcmVudEFyZ1R5cGUgPT09IFwic2VsZWN0b3JkaW5hbFwiKSB7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHRkZWZhdWx0OiByZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0Y29uc3QgY29kZVBvaW50cyA9IFt0aGlzLmNoYXIoKV07XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0Ly8gcmVhZCBjaGFycyB1bnRpbCB0aGUgb3B0aW9uYWwgY2xvc2luZyBhcG9zdHJvcGhlIGlzIGZvdW5kXG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkpIHtcblx0XHRcdGNvbnN0IGNoID0gdGhpcy5jaGFyKCk7XG5cdFx0XHRpZiAoY2ggPT09IDM5KSB7XG5cdFx0XHRcdGlmICh0aGlzLnBlZWsoKSA9PT0gMzkpIHtcblx0XHRcdFx0XHRjb2RlUG9pbnRzLnB1c2goMzkpO1xuXHRcdFx0XHRcdC8vIEJ1bXAgb25lIG1vcmUgdGltZSBiZWNhdXNlIHdlIG5lZWQgdG8gc2tpcCAyIGNoYXJhY3RlcnMuXG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gT3B0aW9uYWwgY2xvc2luZyBhcG9zdHJvcGhlLlxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb2RlUG9pbnRzLnB1c2goY2gpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0fVxuXHRcdHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludCguLi5jb2RlUG9pbnRzKTtcblx0fVxuXHR0cnlQYXJzZVVucXVvdGVkKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSkge1xuXHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRjb25zdCBjaCA9IHRoaXMuY2hhcigpO1xuXHRcdGlmIChjaCA9PT0gNjAgfHwgY2ggPT09IDEyMyB8fCBjaCA9PT0gMzUgJiYgKHBhcmVudEFyZ1R5cGUgPT09IFwicGx1cmFsXCIgfHwgcGFyZW50QXJnVHlwZSA9PT0gXCJzZWxlY3RvcmRpbmFsXCIpIHx8IGNoID09PSAxMjUgJiYgbmVzdGluZ0xldmVsID4gMCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KGNoKTtcblx0XHR9XG5cdH1cblx0cGFyc2VBcmd1bWVudChuZXN0aW5nTGV2ZWwsIGV4cGVjdGluZ0Nsb3NlVGFnKSB7XG5cdFx0Y29uc3Qgb3BlbmluZ0JyYWNlUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHR0aGlzLmJ1bXAoKTtcblx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRSwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmNoYXIoKSA9PT0gMTI1KSB7XG5cdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FTVBUWV9BUkdVTUVOVCwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdC8vIGFyZ3VtZW50IG5hbWVcblx0XHRsZXQgdmFsdWUgPSB0aGlzLnBhcnNlSWRlbnRpZmllcklmUG9zc2libGUoKS52YWx1ZTtcblx0XHRpZiAoIXZhbHVlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuTUFMRk9STUVEX0FSR1VNRU5ULCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRpZiAodGhpcy5pc0VPRigpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0UsIGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0XHRzd2l0Y2ggKHRoaXMuY2hhcigpKSB7XG5cdFx0XHRjYXNlIDEyNToge1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFRZUEUuYXJndW1lbnQsXG5cdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdGxvY2F0aW9uOiBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHRcdGNhc2UgNDQ6IHtcblx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0UsIGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnBhcnNlQXJndW1lbnRPcHRpb25zKG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcsIHZhbHVlLCBvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHR9XG5cdFx0XHRkZWZhdWx0OiByZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuTUFMRk9STUVEX0FSR1VNRU5ULCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogQWR2YW5jZSB0aGUgcGFyc2VyIHVudGlsIHRoZSBlbmQgb2YgdGhlIGlkZW50aWZpZXIsIGlmIGl0IGlzIGN1cnJlbnRseSBvblxuXHQqIGFuIGlkZW50aWZpZXIgY2hhcmFjdGVyLiBSZXR1cm4gYW4gZW1wdHkgc3RyaW5nIG90aGVyd2lzZS5cblx0Ki9cblx0cGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpIHtcblx0XHRjb25zdCBzdGFydGluZ1Bvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0Y29uc3Qgc3RhcnRPZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xuXHRcdGNvbnN0IHZhbHVlID0gbWF0Y2hJZGVudGlmaWVyQXRJbmRleCh0aGlzLm1lc3NhZ2UsIHN0YXJ0T2Zmc2V0KTtcblx0XHRjb25zdCBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIHZhbHVlLmxlbmd0aDtcblx0XHR0aGlzLmJ1bXBUbyhlbmRPZmZzZXQpO1xuXHRcdGNvbnN0IGVuZFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0Y29uc3QgbG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihzdGFydGluZ1Bvc2l0aW9uLCBlbmRQb3NpdGlvbik7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbHVlLFxuXHRcdFx0bG9jYXRpb25cblx0XHR9O1xuXHR9XG5cdHBhcnNlQXJndW1lbnRPcHRpb25zKG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcsIHZhbHVlLCBvcGVuaW5nQnJhY2VQb3NpdGlvbikge1xuXHRcdC8vIFBhcnNlIHRoaXMgcmFuZ2U6XG5cdFx0Ly8ge25hbWUsIHR5cGUsIHN0eWxlfVxuXHRcdC8vICAgICAgICBeLS0tXlxuXHRcdGxldCB0eXBlU3RhcnRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdGxldCBhcmdUeXBlID0gdGhpcy5wYXJzZUlkZW50aWZpZXJJZlBvc3NpYmxlKCkudmFsdWU7XG5cdFx0bGV0IHR5cGVFbmRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdHN3aXRjaCAoYXJnVHlwZSkge1xuXHRcdFx0Y2FzZSBcIlwiOlxuIC8vIEV4cGVjdGluZyBhIHN0eWxlIHN0cmluZyBudW1iZXIsIGRhdGUsIHRpbWUsIHBsdXJhbCwgc2VsZWN0b3JkaW5hbCwgb3Igc2VsZWN0LlxuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9BUkdVTUVOVF9UWVBFLCBjcmVhdGVMb2NhdGlvbih0eXBlU3RhcnRQb3NpdGlvbiwgdHlwZUVuZFBvc2l0aW9uKSk7XG5cdFx0XHRjYXNlIFwibnVtYmVyXCI6XG5cdFx0XHRjYXNlIFwiZGF0ZVwiOlxuXHRcdFx0Y2FzZSBcInRpbWVcIjoge1xuXHRcdFx0XHQvLyBQYXJzZSB0aGlzIHJhbmdlOlxuXHRcdFx0XHQvLyB7bmFtZSwgbnVtYmVyLCBzdHlsZX1cblx0XHRcdFx0Ly8gICAgICAgICAgICAgIF4tLS0tLS0tXlxuXHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHRsZXQgc3R5bGVBbmRMb2NhdGlvbiA9IG51bGw7XG5cdFx0XHRcdGlmICh0aGlzLmJ1bXBJZihcIixcIikpIHtcblx0XHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHRcdGNvbnN0IHN0eWxlU3RhcnRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VTaW1wbGVBcmdTdHlsZUlmUG9zc2libGUoKTtcblx0XHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3Qgc3R5bGUgPSB0cmltRW5kKHJlc3VsdC52YWwpO1xuXHRcdFx0XHRcdGlmIChzdHlsZS5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfU1RZTEUsIGNyZWF0ZUxvY2F0aW9uKHRoaXMuY2xvbmVQb3NpdGlvbigpLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zdCBzdHlsZUxvY2F0aW9uID0gY3JlYXRlTG9jYXRpb24oc3R5bGVTdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0XHRcdFx0c3R5bGVBbmRMb2NhdGlvbiA9IHtcblx0XHRcdFx0XHRcdHN0eWxlLFxuXHRcdFx0XHRcdFx0c3R5bGVMb2NhdGlvblxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgYXJnQ2xvc2VSZXN1bHQgPSB0aGlzLnRyeVBhcnNlQXJndW1lbnRDbG9zZShvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHRcdGlmIChhcmdDbG9zZVJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRyZXR1cm4gYXJnQ2xvc2VSZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgbG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdFx0XHQvLyBFeHRyYWN0IHN0eWxlIG9yIHNrZWxldG9uXG5cdFx0XHRcdGlmIChzdHlsZUFuZExvY2F0aW9uICYmIHN0eWxlQW5kTG9jYXRpb24uc3R5bGUuc3RhcnRzV2l0aChcIjo6XCIpKSB7XG5cdFx0XHRcdFx0Ly8gU2tlbGV0b24gc3RhcnRzIHdpdGggYDo6YC5cblx0XHRcdFx0XHRsZXQgc2tlbGV0b24gPSB0cmltU3RhcnQoc3R5bGVBbmRMb2NhdGlvbi5zdHlsZS5zbGljZSgyKSk7XG5cdFx0XHRcdFx0aWYgKGFyZ1R5cGUgPT09IFwibnVtYmVyXCIpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VOdW1iZXJTa2VsZXRvbkZyb21TdHJpbmcoc2tlbGV0b24sIHN0eWxlQW5kTG9jYXRpb24uc3R5bGVMb2NhdGlvbik7XG5cdFx0XHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogVFlQRS5udW1iZXIsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0bG9jYXRpb24sXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHJlc3VsdC52YWxcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRpZiAoc2tlbGV0b24ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfREFURV9USU1FX1NLRUxFVE9OLCBsb2NhdGlvbik7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRsZXQgZGF0ZVRpbWVQYXR0ZXJuID0gc2tlbGV0b247XG5cdFx0XHRcdFx0XHQvLyBHZXQgXCJiZXN0IG1hdGNoXCIgcGF0dGVybiBvbmx5IGlmIGxvY2FsZSBpcyBwYXNzZWQsIGlmIG5vdCwgbGV0IGl0XG5cdFx0XHRcdFx0XHQvLyBwYXNzIGFzLWlzIHdoZXJlIGBwYXJzZURhdGVUaW1lU2tlbGV0b24oKWAgd2lsbCB0aHJvdyBhbiBlcnJvclxuXHRcdFx0XHRcdFx0Ly8gZm9yIHVuc3VwcG9ydGVkIHBhdHRlcm5zLlxuXHRcdFx0XHRcdFx0aWYgKHRoaXMubG9jYWxlKSB7XG5cdFx0XHRcdFx0XHRcdGRhdGVUaW1lUGF0dGVybiA9IGdldEJlc3RQYXR0ZXJuKHNrZWxldG9uLCB0aGlzLmxvY2FsZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zdCBzdHlsZSA9IHtcblx0XHRcdFx0XHRcdFx0dHlwZTogU0tFTEVUT05fVFlQRS5kYXRlVGltZSxcblx0XHRcdFx0XHRcdFx0cGF0dGVybjogZGF0ZVRpbWVQYXR0ZXJuLFxuXHRcdFx0XHRcdFx0XHRsb2NhdGlvbjogc3R5bGVBbmRMb2NhdGlvbi5zdHlsZUxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0XHRwYXJzZWRPcHRpb25zOiB0aGlzLnNob3VsZFBhcnNlU2tlbGV0b25zID8gcGFyc2VEYXRlVGltZVNrZWxldG9uKGRhdGVUaW1lUGF0dGVybikgOiB7fVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdGNvbnN0IHR5cGUgPSBhcmdUeXBlID09PSBcImRhdGVcIiA/IFRZUEUuZGF0ZSA6IFRZUEUudGltZTtcblx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdHZhbDoge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGUsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0bG9jYXRpb24sXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGVcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBSZWd1bGFyIHN0eWxlIG9yIG5vIHN0eWxlLlxuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdHZhbDoge1xuXHRcdFx0XHRcdFx0dHlwZTogYXJnVHlwZSA9PT0gXCJudW1iZXJcIiA/IFRZUEUubnVtYmVyIDogYXJnVHlwZSA9PT0gXCJkYXRlXCIgPyBUWVBFLmRhdGUgOiBUWVBFLnRpbWUsXG5cdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdGxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0c3R5bGU6IHN0eWxlQW5kTG9jYXRpb24/LnN0eWxlID8/IG51bGxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSBcInBsdXJhbFwiOlxuXHRcdFx0Y2FzZSBcInNlbGVjdG9yZGluYWxcIjpcblx0XHRcdGNhc2UgXCJzZWxlY3RcIjoge1xuXHRcdFx0XHQvLyBQYXJzZSB0aGlzIHJhbmdlOlxuXHRcdFx0XHQvLyB7bmFtZSwgcGx1cmFsLCBvcHRpb25zfVxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgXi0tLS0tLS0tLV5cblx0XHRcdFx0Y29uc3QgdHlwZUVuZFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGlmICghdGhpcy5idW1wSWYoXCIsXCIpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfT1BUSU9OUywgY3JlYXRlTG9jYXRpb24odHlwZUVuZFBvc2l0aW9uLCB7IC4uLnR5cGVFbmRQb3NpdGlvbiB9KSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdFx0Ly8gUGFyc2Ugb2Zmc2V0OlxuXHRcdFx0XHQvLyB7bmFtZSwgcGx1cmFsLCBvZmZzZXQ6MSwgb3B0aW9uc31cblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgXi0tLS0tXlxuXHRcdFx0XHQvL1xuXHRcdFx0XHQvLyBvciB0aGUgZmlyc3Qgb3B0aW9uOlxuXHRcdFx0XHQvL1xuXHRcdFx0XHQvLyB7bmFtZSwgcGx1cmFsLCBvbmUgey4uLn0gb3RoZXIgey4uLn19XG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgIF4tLV5cblx0XHRcdFx0bGV0IGlkZW50aWZpZXJBbmRMb2NhdGlvbiA9IHRoaXMucGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpO1xuXHRcdFx0XHRsZXQgcGx1cmFsT2Zmc2V0ID0gMDtcblx0XHRcdFx0aWYgKGFyZ1R5cGUgIT09IFwic2VsZWN0XCIgJiYgaWRlbnRpZmllckFuZExvY2F0aW9uLnZhbHVlID09PSBcIm9mZnNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLmJ1bXBJZihcIjpcIikpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRSwgY3JlYXRlTG9jYXRpb24odGhpcy5jbG9uZVBvc2l0aW9uKCksIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy50cnlQYXJzZURlY2ltYWxJbnRlZ2VyKEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRSwgRXJyb3JLaW5kLklOVkFMSURfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRSk7XG5cdFx0XHRcdFx0aWYgKHJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8vIFBhcnNlIGFub3RoZXIgaWRlbnRpZmllciBmb3Igb3B0aW9uIHBhcnNpbmdcblx0XHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHRcdGlkZW50aWZpZXJBbmRMb2NhdGlvbiA9IHRoaXMucGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpO1xuXHRcdFx0XHRcdHBsdXJhbE9mZnNldCA9IHJlc3VsdC52YWw7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3Qgb3B0aW9uc1Jlc3VsdCA9IHRoaXMudHJ5UGFyc2VQbHVyYWxPclNlbGVjdE9wdGlvbnMobmVzdGluZ0xldmVsLCBhcmdUeXBlLCBleHBlY3RpbmdDbG9zZVRhZywgaWRlbnRpZmllckFuZExvY2F0aW9uKTtcblx0XHRcdFx0aWYgKG9wdGlvbnNSZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9wdGlvbnNSZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgYXJnQ2xvc2VSZXN1bHQgPSB0aGlzLnRyeVBhcnNlQXJndW1lbnRDbG9zZShvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHRcdGlmIChhcmdDbG9zZVJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRyZXR1cm4gYXJnQ2xvc2VSZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgbG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdFx0XHRpZiAoYXJnVHlwZSA9PT0gXCJzZWxlY3RcIikge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdFx0dHlwZTogVFlQRS5zZWxlY3QsXG5cdFx0XHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBmcm9tRW50cmllcyhvcHRpb25zUmVzdWx0LnZhbCksXG5cdFx0XHRcdFx0XHRcdGxvY2F0aW9uXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHRcdHR5cGU6IFRZUEUucGx1cmFsLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdFx0b3B0aW9uczogZnJvbUVudHJpZXMob3B0aW9uc1Jlc3VsdC52YWwpLFxuXHRcdFx0XHRcdFx0XHRvZmZzZXQ6IHBsdXJhbE9mZnNldCxcblx0XHRcdFx0XHRcdFx0cGx1cmFsVHlwZTogYXJnVHlwZSA9PT0gXCJwbHVyYWxcIiA/IFwiY2FyZGluYWxcIiA6IFwib3JkaW5hbFwiLFxuXHRcdFx0XHRcdFx0XHRsb2NhdGlvblxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGRlZmF1bHQ6IHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX0FSR1VNRU5UX1RZUEUsIGNyZWF0ZUxvY2F0aW9uKHR5cGVTdGFydFBvc2l0aW9uLCB0eXBlRW5kUG9zaXRpb24pKTtcblx0XHR9XG5cdH1cblx0dHJ5UGFyc2VBcmd1bWVudENsb3NlKG9wZW5pbmdCcmFjZVBvc2l0aW9uKSB7XG5cdFx0Ly8gUGFyc2U6IHt2YWx1ZSwgbnVtYmVyLCA6OmN1cnJlbmN5L0dCUCB9XG5cdFx0Ly9cblx0XHRpZiAodGhpcy5pc0VPRigpIHx8IHRoaXMuY2hhcigpICE9PSAxMjUpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRSwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdHRoaXMuYnVtcCgpO1xuXHRcdHJldHVybiB7XG5cdFx0XHR2YWw6IHRydWUsXG5cdFx0XHRlcnI6IG51bGxcblx0XHR9O1xuXHR9XG5cdC8qKlxuXHQqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2ljdS9ibG9iL2FmN2VkMWY2ZDIyOTgwMTNkYzMwMzYyODQzOGVjNGFiZTFmMTY0NzkvaWN1NGMvc291cmNlL2NvbW1vbi9tZXNzYWdlcGF0dGVybi5jcHAjTDY1OVxuXHQqL1xuXHRwYXJzZVNpbXBsZUFyZ1N0eWxlSWZQb3NzaWJsZSgpIHtcblx0XHRsZXQgbmVzdGVkQnJhY2VzID0gMDtcblx0XHRjb25zdCBzdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkpIHtcblx0XHRcdGNvbnN0IGNoID0gdGhpcy5jaGFyKCk7XG5cdFx0XHRzd2l0Y2ggKGNoKSB7XG5cdFx0XHRcdGNhc2UgMzk6IHtcblx0XHRcdFx0XHQvLyBUcmVhdCBhcG9zdHJvcGhlIGFzIHF1b3RpbmcgYnV0IGluY2x1ZGUgaXQgaW4gdGhlIHN0eWxlIHBhcnQuXG5cdFx0XHRcdFx0Ly8gRmluZCB0aGUgZW5kIG9mIHRoZSBxdW90ZWQgbGl0ZXJhbCB0ZXh0LlxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGxldCBhcG9zdHJvcGhlUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdFx0XHRpZiAoIXRoaXMuYnVtcFVudGlsKFwiJ1wiKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLlVOQ0xPU0VEX1FVT1RFX0lOX0FSR1VNRU5UX1NUWUxFLCBjcmVhdGVMb2NhdGlvbihhcG9zdHJvcGhlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNhc2UgMTIzOiB7XG5cdFx0XHRcdFx0bmVzdGVkQnJhY2VzICs9IDE7XG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y2FzZSAxMjU6IHtcblx0XHRcdFx0XHRpZiAobmVzdGVkQnJhY2VzID4gMCkge1xuXHRcdFx0XHRcdFx0bmVzdGVkQnJhY2VzIC09IDE7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdHZhbDogdGhpcy5tZXNzYWdlLnNsaWNlKHN0YXJ0UG9zaXRpb24ub2Zmc2V0LCB0aGlzLm9mZnNldCgpKSxcblx0XHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiB0aGlzLm1lc3NhZ2Uuc2xpY2Uoc3RhcnRQb3NpdGlvbi5vZmZzZXQsIHRoaXMub2Zmc2V0KCkpLFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHRwYXJzZU51bWJlclNrZWxldG9uRnJvbVN0cmluZyhza2VsZXRvbiwgbG9jYXRpb24pIHtcblx0XHRsZXQgdG9rZW5zID0gW107XG5cdFx0dHJ5IHtcblx0XHRcdHRva2VucyA9IHBhcnNlTnVtYmVyU2tlbGV0b25Gcm9tU3RyaW5nKHNrZWxldG9uKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX05VTUJFUl9TS0VMRVRPTiwgbG9jYXRpb24pO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiB7XG5cdFx0XHRcdHR5cGU6IFNLRUxFVE9OX1RZUEUubnVtYmVyLFxuXHRcdFx0XHR0b2tlbnMsXG5cdFx0XHRcdGxvY2F0aW9uLFxuXHRcdFx0XHRwYXJzZWRPcHRpb25zOiB0aGlzLnNob3VsZFBhcnNlU2tlbGV0b25zID8gcGFyc2VOdW1iZXJTa2VsZXRvbih0b2tlbnMpIDoge31cblx0XHRcdH0sXG5cdFx0XHRlcnI6IG51bGxcblx0XHR9O1xuXHR9XG5cdC8qKlxuXHQqIEBwYXJhbSBuZXN0aW5nX2xldmVsIFRoZSBjdXJyZW50IG5lc3RpbmcgbGV2ZWwgb2YgbWVzc2FnZXMuXG5cdCogICAgIFRoaXMgY2FuIGJlIHBvc2l0aXZlIHdoZW4gcGFyc2luZyBtZXNzYWdlIGZyYWdtZW50IGluIHNlbGVjdCBvciBwbHVyYWwgYXJndW1lbnQgb3B0aW9ucy5cblx0KiBAcGFyYW0gcGFyZW50X2FyZ190eXBlIFRoZSBwYXJlbnQgYXJndW1lbnQncyB0eXBlLlxuXHQqIEBwYXJhbSBwYXJzZWRfZmlyc3RfaWRlbnRpZmllciBJZiBwcm92aWRlZCwgdGhpcyBpcyB0aGUgZmlyc3QgaWRlbnRpZmllci1saWtlIHNlbGVjdG9yIG9mXG5cdCogICAgIHRoZSBhcmd1bWVudC4gSXQgaXMgYSBieS1wcm9kdWN0IG9mIGEgcHJldmlvdXMgcGFyc2luZyBhdHRlbXB0LlxuXHQqIEBwYXJhbSBleHBlY3RpbmdfY2xvc2VfdGFnIElmIHRydWUsIHRoaXMgbWVzc2FnZSBpcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IG5lc3RlZCBpbnNpZGVcblx0KiAgICAgYmV0d2VlbiBhIHBhaXIgb2Ygb3BlbmluZyBhbmQgY2xvc2luZyB0YWdzLiBUaGUgbmVzdGVkIG1lc3NhZ2Ugd2lsbCBub3QgcGFyc2UgYmV5b25kXG5cdCogICAgIHRoZSBjbG9zaW5nIHRhZyBib3VuZGFyeS5cblx0Ki9cblx0dHJ5UGFyc2VQbHVyYWxPclNlbGVjdE9wdGlvbnMobmVzdGluZ0xldmVsLCBwYXJlbnRBcmdUeXBlLCBleHBlY3RDbG9zZVRhZywgcGFyc2VkRmlyc3RJZGVudGlmaWVyKSB7XG5cdFx0bGV0IGhhc090aGVyQ2xhdXNlID0gZmFsc2U7XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IFtdO1xuXHRcdGNvbnN0IHBhcnNlZFNlbGVjdG9ycyA9IG5ldyBTZXQoKTtcblx0XHRsZXQgeyB2YWx1ZTogc2VsZWN0b3IsIGxvY2F0aW9uOiBzZWxlY3RvckxvY2F0aW9uIH0gPSBwYXJzZWRGaXJzdElkZW50aWZpZXI7XG5cdFx0Ly8gUGFyc2U6XG5cdFx0Ly8gb25lIHtvbmUgYXBwbGV9XG5cdFx0Ly8gXi0tXlxuXHRcdHdoaWxlICh0cnVlKSB7XG5cdFx0XHRpZiAoc2VsZWN0b3IubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdGNvbnN0IHN0YXJ0UG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdFx0aWYgKHBhcmVudEFyZ1R5cGUgIT09IFwic2VsZWN0XCIgJiYgdGhpcy5idW1wSWYoXCI9XCIpKSB7XG5cdFx0XHRcdFx0Ly8gVHJ5IHBhcnNlIGA9e251bWJlcn1gIHNlbGVjdG9yXG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy50cnlQYXJzZURlY2ltYWxJbnRlZ2VyKEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SLCBFcnJvcktpbmQuSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1IpO1xuXHRcdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzZWxlY3RvckxvY2F0aW9uID0gY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdFx0XHRcdHNlbGVjdG9yID0gdGhpcy5tZXNzYWdlLnNsaWNlKHN0YXJ0UG9zaXRpb24ub2Zmc2V0LCB0aGlzLm9mZnNldCgpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly8gRHVwbGljYXRlIHNlbGVjdG9yIGNsYXVzZXNcblx0XHRcdGlmIChwYXJzZWRTZWxlY3RvcnMuaGFzKHNlbGVjdG9yKSkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihwYXJlbnRBcmdUeXBlID09PSBcInNlbGVjdFwiID8gRXJyb3JLaW5kLkRVUExJQ0FURV9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1IgOiBFcnJvcktpbmQuRFVQTElDQVRFX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUiwgc2VsZWN0b3JMb2NhdGlvbik7XG5cdFx0XHR9XG5cdFx0XHRpZiAoc2VsZWN0b3IgPT09IFwib3RoZXJcIikge1xuXHRcdFx0XHRoYXNPdGhlckNsYXVzZSA9IHRydWU7XG5cdFx0XHR9XG5cdFx0XHQvLyBQYXJzZTpcblx0XHRcdC8vIG9uZSB7b25lIGFwcGxlfVxuXHRcdFx0Ly8gICAgIF4tLS0tLS0tLS0tXlxuXHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdGNvbnN0IG9wZW5pbmdCcmFjZVBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRpZiAoIXRoaXMuYnVtcElmKFwie1wiKSkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihwYXJlbnRBcmdUeXBlID09PSBcInNlbGVjdFwiID8gRXJyb3JLaW5kLkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlQgOiBFcnJvcktpbmQuRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUl9GUkFHTUVOVCwgY3JlYXRlTG9jYXRpb24odGhpcy5jbG9uZVBvc2l0aW9uKCksIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBmcmFnbWVudFJlc3VsdCA9IHRoaXMucGFyc2VNZXNzYWdlKG5lc3RpbmdMZXZlbCArIDEsIHBhcmVudEFyZ1R5cGUsIGV4cGVjdENsb3NlVGFnKTtcblx0XHRcdGlmIChmcmFnbWVudFJlc3VsdC5lcnIpIHtcblx0XHRcdFx0cmV0dXJuIGZyYWdtZW50UmVzdWx0O1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgYXJnQ2xvc2VSZXN1bHQgPSB0aGlzLnRyeVBhcnNlQXJndW1lbnRDbG9zZShvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHRpZiAoYXJnQ2xvc2VSZXN1bHQuZXJyKSB7XG5cdFx0XHRcdHJldHVybiBhcmdDbG9zZVJlc3VsdDtcblx0XHRcdH1cblx0XHRcdG9wdGlvbnMucHVzaChbc2VsZWN0b3IsIHtcblx0XHRcdFx0dmFsdWU6IGZyYWdtZW50UmVzdWx0LnZhbCxcblx0XHRcdFx0bG9jYXRpb246IGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSlcblx0XHRcdH1dKTtcblx0XHRcdC8vIEtlZXAgdHJhY2sgb2YgdGhlIGV4aXN0aW5nIHNlbGVjdG9yc1xuXHRcdFx0cGFyc2VkU2VsZWN0b3JzLmFkZChzZWxlY3Rvcik7XG5cdFx0XHQvLyBQcmVwIG5leHQgc2VsZWN0b3IgY2xhdXNlLlxuXHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdCh7dmFsdWU6IHNlbGVjdG9yLCBsb2NhdGlvbjogc2VsZWN0b3JMb2NhdGlvbn0gPSB0aGlzLnBhcnNlSWRlbnRpZmllcklmUG9zc2libGUoKSk7XG5cdFx0fVxuXHRcdGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IocGFyZW50QXJnVHlwZSA9PT0gXCJzZWxlY3RcIiA/IEVycm9yS2luZC5FWFBFQ1RfU0VMRUNUX0FSR1VNRU5UX1NFTEVDVE9SIDogRXJyb3JLaW5kLkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1IsIGNyZWF0ZUxvY2F0aW9uKHRoaXMuY2xvbmVQb3NpdGlvbigpLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5yZXF1aXJlc090aGVyQ2xhdXNlICYmICFoYXNPdGhlckNsYXVzZSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLk1JU1NJTkdfT1RIRVJfQ0xBVVNFLCBjcmVhdGVMb2NhdGlvbih0aGlzLmNsb25lUG9zaXRpb24oKSwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDogb3B0aW9ucyxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0dHJ5UGFyc2VEZWNpbWFsSW50ZWdlcihleHBlY3ROdW1iZXJFcnJvciwgaW52YWxpZE51bWJlckVycm9yKSB7XG5cdFx0bGV0IHNpZ24gPSAxO1xuXHRcdGNvbnN0IHN0YXJ0aW5nUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRpZiAodGhpcy5idW1wSWYoXCIrXCIpKSB7fSBlbHNlIGlmICh0aGlzLmJ1bXBJZihcIi1cIikpIHtcblx0XHRcdHNpZ24gPSAtMTtcblx0XHR9XG5cdFx0bGV0IGhhc0RpZ2l0cyA9IGZhbHNlO1xuXHRcdGxldCBkZWNpbWFsID0gMDtcblx0XHR3aGlsZSAoIXRoaXMuaXNFT0YoKSkge1xuXHRcdFx0Y29uc3QgY2ggPSB0aGlzLmNoYXIoKTtcblx0XHRcdGlmIChjaCA+PSA0OCAmJiBjaCA8PSA1Nykge1xuXHRcdFx0XHRoYXNEaWdpdHMgPSB0cnVlO1xuXHRcdFx0XHRkZWNpbWFsID0gZGVjaW1hbCAqIDEwICsgKGNoIC0gNDgpO1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0aW5nUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKTtcblx0XHRpZiAoIWhhc0RpZ2l0cykge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoZXhwZWN0TnVtYmVyRXJyb3IsIGxvY2F0aW9uKTtcblx0XHR9XG5cdFx0ZGVjaW1hbCAqPSBzaWduO1xuXHRcdGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIoZGVjaW1hbCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKGludmFsaWROdW1iZXJFcnJvciwgbG9jYXRpb24pO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiBkZWNpbWFsLFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHRvZmZzZXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMucG9zaXRpb24ub2Zmc2V0O1xuXHR9XG5cdGlzRU9GKCkge1xuXHRcdHJldHVybiB0aGlzLm9mZnNldCgpID09PSB0aGlzLm1lc3NhZ2UubGVuZ3RoO1xuXHR9XG5cdGNsb25lUG9zaXRpb24oKSB7XG5cdFx0Ly8gVGhpcyBpcyBtdWNoIGZhc3RlciB0aGFuIGBPYmplY3QuYXNzaWduYCBvciBzcHJlYWQuXG5cdFx0cmV0dXJuIHtcblx0XHRcdG9mZnNldDogdGhpcy5wb3NpdGlvbi5vZmZzZXQsXG5cdFx0XHRsaW5lOiB0aGlzLnBvc2l0aW9uLmxpbmUsXG5cdFx0XHRjb2x1bW46IHRoaXMucG9zaXRpb24uY29sdW1uXG5cdFx0fTtcblx0fVxuXHQvKipcblx0KiBSZXR1cm4gdGhlIGNvZGUgcG9pbnQgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHBhcnNlci5cblx0KiBUaHJvd3MgaWYgdGhlIGluZGV4IGlzIG91dCBvZiBib3VuZC5cblx0Ki9cblx0Y2hhcigpIHtcblx0XHRjb25zdCBvZmZzZXQgPSB0aGlzLnBvc2l0aW9uLm9mZnNldDtcblx0XHRpZiAob2Zmc2V0ID49IHRoaXMubWVzc2FnZS5sZW5ndGgpIHtcblx0XHRcdHRocm93IEVycm9yKFwib3V0IG9mIGJvdW5kXCIpO1xuXHRcdH1cblx0XHRjb25zdCBjb2RlID0gdGhpcy5tZXNzYWdlLmNvZGVQb2ludEF0KG9mZnNldCk7XG5cdFx0aWYgKGNvZGUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhyb3cgRXJyb3IoYE9mZnNldCAke29mZnNldH0gaXMgYXQgaW52YWxpZCBVVEYtMTYgY29kZSB1bml0IGJvdW5kYXJ5YCk7XG5cdFx0fVxuXHRcdHJldHVybiBjb2RlO1xuXHR9XG5cdGVycm9yKGtpbmQsIGxvY2F0aW9uKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDogbnVsbCxcblx0XHRcdGVycjoge1xuXHRcdFx0XHRraW5kLFxuXHRcdFx0XHRtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG5cdFx0XHRcdGxvY2F0aW9uXG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXHQvKiogQnVtcCB0aGUgcGFyc2VyIHRvIHRoZSBuZXh0IFVURi0xNiBjb2RlIHVuaXQuICovXG5cdGJ1bXAoKSB7XG5cdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBjb2RlID0gdGhpcy5jaGFyKCk7XG5cdFx0aWYgKGNvZGUgPT09IDEwKSB7XG5cdFx0XHR0aGlzLnBvc2l0aW9uLmxpbmUgKz0gMTtcblx0XHRcdHRoaXMucG9zaXRpb24uY29sdW1uID0gMTtcblx0XHRcdHRoaXMucG9zaXRpb24ub2Zmc2V0ICs9IDE7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucG9zaXRpb24uY29sdW1uICs9IDE7XG5cdFx0XHQvLyAwIH4gMHgxMDAwMCAtPiB1bmljb2RlIEJNUCwgb3RoZXJ3aXNlIHNraXAgdGhlIHN1cnJvZ2F0ZSBwYWlyLlxuXHRcdFx0dGhpcy5wb3NpdGlvbi5vZmZzZXQgKz0gY29kZSA8IDY1NTM2ID8gMSA6IDI7XG5cdFx0fVxuXHR9XG5cdC8qKlxuXHQqIElmIHRoZSBzdWJzdHJpbmcgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHBhcnNlciBoYXNcblx0KiB0aGUgZ2l2ZW4gcHJlZml4LCB0aGVuIGJ1bXAgdGhlIHBhcnNlciB0byB0aGUgY2hhcmFjdGVyIGltbWVkaWF0ZWx5XG5cdCogZm9sbG93aW5nIHRoZSBwcmVmaXggYW5kIHJldHVybiB0cnVlLiBPdGhlcndpc2UsIGRvbid0IGJ1bXAgdGhlIHBhcnNlclxuXHQqIGFuZCByZXR1cm4gZmFsc2UuXG5cdCovXG5cdGJ1bXBJZihwcmVmaXgpIHtcblx0XHRpZiAodGhpcy5tZXNzYWdlLnN0YXJ0c1dpdGgocHJlZml4LCB0aGlzLm9mZnNldCgpKSkge1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBwcmVmaXgubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdC8qKlxuXHQqIEJ1bXAgdGhlIHBhcnNlciB1bnRpbCB0aGUgcGF0dGVybiBjaGFyYWN0ZXIgaXMgZm91bmQgYW5kIHJldHVybiBgdHJ1ZWAuXG5cdCogT3RoZXJ3aXNlIGJ1bXAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgcmV0dXJuIGBmYWxzZWAuXG5cdCovXG5cdGJ1bXBVbnRpbChwYXR0ZXJuKSB7XG5cdFx0Y29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0Y29uc3QgaW5kZXggPSB0aGlzLm1lc3NhZ2UuaW5kZXhPZihwYXR0ZXJuLCBjdXJyZW50T2Zmc2V0KTtcblx0XHRpZiAoaW5kZXggPj0gMCkge1xuXHRcdFx0dGhpcy5idW1wVG8oaW5kZXgpO1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVtcFRvKHRoaXMubWVzc2FnZS5sZW5ndGgpO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXHQvKipcblx0KiBCdW1wIHRoZSBwYXJzZXIgdG8gdGhlIHRhcmdldCBvZmZzZXQuXG5cdCogSWYgdGFyZ2V0IG9mZnNldCBpcyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgaW5wdXQsIGJ1bXAgdGhlIHBhcnNlciB0byB0aGUgZW5kIG9mIHRoZSBpbnB1dC5cblx0Ki9cblx0YnVtcFRvKHRhcmdldE9mZnNldCkge1xuXHRcdGlmICh0aGlzLm9mZnNldCgpID4gdGFyZ2V0T2Zmc2V0KSB7XG5cdFx0XHR0aHJvdyBFcnJvcihgdGFyZ2V0T2Zmc2V0ICR7dGFyZ2V0T2Zmc2V0fSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgY3VycmVudCBvZmZzZXQgJHt0aGlzLm9mZnNldCgpfWApO1xuXHRcdH1cblx0XHR0YXJnZXRPZmZzZXQgPSBNYXRoLm1pbih0YXJnZXRPZmZzZXQsIHRoaXMubWVzc2FnZS5sZW5ndGgpO1xuXHRcdHdoaWxlICh0cnVlKSB7XG5cdFx0XHRjb25zdCBvZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xuXHRcdFx0aWYgKG9mZnNldCA9PT0gdGFyZ2V0T2Zmc2V0KSB7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9mZnNldCA+IHRhcmdldE9mZnNldCkge1xuXHRcdFx0XHR0aHJvdyBFcnJvcihgdGFyZ2V0T2Zmc2V0ICR7dGFyZ2V0T2Zmc2V0fSBpcyBhdCBpbnZhbGlkIFVURi0xNiBjb2RlIHVuaXQgYm91bmRhcnlgKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LyoqIGFkdmFuY2UgdGhlIHBhcnNlciB0aHJvdWdoIGFsbCB3aGl0ZXNwYWNlIHRvIHRoZSBuZXh0IG5vbi13aGl0ZXNwYWNlIGNvZGUgdW5pdC4gKi9cblx0YnVtcFNwYWNlKCkge1xuXHRcdHdoaWxlICghdGhpcy5pc0VPRigpICYmIF9pc1doaXRlU3BhY2UodGhpcy5jaGFyKCkpKSB7XG5cdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogUGVlayBhdCB0aGUgKm5leHQqIFVuaWNvZGUgY29kZXBvaW50IGluIHRoZSBpbnB1dCB3aXRob3V0IGFkdmFuY2luZyB0aGUgcGFyc2VyLlxuXHQqIElmIHRoZSBpbnB1dCBoYXMgYmVlbiBleGhhdXN0ZWQsIHRoZW4gdGhpcyByZXR1cm5zIG51bGwuXG5cdCovXG5cdHBlZWsoKSB7XG5cdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdGNvbnN0IGNvZGUgPSB0aGlzLmNoYXIoKTtcblx0XHRjb25zdCBvZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xuXHRcdGNvbnN0IG5leHRDb2RlID0gdGhpcy5tZXNzYWdlLmNoYXJDb2RlQXQob2Zmc2V0ICsgKGNvZGUgPj0gNjU1MzYgPyAyIDogMSkpO1xuXHRcdHJldHVybiBuZXh0Q29kZSA/PyBudWxsO1xuXHR9XG59XG4vKipcbiogVGhpcyBjaGVjayBpZiBjb2RlcG9pbnQgaXMgYWxwaGFiZXQgKGxvd2VyICYgdXBwZXJjYXNlKVxuKiBAcGFyYW0gY29kZXBvaW50XG4qIEByZXR1cm5zXG4qL1xuZnVuY3Rpb24gX2lzQWxwaGEoY29kZXBvaW50KSB7XG5cdHJldHVybiBjb2RlcG9pbnQgPj0gOTcgJiYgY29kZXBvaW50IDw9IDEyMiB8fCBjb2RlcG9pbnQgPj0gNjUgJiYgY29kZXBvaW50IDw9IDkwO1xufVxuZnVuY3Rpb24gX2lzQWxwaGFPclNsYXNoKGNvZGVwb2ludCkge1xuXHRyZXR1cm4gX2lzQWxwaGEoY29kZXBvaW50KSB8fCBjb2RlcG9pbnQgPT09IDQ3O1xufVxuLyoqIFNlZSBgcGFyc2VUYWdgIGZ1bmN0aW9uIGRvY3MuICovXG5mdW5jdGlvbiBfaXNQb3RlbnRpYWxFbGVtZW50TmFtZUNoYXIoYykge1xuXHRyZXR1cm4gYyA9PT0gNDUgfHwgYyA9PT0gNDYgfHwgYyA+PSA0OCAmJiBjIDw9IDU3IHx8IGMgPT09IDk1IHx8IGMgPj0gOTcgJiYgYyA8PSAxMjIgfHwgYyA+PSA2NSAmJiBjIDw9IDkwIHx8IGMgPT0gMTgzIHx8IGMgPj0gMTkyICYmIGMgPD0gMjE0IHx8IGMgPj0gMjE2ICYmIGMgPD0gMjQ2IHx8IGMgPj0gMjQ4ICYmIGMgPD0gODkzIHx8IGMgPj0gODk1ICYmIGMgPD0gODE5MSB8fCBjID49IDgyMDQgJiYgYyA8PSA4MjA1IHx8IGMgPj0gODI1NSAmJiBjIDw9IDgyNTYgfHwgYyA+PSA4MzA0ICYmIGMgPD0gODU5MSB8fCBjID49IDExMjY0ICYmIGMgPD0gMTIyNzEgfHwgYyA+PSAxMjI4OSAmJiBjIDw9IDU1Mjk1IHx8IGMgPj0gNjM3NDQgJiYgYyA8PSA2NDk3NSB8fCBjID49IDY1MDA4ICYmIGMgPD0gNjU1MzMgfHwgYyA+PSA2NTUzNiAmJiBjIDw9IDk4MzAzOTtcbn1cbi8qKlxuKiBDb2RlIHBvaW50IGVxdWl2YWxlbnQgb2YgcmVnZXggYFxccHtXaGl0ZV9TcGFjZX1gLlxuKiBGcm9tOiBodHRwczovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvVUNEL2xhdGVzdC91Y2QvUHJvcExpc3QudHh0XG4qL1xuZnVuY3Rpb24gX2lzV2hpdGVTcGFjZShjKSB7XG5cdHJldHVybiBjID49IDkgJiYgYyA8PSAxMyB8fCBjID09PSAzMiB8fCBjID09PSAxMzMgfHwgYyA+PSA4MjA2ICYmIGMgPD0gODIwNyB8fCBjID09PSA4MjMyIHx8IGMgPT09IDgyMzM7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js":
/*!****************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js ***!
\****************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SPACE_SEPARATOR_REGEX: () => (/* binding */ SPACE_SEPARATOR_REGEX),\n/* harmony export */ WHITE_SPACE_REGEX: () => (/* binding */ WHITE_SPACE_REGEX)\n/* harmony export */ });\n// @generated from regex-gen.ts\nconst SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nconst WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9yZWdleC5nZW5lcmF0ZWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNPO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9yZWdleC5nZW5lcmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGdlbmVyYXRlZCBmcm9tIHJlZ2V4LWdlbi50c1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NFUEFSQVRPUl9SRUdFWCA9IC9bIFxceEEwXFx1MTY4MFxcdTIwMDAtXFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMF0vO1xuZXhwb3J0IGNvbnN0IFdISVRFX1NQQUNFX1JFR0VYID0gL1tcXHQtXFxyIFxceDg1XFx1MjAwRVxcdTIwMEZcXHUyMDI4XFx1MjAyOV0vO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js":
/*!********************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js ***!
\********************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ timeData: () => (/* binding */ timeData)\n/* harmony export */ });\n// @generated from time-data-gen.ts\n// prettier-ignore\nconst timeData = {\n\t\"001\": [\"H\", \"h\"],\n\t\"419\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"AC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"AD\": [\"H\", \"hB\"],\n\t\"AE\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"AF\": [\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"AG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AI\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"AL\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AM\": [\"H\", \"hB\"],\n\t\"AO\": [\"H\", \"hB\"],\n\t\"AR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"AS\": [\"h\", \"H\"],\n\t\"AT\": [\"H\", \"hB\"],\n\t\"AU\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AW\": [\"H\", \"hB\"],\n\t\"AX\": [\"H\"],\n\t\"AZ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BB\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BD\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"H\"\n\t],\n\t\"BE\": [\"H\", \"hB\"],\n\t\"BF\": [\"H\", \"hB\"],\n\t\"BG\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"BI\": [\"H\", \"h\"],\n\t\"BJ\": [\"H\", \"hB\"],\n\t\"BL\": [\"H\", \"hB\"],\n\t\"BM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BN\": [\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"BO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"BQ\": [\"H\"],\n\t\"BR\": [\"H\", \"hB\"],\n\t\"BS\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BT\": [\"h\", \"H\"],\n\t\"BW\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"BY\": [\"H\", \"h\"],\n\t\"BZ\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CA\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"CC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CD\": [\"hB\", \"H\"],\n\t\"CF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"CG\": [\"H\", \"hB\"],\n\t\"CH\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"CI\": [\"H\", \"hB\"],\n\t\"CK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CL\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"CN\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"CO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CP\": [\"H\"],\n\t\"CR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CU\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CV\": [\"H\", \"hB\"],\n\t\"CW\": [\"H\", \"hB\"],\n\t\"CX\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CZ\": [\"H\"],\n\t\"DE\": [\"H\", \"hB\"],\n\t\"DG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"DJ\": [\"h\", \"H\"],\n\t\"DK\": [\"H\"],\n\t\"DM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"DO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"DZ\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"EA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"EC\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"EE\": [\"H\", \"hB\"],\n\t\"EG\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"EH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"ER\": [\"h\", \"H\"],\n\t\"ES\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\"\n\t],\n\t\"ET\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"FI\": [\"H\"],\n\t\"FJ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"FK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"FM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"FO\": [\"H\", \"h\"],\n\t\"FR\": [\"H\", \"hB\"],\n\t\"GA\": [\"H\", \"hB\"],\n\t\"GB\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GD\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GE\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"GF\": [\"H\", \"hB\"],\n\t\"GG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GH\": [\"h\", \"H\"],\n\t\"GI\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GL\": [\"H\", \"h\"],\n\t\"GM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GN\": [\"H\", \"hB\"],\n\t\"GP\": [\"H\", \"hB\"],\n\t\"GQ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\"\n\t],\n\t\"GR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GS\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GT\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"GU\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GW\": [\"H\", \"hB\"],\n\t\"GY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"HK\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"HN\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"HR\": [\"H\", \"hB\"],\n\t\"HU\": [\"H\", \"h\"],\n\t\"IC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"ID\": [\"H\"],\n\t\"IE\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IL\": [\"H\", \"hB\"],\n\t\"IM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IN\": [\"h\", \"H\"],\n\t\"IO\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IQ\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"IR\": [\"hB\", \"H\"],\n\t\"IS\": [\"H\"],\n\t\"IT\": [\"H\", \"hB\"],\n\t\"JE\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"JM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"JO\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"JP\": [\n\t\t\"H\",\n\t\t\"K\",\n\t\t\"h\"\n\t],\n\t\"KE\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"KG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KH\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\"\n\t],\n\t\"KI\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KN\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KP\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KW\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"KY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KZ\": [\"H\", \"hB\"],\n\t\"LA\": [\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"LB\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"LC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"LI\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"LK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"LR\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"LS\": [\"h\", \"H\"],\n\t\"LT\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"LU\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"LV\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"LY\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"MC\": [\"H\", \"hB\"],\n\t\"MD\": [\"H\", \"hB\"],\n\t\"ME\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"MF\": [\"H\", \"hB\"],\n\t\"MG\": [\"H\", \"h\"],\n\t\"MH\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"ML\": [\"H\"],\n\t\"MM\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"MN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"MO\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MP\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MQ\": [\"H\", \"hB\"],\n\t\"MR\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MS\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"MT\": [\"H\", \"h\"],\n\t\"MU\": [\"H\", \"h\"],\n\t\"MV\": [\"H\", \"h\"],\n\t\"MW\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MX\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"MY\": [\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"MZ\": [\"H\", \"hB\"],\n\t\"NA\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"NC\": [\"H\", \"hB\"],\n\t\"NE\": [\"H\"],\n\t\"NF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NI\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"NL\": [\"H\", \"hB\"],\n\t\"NO\": [\"H\", \"h\"],\n\t\"NP\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"NR\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NU\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NZ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"OM\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PA\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PE\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"PG\": [\"h\", \"H\"],\n\t\"PH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PK\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"H\"\n\t],\n\t\"PL\": [\"H\", \"h\"],\n\t\"PM\": [\"H\", \"hB\"],\n\t\"PN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"PR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PS\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PT\": [\"H\", \"hB\"],\n\t\"PW\": [\"h\", \"H\"],\n\t\"PY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"QA\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"RE\": [\"H\", \"hB\"],\n\t\"RO\": [\"H\", \"hB\"],\n\t\"RS\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"RU\": [\"H\"],\n\t\"RW\": [\"H\", \"h\"],\n\t\"SA\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SB\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SD\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SE\": [\"H\"],\n\t\"SG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SH\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"SI\": [\"H\", \"hB\"],\n\t\"SJ\": [\"H\"],\n\t\"SK\": [\"H\"],\n\t\"SL\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SO\": [\"h\", \"H\"],\n\t\"SR\": [\"H\", \"hB\"],\n\t\"SS\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"ST\": [\"H\", \"hB\"],\n\t\"SV\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"SX\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"SY\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SZ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"TC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TD\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"TG\": [\"H\", \"hB\"],\n\t\"TH\": [\"H\", \"h\"],\n\t\"TJ\": [\"H\", \"h\"],\n\t\"TL\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"TM\": [\"H\", \"h\"],\n\t\"TN\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"TO\": [\"h\", \"H\"],\n\t\"TR\": [\"H\", \"hB\"],\n\t\"TT\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TW\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"TZ\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"UA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"UG\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"UM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"US\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"UY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"UZ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"VA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"VC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VE\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"VG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VI\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VN\": [\"H\", \"h\"],\n\t\"VU\": [\"h\", \"H\"],\n\t\"WF\": [\"H\", \"hB\"],\n\t\"WS\": [\"h\", \"H\"],\n\t\"XK\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"YE\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"YT\": [\"H\", \"hB\"],\n\t\"ZA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"ZM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"ZW\": [\"H\", \"h\"],\n\t\"af-ZA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"ar-001\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"ca-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"en-001\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"en-HK\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"en-IL\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"en-MY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"es-BR\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"es-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"es-GQ\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"fr-CA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"gl-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"gu-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"hi-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"it-CH\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"it-IT\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"kn-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"ku-SY\": [\"H\", \"hB\"],\n\t\"ml-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"mr-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"pa-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"ta-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"te-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"zu-ZA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t]\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci90aW1lLWRhdGEuZ2VuZXJhdGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3RpbWUtZGF0YS5nZW5lcmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGdlbmVyYXRlZCBmcm9tIHRpbWUtZGF0YS1nZW4udHNcbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IHRpbWVEYXRhID0ge1xuXHRcIjAwMVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCI0MTlcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJBQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkFEXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJBRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkFGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiQUdcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJBSVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkFMXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJBTVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQU9cIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFSXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQVNcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiQVRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFVXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQVdcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFYXCI6IFtcIkhcIl0sXG5cdFwiQVpcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkJBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJCQlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkJEXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJCRVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQkZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkJHXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJCSFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkJJXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkJKXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJCTFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQk1cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJCTlwiOiBbXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkJPXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQlFcIjogW1wiSFwiXSxcblx0XCJCUlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQlNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJCVFwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJCV1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkJZXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkJaXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ0FcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNEXCI6IFtcImhCXCIsIFwiSFwiXSxcblx0XCJDRlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ0dcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkNIXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJDSVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQ0tcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDTFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkNNXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDTlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkNPXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQ1BcIjogW1wiSFwiXSxcblx0XCJDUlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkNVXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQ1ZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkNXXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJDWFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNZXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ1pcIjogW1wiSFwiXSxcblx0XCJERVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiREdcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJESlwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJES1wiOiBbXCJIXCJdLFxuXHRcIkRNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiRE9cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJEWlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkVBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiRUNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJFRVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiRUdcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJFSFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkVSXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIkVTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiRVRcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJGSVwiOiBbXCJIXCJdLFxuXHRcIkZKXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiRktcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJGTVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkZPXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkZSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJHQVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiR0JcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHRFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdFXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJHRlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiR0dcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHSFwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJHSVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdMXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkdNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR05cIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkdQXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJHUVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkdSXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR1NcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHVFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkdVXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR1dcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkdZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiSEtcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJITlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkhSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJIVVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJJQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIklEXCI6IFtcIkhcIl0sXG5cdFwiSUVcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJJTFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiSU1cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJJTlwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJJT1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIklRXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiSVJcIjogW1wiaEJcIiwgXCJIXCJdLFxuXHRcIklTXCI6IFtcIkhcIl0sXG5cdFwiSVRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkpFXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiSk1cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJKT1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkpQXCI6IFtcblx0XHRcIkhcIixcblx0XHRcIktcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIktFXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiS0dcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLSFwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIktJXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiS01cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLTlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIktQXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiS1JcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLV1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIktZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiS1pcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkxBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiTEJcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJMQ1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkxJXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJMS1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkxSXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTFNcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiTFRcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJMVVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTFZcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJMWVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIk1BXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiTUNcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1EXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJNRVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiTUZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1HXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIk1IXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTUtcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNTFwiOiBbXCJIXCJdLFxuXHRcIk1NXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiTU5cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNT1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIk1QXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTVFcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1SXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiTVNcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNVFwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJNVVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJNVlwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJNV1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk1YXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiTVlcIjogW1xuXHRcdFwiaGJcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJNWlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTkFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJOQ1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTkVcIjogW1wiSFwiXSxcblx0XCJORlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk5HXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTklcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJOTFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTk9cIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiTlBcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk5SXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTlVcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJOWlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk9NXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiUEFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJQRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlBGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJQR1wiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJQSFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlBLXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJQTFwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJQTVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiUE5cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJQUlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlBTXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiUFRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIlBXXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlBZXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiUUFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJSRVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiUk9cIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIlJTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJSVVwiOiBbXCJIXCJdLFxuXHRcIlJXXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIlNBXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiU0JcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU0RcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJTRVwiOiBbXCJIXCJdLFxuXHRcIlNHXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU0hcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTSVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiU0pcIjogW1wiSFwiXSxcblx0XCJTS1wiOiBbXCJIXCJdLFxuXHRcIlNMXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU01cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNOXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTT1wiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJTUlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiU1NcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTVFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiU1ZcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJTWFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiU1pcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJUQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRDXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVERcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJUR1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiVEhcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiVEpcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiVExcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJUTVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJUTlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlRPXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlRSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJUVFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRXXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiVFpcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJVQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiVUdcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJVTVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlVTXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVVlcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJVWlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiVkFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlZDXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVkVcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJWR1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlZJXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVk5cIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiVlVcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiV0ZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIldTXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlhLXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJZRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIllUXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJaQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlpNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiWldcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiYWYtWkFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJhci0wMDFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJjYS1FU1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZW4tMDAxXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZW4tSEtcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJlbi1JTFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImVuLU1ZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZXMtQlJcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJlcy1FU1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcImVzLUdRXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiZnItQ0FcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImdsLUVTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJndS1JTlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcImhpLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJpdC1DSFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiaXQtSVRcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImtuLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJrdS1TWVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwibWwtSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIm1yLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwicGEtSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJ0YS1JTlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcInRlLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJ6dS1aQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIlxuXHRdXG59O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js\n");
/***/ }),
/***/ "(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js ***!
\******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SKELETON_TYPE: () => (/* binding */ SKELETON_TYPE),\n/* harmony export */ TYPE: () => (/* binding */ TYPE),\n/* harmony export */ createLiteralElement: () => (/* binding */ createLiteralElement),\n/* harmony export */ createNumberElement: () => (/* binding */ createNumberElement),\n/* harmony export */ isArgumentElement: () => (/* binding */ isArgumentElement),\n/* harmony export */ isDateElement: () => (/* binding */ isDateElement),\n/* harmony export */ isDateTimeSkeleton: () => (/* binding */ isDateTimeSkeleton),\n/* harmony export */ isLiteralElement: () => (/* binding */ isLiteralElement),\n/* harmony export */ isNumberElement: () => (/* binding */ isNumberElement),\n/* harmony export */ isNumberSkeleton: () => (/* binding */ isNumberSkeleton),\n/* harmony export */ isPluralElement: () => (/* binding */ isPluralElement),\n/* harmony export */ isPoundElement: () => (/* binding */ isPoundElement),\n/* harmony export */ isSelectElement: () => (/* binding */ isSelectElement),\n/* harmony export */ isTagElement: () => (/* binding */ isTagElement),\n/* harmony export */ isTimeElement: () => (/* binding */ isTimeElement)\n/* harmony export */ });\n/* harmony import */ var _formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @formatjs/icu-skeleton-parser */ \"(rsc)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\");\n\nlet TYPE = /* @__PURE__ */ function(TYPE) {\n\t/**\n\t* Raw text\n\t*/\n\tTYPE[TYPE[\"literal\"] = 0] = \"literal\";\n\t/**\n\t* Variable w/o any format, e.g `var` in `this is a {var}`\n\t*/\n\tTYPE[TYPE[\"argument\"] = 1] = \"argument\";\n\t/**\n\t* Variable w/ number format\n\t*/\n\tTYPE[TYPE[\"number\"] = 2] = \"number\";\n\t/**\n\t* Variable w/ date format\n\t*/\n\tTYPE[TYPE[\"date\"] = 3] = \"date\";\n\t/**\n\t* Variable w/ time format\n\t*/\n\tTYPE[TYPE[\"time\"] = 4] = \"time\";\n\t/**\n\t* Variable w/ select format\n\t*/\n\tTYPE[TYPE[\"select\"] = 5] = \"select\";\n\t/**\n\t* Variable w/ plural format\n\t*/\n\tTYPE[TYPE[\"plural\"] = 6] = \"plural\";\n\t/**\n\t* Only possible within plural argument.\n\t* This is the `#` symbol that will be substituted with the count.\n\t*/\n\tTYPE[TYPE[\"pound\"] = 7] = \"pound\";\n\t/**\n\t* XML-like tag\n\t*/\n\tTYPE[TYPE[\"tag\"] = 8] = \"tag\";\n\treturn TYPE;\n}({});\nlet SKELETON_TYPE = /* @__PURE__ */ function(SKELETON_TYPE) {\n\tSKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n\tSKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n\treturn SKELETON_TYPE;\n}({});\n/**\n* Type Guards\n*/\nfunction isLiteralElement(el) {\n\treturn el.type === TYPE.literal;\n}\nfunction isArgumentElement(el) {\n\treturn el.type === TYPE.argument;\n}\nfunction isNumberElement(el) {\n\treturn el.type === TYPE.number;\n}\nfunction isDateElement(el) {\n\treturn el.type === TYPE.date;\n}\nfunction isTimeElement(el) {\n\treturn el.type === TYPE.time;\n}\nfunction isSelectElement(el) {\n\treturn el.type === TYPE.select;\n}\nfunction isPluralElement(el) {\n\treturn el.type === TYPE.plural;\n}\nfunction isPoundElement(el) {\n\treturn el.type === TYPE.pound;\n}\nfunction isTagElement(el) {\n\treturn el.type === TYPE.tag;\n}\nfunction isNumberSkeleton(el) {\n\treturn !!(el && typeof el === \"object\" && el.type === SKELETON_TYPE.number);\n}\nfunction isDateTimeSkeleton(el) {\n\treturn !!(el && typeof el === \"object\" && el.type === SKELETON_TYPE.dateTime);\n}\nfunction createLiteralElement(value) {\n\treturn {\n\t\ttype: TYPE.literal,\n\t\tvalue\n\t};\n}\nfunction createNumberElement(value, style) {\n\treturn {\n\t\ttype: TYPE.number,\n\t\tvalue,\n\t\tstyle\n\t};\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci90eXBlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVDO0FBQ2hDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxJQUFJO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDRztBQUNQO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNKO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvdHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXJcIjtcbmV4cG9ydCBsZXQgVFlQRSA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihUWVBFKSB7XG5cdC8qKlxuXHQqIFJhdyB0ZXh0XG5cdCovXG5cdFRZUEVbVFlQRVtcImxpdGVyYWxcIl0gPSAwXSA9IFwibGl0ZXJhbFwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3L28gYW55IGZvcm1hdCwgZS5nIGB2YXJgIGluIGB0aGlzIGlzIGEge3Zhcn1gXG5cdCovXG5cdFRZUEVbVFlQRVtcImFyZ3VtZW50XCJdID0gMV0gPSBcImFyZ3VtZW50XCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvIG51bWJlciBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1wibnVtYmVyXCJdID0gMl0gPSBcIm51bWJlclwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3LyBkYXRlIGZvcm1hdFxuXHQqL1xuXHRUWVBFW1RZUEVbXCJkYXRlXCJdID0gM10gPSBcImRhdGVcIjtcblx0LyoqXG5cdCogVmFyaWFibGUgdy8gdGltZSBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1widGltZVwiXSA9IDRdID0gXCJ0aW1lXCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvIHNlbGVjdCBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1wic2VsZWN0XCJdID0gNV0gPSBcInNlbGVjdFwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3LyBwbHVyYWwgZm9ybWF0XG5cdCovXG5cdFRZUEVbVFlQRVtcInBsdXJhbFwiXSA9IDZdID0gXCJwbHVyYWxcIjtcblx0LyoqXG5cdCogT25seSBwb3NzaWJsZSB3aXRoaW4gcGx1cmFsIGFyZ3VtZW50LlxuXHQqIFRoaXMgaXMgdGhlIGAjYCBzeW1ib2wgdGhhdCB3aWxsIGJlIHN1YnN0aXR1dGVkIHdpdGggdGhlIGNvdW50LlxuXHQqL1xuXHRUWVBFW1RZUEVbXCJwb3VuZFwiXSA9IDddID0gXCJwb3VuZFwiO1xuXHQvKipcblx0KiBYTUwtbGlrZSB0YWdcblx0Ki9cblx0VFlQRVtUWVBFW1widGFnXCJdID0gOF0gPSBcInRhZ1wiO1xuXHRyZXR1cm4gVFlQRTtcbn0oe30pO1xuZXhwb3J0IGxldCBTS0VMRVRPTl9UWVBFID0gLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKFNLRUxFVE9OX1RZUEUpIHtcblx0U0tFTEVUT05fVFlQRVtTS0VMRVRPTl9UWVBFW1wibnVtYmVyXCJdID0gMF0gPSBcIm51bWJlclwiO1xuXHRTS0VMRVRPTl9UWVBFW1NLRUxFVE9OX1RZUEVbXCJkYXRlVGltZVwiXSA9IDFdID0gXCJkYXRlVGltZVwiO1xuXHRyZXR1cm4gU0tFTEVUT05fVFlQRTtcbn0oe30pO1xuLyoqXG4qIFR5cGUgR3VhcmRzXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTGl0ZXJhbEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUubGl0ZXJhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0FyZ3VtZW50RWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5hcmd1bWVudDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlckVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUubnVtYmVyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUuZGF0ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1RpbWVFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnRpbWU7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnNlbGVjdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1BsdXJhbEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUucGx1cmFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUG91bmRFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnBvdW5kO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVGFnRWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS50YWc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXJTa2VsZXRvbihlbCkge1xuXHRyZXR1cm4gISEoZWwgJiYgdHlwZW9mIGVsID09PSBcIm9iamVjdFwiICYmIGVsLnR5cGUgPT09IFNLRUxFVE9OX1RZUEUubnVtYmVyKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVUaW1lU2tlbGV0b24oZWwpIHtcblx0cmV0dXJuICEhKGVsICYmIHR5cGVvZiBlbCA9PT0gXCJvYmplY3RcIiAmJiBlbC50eXBlID09PSBTS0VMRVRPTl9UWVBFLmRhdGVUaW1lKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaXRlcmFsRWxlbWVudCh2YWx1ZSkge1xuXHRyZXR1cm4ge1xuXHRcdHR5cGU6IFRZUEUubGl0ZXJhbCxcblx0XHR2YWx1ZVxuXHR9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU51bWJlckVsZW1lbnQodmFsdWUsIHN0eWxlKSB7XG5cdHJldHVybiB7XG5cdFx0dHlwZTogVFlQRS5udW1iZXIsXG5cdFx0dmFsdWUsXG5cdFx0c3R5bGVcblx0fTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js":
/*!****************************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js ***!
\****************************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBestPattern: () => (/* binding */ getBestPattern)\n/* harmony export */ });\n/* harmony import */ var _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./time-data.generated.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js\");\n\n/**\n* Returns the best matching date time pattern if a date time skeleton\n* pattern is provided with a locale. Follows the Unicode specification:\n* https://www.unicode.org/reports/tr35/tr35-dates.html#table-mapping-requested-time-skeletons-to-patterns\n* @param skeleton date time skeleton pattern that possibly includes j, J or C\n* @param locale\n*/\nfunction getBestPattern(skeleton, locale) {\n\tlet skeletonCopy = \"\";\n\tfor (let patternPos = 0; patternPos < skeleton.length; patternPos++) {\n\t\tconst patternChar = skeleton.charAt(patternPos);\n\t\tif (patternChar === \"j\") {\n\t\t\tlet extraLength = 0;\n\t\t\twhile (patternPos + 1 < skeleton.length && skeleton.charAt(patternPos + 1) === patternChar) {\n\t\t\t\textraLength++;\n\t\t\t\tpatternPos++;\n\t\t\t}\n\t\t\tlet hourLen = 1 + (extraLength & 1);\n\t\t\tlet dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1);\n\t\t\tlet dayPeriodChar = \"a\";\n\t\t\tlet hourChar = getDefaultHourSymbolFromLocale(locale);\n\t\t\tif (hourChar == \"H\" || hourChar == \"k\") {\n\t\t\t\tdayPeriodLen = 0;\n\t\t\t}\n\t\t\twhile (dayPeriodLen-- > 0) {\n\t\t\t\tskeletonCopy += dayPeriodChar;\n\t\t\t}\n\t\t\twhile (hourLen-- > 0) {\n\t\t\t\tskeletonCopy = hourChar + skeletonCopy;\n\t\t\t}\n\t\t} else if (patternChar === \"J\") {\n\t\t\tskeletonCopy += \"H\";\n\t\t} else {\n\t\t\tskeletonCopy += patternChar;\n\t\t}\n\t}\n\treturn skeletonCopy;\n}\n/**\n* Maps the [hour cycle type](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale/hourCycle)\n* of the given `locale` to the corresponding time pattern.\n* @param locale\n*/\nfunction getDefaultHourSymbolFromLocale(locale) {\n\tlet hourCycle = locale.hourCycle;\n\tif (hourCycle === undefined && locale.hourCycles && locale.hourCycles.length) {\n\t\t// @ts-ignore\n\t\thourCycle = locale.hourCycles[0];\n\t}\n\tif (hourCycle) {\n\t\tswitch (hourCycle) {\n\t\t\tcase \"h24\": return \"k\";\n\t\t\tcase \"h23\": return \"H\";\n\t\t\tcase \"h12\": return \"h\";\n\t\t\tcase \"h11\": return \"K\";\n\t\t\tdefault: throw new Error(\"Invalid hourCycle\");\n\t\t}\n\t}\n\t// TODO: Once hourCycle is fully supported remove the following with data generation\n\tconst languageTag = locale.language;\n\tlet regionTag;\n\tif (languageTag !== \"root\") {\n\t\tregionTag = locale.maximize().region;\n\t}\n\tconst hourCycles = _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[regionTag || \"\"] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[languageTag || \"\"] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[`${languageTag}-001`] || _time_data_generated_js__WEBPACK_IMPORTED_MODULE_0__.timeData[\"001\"];\n\treturn hourCycles[0];\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9kYXRlLXRpbWUtcGF0dGVybi1nZW5lcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0EsMEJBQTBCLDhCQUE4QjtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDZEQUFRLHFCQUFxQiw2REFBUSx1QkFBdUIsNkRBQVEsSUFBSSxZQUFZLFVBQVUsNkRBQVE7QUFDMUg7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL2RhdGUtdGltZS1wYXR0ZXJuLWdlbmVyYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0aW1lRGF0YSB9IGZyb20gXCIuL3RpbWUtZGF0YS5nZW5lcmF0ZWQuanNcIjtcbi8qKlxuKiBSZXR1cm5zIHRoZSBiZXN0IG1hdGNoaW5nIGRhdGUgdGltZSBwYXR0ZXJuIGlmIGEgZGF0ZSB0aW1lIHNrZWxldG9uXG4qIHBhdHRlcm4gaXMgcHJvdmlkZWQgd2l0aCBhIGxvY2FsZS4gRm9sbG93cyB0aGUgVW5pY29kZSBzcGVjaWZpY2F0aW9uOlxuKiBodHRwczovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMzUvdHIzNS1kYXRlcy5odG1sI3RhYmxlLW1hcHBpbmctcmVxdWVzdGVkLXRpbWUtc2tlbGV0b25zLXRvLXBhdHRlcm5zXG4qIEBwYXJhbSBza2VsZXRvbiBkYXRlIHRpbWUgc2tlbGV0b24gcGF0dGVybiB0aGF0IHBvc3NpYmx5IGluY2x1ZGVzIGosIEogb3IgQ1xuKiBAcGFyYW0gbG9jYWxlXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJlc3RQYXR0ZXJuKHNrZWxldG9uLCBsb2NhbGUpIHtcblx0bGV0IHNrZWxldG9uQ29weSA9IFwiXCI7XG5cdGZvciAobGV0IHBhdHRlcm5Qb3MgPSAwOyBwYXR0ZXJuUG9zIDwgc2tlbGV0b24ubGVuZ3RoOyBwYXR0ZXJuUG9zKyspIHtcblx0XHRjb25zdCBwYXR0ZXJuQ2hhciA9IHNrZWxldG9uLmNoYXJBdChwYXR0ZXJuUG9zKTtcblx0XHRpZiAocGF0dGVybkNoYXIgPT09IFwialwiKSB7XG5cdFx0XHRsZXQgZXh0cmFMZW5ndGggPSAwO1xuXHRcdFx0d2hpbGUgKHBhdHRlcm5Qb3MgKyAxIDwgc2tlbGV0b24ubGVuZ3RoICYmIHNrZWxldG9uLmNoYXJBdChwYXR0ZXJuUG9zICsgMSkgPT09IHBhdHRlcm5DaGFyKSB7XG5cdFx0XHRcdGV4dHJhTGVuZ3RoKys7XG5cdFx0XHRcdHBhdHRlcm5Qb3MrKztcblx0XHRcdH1cblx0XHRcdGxldCBob3VyTGVuID0gMSArIChleHRyYUxlbmd0aCAmIDEpO1xuXHRcdFx0bGV0IGRheVBlcmlvZExlbiA9IGV4dHJhTGVuZ3RoIDwgMiA/IDEgOiAzICsgKGV4dHJhTGVuZ3RoID4+IDEpO1xuXHRcdFx0bGV0IGRheVBlcmlvZENoYXIgPSBcImFcIjtcblx0XHRcdGxldCBob3VyQ2hhciA9IGdldERlZmF1bHRIb3VyU3ltYm9sRnJvbUxvY2FsZShsb2NhbGUpO1xuXHRcdFx0aWYgKGhvdXJDaGFyID09IFwiSFwiIHx8IGhvdXJDaGFyID09IFwia1wiKSB7XG5cdFx0XHRcdGRheVBlcmlvZExlbiA9IDA7XG5cdFx0XHR9XG5cdFx0XHR3aGlsZSAoZGF5UGVyaW9kTGVuLS0gPiAwKSB7XG5cdFx0XHRcdHNrZWxldG9uQ29weSArPSBkYXlQZXJpb2RDaGFyO1xuXHRcdFx0fVxuXHRcdFx0d2hpbGUgKGhvdXJMZW4tLSA+IDApIHtcblx0XHRcdFx0c2tlbGV0b25Db3B5ID0gaG91ckNoYXIgKyBza2VsZXRvbkNvcHk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChwYXR0ZXJuQ2hhciA9PT0gXCJKXCIpIHtcblx0XHRcdHNrZWxldG9uQ29weSArPSBcIkhcIjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c2tlbGV0b25Db3B5ICs9IHBhdHRlcm5DaGFyO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gc2tlbGV0b25Db3B5O1xufVxuLyoqXG4qIE1hcHMgdGhlIFtob3VyIGN5Y2xlIHR5cGVdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwvTG9jYWxlL2hvdXJDeWNsZSlcbiogb2YgdGhlIGdpdmVuIGBsb2NhbGVgIHRvIHRoZSBjb3JyZXNwb25kaW5nIHRpbWUgcGF0dGVybi5cbiogQHBhcmFtIGxvY2FsZVxuKi9cbmZ1bmN0aW9uIGdldERlZmF1bHRIb3VyU3ltYm9sRnJvbUxvY2FsZShsb2NhbGUpIHtcblx0bGV0IGhvdXJDeWNsZSA9IGxvY2FsZS5ob3VyQ3ljbGU7XG5cdGlmIChob3VyQ3ljbGUgPT09IHVuZGVmaW5lZCAmJiBsb2NhbGUuaG91ckN5Y2xlcyAmJiBsb2NhbGUuaG91ckN5Y2xlcy5sZW5ndGgpIHtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0aG91ckN5Y2xlID0gbG9jYWxlLmhvdXJDeWNsZXNbMF07XG5cdH1cblx0aWYgKGhvdXJDeWNsZSkge1xuXHRcdHN3aXRjaCAoaG91ckN5Y2xlKSB7XG5cdFx0XHRjYXNlIFwiaDI0XCI6IHJldHVybiBcImtcIjtcblx0XHRcdGNhc2UgXCJoMjNcIjogcmV0dXJuIFwiSFwiO1xuXHRcdFx0Y2FzZSBcImgxMlwiOiByZXR1cm4gXCJoXCI7XG5cdFx0XHRjYXNlIFwiaDExXCI6IHJldHVybiBcIktcIjtcblx0XHRcdGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgaG91ckN5Y2xlXCIpO1xuXHRcdH1cblx0fVxuXHQvLyBUT0RPOiBPbmNlIGhvdXJDeWNsZSBpcyBmdWxseSBzdXBwb3J0ZWQgcmVtb3ZlIHRoZSBmb2xsb3dpbmcgd2l0aCBkYXRhIGdlbmVyYXRpb25cblx0Y29uc3QgbGFuZ3VhZ2VUYWcgPSBsb2NhbGUubGFuZ3VhZ2U7XG5cdGxldCByZWdpb25UYWc7XG5cdGlmIChsYW5ndWFnZVRhZyAhPT0gXCJyb290XCIpIHtcblx0XHRyZWdpb25UYWcgPSBsb2NhbGUubWF4aW1pemUoKS5yZWdpb247XG5cdH1cblx0Y29uc3QgaG91ckN5Y2xlcyA9IHRpbWVEYXRhW3JlZ2lvblRhZyB8fCBcIlwiXSB8fCB0aW1lRGF0YVtsYW5ndWFnZVRhZyB8fCBcIlwiXSB8fCB0aW1lRGF0YVtgJHtsYW5ndWFnZVRhZ30tMDAxYF0gfHwgdGltZURhdGFbXCIwMDFcIl07XG5cdHJldHVybiBob3VyQ3ljbGVzWzBdO1xufVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js ***!
\******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ErrorKind: () => (/* binding */ ErrorKind)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n\nlet ErrorKind = /* @__PURE__ */ function(ErrorKind) {\n\t/** Argument is unclosed (e.g. `{0`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n\t/** Argument is empty (e.g. `{}`). */\n\tErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n\t/** Argument is malformed (e.g. `{foo!}``) */\n\tErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n\t/** Expect an argument type (e.g. `{foo,}`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n\t/** Unsupported argument type (e.g. `{foo,foo}`) */\n\tErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n\t/** Expect an argument style (e.g. `{foo, number, }`) */\n\tErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n\t/** The number skeleton is invalid. */\n\tErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n\t/** The date time skeleton is invalid. */\n\tErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n\t/** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n\tErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n\t/** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n\tErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n\t/** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n\tErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n\t/** Missing select argument options (e.g. `{foo, select}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n\t/** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n\t/** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n\tErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n\t/** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n\t/** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n\t/** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n\tErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n\t/**\n\t* Expecting a message fragment after the `plural` or `selectordinal` selector\n\t* (e.g. `{foo, plural, one}`)\n\t*/\n\tErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n\t/** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n\tErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n\t/**\n\t* Duplicate selectors in `plural` or `selectordinal` argument.\n\t* (e.g. {foo, plural, one {#} one {#}})\n\t*/\n\tErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n\t/** Duplicate selectors in `select` argument.\n\t* (e.g. {foo, select, apple {apple} apple {apple}})\n\t*/\n\tErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n\t/** Plural or select argument option must have `other` clause. */\n\tErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n\t/** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n\tErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n\t/** The tag name is invalid. (e.g. `<123>foo</123>`) */\n\tErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n\t/** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n\tErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n\t/** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n\tErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n\treturn ErrorKind;\n}({});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFvQjtBQUNiO0FBQ1Asa0NBQWtDO0FBQ2xDO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0EsbUNBQW1DLEtBQUs7QUFDeEM7QUFDQSxxQ0FBcUMsS0FBSztBQUMxQztBQUNBLHVDQUF1QyxRQUFRO0FBQy9DO0FBQ0Esc0NBQXNDLGNBQWM7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxnQkFBZ0I7QUFDekU7QUFDQSw0REFBNEQsY0FBYztBQUMxRTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBLDZDQUE2QyxZQUFZO0FBQ3pEO0FBQ0EsOEVBQThFLG9CQUFvQjtBQUNsRztBQUNBLG9FQUFvRSx1QkFBdUI7QUFDM0Y7QUFDQSxzREFBc0QsWUFBWTtBQUNsRTtBQUNBLHlFQUF5RSxZQUFZO0FBQ3JGO0FBQ0Esc0VBQXNFLG1CQUFtQjtBQUN6RjtBQUNBO0FBQ0E7QUFDQSxXQUFXLGlCQUFpQjtBQUM1QjtBQUNBO0FBQ0Esa0VBQWtFLGlCQUFpQixHQUFHO0FBQ3RGO0FBQ0E7QUFDQTtBQUNBLFVBQVUsa0JBQWtCLEdBQUcsS0FBSyxHQUFHO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLFVBQVUsb0JBQW9CLE9BQU8sT0FBTyxPQUFPO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxHQUFHIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi90eXBlcy5qc1wiO1xuZXhwb3J0IGxldCBFcnJvcktpbmQgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oRXJyb3JLaW5kKSB7XG5cdC8qKiBBcmd1bWVudCBpcyB1bmNsb3NlZCAoZS5nLiBgezBgKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0VcIl0gPSAxXSA9IFwiRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0VcIjtcblx0LyoqIEFyZ3VtZW50IGlzIGVtcHR5IChlLmcuIGB7fWApLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRU1QVFlfQVJHVU1FTlRcIl0gPSAyXSA9IFwiRU1QVFlfQVJHVU1FTlRcIjtcblx0LyoqIEFyZ3VtZW50IGlzIG1hbGZvcm1lZCAoZS5nLiBge2ZvbyF9YGApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJNQUxGT1JNRURfQVJHVU1FTlRcIl0gPSAzXSA9IFwiTUFMRk9STUVEX0FSR1VNRU5UXCI7XG5cdC8qKiBFeHBlY3QgYW4gYXJndW1lbnQgdHlwZSAoZS5nLiBge2Zvbyx9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9BUkdVTUVOVF9UWVBFXCJdID0gNF0gPSBcIkVYUEVDVF9BUkdVTUVOVF9UWVBFXCI7XG5cdC8qKiBVbnN1cHBvcnRlZCBhcmd1bWVudCB0eXBlIChlLmcuIGB7Zm9vLGZvb31gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9BUkdVTUVOVF9UWVBFXCJdID0gNV0gPSBcIklOVkFMSURfQVJHVU1FTlRfVFlQRVwiO1xuXHQvKiogRXhwZWN0IGFuIGFyZ3VtZW50IHN0eWxlIChlLmcuIGB7Zm9vLCBudW1iZXIsIH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX0FSR1VNRU5UX1NUWUxFXCJdID0gNl0gPSBcIkVYUEVDVF9BUkdVTUVOVF9TVFlMRVwiO1xuXHQvKiogVGhlIG51bWJlciBza2VsZXRvbiBpcyBpbnZhbGlkLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9OVU1CRVJfU0tFTEVUT05cIl0gPSA3XSA9IFwiSU5WQUxJRF9OVU1CRVJfU0tFTEVUT05cIjtcblx0LyoqIFRoZSBkYXRlIHRpbWUgc2tlbGV0b24gaXMgaW52YWxpZC4gKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIklOVkFMSURfREFURV9USU1FX1NLRUxFVE9OXCJdID0gOF0gPSBcIklOVkFMSURfREFURV9USU1FX1NLRUxFVE9OXCI7XG5cdC8qKiBFeGVwY3QgYSBudW1iZXIgc2tlbGV0b24gZm9sbG93aW5nIHRoZSBgOjpgIChlLmcuIGB7Zm9vLCBudW1iZXIsIDo6fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfTlVNQkVSX1NLRUxFVE9OXCJdID0gOV0gPSBcIkVYUEVDVF9OVU1CRVJfU0tFTEVUT05cIjtcblx0LyoqIEV4ZXBjdCBhIGRhdGUgdGltZSBza2VsZXRvbiBmb2xsb3dpbmcgdGhlIGA6OmAgKGUuZy4gYHtmb28sIGRhdGUsIDo6fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfREFURV9USU1FX1NLRUxFVE9OXCJdID0gMTBdID0gXCJFWFBFQ1RfREFURV9USU1FX1NLRUxFVE9OXCI7XG5cdC8qKiBVbm1hdGNoZWQgYXBvc3Ryb3BoZXMgaW4gdGhlIGFyZ3VtZW50IHN0eWxlIChlLmcuIGB7Zm9vLCBudW1iZXIsICd0ZXN0YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIlVOQ0xPU0VEX1FVT1RFX0lOX0FSR1VNRU5UX1NUWUxFXCJdID0gMTFdID0gXCJVTkNMT1NFRF9RVU9URV9JTl9BUkdVTUVOVF9TVFlMRVwiO1xuXHQvKiogTWlzc2luZyBzZWxlY3QgYXJndW1lbnQgb3B0aW9ucyAoZS5nLiBge2Zvbywgc2VsZWN0fWApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfU0VMRUNUX0FSR1VNRU5UX09QVElPTlNcIl0gPSAxMl0gPSBcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfT1BUSU9OU1wiO1xuXHQvKiogRXhwZWN0aW5nIGFuIG9mZnNldCB2YWx1ZSBpbiBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgYXJndW1lbnQgKGUuZyBge2ZvbywgcGx1cmFsLCBvZmZzZXR9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFXCJdID0gMTNdID0gXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRVwiO1xuXHQvKiogT2Zmc2V0IHZhbHVlIGluIGBwbHVyYWxgIG9yIGBzZWxlY3RvcmRpbmFsYCBpcyBpbnZhbGlkIChlLmcuIGB7Zm9vLCBwbHVyYWwsIG9mZnNldDogeH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfT0ZGU0VUX1ZBTFVFXCJdID0gMTRdID0gXCJJTlZBTElEX1BMVVJBTF9BUkdVTUVOVF9PRkZTRVRfVkFMVUVcIjtcblx0LyoqIEV4cGVjdGluZyBhIHNlbGVjdG9yIGluIGBzZWxlY3RgIGFyZ3VtZW50IChlLmcgYHtmb28sIHNlbGVjdH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDE1XSA9IFwiRVhQRUNUX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogRXhwZWN0aW5nIGEgc2VsZWN0b3IgaW4gYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIGFyZ3VtZW50IChlLmcgYHtmb28sIHBsdXJhbH1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDE2XSA9IFwiRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogRXhwZWN0aW5nIGEgbWVzc2FnZSBmcmFnbWVudCBhZnRlciB0aGUgYHNlbGVjdGAgc2VsZWN0b3IgKGUuZy4gYHtmb28sIHNlbGVjdCwgYXBwbGV9YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlRcIl0gPSAxN10gPSBcIkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlRcIjtcblx0LyoqXG5cdCogRXhwZWN0aW5nIGEgbWVzc2FnZSBmcmFnbWVudCBhZnRlciB0aGUgYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIHNlbGVjdG9yXG5cdCogKGUuZy4gYHtmb28sIHBsdXJhbCwgb25lfWApXG5cdCovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SX0ZSQUdNRU5UXCJdID0gMThdID0gXCJFWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SX0ZSQUdNRU5UXCI7XG5cdC8qKiBTZWxlY3RvciBpbiBgcGx1cmFsYCBvciBgc2VsZWN0b3JkaW5hbGAgaXMgbWFsZm9ybWVkIChlLmcuIGB7Zm9vLCBwbHVyYWwsID14IHsjfX1gKSAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIl0gPSAxOV0gPSBcIklOVkFMSURfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SXCI7XG5cdC8qKlxuXHQqIER1cGxpY2F0ZSBzZWxlY3RvcnMgaW4gYHBsdXJhbGAgb3IgYHNlbGVjdG9yZGluYWxgIGFyZ3VtZW50LlxuXHQqIChlLmcuIHtmb28sIHBsdXJhbCwgb25lIHsjfSBvbmUgeyN9fSlcblx0Ki9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIkRVUExJQ0FURV9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIl0gPSAyMF0gPSBcIkRVUExJQ0FURV9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1JcIjtcblx0LyoqIER1cGxpY2F0ZSBzZWxlY3RvcnMgaW4gYHNlbGVjdGAgYXJndW1lbnQuXG5cdCogKGUuZy4ge2Zvbywgc2VsZWN0LCBhcHBsZSB7YXBwbGV9IGFwcGxlIHthcHBsZX19KVxuXHQqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiRFVQTElDQVRFX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiXSA9IDIxXSA9IFwiRFVQTElDQVRFX1NFTEVDVF9BUkdVTUVOVF9TRUxFQ1RPUlwiO1xuXHQvKiogUGx1cmFsIG9yIHNlbGVjdCBhcmd1bWVudCBvcHRpb24gbXVzdCBoYXZlIGBvdGhlcmAgY2xhdXNlLiAqL1xuXHRFcnJvcktpbmRbRXJyb3JLaW5kW1wiTUlTU0lOR19PVEhFUl9DTEFVU0VcIl0gPSAyMl0gPSBcIk1JU1NJTkdfT1RIRVJfQ0xBVVNFXCI7XG5cdC8qKiBUaGUgdGFnIGlzIG1hbGZvcm1lZC4gKGUuZy4gYDxib2xkIT5mb288L2JvbGQhPikgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIklOVkFMSURfVEFHXCJdID0gMjNdID0gXCJJTlZBTElEX1RBR1wiO1xuXHQvKiogVGhlIHRhZyBuYW1lIGlzIGludmFsaWQuIChlLmcuIGA8MTIzPmZvbzwvMTIzPmApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJJTlZBTElEX1RBR19OQU1FXCJdID0gMjVdID0gXCJJTlZBTElEX1RBR19OQU1FXCI7XG5cdC8qKiBUaGUgY2xvc2luZyB0YWcgZG9lcyBub3QgbWF0Y2ggdGhlIG9wZW5pbmcgdGFnLiAoZS5nLiBgPGJvbGQ+Zm9vPC9pdGFsaWM+YCkgKi9cblx0RXJyb3JLaW5kW0Vycm9yS2luZFtcIlVOTUFUQ0hFRF9DTE9TSU5HX1RBR1wiXSA9IDI2XSA9IFwiVU5NQVRDSEVEX0NMT1NJTkdfVEFHXCI7XG5cdC8qKiBUaGUgb3BlbmluZyB0YWcgaGFzIHVubWF0Y2hlZCBjbG9zaW5nIHRhZy4gKGUuZy4gYDxib2xkPmZvb2ApICovXG5cdEVycm9yS2luZFtFcnJvcktpbmRbXCJVTkNMT1NFRF9UQUdcIl0gPSAyN10gPSBcIlVOQ0xPU0VEX1RBR1wiO1xuXHRyZXR1cm4gRXJyb3JLaW5kO1xufSh7fSk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js ***!
\******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SKELETON_TYPE: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.SKELETON_TYPE),\n/* harmony export */ TYPE: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.TYPE),\n/* harmony export */ _Parser: () => (/* binding */ _Parser),\n/* harmony export */ createLiteralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.createLiteralElement),\n/* harmony export */ createNumberElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.createNumberElement),\n/* harmony export */ isArgumentElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isArgumentElement),\n/* harmony export */ isDateElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isDateElement),\n/* harmony export */ isDateTimeSkeleton: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isDateTimeSkeleton),\n/* harmony export */ isLiteralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isLiteralElement),\n/* harmony export */ isNumberElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberElement),\n/* harmony export */ isNumberSkeleton: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberSkeleton),\n/* harmony export */ isPluralElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isPluralElement),\n/* harmony export */ isPoundElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isPoundElement),\n/* harmony export */ isSelectElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isSelectElement),\n/* harmony export */ isStructurallySame: () => (/* reexport safe */ _manipulator_js__WEBPACK_IMPORTED_MODULE_3__.isStructurallySame),\n/* harmony export */ isTagElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isTagElement),\n/* harmony export */ isTimeElement: () => (/* reexport safe */ _types_js__WEBPACK_IMPORTED_MODULE_2__.isTimeElement),\n/* harmony export */ parse: () => (/* binding */ parse)\n/* harmony export */ });\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\");\n/* harmony import */ var _parser_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./parser.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n/* harmony import */ var _manipulator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./manipulator.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js\");\n\n\n\nfunction pruneLocation(els) {\n\tels.forEach((el) => {\n\t\tdelete el.location;\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isSelectElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isPluralElement)(el)) {\n\t\t\tfor (const k in el.options) {\n\t\t\t\tdelete el.options[k].location;\n\t\t\t\tpruneLocation(el.options[k].value);\n\t\t\t}\n\t\t} else if ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberElement)(el) && (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isNumberSkeleton)(el.style)) {\n\t\t\tdelete el.style.location;\n\t\t} else if (((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isDateElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isTimeElement)(el)) && (0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isDateTimeSkeleton)(el.style)) {\n\t\t\tdelete el.style.location;\n\t\t} else if ((0,_types_js__WEBPACK_IMPORTED_MODULE_2__.isTagElement)(el)) {\n\t\t\tpruneLocation(el.children);\n\t\t}\n\t});\n}\nfunction parse(message, opts = {}) {\n\topts = {\n\t\tshouldParseSkeletons: true,\n\t\trequiresOtherClause: true,\n\t\t...opts\n\t};\n\tconst result = new _parser_js__WEBPACK_IMPORTED_MODULE_1__.Parser(message, opts).parse();\n\tif (result.err) {\n\t\tconst error = SyntaxError(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind[result.err.kind]);\n\t\t// @ts-expect-error Assign to error object\n\t\terror.location = result.err.location;\n\t\t// @ts-expect-error Assign to error object\n\t\terror.originalMessage = result.err.message;\n\t\tthrow error;\n\t}\n\tif (!opts?.captureLocation) {\n\t\tpruneLocation(result.val);\n\t}\n\treturn result.val;\n}\n\n// only for testing\nconst _Parser = _parser_js__WEBPACK_IMPORTED_MODULE_1__.Parser;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVDO0FBQ0Y7QUFDNEg7QUFDaks7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwREFBZSxRQUFRLDBEQUFlO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTLDBEQUFlLFFBQVEsMkRBQWdCO0FBQ3BEO0FBQ0EsSUFBSSxVQUFVLHdEQUFhLFFBQVEsd0RBQWEsU0FBUyw2REFBa0I7QUFDM0U7QUFDQSxJQUFJLFNBQVMsdURBQVk7QUFDekI7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNPLGlDQUFpQztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLDhDQUFNO0FBQzFCO0FBQ0EsNEJBQTRCLGdEQUFTO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDMkI7QUFDM0I7QUFDTyxnQkFBZ0IsOENBQU07QUFDeUIiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvcktpbmQgfSBmcm9tIFwiLi9lcnJvci5qc1wiO1xuaW1wb3J0IHsgUGFyc2VyIH0gZnJvbSBcIi4vcGFyc2VyLmpzXCI7XG5pbXBvcnQgeyBpc0RhdGVFbGVtZW50LCBpc0RhdGVUaW1lU2tlbGV0b24sIGlzTnVtYmVyRWxlbWVudCwgaXNOdW1iZXJTa2VsZXRvbiwgaXNQbHVyYWxFbGVtZW50LCBpc1NlbGVjdEVsZW1lbnQsIGlzVGFnRWxlbWVudCwgaXNUaW1lRWxlbWVudCB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XG5mdW5jdGlvbiBwcnVuZUxvY2F0aW9uKGVscykge1xuXHRlbHMuZm9yRWFjaCgoZWwpID0+IHtcblx0XHRkZWxldGUgZWwubG9jYXRpb247XG5cdFx0aWYgKGlzU2VsZWN0RWxlbWVudChlbCkgfHwgaXNQbHVyYWxFbGVtZW50KGVsKSkge1xuXHRcdFx0Zm9yIChjb25zdCBrIGluIGVsLm9wdGlvbnMpIHtcblx0XHRcdFx0ZGVsZXRlIGVsLm9wdGlvbnNba10ubG9jYXRpb247XG5cdFx0XHRcdHBydW5lTG9jYXRpb24oZWwub3B0aW9uc1trXS52YWx1ZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChpc051bWJlckVsZW1lbnQoZWwpICYmIGlzTnVtYmVyU2tlbGV0b24oZWwuc3R5bGUpKSB7XG5cdFx0XHRkZWxldGUgZWwuc3R5bGUubG9jYXRpb247XG5cdFx0fSBlbHNlIGlmICgoaXNEYXRlRWxlbWVudChlbCkgfHwgaXNUaW1lRWxlbWVudChlbCkpICYmIGlzRGF0ZVRpbWVTa2VsZXRvbihlbC5zdHlsZSkpIHtcblx0XHRcdGRlbGV0ZSBlbC5zdHlsZS5sb2NhdGlvbjtcblx0XHR9IGVsc2UgaWYgKGlzVGFnRWxlbWVudChlbCkpIHtcblx0XHRcdHBydW5lTG9jYXRpb24oZWwuY2hpbGRyZW4pO1xuXHRcdH1cblx0fSk7XG59XG5leHBvcnQgZnVuY3Rpb24gcGFyc2UobWVzc2FnZSwgb3B0cyA9IHt9KSB7XG5cdG9wdHMgPSB7XG5cdFx0c2hvdWxkUGFyc2VTa2VsZXRvbnM6IHRydWUsXG5cdFx0cmVxdWlyZXNPdGhlckNsYXVzZTogdHJ1ZSxcblx0XHQuLi5vcHRzXG5cdH07XG5cdGNvbnN0IHJlc3VsdCA9IG5ldyBQYXJzZXIobWVzc2FnZSwgb3B0cykucGFyc2UoKTtcblx0aWYgKHJlc3VsdC5lcnIpIHtcblx0XHRjb25zdCBlcnJvciA9IFN5bnRheEVycm9yKEVycm9yS2luZFtyZXN1bHQuZXJyLmtpbmRdKTtcblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIEFzc2lnbiB0byBlcnJvciBvYmplY3Rcblx0XHRlcnJvci5sb2NhdGlvbiA9IHJlc3VsdC5lcnIubG9jYXRpb247XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBBc3NpZ24gdG8gZXJyb3Igb2JqZWN0XG5cdFx0ZXJyb3Iub3JpZ2luYWxNZXNzYWdlID0gcmVzdWx0LmVyci5tZXNzYWdlO1xuXHRcdHRocm93IGVycm9yO1xuXHR9XG5cdGlmICghb3B0cz8uY2FwdHVyZUxvY2F0aW9uKSB7XG5cdFx0cHJ1bmVMb2NhdGlvbihyZXN1bHQudmFsKTtcblx0fVxuXHRyZXR1cm4gcmVzdWx0LnZhbDtcbn1cbmV4cG9ydCAqIGZyb20gXCIuL3R5cGVzLmpzXCI7XG4vLyBvbmx5IGZvciB0ZXN0aW5nXG5leHBvcnQgY29uc3QgX1BhcnNlciA9IFBhcnNlcjtcbmV4cG9ydCB7IGlzU3RydWN0dXJhbGx5U2FtZSB9IGZyb20gXCIuL21hbmlwdWxhdG9yLmpzXCI7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/index.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js":
/*!************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js ***!
\************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ hoistSelectors: () => (/* binding */ hoistSelectors),\n/* harmony export */ isStructurallySame: () => (/* binding */ isStructurallySame)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n\nfunction cloneDeep(obj) {\n\tif (Array.isArray(obj)) {\n\t\t// @ts-expect-error meh\n\t\treturn obj.map(cloneDeep);\n\t}\n\tif (obj !== null && typeof obj === \"object\") {\n\t\t// @ts-expect-error meh\n\t\treturn Object.keys(obj).reduce((cloned, k) => {\n\t\t\t// @ts-expect-error meh\n\t\t\tcloned[k] = cloneDeep(obj[k]);\n\t\t\treturn cloned;\n\t\t}, {});\n\t}\n\treturn obj;\n}\n/**\n* Replace pound elements with number elements referencing the given variable.\n* This is needed when nesting plurals - the # in the outer plural should become\n* an explicit variable reference when nested inside another plural.\n* GH #4202\n*/\nfunction replacePoundWithArgument(ast, variableName) {\n\treturn ast.map((el) => {\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPoundElement)(el)) {\n\t\t\t// Replace # with {variableName, number}\n\t\t\treturn {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE.number,\n\t\t\t\tvalue: variableName,\n\t\t\t\tstyle: null,\n\t\t\t\tlocation: el.location\n\t\t\t};\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\t// Recursively process options\n\t\t\tconst newOptions = {};\n\t\t\tfor (const key of Object.keys(el.options)) {\n\t\t\t\tnewOptions[key] = { value: replacePoundWithArgument(el.options[key].value, variableName) };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\toptions: newOptions\n\t\t\t};\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\treturn {\n\t\t\t\t...el,\n\t\t\t\tchildren: replacePoundWithArgument(el.children, variableName)\n\t\t\t};\n\t\t}\n\t\treturn el;\n\t});\n}\nfunction hoistPluralOrSelectElement(ast, el, positionToInject) {\n\t// pull this out of the ast and move it to the top\n\tconst cloned = cloneDeep(el);\n\tconst { options } = cloned;\n\t// GH #4202: Check if there are other plural/select elements after this one\n\tconst afterElements = ast.slice(positionToInject + 1);\n\tconst hasSubsequentPluralOrSelect = afterElements.some(isPluralOrSelectElement);\n\tcloned.options = Object.keys(options).reduce((all, k) => {\n\t\tlet optionValue = options[k].value;\n\t\t// GH #4202: If there are subsequent plurals/selects and this is a plural,\n\t\t// replace # with explicit variable reference to avoid ambiguity\n\t\tif (hasSubsequentPluralOrSelect && (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el)) {\n\t\t\toptionValue = replacePoundWithArgument(optionValue, el.value);\n\t\t}\n\t\tconst newValue = hoistSelectors([\n\t\t\t...ast.slice(0, positionToInject),\n\t\t\t...optionValue,\n\t\t\t...afterElements\n\t\t]);\n\t\tall[k] = { value: newValue };\n\t\treturn all;\n\t}, {});\n\treturn cloned;\n}\nfunction isPluralOrSelectElement(el) {\n\treturn (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el);\n}\nfunction findPluralOrSelectElement(ast) {\n\treturn !!ast.find((el) => {\n\t\tif (isPluralOrSelectElement(el)) {\n\t\t\treturn true;\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\treturn findPluralOrSelectElement(el.children);\n\t\t}\n\t\treturn false;\n\t});\n}\n/**\n* Hoist all selectors to the beginning of the AST & flatten the\n* resulting options. E.g:\n* \"I have {count, plural, one{a dog} other{many dogs}}\"\n* becomes \"{count, plural, one{I have a dog} other{I have many dogs}}\".\n* If there are multiple selectors, the order of which one is hoisted 1st\n* is non-deterministic.\n* The goal is to provide as many full sentences as possible since fragmented\n* sentences are not translator-friendly\n* @param ast AST\n*/\nfunction hoistSelectors(ast) {\n\tfor (let i = 0; i < ast.length; i++) {\n\t\tconst el = ast[i];\n\t\tif (isPluralOrSelectElement(el)) {\n\t\t\treturn [hoistPluralOrSelectElement(ast, el, i)];\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el) && findPluralOrSelectElement([el])) {\n\t\t\tthrow new Error(\"Cannot hoist plural/select within a tag element. Please put the tag element inside each plural/select option\");\n\t\t}\n\t}\n\treturn ast;\n}\n/**\n* Collect all variables in an AST to Record<string, TYPE>\n* @param ast AST to collect variables from\n* @param vars Record of variable name to variable type\n*/\nfunction collectVariables(ast, vars = new Map()) {\n\tast.forEach((el) => {\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isArgumentElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isDateElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTimeElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isNumberElement)(el)) {\n\t\t\tif (el.value in vars && vars.get(el.value) !== el.type) {\n\t\t\t\tthrow new Error(`Variable ${el.value} has conflicting types`);\n\t\t\t}\n\t\t\tvars.set(el.value, el.type);\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isPluralElement)(el) || (0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isSelectElement)(el)) {\n\t\t\tvars.set(el.value, el.type);\n\t\t\tObject.keys(el.options).forEach((k) => {\n\t\t\t\tcollectVariables(el.options[k].value, vars);\n\t\t\t});\n\t\t}\n\t\tif ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isTagElement)(el)) {\n\t\t\tvars.set(el.value, el.type);\n\t\t\tcollectVariables(el.children, vars);\n\t\t}\n\t});\n}\n/**\n* Check if 2 ASTs are structurally the same. This primarily means that\n* they have the same variables with the same type\n* @param a\n* @param b\n* @returns\n*/\nfunction isStructurallySame(a, b) {\n\tconst aVars = new Map();\n\tconst bVars = new Map();\n\tcollectVariables(a, aVars);\n\tcollectVariables(b, bVars);\n\tif (aVars.size !== bVars.size) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(`Different number of variables: [${Array.from(aVars.keys()).join(\", \")}] vs [${Array.from(bVars.keys()).join(\", \")}]`)\n\t\t};\n\t}\n\treturn Array.from(aVars.entries()).reduce((result, [key, type]) => {\n\t\tif (!result.success) {\n\t\t\treturn result;\n\t\t}\n\t\tconst bType = bVars.get(key);\n\t\tif (bType == null) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: new Error(`Missing variable ${key} in message`)\n\t\t\t};\n\t\t}\n\t\tif (bType !== type) {\n\t\t\treturn {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: new Error(`Variable ${key} has conflicting types: ${_types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE[type]} vs ${_types_js__WEBPACK_IMPORTED_MODULE_0__.TYPE[bType]}`)\n\t\t\t};\n\t\t}\n\t\treturn result;\n\t}, { success: true });\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9tYW5pcHVsYXRvci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBb0s7QUFDcEs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsSUFBSTtBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHlEQUFjO0FBQ3BCLHNCQUFzQjtBQUN0QjtBQUNBLFVBQVUsMkNBQUk7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwREFBZSxRQUFRLDBEQUFlO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsVUFBVTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQywwREFBZTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBLEVBQUUsSUFBSTtBQUNOO0FBQ0E7QUFDQTtBQUNBLFFBQVEsMERBQWUsUUFBUSwwREFBZTtBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsbUJBQW1CLE9BQU8sTUFBTSxXQUFXO0FBQ3RELFlBQVksbUJBQW1CLGNBQWMsTUFBTSxrQkFBa0I7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUCxpQkFBaUIsZ0JBQWdCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSx1REFBWTtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDREQUFpQixRQUFRLHdEQUFhLFFBQVEsd0RBQWEsUUFBUSwwREFBZTtBQUN4RjtBQUNBLGdDQUFnQyxVQUFVO0FBQzFDO0FBQ0E7QUFDQTtBQUNBLE1BQU0sMERBQWUsUUFBUSwwREFBZTtBQUM1QztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxNQUFNLHVEQUFZO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxvQ0FBb0MsUUFBUSxvQ0FBb0M7QUFDdkk7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsS0FBSztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLEtBQUsseUJBQXlCLDJDQUFJLFFBQVEsS0FBSywyQ0FBSSxRQUFRO0FBQzVGO0FBQ0E7QUFDQTtBQUNBLEVBQUUsSUFBSSxlQUFlO0FBQ3JCIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvbWFuaXB1bGF0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcmd1bWVudEVsZW1lbnQsIGlzRGF0ZUVsZW1lbnQsIGlzTnVtYmVyRWxlbWVudCwgaXNQbHVyYWxFbGVtZW50LCBpc1BvdW5kRWxlbWVudCwgaXNTZWxlY3RFbGVtZW50LCBpc1RhZ0VsZW1lbnQsIGlzVGltZUVsZW1lbnQsIFRZUEUgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuZnVuY3Rpb24gY2xvbmVEZWVwKG9iaikge1xuXHRpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciBtZWhcblx0XHRyZXR1cm4gb2JqLm1hcChjbG9uZURlZXApO1xuXHR9XG5cdGlmIChvYmogIT09IG51bGwgJiYgdHlwZW9mIG9iaiA9PT0gXCJvYmplY3RcIikge1xuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgbWVoXG5cdFx0cmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKChjbG9uZWQsIGspID0+IHtcblx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgbWVoXG5cdFx0XHRjbG9uZWRba10gPSBjbG9uZURlZXAob2JqW2tdKTtcblx0XHRcdHJldHVybiBjbG9uZWQ7XG5cdFx0fSwge30pO1xuXHR9XG5cdHJldHVybiBvYmo7XG59XG4vKipcbiogUmVwbGFjZSBwb3VuZCBlbGVtZW50cyB3aXRoIG51bWJlciBlbGVtZW50cyByZWZlcmVuY2luZyB0aGUgZ2l2ZW4gdmFyaWFibGUuXG4qIFRoaXMgaXMgbmVlZGVkIHdoZW4gbmVzdGluZyBwbHVyYWxzIC0gdGhlICMgaW4gdGhlIG91dGVyIHBsdXJhbCBzaG91bGQgYmVjb21lXG4qIGFuIGV4cGxpY2l0IHZhcmlhYmxlIHJlZmVyZW5jZSB3aGVuIG5lc3RlZCBpbnNpZGUgYW5vdGhlciBwbHVyYWwuXG4qIEdIICM0MjAyXG4qL1xuZnVuY3Rpb24gcmVwbGFjZVBvdW5kV2l0aEFyZ3VtZW50KGFzdCwgdmFyaWFibGVOYW1lKSB7XG5cdHJldHVybiBhc3QubWFwKChlbCkgPT4ge1xuXHRcdGlmIChpc1BvdW5kRWxlbWVudChlbCkpIHtcblx0XHRcdC8vIFJlcGxhY2UgIyB3aXRoIHt2YXJpYWJsZU5hbWUsIG51bWJlcn1cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHR5cGU6IFRZUEUubnVtYmVyLFxuXHRcdFx0XHR2YWx1ZTogdmFyaWFibGVOYW1lLFxuXHRcdFx0XHRzdHlsZTogbnVsbCxcblx0XHRcdFx0bG9jYXRpb246IGVsLmxvY2F0aW9uXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpZiAoaXNQbHVyYWxFbGVtZW50KGVsKSB8fCBpc1NlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHQvLyBSZWN1cnNpdmVseSBwcm9jZXNzIG9wdGlvbnNcblx0XHRcdGNvbnN0IG5ld09wdGlvbnMgPSB7fTtcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGVsLm9wdGlvbnMpKSB7XG5cdFx0XHRcdG5ld09wdGlvbnNba2V5XSA9IHsgdmFsdWU6IHJlcGxhY2VQb3VuZFdpdGhBcmd1bWVudChlbC5vcHRpb25zW2tleV0udmFsdWUsIHZhcmlhYmxlTmFtZSkgfTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdC4uLmVsLFxuXHRcdFx0XHRvcHRpb25zOiBuZXdPcHRpb25zXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRpZiAoaXNUYWdFbGVtZW50KGVsKSkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Li4uZWwsXG5cdFx0XHRcdGNoaWxkcmVuOiByZXBsYWNlUG91bmRXaXRoQXJndW1lbnQoZWwuY2hpbGRyZW4sIHZhcmlhYmxlTmFtZSlcblx0XHRcdH07XG5cdFx0fVxuXHRcdHJldHVybiBlbDtcblx0fSk7XG59XG5mdW5jdGlvbiBob2lzdFBsdXJhbE9yU2VsZWN0RWxlbWVudChhc3QsIGVsLCBwb3NpdGlvblRvSW5qZWN0KSB7XG5cdC8vIHB1bGwgdGhpcyBvdXQgb2YgdGhlIGFzdCBhbmQgbW92ZSBpdCB0byB0aGUgdG9wXG5cdGNvbnN0IGNsb25lZCA9IGNsb25lRGVlcChlbCk7XG5cdGNvbnN0IHsgb3B0aW9ucyB9ID0gY2xvbmVkO1xuXHQvLyBHSCAjNDIwMjogQ2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIHBsdXJhbC9zZWxlY3QgZWxlbWVudHMgYWZ0ZXIgdGhpcyBvbmVcblx0Y29uc3QgYWZ0ZXJFbGVtZW50cyA9IGFzdC5zbGljZShwb3NpdGlvblRvSW5qZWN0ICsgMSk7XG5cdGNvbnN0IGhhc1N1YnNlcXVlbnRQbHVyYWxPclNlbGVjdCA9IGFmdGVyRWxlbWVudHMuc29tZShpc1BsdXJhbE9yU2VsZWN0RWxlbWVudCk7XG5cdGNsb25lZC5vcHRpb25zID0gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKChhbGwsIGspID0+IHtcblx0XHRsZXQgb3B0aW9uVmFsdWUgPSBvcHRpb25zW2tdLnZhbHVlO1xuXHRcdC8vIEdIICM0MjAyOiBJZiB0aGVyZSBhcmUgc3Vic2VxdWVudCBwbHVyYWxzL3NlbGVjdHMgYW5kIHRoaXMgaXMgYSBwbHVyYWwsXG5cdFx0Ly8gcmVwbGFjZSAjIHdpdGggZXhwbGljaXQgdmFyaWFibGUgcmVmZXJlbmNlIHRvIGF2b2lkIGFtYmlndWl0eVxuXHRcdGlmIChoYXNTdWJzZXF1ZW50UGx1cmFsT3JTZWxlY3QgJiYgaXNQbHVyYWxFbGVtZW50KGVsKSkge1xuXHRcdFx0b3B0aW9uVmFsdWUgPSByZXBsYWNlUG91bmRXaXRoQXJndW1lbnQob3B0aW9uVmFsdWUsIGVsLnZhbHVlKTtcblx0XHR9XG5cdFx0Y29uc3QgbmV3VmFsdWUgPSBob2lzdFNlbGVjdG9ycyhbXG5cdFx0XHQuLi5hc3Quc2xpY2UoMCwgcG9zaXRpb25Ub0luamVjdCksXG5cdFx0XHQuLi5vcHRpb25WYWx1ZSxcblx0XHRcdC4uLmFmdGVyRWxlbWVudHNcblx0XHRdKTtcblx0XHRhbGxba10gPSB7IHZhbHVlOiBuZXdWYWx1ZSB9O1xuXHRcdHJldHVybiBhbGw7XG5cdH0sIHt9KTtcblx0cmV0dXJuIGNsb25lZDtcbn1cbmZ1bmN0aW9uIGlzUGx1cmFsT3JTZWxlY3RFbGVtZW50KGVsKSB7XG5cdHJldHVybiBpc1BsdXJhbEVsZW1lbnQoZWwpIHx8IGlzU2VsZWN0RWxlbWVudChlbCk7XG59XG5mdW5jdGlvbiBmaW5kUGx1cmFsT3JTZWxlY3RFbGVtZW50KGFzdCkge1xuXHRyZXR1cm4gISFhc3QuZmluZCgoZWwpID0+IHtcblx0XHRpZiAoaXNQbHVyYWxPclNlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0aWYgKGlzVGFnRWxlbWVudChlbCkpIHtcblx0XHRcdHJldHVybiBmaW5kUGx1cmFsT3JTZWxlY3RFbGVtZW50KGVsLmNoaWxkcmVuKTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9KTtcbn1cbi8qKlxuKiBIb2lzdCBhbGwgc2VsZWN0b3JzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIEFTVCAmIGZsYXR0ZW4gdGhlXG4qIHJlc3VsdGluZyBvcHRpb25zLiBFLmc6XG4qIFwiSSBoYXZlIHtjb3VudCwgcGx1cmFsLCBvbmV7YSBkb2d9IG90aGVye21hbnkgZG9nc319XCJcbiogYmVjb21lcyBcIntjb3VudCwgcGx1cmFsLCBvbmV7SSBoYXZlIGEgZG9nfSBvdGhlcntJIGhhdmUgbWFueSBkb2dzfX1cIi5cbiogSWYgdGhlcmUgYXJlIG11bHRpcGxlIHNlbGVjdG9ycywgdGhlIG9yZGVyIG9mIHdoaWNoIG9uZSBpcyBob2lzdGVkIDFzdFxuKiBpcyBub24tZGV0ZXJtaW5pc3RpYy5cbiogVGhlIGdvYWwgaXMgdG8gcHJvdmlkZSBhcyBtYW55IGZ1bGwgc2VudGVuY2VzIGFzIHBvc3NpYmxlIHNpbmNlIGZyYWdtZW50ZWRcbiogc2VudGVuY2VzIGFyZSBub3QgdHJhbnNsYXRvci1mcmllbmRseVxuKiBAcGFyYW0gYXN0IEFTVFxuKi9cbmV4cG9ydCBmdW5jdGlvbiBob2lzdFNlbGVjdG9ycyhhc3QpIHtcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhc3QubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBlbCA9IGFzdFtpXTtcblx0XHRpZiAoaXNQbHVyYWxPclNlbGVjdEVsZW1lbnQoZWwpKSB7XG5cdFx0XHRyZXR1cm4gW2hvaXN0UGx1cmFsT3JTZWxlY3RFbGVtZW50KGFzdCwgZWwsIGkpXTtcblx0XHR9XG5cdFx0aWYgKGlzVGFnRWxlbWVudChlbCkgJiYgZmluZFBsdXJhbE9yU2VsZWN0RWxlbWVudChbZWxdKSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGhvaXN0IHBsdXJhbC9zZWxlY3Qgd2l0aGluIGEgdGFnIGVsZW1lbnQuIFBsZWFzZSBwdXQgdGhlIHRhZyBlbGVtZW50IGluc2lkZSBlYWNoIHBsdXJhbC9zZWxlY3Qgb3B0aW9uXCIpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gYXN0O1xufVxuLyoqXG4qIENvbGxlY3QgYWxsIHZhcmlhYmxlcyBpbiBhbiBBU1QgdG8gUmVjb3JkPHN0cmluZywgVFlQRT5cbiogQHBhcmFtIGFzdCBBU1QgdG8gY29sbGVjdCB2YXJpYWJsZXMgZnJvbVxuKiBAcGFyYW0gdmFycyBSZWNvcmQgb2YgdmFyaWFibGUgbmFtZSB0byB2YXJpYWJsZSB0eXBlXG4qL1xuZnVuY3Rpb24gY29sbGVjdFZhcmlhYmxlcyhhc3QsIHZhcnMgPSBuZXcgTWFwKCkpIHtcblx0YXN0LmZvckVhY2goKGVsKSA9PiB7XG5cdFx0aWYgKGlzQXJndW1lbnRFbGVtZW50KGVsKSB8fCBpc0RhdGVFbGVtZW50KGVsKSB8fCBpc1RpbWVFbGVtZW50KGVsKSB8fCBpc051bWJlckVsZW1lbnQoZWwpKSB7XG5cdFx0XHRpZiAoZWwudmFsdWUgaW4gdmFycyAmJiB2YXJzLmdldChlbC52YWx1ZSkgIT09IGVsLnR5cGUpIHtcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBWYXJpYWJsZSAke2VsLnZhbHVlfSBoYXMgY29uZmxpY3RpbmcgdHlwZXNgKTtcblx0XHRcdH1cblx0XHRcdHZhcnMuc2V0KGVsLnZhbHVlLCBlbC50eXBlKTtcblx0XHR9XG5cdFx0aWYgKGlzUGx1cmFsRWxlbWVudChlbCkgfHwgaXNTZWxlY3RFbGVtZW50KGVsKSkge1xuXHRcdFx0dmFycy5zZXQoZWwudmFsdWUsIGVsLnR5cGUpO1xuXHRcdFx0T2JqZWN0LmtleXMoZWwub3B0aW9ucykuZm9yRWFjaCgoaykgPT4ge1xuXHRcdFx0XHRjb2xsZWN0VmFyaWFibGVzKGVsLm9wdGlvbnNba10udmFsdWUsIHZhcnMpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHRcdGlmIChpc1RhZ0VsZW1lbnQoZWwpKSB7XG5cdFx0XHR2YXJzLnNldChlbC52YWx1ZSwgZWwudHlwZSk7XG5cdFx0XHRjb2xsZWN0VmFyaWFibGVzKGVsLmNoaWxkcmVuLCB2YXJzKTtcblx0XHR9XG5cdH0pO1xufVxuLyoqXG4qIENoZWNrIGlmIDIgQVNUcyBhcmUgc3RydWN0dXJhbGx5IHRoZSBzYW1lLiBUaGlzIHByaW1hcmlseSBtZWFucyB0aGF0XG4qIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YXJpYWJsZXMgd2l0aCB0aGUgc2FtZSB0eXBlXG4qIEBwYXJhbSBhXG4qIEBwYXJhbSBiXG4qIEByZXR1cm5zXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3RydWN0dXJhbGx5U2FtZShhLCBiKSB7XG5cdGNvbnN0IGFWYXJzID0gbmV3IE1hcCgpO1xuXHRjb25zdCBiVmFycyA9IG5ldyBNYXAoKTtcblx0Y29sbGVjdFZhcmlhYmxlcyhhLCBhVmFycyk7XG5cdGNvbGxlY3RWYXJpYWJsZXMoYiwgYlZhcnMpO1xuXHRpZiAoYVZhcnMuc2l6ZSAhPT0gYlZhcnMuc2l6ZSkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzdWNjZXNzOiBmYWxzZSxcblx0XHRcdGVycm9yOiBuZXcgRXJyb3IoYERpZmZlcmVudCBudW1iZXIgb2YgdmFyaWFibGVzOiBbJHtBcnJheS5mcm9tKGFWYXJzLmtleXMoKSkuam9pbihcIiwgXCIpfV0gdnMgWyR7QXJyYXkuZnJvbShiVmFycy5rZXlzKCkpLmpvaW4oXCIsIFwiKX1dYClcblx0XHR9O1xuXHR9XG5cdHJldHVybiBBcnJheS5mcm9tKGFWYXJzLmVudHJpZXMoKSkucmVkdWNlKChyZXN1bHQsIFtrZXksIHR5cGVdKSA9PiB7XG5cdFx0aWYgKCFyZXN1bHQuc3VjY2Vzcykge1xuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cdFx0Y29uc3QgYlR5cGUgPSBiVmFycy5nZXQoa2V5KTtcblx0XHRpZiAoYlR5cGUgPT0gbnVsbCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3VjY2VzczogZmFsc2UsXG5cdFx0XHRcdGVycm9yOiBuZXcgRXJyb3IoYE1pc3NpbmcgdmFyaWFibGUgJHtrZXl9IGluIG1lc3NhZ2VgKVxuXHRcdFx0fTtcblx0XHR9XG5cdFx0aWYgKGJUeXBlICE9PSB0eXBlKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdWNjZXNzOiBmYWxzZSxcblx0XHRcdFx0ZXJyb3I6IG5ldyBFcnJvcihgVmFyaWFibGUgJHtrZXl9IGhhcyBjb25mbGljdGluZyB0eXBlczogJHtUWVBFW3R5cGVdfSB2cyAke1RZUEVbYlR5cGVdfWApXG5cdFx0XHR9O1xuXHRcdH1cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9LCB7IHN1Y2Nlc3M6IHRydWUgfSk7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/manipulator.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js":
/*!*******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js ***!
\*******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Parser: () => (/* binding */ Parser)\n/* harmony export */ });\n/* harmony import */ var _error_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./error.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/error.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./types.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\");\n/* harmony import */ var _regex_generated_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./regex.generated.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js\");\n/* harmony import */ var _formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @formatjs/icu-skeleton-parser */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\");\n/* harmony import */ var _date_time_pattern_generator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./date-time-pattern-generator.js */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js\");\n\n\n\n\n\nconst SPACE_SEPARATOR_START_REGEX = new RegExp(`^${_regex_generated_js__WEBPACK_IMPORTED_MODULE_2__.SPACE_SEPARATOR_REGEX.source}*`);\nconst SPACE_SEPARATOR_END_REGEX = new RegExp(`${_regex_generated_js__WEBPACK_IMPORTED_MODULE_2__.SPACE_SEPARATOR_REGEX.source}*$`);\nfunction createLocation(start, end) {\n\treturn {\n\t\tstart,\n\t\tend\n\t};\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nconst hasNativeFromEntries = !!Object.fromEntries;\nconst hasTrimStart = !!String.prototype.trimStart;\nconst hasTrimEnd = !!String.prototype.trimEnd;\nconst fromEntries = hasNativeFromEntries ? Object.fromEntries : function fromEntries(entries) {\n\tconst obj = {};\n\tfor (const [k, v] of entries) {\n\t\tobj[k] = v;\n\t}\n\treturn obj;\n};\nconst trimStart = hasTrimStart ? function trimStart(s) {\n\treturn s.trimStart();\n} : function trimStart(s) {\n\treturn s.replace(SPACE_SEPARATOR_START_REGEX, \"\");\n};\nconst trimEnd = hasTrimEnd ? function trimEnd(s) {\n\treturn s.trimEnd();\n} : function trimEnd(s) {\n\treturn s.replace(SPACE_SEPARATOR_END_REGEX, \"\");\n};\n// #endregion\nconst IDENTIFIER_PREFIX_RE = new RegExp(\"([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)\", \"yu\");\nfunction matchIdentifierAtIndex(s, index) {\n\tIDENTIFIER_PREFIX_RE.lastIndex = index;\n\tconst match = IDENTIFIER_PREFIX_RE.exec(s);\n\treturn match[1] ?? \"\";\n}\nclass Parser {\n\tmessage;\n\tposition;\n\tlocale;\n\tignoreTag;\n\trequiresOtherClause;\n\tshouldParseSkeletons;\n\tconstructor(message, options = {}) {\n\t\tthis.message = message;\n\t\tthis.position = {\n\t\t\toffset: 0,\n\t\t\tline: 1,\n\t\t\tcolumn: 1\n\t\t};\n\t\tthis.ignoreTag = !!options.ignoreTag;\n\t\tthis.locale = options.locale;\n\t\tthis.requiresOtherClause = !!options.requiresOtherClause;\n\t\tthis.shouldParseSkeletons = !!options.shouldParseSkeletons;\n\t}\n\tparse() {\n\t\tif (this.offset() !== 0) {\n\t\t\tthrow Error(\"parser can only be used once\");\n\t\t}\n\t\treturn this.parseMessage(0, \"\", false);\n\t}\n\tparseMessage(nestingLevel, parentArgType, expectingCloseTag) {\n\t\tlet elements = [];\n\t\twhile (!this.isEOF()) {\n\t\t\tconst char = this.char();\n\t\t\tif (char === 123) {\n\t\t\t\tconst result = this.parseArgument(nestingLevel, expectingCloseTag);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t} else if (char === 125 && nestingLevel > 0) {\n\t\t\t\tbreak;\n\t\t\t} else if (char === 35 && (parentArgType === \"plural\" || parentArgType === \"selectordinal\")) {\n\t\t\t\tconst position = this.clonePosition();\n\t\t\t\tthis.bump();\n\t\t\t\telements.push({\n\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.pound,\n\t\t\t\t\tlocation: createLocation(position, this.clonePosition())\n\t\t\t\t});\n\t\t\t} else if (char === 60 && !this.ignoreTag && this.peek() === 47) {\n\t\t\t\tif (expectingCloseTag) {\n\t\t\t\t\tbreak;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t}\n\t\t\t} else if (char === 60 && !this.ignoreTag && _isAlpha(this.peek() || 0)) {\n\t\t\t\tconst result = this.parseTag(nestingLevel, parentArgType);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t} else {\n\t\t\t\tconst result = this.parseLiteral(nestingLevel, parentArgType);\n\t\t\t\tif (result.err) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t\telements.push(result.val);\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tval: elements,\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n\t* [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n\t* are accepted:\n\t*\n\t* ```\n\t* tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n\t* tagName ::= [a-z] (PENChar)*\n\t* PENChar ::=\n\t* \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n\t* [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n\t* [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n\t* ```\n\t*\n\t* [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n\t* NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n\t* since other tag-based engines like React allow it\n\t*/\n\tparseTag(nestingLevel, parentArgType) {\n\t\tconst startPosition = this.clonePosition();\n\t\tthis.bump();\n\t\tconst tagName = this.parseTagName();\n\t\tthis.bumpSpace();\n\t\tif (this.bumpIf(\"/>\")) {\n\t\t\t// Self closing tag\n\t\t\treturn {\n\t\t\t\tval: {\n\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.literal,\n\t\t\t\t\tvalue: `<${tagName}/>`,\n\t\t\t\t\tlocation: createLocation(startPosition, this.clonePosition())\n\t\t\t\t},\n\t\t\t\terr: null\n\t\t\t};\n\t\t} else if (this.bumpIf(\">\")) {\n\t\t\tconst childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n\t\t\tif (childrenResult.err) {\n\t\t\t\treturn childrenResult;\n\t\t\t}\n\t\t\tconst children = childrenResult.val;\n\t\t\t// Expecting a close tag\n\t\t\tconst endTagStartPosition = this.clonePosition();\n\t\t\tif (this.bumpIf(\"</\")) {\n\t\t\t\tif (this.isEOF() || !_isAlpha(this.char())) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\tconst closingTagNameStartPosition = this.clonePosition();\n\t\t\t\tconst closingTagName = this.parseTagName();\n\t\t\t\tif (tagName !== closingTagName) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (!this.bumpIf(\">\")) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.tag,\n\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\tchildren,\n\t\t\t\t\t\tlocation: createLocation(startPosition, this.clonePosition())\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n\t\t\t}\n\t\t} else {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n\t\t}\n\t}\n\t/**\n\t* This method assumes that the caller has peeked ahead for the first tag character.\n\t*/\n\tparseTagName() {\n\t\tconst startOffset = this.offset();\n\t\tthis.bump();\n\t\twhile (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n\t\t\tthis.bump();\n\t\t}\n\t\treturn this.message.slice(startOffset, this.offset());\n\t}\n\tparseLiteral(nestingLevel, parentArgType) {\n\t\tconst start = this.clonePosition();\n\t\tlet value = \"\";\n\t\twhile (true) {\n\t\t\tconst parseQuoteResult = this.tryParseQuote(parentArgType);\n\t\t\tif (parseQuoteResult) {\n\t\t\t\tvalue += parseQuoteResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n\t\t\tif (parseUnquotedResult) {\n\t\t\t\tvalue += parseUnquotedResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst parseLeftAngleResult = this.tryParseLeftAngleBracket();\n\t\t\tif (parseLeftAngleResult) {\n\t\t\t\tvalue += parseLeftAngleResult;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tconst location = createLocation(start, this.clonePosition());\n\t\treturn {\n\t\t\tval: {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.literal,\n\t\t\t\tvalue,\n\t\t\t\tlocation\n\t\t\t},\n\t\t\terr: null\n\t\t};\n\t}\n\ttryParseLeftAngleBracket() {\n\t\tif (!this.isEOF() && this.char() === 60 && (this.ignoreTag || !_isAlphaOrSlash(this.peek() || 0))) {\n\t\t\tthis.bump();\n\t\t\treturn \"<\";\n\t\t}\n\t\treturn null;\n\t}\n\t/**\n\t* Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n\t* a character that requires quoting (that is, \"only where needed\"), and works the same in\n\t* nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n\t*/\n\ttryParseQuote(parentArgType) {\n\t\tif (this.isEOF() || this.char() !== 39) {\n\t\t\treturn null;\n\t\t}\n\t\t// Parse escaped char following the apostrophe, or early return if there is no escaped char.\n\t\t// Check if is valid escaped character\n\t\tswitch (this.peek()) {\n\t\t\tcase 39:\n\t\t\t\t// double quote, should return as a single quote.\n\t\t\t\tthis.bump();\n\t\t\t\tthis.bump();\n\t\t\t\treturn \"'\";\n\t\t\tcase 123:\n\t\t\tcase 60:\n\t\t\tcase 62:\n\t\t\tcase 125: break;\n\t\t\tcase 35:\n\t\t\t\tif (parentArgType === \"plural\" || parentArgType === \"selectordinal\") {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\tdefault: return null;\n\t\t}\n\t\tthis.bump();\n\t\tconst codePoints = [this.char()];\n\t\tthis.bump();\n\t\t// read chars until the optional closing apostrophe is found\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tif (ch === 39) {\n\t\t\t\tif (this.peek() === 39) {\n\t\t\t\t\tcodePoints.push(39);\n\t\t\t\t\t// Bump one more time because we need to skip 2 characters.\n\t\t\t\t\tthis.bump();\n\t\t\t\t} else {\n\t\t\t\t\t// Optional closing apostrophe.\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcodePoints.push(ch);\n\t\t\t}\n\t\t\tthis.bump();\n\t\t}\n\t\treturn String.fromCodePoint(...codePoints);\n\t}\n\ttryParseUnquoted(nestingLevel, parentArgType) {\n\t\tif (this.isEOF()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst ch = this.char();\n\t\tif (ch === 60 || ch === 123 || ch === 35 && (parentArgType === \"plural\" || parentArgType === \"selectordinal\") || ch === 125 && nestingLevel > 0) {\n\t\t\treturn null;\n\t\t} else {\n\t\t\tthis.bump();\n\t\t\treturn String.fromCodePoint(ch);\n\t\t}\n\t}\n\tparseArgument(nestingLevel, expectingCloseTag) {\n\t\tconst openingBracePosition = this.clonePosition();\n\t\tthis.bump();\n\t\tthis.bumpSpace();\n\t\tif (this.isEOF()) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tif (this.char() === 125) {\n\t\t\tthis.bump();\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\t// argument name\n\t\tlet value = this.parseIdentifierIfPossible().value;\n\t\tif (!value) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tthis.bumpSpace();\n\t\tif (this.isEOF()) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tswitch (this.char()) {\n\t\t\tcase 125: {\n\t\t\t\tthis.bump();\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.argument,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tlocation: createLocation(openingBracePosition, this.clonePosition())\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase 44: {\n\t\t\t\tthis.bump();\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (this.isEOF()) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t\t\t}\n\t\t\t\treturn this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n\t\t\t}\n\t\t\tdefault: return this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t}\n\t/**\n\t* Advance the parser until the end of the identifier, if it is currently on\n\t* an identifier character. Return an empty string otherwise.\n\t*/\n\tparseIdentifierIfPossible() {\n\t\tconst startingPosition = this.clonePosition();\n\t\tconst startOffset = this.offset();\n\t\tconst value = matchIdentifierAtIndex(this.message, startOffset);\n\t\tconst endOffset = startOffset + value.length;\n\t\tthis.bumpTo(endOffset);\n\t\tconst endPosition = this.clonePosition();\n\t\tconst location = createLocation(startingPosition, endPosition);\n\t\treturn {\n\t\t\tvalue,\n\t\t\tlocation\n\t\t};\n\t}\n\tparseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition) {\n\t\t// Parse this range:\n\t\t// {name, type, style}\n\t\t// ^---^\n\t\tlet typeStartPosition = this.clonePosition();\n\t\tlet argType = this.parseIdentifierIfPossible().value;\n\t\tlet typeEndPosition = this.clonePosition();\n\t\tswitch (argType) {\n\t\t\tcase \"\":\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\t\t\tcase \"number\":\n\t\t\tcase \"date\":\n\t\t\tcase \"time\": {\n\t\t\t\t// Parse this range:\n\t\t\t\t// {name, number, style}\n\t\t\t\t// ^-------^\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tlet styleAndLocation = null;\n\t\t\t\tif (this.bumpIf(\",\")) {\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tconst styleStartPosition = this.clonePosition();\n\t\t\t\t\tconst result = this.parseSimpleArgStyleIfPossible();\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\tconst style = trimEnd(result.val);\n\t\t\t\t\tif (style.length === 0) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tconst styleLocation = createLocation(styleStartPosition, this.clonePosition());\n\t\t\t\t\tstyleAndLocation = {\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tstyleLocation\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\t\tif (argCloseResult.err) {\n\t\t\t\t\treturn argCloseResult;\n\t\t\t\t}\n\t\t\t\tconst location = createLocation(openingBracePosition, this.clonePosition());\n\t\t\t\t// Extract style or skeleton\n\t\t\t\tif (styleAndLocation && styleAndLocation.style.startsWith(\"::\")) {\n\t\t\t\t\t// Skeleton starts with `::`.\n\t\t\t\t\tlet skeleton = trimStart(styleAndLocation.style.slice(2));\n\t\t\t\t\tif (argType === \"number\") {\n\t\t\t\t\t\tconst result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n\t\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.number,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tstyle: result.val\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (skeleton.length === 0) {\n\t\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_DATE_TIME_SKELETON, location);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlet dateTimePattern = skeleton;\n\t\t\t\t\t\t// Get \"best match\" pattern only if locale is passed, if not, let it\n\t\t\t\t\t\t// pass as-is where `parseDateTimeSkeleton()` will throw an error\n\t\t\t\t\t\t// for unsupported patterns.\n\t\t\t\t\t\tif (this.locale) {\n\t\t\t\t\t\t\tdateTimePattern = (0,_date_time_pattern_generator_js__WEBPACK_IMPORTED_MODULE_4__.getBestPattern)(skeleton, this.locale);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst style = {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.SKELETON_TYPE.dateTime,\n\t\t\t\t\t\t\tpattern: dateTimePattern,\n\t\t\t\t\t\t\tlocation: styleAndLocation.styleLocation,\n\t\t\t\t\t\t\tparsedOptions: this.shouldParseSkeletons ? (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseDateTimeSkeleton)(dateTimePattern) : {}\n\t\t\t\t\t\t};\n\t\t\t\t\t\tconst type = argType === \"date\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.date : _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.time;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\tlocation,\n\t\t\t\t\t\t\t\tstyle\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Regular style or no style.\n\t\t\t\treturn {\n\t\t\t\t\tval: {\n\t\t\t\t\t\ttype: argType === \"number\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.number : argType === \"date\" ? _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.date : _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.time,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tlocation,\n\t\t\t\t\t\tstyle: styleAndLocation?.style ?? null\n\t\t\t\t\t},\n\t\t\t\t\terr: null\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"plural\":\n\t\t\tcase \"selectordinal\":\n\t\t\tcase \"select\": {\n\t\t\t\t// Parse this range:\n\t\t\t\t// {name, plural, options}\n\t\t\t\t// ^---------^\n\t\t\t\tconst typeEndPosition = this.clonePosition();\n\t\t\t\tthis.bumpSpace();\n\t\t\t\tif (!this.bumpIf(\",\")) {\n\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition, { ...typeEndPosition }));\n\t\t\t\t}\n\t\t\t\tthis.bumpSpace();\n\t\t\t\t// Parse offset:\n\t\t\t\t// {name, plural, offset:1, options}\n\t\t\t\t// ^-----^\n\t\t\t\t//\n\t\t\t\t// or the first option:\n\t\t\t\t//\n\t\t\t\t// {name, plural, one {...} other {...}}\n\t\t\t\t// ^--^\n\t\t\t\tlet identifierAndLocation = this.parseIdentifierIfPossible();\n\t\t\t\tlet pluralOffset = 0;\n\t\t\t\tif (argType !== \"select\" && identifierAndLocation.value === \"offset\") {\n\t\t\t\t\tif (!this.bumpIf(\":\")) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tconst result = this.tryParseDecimalInteger(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\t// Parse another identifier for option parsing\n\t\t\t\t\tthis.bumpSpace();\n\t\t\t\t\tidentifierAndLocation = this.parseIdentifierIfPossible();\n\t\t\t\t\tpluralOffset = result.val;\n\t\t\t\t}\n\t\t\t\tconst optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n\t\t\t\tif (optionsResult.err) {\n\t\t\t\t\treturn optionsResult;\n\t\t\t\t}\n\t\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\t\tif (argCloseResult.err) {\n\t\t\t\t\treturn argCloseResult;\n\t\t\t\t}\n\t\t\t\tconst location = createLocation(openingBracePosition, this.clonePosition());\n\t\t\t\tif (argType === \"select\") {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.select,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\toptions: fromEntries(optionsResult.val),\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t},\n\t\t\t\t\t\terr: null\n\t\t\t\t\t};\n\t\t\t\t} else {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tval: {\n\t\t\t\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.TYPE.plural,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\toptions: fromEntries(optionsResult.val),\n\t\t\t\t\t\t\toffset: pluralOffset,\n\t\t\t\t\t\t\tpluralType: argType === \"plural\" ? \"cardinal\" : \"ordinal\",\n\t\t\t\t\t\t\tlocation\n\t\t\t\t\t\t},\n\t\t\t\t\t\terr: null\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tdefault: return this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n\t\t}\n\t}\n\ttryParseArgumentClose(openingBracePosition) {\n\t\t// Parse: {value, number, ::currency/GBP }\n\t\t//\n\t\tif (this.isEOF() || this.char() !== 125) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n\t\t}\n\t\tthis.bump();\n\t\treturn {\n\t\t\tval: true,\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n\t*/\n\tparseSimpleArgStyleIfPossible() {\n\t\tlet nestedBraces = 0;\n\t\tconst startPosition = this.clonePosition();\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tswitch (ch) {\n\t\t\t\tcase 39: {\n\t\t\t\t\t// Treat apostrophe as quoting but include it in the style part.\n\t\t\t\t\t// Find the end of the quoted literal text.\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tlet apostrophePosition = this.clonePosition();\n\t\t\t\t\tif (!this.bumpUntil(\"'\")) {\n\t\t\t\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n\t\t\t\t\t}\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 123: {\n\t\t\t\t\tnestedBraces += 1;\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 125: {\n\t\t\t\t\tif (nestedBraces > 0) {\n\t\t\t\t\t\tnestedBraces -= 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tval: this.message.slice(startPosition.offset, this.offset()),\n\t\t\t\t\t\t\terr: null\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tthis.bump();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\tval: this.message.slice(startPosition.offset, this.offset()),\n\t\t\terr: null\n\t\t};\n\t}\n\tparseNumberSkeletonFromString(skeleton, location) {\n\t\tlet tokens = [];\n\t\ttry {\n\t\t\ttokens = (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseNumberSkeletonFromString)(skeleton);\n\t\t} catch {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_NUMBER_SKELETON, location);\n\t\t}\n\t\treturn {\n\t\t\tval: {\n\t\t\t\ttype: _types_js__WEBPACK_IMPORTED_MODULE_1__.SKELETON_TYPE.number,\n\t\t\t\ttokens,\n\t\t\t\tlocation,\n\t\t\t\tparsedOptions: this.shouldParseSkeletons ? (0,_formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_3__.parseNumberSkeleton)(tokens) : {}\n\t\t\t},\n\t\t\terr: null\n\t\t};\n\t}\n\t/**\n\t* @param nesting_level The current nesting level of messages.\n\t* This can be positive when parsing message fragment in select or plural argument options.\n\t* @param parent_arg_type The parent argument's type.\n\t* @param parsed_first_identifier If provided, this is the first identifier-like selector of\n\t* the argument. It is a by-product of a previous parsing attempt.\n\t* @param expecting_close_tag If true, this message is directly or indirectly nested inside\n\t* between a pair of opening and closing tags. The nested message will not parse beyond\n\t* the closing tag boundary.\n\t*/\n\ttryParsePluralOrSelectOptions(nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n\t\tlet hasOtherClause = false;\n\t\tconst options = [];\n\t\tconst parsedSelectors = new Set();\n\t\tlet { value: selector, location: selectorLocation } = parsedFirstIdentifier;\n\t\t// Parse:\n\t\t// one {one apple}\n\t\t// ^--^\n\t\twhile (true) {\n\t\t\tif (selector.length === 0) {\n\t\t\t\tconst startPosition = this.clonePosition();\n\t\t\t\tif (parentArgType !== \"select\" && this.bumpIf(\"=\")) {\n\t\t\t\t\t// Try parse `={number}` selector\n\t\t\t\t\tconst result = this.tryParseDecimalInteger(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n\t\t\t\t\tif (result.err) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t\tselectorLocation = createLocation(startPosition, this.clonePosition());\n\t\t\t\t\tselector = this.message.slice(startPosition.offset, this.offset());\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// Duplicate selector clauses\n\t\t\tif (parsedSelectors.has(selector)) {\n\t\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n\t\t\t}\n\t\t\tif (selector === \"other\") {\n\t\t\t\thasOtherClause = true;\n\t\t\t}\n\t\t\t// Parse:\n\t\t\t// one {one apple}\n\t\t\t// ^----------^\n\t\t\tthis.bumpSpace();\n\t\t\tconst openingBracePosition = this.clonePosition();\n\t\t\tif (!this.bumpIf(\"{\")) {\n\t\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t\t}\n\t\t\tconst fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n\t\t\tif (fragmentResult.err) {\n\t\t\t\treturn fragmentResult;\n\t\t\t}\n\t\t\tconst argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n\t\t\tif (argCloseResult.err) {\n\t\t\t\treturn argCloseResult;\n\t\t\t}\n\t\t\toptions.push([selector, {\n\t\t\t\tvalue: fragmentResult.val,\n\t\t\t\tlocation: createLocation(openingBracePosition, this.clonePosition())\n\t\t\t}]);\n\t\t\t// Keep track of the existing selectors\n\t\t\tparsedSelectors.add(selector);\n\t\t\t// Prep next selector clause.\n\t\t\tthis.bumpSpace();\n\t\t\t({value: selector, location: selectorLocation} = this.parseIdentifierIfPossible());\n\t\t}\n\t\tif (options.length === 0) {\n\t\t\treturn this.error(parentArgType === \"select\" ? _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR : _error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t}\n\t\tif (this.requiresOtherClause && !hasOtherClause) {\n\t\t\treturn this.error(_error_js__WEBPACK_IMPORTED_MODULE_0__.ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n\t\t}\n\t\treturn {\n\t\t\tval: options,\n\t\t\terr: null\n\t\t};\n\t}\n\ttryParseDecimalInteger(expectNumberError, invalidNumberError) {\n\t\tlet sign = 1;\n\t\tconst startingPosition = this.clonePosition();\n\t\tif (this.bumpIf(\"+\")) {} else if (this.bumpIf(\"-\")) {\n\t\t\tsign = -1;\n\t\t}\n\t\tlet hasDigits = false;\n\t\tlet decimal = 0;\n\t\twhile (!this.isEOF()) {\n\t\t\tconst ch = this.char();\n\t\t\tif (ch >= 48 && ch <= 57) {\n\t\t\t\thasDigits = true;\n\t\t\t\tdecimal = decimal * 10 + (ch - 48);\n\t\t\t\tthis.bump();\n\t\t\t} else {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tconst location = createLocation(startingPosition, this.clonePosition());\n\t\tif (!hasDigits) {\n\t\t\treturn this.error(expectNumberError, location);\n\t\t}\n\t\tdecimal *= sign;\n\t\tif (!Number.isSafeInteger(decimal)) {\n\t\t\treturn this.error(invalidNumberError, location);\n\t\t}\n\t\treturn {\n\t\t\tval: decimal,\n\t\t\terr: null\n\t\t};\n\t}\n\toffset() {\n\t\treturn this.position.offset;\n\t}\n\tisEOF() {\n\t\treturn this.offset() === this.message.length;\n\t}\n\tclonePosition() {\n\t\t// This is much faster than `Object.assign` or spread.\n\t\treturn {\n\t\t\toffset: this.position.offset,\n\t\t\tline: this.position.line,\n\t\t\tcolumn: this.position.column\n\t\t};\n\t}\n\t/**\n\t* Return the code point at the current position of the parser.\n\t* Throws if the index is out of bound.\n\t*/\n\tchar() {\n\t\tconst offset = this.position.offset;\n\t\tif (offset >= this.message.length) {\n\t\t\tthrow Error(\"out of bound\");\n\t\t}\n\t\tconst code = this.message.codePointAt(offset);\n\t\tif (code === undefined) {\n\t\t\tthrow Error(`Offset ${offset} is at invalid UTF-16 code unit boundary`);\n\t\t}\n\t\treturn code;\n\t}\n\terror(kind, location) {\n\t\treturn {\n\t\t\tval: null,\n\t\t\terr: {\n\t\t\t\tkind,\n\t\t\t\tmessage: this.message,\n\t\t\t\tlocation\n\t\t\t}\n\t\t};\n\t}\n\t/** Bump the parser to the next UTF-16 code unit. */\n\tbump() {\n\t\tif (this.isEOF()) {\n\t\t\treturn;\n\t\t}\n\t\tconst code = this.char();\n\t\tif (code === 10) {\n\t\t\tthis.position.line += 1;\n\t\t\tthis.position.column = 1;\n\t\t\tthis.position.offset += 1;\n\t\t} else {\n\t\t\tthis.position.column += 1;\n\t\t\t// 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n\t\t\tthis.position.offset += code < 65536 ? 1 : 2;\n\t\t}\n\t}\n\t/**\n\t* If the substring starting at the current position of the parser has\n\t* the given prefix, then bump the parser to the character immediately\n\t* following the prefix and return true. Otherwise, don't bump the parser\n\t* and return false.\n\t*/\n\tbumpIf(prefix) {\n\t\tif (this.message.startsWith(prefix, this.offset())) {\n\t\t\tfor (let i = 0; i < prefix.length; i++) {\n\t\t\t\tthis.bump();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\t/**\n\t* Bump the parser until the pattern character is found and return `true`.\n\t* Otherwise bump to the end of the file and return `false`.\n\t*/\n\tbumpUntil(pattern) {\n\t\tconst currentOffset = this.offset();\n\t\tconst index = this.message.indexOf(pattern, currentOffset);\n\t\tif (index >= 0) {\n\t\t\tthis.bumpTo(index);\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.bumpTo(this.message.length);\n\t\t\treturn false;\n\t\t}\n\t}\n\t/**\n\t* Bump the parser to the target offset.\n\t* If target offset is beyond the end of the input, bump the parser to the end of the input.\n\t*/\n\tbumpTo(targetOffset) {\n\t\tif (this.offset() > targetOffset) {\n\t\t\tthrow Error(`targetOffset ${targetOffset} must be greater than or equal to the current offset ${this.offset()}`);\n\t\t}\n\t\ttargetOffset = Math.min(targetOffset, this.message.length);\n\t\twhile (true) {\n\t\t\tconst offset = this.offset();\n\t\t\tif (offset === targetOffset) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (offset > targetOffset) {\n\t\t\t\tthrow Error(`targetOffset ${targetOffset} is at invalid UTF-16 code unit boundary`);\n\t\t\t}\n\t\t\tthis.bump();\n\t\t\tif (this.isEOF()) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\t/** advance the parser through all whitespace to the next non-whitespace code unit. */\n\tbumpSpace() {\n\t\twhile (!this.isEOF() && _isWhiteSpace(this.char())) {\n\t\t\tthis.bump();\n\t\t}\n\t}\n\t/**\n\t* Peek at the *next* Unicode codepoint in the input without advancing the parser.\n\t* If the input has been exhausted, then this returns null.\n\t*/\n\tpeek() {\n\t\tif (this.isEOF()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst code = this.char();\n\t\tconst offset = this.offset();\n\t\tconst nextCode = this.message.charCodeAt(offset + (code >= 65536 ? 2 : 1));\n\t\treturn nextCode ?? null;\n\t}\n}\n/**\n* This check if codepoint is alphabet (lower & uppercase)\n* @param codepoint\n* @returns\n*/\nfunction _isAlpha(codepoint) {\n\treturn codepoint >= 97 && codepoint <= 122 || codepoint >= 65 && codepoint <= 90;\n}\nfunction _isAlphaOrSlash(codepoint) {\n\treturn _isAlpha(codepoint) || codepoint === 47;\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n\treturn c === 45 || c === 46 || c >= 48 && c <= 57 || c === 95 || c >= 97 && c <= 122 || c >= 65 && c <= 90 || c == 183 || c >= 192 && c <= 214 || c >= 216 && c <= 246 || c >= 248 && c <= 893 || c >= 895 && c <= 8191 || c >= 8204 && c <= 8205 || c >= 8255 && c <= 8256 || c >= 8304 && c <= 8591 || c >= 11264 && c <= 12271 || c >= 12289 && c <= 55295 || c >= 63744 && c <= 64975 || c >= 65008 && c <= 65533 || c >= 65536 && c <= 983039;\n}\n/**\n* Code point equivalent of regex `\\p{White_Space}`.\n* From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n*/\nfunction _isWhiteSpace(c) {\n\treturn c >= 9 && c <= 13 || c === 32 || c === 133 || c >= 8206 && c <= 8207 || c === 8232 || c === 8233;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9wYXJzZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQXVDO0FBQ1U7QUFDWTtBQUM2RDtBQUN4RDtBQUNsRSxtREFBbUQsc0VBQXFCLFFBQVE7QUFDaEYsZ0RBQWdELHNFQUFxQixRQUFRO0FBQzdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdELFlBQVksSUFBSSxlQUFlO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsV0FBVywyQ0FBSTtBQUNmO0FBQ0EsS0FBSztBQUNMLEtBQUs7QUFDTDtBQUNBO0FBQ0EsTUFBTTtBQUNOLHVCQUF1QixnREFBUztBQUNoQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsMkNBQUk7QUFDZixnQkFBZ0IsUUFBUTtBQUN4QjtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixnREFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixnREFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsZ0RBQVM7QUFDaEM7QUFDQTtBQUNBO0FBQ0EsWUFBWSwyQ0FBSTtBQUNoQjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEtBQUs7QUFDTCxzQkFBc0IsZ0RBQVM7QUFDL0I7QUFDQSxJQUFJO0FBQ0oscUJBQXFCLGdEQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSwyQ0FBSTtBQUNkO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLGdEQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixnREFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixnREFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSwyQ0FBSTtBQUNoQjtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLGdEQUFTO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QixnREFBUztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdEQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLDJDQUFJO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EseUJBQXlCLGdEQUFTO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwrRUFBYztBQUN2QztBQUNBO0FBQ0EsYUFBYSxvREFBYTtBQUMxQjtBQUNBO0FBQ0Esa0RBQWtELG9GQUFxQjtBQUN2RTtBQUNBLHdDQUF3QywyQ0FBSSxRQUFRLDJDQUFJO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQywyQ0FBSSwrQkFBK0IsMkNBQUksUUFBUSwyQ0FBSTtBQUN0RjtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsZ0RBQVMsbUVBQW1FLG9CQUFvQjtBQUN2SDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLG1CQUFtQixLQUFLLE9BQU87QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixnREFBUztBQUNqQztBQUNBO0FBQ0EsZ0RBQWdELGdEQUFTLHNDQUFzQyxnREFBUztBQUN4RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSwyQ0FBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0EsYUFBYSwyQ0FBSTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLGdEQUFTO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EscUJBQXFCLGdEQUFTO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLGdEQUFTO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSw0RkFBNkI7QUFDekMsSUFBSTtBQUNKLHFCQUFxQixnREFBUztBQUM5QjtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9EQUFhO0FBQ3ZCO0FBQ0E7QUFDQSwrQ0FBK0Msa0ZBQW1CO0FBQ2xFLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSw4Q0FBOEM7QUFDdEQ7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixPQUFPO0FBQzVCLGdEQUFnRCxnREFBUyxrQ0FBa0MsZ0RBQVM7QUFDcEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELGdEQUFTLHNDQUFzQyxnREFBUztBQUMzRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QixtREFBbUQsZ0RBQVMsNENBQTRDLGdEQUFTO0FBQ2pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssNkNBQTZDO0FBQ2xEO0FBQ0E7QUFDQSxrREFBa0QsZ0RBQVMsbUNBQW1DLGdEQUFTO0FBQ3ZHO0FBQ0E7QUFDQSxxQkFBcUIsZ0RBQVM7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUIsUUFBUTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLG1CQUFtQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQixjQUFjLHNEQUFzRCxjQUFjO0FBQ2pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsY0FBYztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxZQUFZO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9wYXJzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JLaW5kIH0gZnJvbSBcIi4vZXJyb3IuanNcIjtcbmltcG9ydCB7IFNLRUxFVE9OX1RZUEUsIFRZUEUgfSBmcm9tIFwiLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgU1BBQ0VfU0VQQVJBVE9SX1JFR0VYIH0gZnJvbSBcIi4vcmVnZXguZ2VuZXJhdGVkLmpzXCI7XG5pbXBvcnQgeyBwYXJzZU51bWJlclNrZWxldG9uLCBwYXJzZU51bWJlclNrZWxldG9uRnJvbVN0cmluZywgcGFyc2VEYXRlVGltZVNrZWxldG9uIH0gZnJvbSBcIkBmb3JtYXRqcy9pY3Utc2tlbGV0b24tcGFyc2VyXCI7XG5pbXBvcnQgeyBnZXRCZXN0UGF0dGVybiB9IGZyb20gXCIuL2RhdGUtdGltZS1wYXR0ZXJuLWdlbmVyYXRvci5qc1wiO1xuY29uc3QgU1BBQ0VfU0VQQVJBVE9SX1NUQVJUX1JFR0VYID0gbmV3IFJlZ0V4cChgXiR7U1BBQ0VfU0VQQVJBVE9SX1JFR0VYLnNvdXJjZX0qYCk7XG5jb25zdCBTUEFDRV9TRVBBUkFUT1JfRU5EX1JFR0VYID0gbmV3IFJlZ0V4cChgJHtTUEFDRV9TRVBBUkFUT1JfUkVHRVguc291cmNlfSokYCk7XG5mdW5jdGlvbiBjcmVhdGVMb2NhdGlvbihzdGFydCwgZW5kKSB7XG5cdHJldHVybiB7XG5cdFx0c3RhcnQsXG5cdFx0ZW5kXG5cdH07XG59XG4vLyAjcmVnaW9uIFBvbnlmaWxsc1xuLy8gQ29uc29saWRhdGUgdGhlc2UgdmFyaWFibGVzIHVwIHRvcCBmb3IgZWFzaWVyIHRvZ2dsaW5nIGR1cmluZyBkZWJ1Z2dpbmdcbmNvbnN0IGhhc05hdGl2ZUZyb21FbnRyaWVzID0gISFPYmplY3QuZnJvbUVudHJpZXM7XG5jb25zdCBoYXNUcmltU3RhcnQgPSAhIVN0cmluZy5wcm90b3R5cGUudHJpbVN0YXJ0O1xuY29uc3QgaGFzVHJpbUVuZCA9ICEhU3RyaW5nLnByb3RvdHlwZS50cmltRW5kO1xuY29uc3QgZnJvbUVudHJpZXMgPSBoYXNOYXRpdmVGcm9tRW50cmllcyA/IE9iamVjdC5mcm9tRW50cmllcyA6IGZ1bmN0aW9uIGZyb21FbnRyaWVzKGVudHJpZXMpIHtcblx0Y29uc3Qgb2JqID0ge307XG5cdGZvciAoY29uc3QgW2ssIHZdIG9mIGVudHJpZXMpIHtcblx0XHRvYmpba10gPSB2O1xuXHR9XG5cdHJldHVybiBvYmo7XG59O1xuY29uc3QgdHJpbVN0YXJ0ID0gaGFzVHJpbVN0YXJ0ID8gZnVuY3Rpb24gdHJpbVN0YXJ0KHMpIHtcblx0cmV0dXJuIHMudHJpbVN0YXJ0KCk7XG59IDogZnVuY3Rpb24gdHJpbVN0YXJ0KHMpIHtcblx0cmV0dXJuIHMucmVwbGFjZShTUEFDRV9TRVBBUkFUT1JfU1RBUlRfUkVHRVgsIFwiXCIpO1xufTtcbmNvbnN0IHRyaW1FbmQgPSBoYXNUcmltRW5kID8gZnVuY3Rpb24gdHJpbUVuZChzKSB7XG5cdHJldHVybiBzLnRyaW1FbmQoKTtcbn0gOiBmdW5jdGlvbiB0cmltRW5kKHMpIHtcblx0cmV0dXJuIHMucmVwbGFjZShTUEFDRV9TRVBBUkFUT1JfRU5EX1JFR0VYLCBcIlwiKTtcbn07XG4vLyAjZW5kcmVnaW9uXG5jb25zdCBJREVOVElGSUVSX1BSRUZJWF9SRSA9IG5ldyBSZWdFeHAoXCIoW15cXFxccHtXaGl0ZV9TcGFjZX1cXFxccHtQYXR0ZXJuX1N5bnRheH1dKilcIiwgXCJ5dVwiKTtcbmZ1bmN0aW9uIG1hdGNoSWRlbnRpZmllckF0SW5kZXgocywgaW5kZXgpIHtcblx0SURFTlRJRklFUl9QUkVGSVhfUkUubGFzdEluZGV4ID0gaW5kZXg7XG5cdGNvbnN0IG1hdGNoID0gSURFTlRJRklFUl9QUkVGSVhfUkUuZXhlYyhzKTtcblx0cmV0dXJuIG1hdGNoWzFdID8/IFwiXCI7XG59XG5leHBvcnQgY2xhc3MgUGFyc2VyIHtcblx0bWVzc2FnZTtcblx0cG9zaXRpb247XG5cdGxvY2FsZTtcblx0aWdub3JlVGFnO1xuXHRyZXF1aXJlc090aGVyQ2xhdXNlO1xuXHRzaG91bGRQYXJzZVNrZWxldG9ucztcblx0Y29uc3RydWN0b3IobWVzc2FnZSwgb3B0aW9ucyA9IHt9KSB7XG5cdFx0dGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcblx0XHR0aGlzLnBvc2l0aW9uID0ge1xuXHRcdFx0b2Zmc2V0OiAwLFxuXHRcdFx0bGluZTogMSxcblx0XHRcdGNvbHVtbjogMVxuXHRcdH07XG5cdFx0dGhpcy5pZ25vcmVUYWcgPSAhIW9wdGlvbnMuaWdub3JlVGFnO1xuXHRcdHRoaXMubG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XG5cdFx0dGhpcy5yZXF1aXJlc090aGVyQ2xhdXNlID0gISFvcHRpb25zLnJlcXVpcmVzT3RoZXJDbGF1c2U7XG5cdFx0dGhpcy5zaG91bGRQYXJzZVNrZWxldG9ucyA9ICEhb3B0aW9ucy5zaG91bGRQYXJzZVNrZWxldG9ucztcblx0fVxuXHRwYXJzZSgpIHtcblx0XHRpZiAodGhpcy5vZmZzZXQoKSAhPT0gMCkge1xuXHRcdFx0dGhyb3cgRXJyb3IoXCJwYXJzZXIgY2FuIG9ubHkgYmUgdXNlZCBvbmNlXCIpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5wYXJzZU1lc3NhZ2UoMCwgXCJcIiwgZmFsc2UpO1xuXHR9XG5cdHBhcnNlTWVzc2FnZShuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUsIGV4cGVjdGluZ0Nsb3NlVGFnKSB7XG5cdFx0bGV0IGVsZW1lbnRzID0gW107XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkpIHtcblx0XHRcdGNvbnN0IGNoYXIgPSB0aGlzLmNoYXIoKTtcblx0XHRcdGlmIChjaGFyID09PSAxMjMpIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZUFyZ3VtZW50KG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcpO1xuXHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxlbWVudHMucHVzaChyZXN1bHQudmFsKTtcblx0XHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gMTI1ICYmIG5lc3RpbmdMZXZlbCA+IDApIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9IGVsc2UgaWYgKGNoYXIgPT09IDM1ICYmIChwYXJlbnRBcmdUeXBlID09PSBcInBsdXJhbFwiIHx8IHBhcmVudEFyZ1R5cGUgPT09IFwic2VsZWN0b3JkaW5hbFwiKSkge1xuXHRcdFx0XHRjb25zdCBwb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0ZWxlbWVudHMucHVzaCh7XG5cdFx0XHRcdFx0dHlwZTogVFlQRS5wb3VuZCxcblx0XHRcdFx0XHRsb2NhdGlvbjogY3JlYXRlTG9jYXRpb24ocG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKVxuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSBpZiAoY2hhciA9PT0gNjAgJiYgIXRoaXMuaWdub3JlVGFnICYmIHRoaXMucGVlaygpID09PSA0Nykge1xuXHRcdFx0XHRpZiAoZXhwZWN0aW5nQ2xvc2VUYWcpIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuVU5NQVRDSEVEX0NMT1NJTkdfVEFHLCBjcmVhdGVMb2NhdGlvbih0aGlzLmNsb25lUG9zaXRpb24oKSwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChjaGFyID09PSA2MCAmJiAhdGhpcy5pZ25vcmVUYWcgJiYgX2lzQWxwaGEodGhpcy5wZWVrKCkgfHwgMCkpIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZVRhZyhuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpO1xuXHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWxlbWVudHMucHVzaChyZXN1bHQudmFsKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VMaXRlcmFsKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSk7XG5cdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0fVxuXHRcdFx0XHRlbGVtZW50cy5wdXNoKHJlc3VsdC52YWwpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiBlbGVtZW50cyxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0LyoqXG5cdCogQSB0YWcgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYW4gQVNDSUkgbG93ZXIvdXBwZXIgY2FzZSBsZXR0ZXIuIFRoZSBncmFtbWFyIGlzIGJhc2VkIG9uIHRoZVxuXHQqIFtjdXN0b20gZWxlbWVudCBuYW1lXVtdIGV4Y2VwdCB0aGF0IGEgZGFzaCBpcyBOT1QgYWx3YXlzIG1hbmRhdG9yeSBhbmQgdXBwZXJjYXNlIGxldHRlcnNcblx0KiBhcmUgYWNjZXB0ZWQ6XG5cdCpcblx0KiBgYGBcblx0KiB0YWcgOjo9IFwiPFwiIHRhZ05hbWUgKHdoaXRlc3BhY2UpKiBcIi8+XCIgfCBcIjxcIiB0YWdOYW1lICh3aGl0ZXNwYWNlKSogXCI+XCIgbWVzc2FnZSBcIjwvXCIgdGFnTmFtZSAod2hpdGVzcGFjZSkqIFwiPlwiXG5cdCogdGFnTmFtZSA6Oj0gW2Etel0gKFBFTkNoYXIpKlxuXHQqIFBFTkNoYXIgOjo9XG5cdCogICAgIFwiLVwiIHwgXCIuXCIgfCBbMC05XSB8IFwiX1wiIHwgW2Etel0gfCBbQS1aXSB8ICN4QjcgfCBbI3hDMC0jeEQ2XSB8IFsjeEQ4LSN4RjZdIHwgWyN4RjgtI3gzN0RdIHxcblx0KiAgICAgWyN4MzdGLSN4MUZGRl0gfCBbI3gyMDBDLSN4MjAwRF0gfCBbI3gyMDNGLSN4MjA0MF0gfCBbI3gyMDcwLSN4MjE4Rl0gfCBbI3gyQzAwLSN4MkZFRl0gfFxuXHQqICAgICBbI3gzMDAxLSN4RDdGRl0gfCBbI3hGOTAwLSN4RkRDRl0gfCBbI3hGREYwLSN4RkZGRF0gfCBbI3gxMDAwMC0jeEVGRkZGXVxuXHQqIGBgYFxuXHQqXG5cdCogW2N1c3RvbSBlbGVtZW50IG5hbWVdOiBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9jdXN0b20tZWxlbWVudHMuaHRtbCN2YWxpZC1jdXN0b20tZWxlbWVudC1uYW1lXG5cdCogTk9URTogV2UncmUgYSBiaXQgbW9yZSBsYXggaGVyZSBzaW5jZSBIVE1MIHRlY2huaWNhbGx5IGRvZXMgbm90IGFsbG93IHVwcGVyY2FzZSBIVE1MIGVsZW1lbnQgYnV0IHdlIGRvXG5cdCogc2luY2Ugb3RoZXIgdGFnLWJhc2VkIGVuZ2luZXMgbGlrZSBSZWFjdCBhbGxvdyBpdFxuXHQqL1xuXHRwYXJzZVRhZyhuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpIHtcblx0XHRjb25zdCBzdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0Y29uc3QgdGFnTmFtZSA9IHRoaXMucGFyc2VUYWdOYW1lKCk7XG5cdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRpZiAodGhpcy5idW1wSWYoXCIvPlwiKSkge1xuXHRcdFx0Ly8gU2VsZiBjbG9zaW5nIHRhZ1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0dHlwZTogVFlQRS5saXRlcmFsLFxuXHRcdFx0XHRcdHZhbHVlOiBgPCR7dGFnTmFtZX0vPmAsXG5cdFx0XHRcdFx0bG9jYXRpb246IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKVxuXHRcdFx0XHR9LFxuXHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdH07XG5cdFx0fSBlbHNlIGlmICh0aGlzLmJ1bXBJZihcIj5cIikpIHtcblx0XHRcdGNvbnN0IGNoaWxkcmVuUmVzdWx0ID0gdGhpcy5wYXJzZU1lc3NhZ2UobmVzdGluZ0xldmVsICsgMSwgcGFyZW50QXJnVHlwZSwgdHJ1ZSk7XG5cdFx0XHRpZiAoY2hpbGRyZW5SZXN1bHQuZXJyKSB7XG5cdFx0XHRcdHJldHVybiBjaGlsZHJlblJlc3VsdDtcblx0XHRcdH1cblx0XHRcdGNvbnN0IGNoaWxkcmVuID0gY2hpbGRyZW5SZXN1bHQudmFsO1xuXHRcdFx0Ly8gRXhwZWN0aW5nIGEgY2xvc2UgdGFnXG5cdFx0XHRjb25zdCBlbmRUYWdTdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRpZiAodGhpcy5idW1wSWYoXCI8L1wiKSkge1xuXHRcdFx0XHRpZiAodGhpcy5pc0VPRigpIHx8ICFfaXNBbHBoYSh0aGlzLmNoYXIoKSkpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuSU5WQUxJRF9UQUcsIGNyZWF0ZUxvY2F0aW9uKGVuZFRhZ1N0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgY2xvc2luZ1RhZ05hbWVTdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRcdGNvbnN0IGNsb3NpbmdUYWdOYW1lID0gdGhpcy5wYXJzZVRhZ05hbWUoKTtcblx0XHRcdFx0aWYgKHRhZ05hbWUgIT09IGNsb3NpbmdUYWdOYW1lKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLlVOTUFUQ0hFRF9DTE9TSU5HX1RBRywgY3JlYXRlTG9jYXRpb24oY2xvc2luZ1RhZ05hbWVTdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGlmICghdGhpcy5idW1wSWYoXCI+XCIpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLklOVkFMSURfVEFHLCBjcmVhdGVMb2NhdGlvbihlbmRUYWdTdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHR0eXBlOiBUWVBFLnRhZyxcblx0XHRcdFx0XHRcdHZhbHVlOiB0YWdOYW1lLFxuXHRcdFx0XHRcdFx0Y2hpbGRyZW4sXG5cdFx0XHRcdFx0XHRsb2NhdGlvbjogY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0fTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5VTkNMT1NFRF9UQUcsIGNyZWF0ZUxvY2F0aW9uKHN0YXJ0UG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX1RBRywgY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogVGhpcyBtZXRob2QgYXNzdW1lcyB0aGF0IHRoZSBjYWxsZXIgaGFzIHBlZWtlZCBhaGVhZCBmb3IgdGhlIGZpcnN0IHRhZyBjaGFyYWN0ZXIuXG5cdCovXG5cdHBhcnNlVGFnTmFtZSgpIHtcblx0XHRjb25zdCBzdGFydE9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkgJiYgX2lzUG90ZW50aWFsRWxlbWVudE5hbWVDaGFyKHRoaXMuY2hhcigpKSkge1xuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLm1lc3NhZ2Uuc2xpY2Uoc3RhcnRPZmZzZXQsIHRoaXMub2Zmc2V0KCkpO1xuXHR9XG5cdHBhcnNlTGl0ZXJhbChuZXN0aW5nTGV2ZWwsIHBhcmVudEFyZ1R5cGUpIHtcblx0XHRjb25zdCBzdGFydCA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdGxldCB2YWx1ZSA9IFwiXCI7XG5cdFx0d2hpbGUgKHRydWUpIHtcblx0XHRcdGNvbnN0IHBhcnNlUXVvdGVSZXN1bHQgPSB0aGlzLnRyeVBhcnNlUXVvdGUocGFyZW50QXJnVHlwZSk7XG5cdFx0XHRpZiAocGFyc2VRdW90ZVJlc3VsdCkge1xuXHRcdFx0XHR2YWx1ZSArPSBwYXJzZVF1b3RlUmVzdWx0O1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IHBhcnNlVW5xdW90ZWRSZXN1bHQgPSB0aGlzLnRyeVBhcnNlVW5xdW90ZWQobmVzdGluZ0xldmVsLCBwYXJlbnRBcmdUeXBlKTtcblx0XHRcdGlmIChwYXJzZVVucXVvdGVkUmVzdWx0KSB7XG5cdFx0XHRcdHZhbHVlICs9IHBhcnNlVW5xdW90ZWRSZXN1bHQ7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcGFyc2VMZWZ0QW5nbGVSZXN1bHQgPSB0aGlzLnRyeVBhcnNlTGVmdEFuZ2xlQnJhY2tldCgpO1xuXHRcdFx0aWYgKHBhcnNlTGVmdEFuZ2xlUmVzdWx0KSB7XG5cdFx0XHRcdHZhbHVlICs9IHBhcnNlTGVmdEFuZ2xlUmVzdWx0O1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0LCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDoge1xuXHRcdFx0XHR0eXBlOiBUWVBFLmxpdGVyYWwsXG5cdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRsb2NhdGlvblxuXHRcdFx0fSxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0dHJ5UGFyc2VMZWZ0QW5nbGVCcmFja2V0KCkge1xuXHRcdGlmICghdGhpcy5pc0VPRigpICYmIHRoaXMuY2hhcigpID09PSA2MCAmJiAodGhpcy5pZ25vcmVUYWcgfHwgIV9pc0FscGhhT3JTbGFzaCh0aGlzLnBlZWsoKSB8fCAwKSkpIHtcblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0cmV0dXJuIFwiPFwiO1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXHQvKipcblx0KiBTdGFydGluZyB3aXRoIElDVSA0LjgsIGFuIEFTQ0lJIGFwb3N0cm9waGUgb25seSBzdGFydHMgcXVvdGVkIHRleHQgaWYgaXQgaW1tZWRpYXRlbHkgcHJlY2VkZXNcblx0KiBhIGNoYXJhY3RlciB0aGF0IHJlcXVpcmVzIHF1b3RpbmcgKHRoYXQgaXMsIFwib25seSB3aGVyZSBuZWVkZWRcIiksIGFuZCB3b3JrcyB0aGUgc2FtZSBpblxuXHQqIG5lc3RlZCBtZXNzYWdlcyBhcyBvbiB0aGUgdG9wIGxldmVsIG9mIHRoZSBwYXR0ZXJuLiBUaGUgbmV3IGJlaGF2aW9yIGlzIG90aGVyd2lzZSBjb21wYXRpYmxlLlxuXHQqL1xuXHR0cnlQYXJzZVF1b3RlKHBhcmVudEFyZ1R5cGUpIHtcblx0XHRpZiAodGhpcy5pc0VPRigpIHx8IHRoaXMuY2hhcigpICE9PSAzOSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdC8vIFBhcnNlIGVzY2FwZWQgY2hhciBmb2xsb3dpbmcgdGhlIGFwb3N0cm9waGUsIG9yIGVhcmx5IHJldHVybiBpZiB0aGVyZSBpcyBubyBlc2NhcGVkIGNoYXIuXG5cdFx0Ly8gQ2hlY2sgaWYgaXMgdmFsaWQgZXNjYXBlZCBjaGFyYWN0ZXJcblx0XHRzd2l0Y2ggKHRoaXMucGVlaygpKSB7XG5cdFx0XHRjYXNlIDM5OlxuXHRcdFx0XHQvLyBkb3VibGUgcXVvdGUsIHNob3VsZCByZXR1cm4gYXMgYSBzaW5nbGUgcXVvdGUuXG5cdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0cmV0dXJuIFwiJ1wiO1xuXHRcdFx0Y2FzZSAxMjM6XG5cdFx0XHRjYXNlIDYwOlxuXHRcdFx0Y2FzZSA2Mjpcblx0XHRcdGNhc2UgMTI1OiBicmVhaztcblx0XHRcdGNhc2UgMzU6XG5cdFx0XHRcdGlmIChwYXJlbnRBcmdUeXBlID09PSBcInBsdXJhbFwiIHx8IHBhcmVudEFyZ1R5cGUgPT09IFwic2VsZWN0b3JkaW5hbFwiKSB7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0XHRkZWZhdWx0OiByZXR1cm4gbnVsbDtcblx0XHR9XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0Y29uc3QgY29kZVBvaW50cyA9IFt0aGlzLmNoYXIoKV07XG5cdFx0dGhpcy5idW1wKCk7XG5cdFx0Ly8gcmVhZCBjaGFycyB1bnRpbCB0aGUgb3B0aW9uYWwgY2xvc2luZyBhcG9zdHJvcGhlIGlzIGZvdW5kXG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkpIHtcblx0XHRcdGNvbnN0IGNoID0gdGhpcy5jaGFyKCk7XG5cdFx0XHRpZiAoY2ggPT09IDM5KSB7XG5cdFx0XHRcdGlmICh0aGlzLnBlZWsoKSA9PT0gMzkpIHtcblx0XHRcdFx0XHRjb2RlUG9pbnRzLnB1c2goMzkpO1xuXHRcdFx0XHRcdC8vIEJ1bXAgb25lIG1vcmUgdGltZSBiZWNhdXNlIHdlIG5lZWQgdG8gc2tpcCAyIGNoYXJhY3RlcnMuXG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0Ly8gT3B0aW9uYWwgY2xvc2luZyBhcG9zdHJvcGhlLlxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjb2RlUG9pbnRzLnB1c2goY2gpO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0fVxuXHRcdHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludCguLi5jb2RlUG9pbnRzKTtcblx0fVxuXHR0cnlQYXJzZVVucXVvdGVkKG5lc3RpbmdMZXZlbCwgcGFyZW50QXJnVHlwZSkge1xuXHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRjb25zdCBjaCA9IHRoaXMuY2hhcigpO1xuXHRcdGlmIChjaCA9PT0gNjAgfHwgY2ggPT09IDEyMyB8fCBjaCA9PT0gMzUgJiYgKHBhcmVudEFyZ1R5cGUgPT09IFwicGx1cmFsXCIgfHwgcGFyZW50QXJnVHlwZSA9PT0gXCJzZWxlY3RvcmRpbmFsXCIpIHx8IGNoID09PSAxMjUgJiYgbmVzdGluZ0xldmVsID4gMCkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0cmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KGNoKTtcblx0XHR9XG5cdH1cblx0cGFyc2VBcmd1bWVudChuZXN0aW5nTGV2ZWwsIGV4cGVjdGluZ0Nsb3NlVGFnKSB7XG5cdFx0Y29uc3Qgb3BlbmluZ0JyYWNlUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHR0aGlzLmJ1bXAoKTtcblx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRSwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmNoYXIoKSA9PT0gMTI1KSB7XG5cdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FTVBUWV9BUkdVTUVOVCwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdC8vIGFyZ3VtZW50IG5hbWVcblx0XHRsZXQgdmFsdWUgPSB0aGlzLnBhcnNlSWRlbnRpZmllcklmUG9zc2libGUoKS52YWx1ZTtcblx0XHRpZiAoIXZhbHVlKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuTUFMRk9STUVEX0FSR1VNRU5ULCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRpZiAodGhpcy5pc0VPRigpKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0UsIGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0XHRzd2l0Y2ggKHRoaXMuY2hhcigpKSB7XG5cdFx0XHRjYXNlIDEyNToge1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFRZUEUuYXJndW1lbnQsXG5cdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdGxvY2F0aW9uOiBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRlcnI6IG51bGxcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHRcdGNhc2UgNDQ6IHtcblx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGlmICh0aGlzLmlzRU9GKCkpIHtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuRVhQRUNUX0FSR1VNRU5UX0NMT1NJTkdfQlJBQ0UsIGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzLnBhcnNlQXJndW1lbnRPcHRpb25zKG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcsIHZhbHVlLCBvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHR9XG5cdFx0XHRkZWZhdWx0OiByZXR1cm4gdGhpcy5lcnJvcihFcnJvcktpbmQuTUFMRk9STUVEX0FSR1VNRU5ULCBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogQWR2YW5jZSB0aGUgcGFyc2VyIHVudGlsIHRoZSBlbmQgb2YgdGhlIGlkZW50aWZpZXIsIGlmIGl0IGlzIGN1cnJlbnRseSBvblxuXHQqIGFuIGlkZW50aWZpZXIgY2hhcmFjdGVyLiBSZXR1cm4gYW4gZW1wdHkgc3RyaW5nIG90aGVyd2lzZS5cblx0Ki9cblx0cGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpIHtcblx0XHRjb25zdCBzdGFydGluZ1Bvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0Y29uc3Qgc3RhcnRPZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xuXHRcdGNvbnN0IHZhbHVlID0gbWF0Y2hJZGVudGlmaWVyQXRJbmRleCh0aGlzLm1lc3NhZ2UsIHN0YXJ0T2Zmc2V0KTtcblx0XHRjb25zdCBlbmRPZmZzZXQgPSBzdGFydE9mZnNldCArIHZhbHVlLmxlbmd0aDtcblx0XHR0aGlzLmJ1bXBUbyhlbmRPZmZzZXQpO1xuXHRcdGNvbnN0IGVuZFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0Y29uc3QgbG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihzdGFydGluZ1Bvc2l0aW9uLCBlbmRQb3NpdGlvbik7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbHVlLFxuXHRcdFx0bG9jYXRpb25cblx0XHR9O1xuXHR9XG5cdHBhcnNlQXJndW1lbnRPcHRpb25zKG5lc3RpbmdMZXZlbCwgZXhwZWN0aW5nQ2xvc2VUYWcsIHZhbHVlLCBvcGVuaW5nQnJhY2VQb3NpdGlvbikge1xuXHRcdC8vIFBhcnNlIHRoaXMgcmFuZ2U6XG5cdFx0Ly8ge25hbWUsIHR5cGUsIHN0eWxlfVxuXHRcdC8vICAgICAgICBeLS0tXlxuXHRcdGxldCB0eXBlU3RhcnRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdGxldCBhcmdUeXBlID0gdGhpcy5wYXJzZUlkZW50aWZpZXJJZlBvc3NpYmxlKCkudmFsdWU7XG5cdFx0bGV0IHR5cGVFbmRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdHN3aXRjaCAoYXJnVHlwZSkge1xuXHRcdFx0Y2FzZSBcIlwiOlxuIC8vIEV4cGVjdGluZyBhIHN0eWxlIHN0cmluZyBudW1iZXIsIGRhdGUsIHRpbWUsIHBsdXJhbCwgc2VsZWN0b3JkaW5hbCwgb3Igc2VsZWN0LlxuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9BUkdVTUVOVF9UWVBFLCBjcmVhdGVMb2NhdGlvbih0eXBlU3RhcnRQb3NpdGlvbiwgdHlwZUVuZFBvc2l0aW9uKSk7XG5cdFx0XHRjYXNlIFwibnVtYmVyXCI6XG5cdFx0XHRjYXNlIFwiZGF0ZVwiOlxuXHRcdFx0Y2FzZSBcInRpbWVcIjoge1xuXHRcdFx0XHQvLyBQYXJzZSB0aGlzIHJhbmdlOlxuXHRcdFx0XHQvLyB7bmFtZSwgbnVtYmVyLCBzdHlsZX1cblx0XHRcdFx0Ly8gICAgICAgICAgICAgIF4tLS0tLS0tXlxuXHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHRsZXQgc3R5bGVBbmRMb2NhdGlvbiA9IG51bGw7XG5cdFx0XHRcdGlmICh0aGlzLmJ1bXBJZihcIixcIikpIHtcblx0XHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHRcdGNvbnN0IHN0eWxlU3RhcnRQb3NpdGlvbiA9IHRoaXMuY2xvbmVQb3NpdGlvbigpO1xuXHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VTaW1wbGVBcmdTdHlsZUlmUG9zc2libGUoKTtcblx0XHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29uc3Qgc3R5bGUgPSB0cmltRW5kKHJlc3VsdC52YWwpO1xuXHRcdFx0XHRcdGlmIChzdHlsZS5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfU1RZTEUsIGNyZWF0ZUxvY2F0aW9uKHRoaXMuY2xvbmVQb3NpdGlvbigpLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zdCBzdHlsZUxvY2F0aW9uID0gY3JlYXRlTG9jYXRpb24oc3R5bGVTdGFydFBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSk7XG5cdFx0XHRcdFx0c3R5bGVBbmRMb2NhdGlvbiA9IHtcblx0XHRcdFx0XHRcdHN0eWxlLFxuXHRcdFx0XHRcdFx0c3R5bGVMb2NhdGlvblxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgYXJnQ2xvc2VSZXN1bHQgPSB0aGlzLnRyeVBhcnNlQXJndW1lbnRDbG9zZShvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHRcdGlmIChhcmdDbG9zZVJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRyZXR1cm4gYXJnQ2xvc2VSZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgbG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdFx0XHQvLyBFeHRyYWN0IHN0eWxlIG9yIHNrZWxldG9uXG5cdFx0XHRcdGlmIChzdHlsZUFuZExvY2F0aW9uICYmIHN0eWxlQW5kTG9jYXRpb24uc3R5bGUuc3RhcnRzV2l0aChcIjo6XCIpKSB7XG5cdFx0XHRcdFx0Ly8gU2tlbGV0b24gc3RhcnRzIHdpdGggYDo6YC5cblx0XHRcdFx0XHRsZXQgc2tlbGV0b24gPSB0cmltU3RhcnQoc3R5bGVBbmRMb2NhdGlvbi5zdHlsZS5zbGljZSgyKSk7XG5cdFx0XHRcdFx0aWYgKGFyZ1R5cGUgPT09IFwibnVtYmVyXCIpIHtcblx0XHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMucGFyc2VOdW1iZXJTa2VsZXRvbkZyb21TdHJpbmcoc2tlbGV0b24sIHN0eWxlQW5kTG9jYXRpb24uc3R5bGVMb2NhdGlvbik7XG5cdFx0XHRcdFx0XHRpZiAocmVzdWx0LmVycikge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogVFlQRS5udW1iZXIsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0bG9jYXRpb24sXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHJlc3VsdC52YWxcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRpZiAoc2tlbGV0b24ubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfREFURV9USU1FX1NLRUxFVE9OLCBsb2NhdGlvbik7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRsZXQgZGF0ZVRpbWVQYXR0ZXJuID0gc2tlbGV0b247XG5cdFx0XHRcdFx0XHQvLyBHZXQgXCJiZXN0IG1hdGNoXCIgcGF0dGVybiBvbmx5IGlmIGxvY2FsZSBpcyBwYXNzZWQsIGlmIG5vdCwgbGV0IGl0XG5cdFx0XHRcdFx0XHQvLyBwYXNzIGFzLWlzIHdoZXJlIGBwYXJzZURhdGVUaW1lU2tlbGV0b24oKWAgd2lsbCB0aHJvdyBhbiBlcnJvclxuXHRcdFx0XHRcdFx0Ly8gZm9yIHVuc3VwcG9ydGVkIHBhdHRlcm5zLlxuXHRcdFx0XHRcdFx0aWYgKHRoaXMubG9jYWxlKSB7XG5cdFx0XHRcdFx0XHRcdGRhdGVUaW1lUGF0dGVybiA9IGdldEJlc3RQYXR0ZXJuKHNrZWxldG9uLCB0aGlzLmxvY2FsZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zdCBzdHlsZSA9IHtcblx0XHRcdFx0XHRcdFx0dHlwZTogU0tFTEVUT05fVFlQRS5kYXRlVGltZSxcblx0XHRcdFx0XHRcdFx0cGF0dGVybjogZGF0ZVRpbWVQYXR0ZXJuLFxuXHRcdFx0XHRcdFx0XHRsb2NhdGlvbjogc3R5bGVBbmRMb2NhdGlvbi5zdHlsZUxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0XHRwYXJzZWRPcHRpb25zOiB0aGlzLnNob3VsZFBhcnNlU2tlbGV0b25zID8gcGFyc2VEYXRlVGltZVNrZWxldG9uKGRhdGVUaW1lUGF0dGVybikgOiB7fVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdGNvbnN0IHR5cGUgPSBhcmdUeXBlID09PSBcImRhdGVcIiA/IFRZUEUuZGF0ZSA6IFRZUEUudGltZTtcblx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdHZhbDoge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGUsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0bG9jYXRpb24sXG5cdFx0XHRcdFx0XHRcdFx0c3R5bGVcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBSZWd1bGFyIHN0eWxlIG9yIG5vIHN0eWxlLlxuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdHZhbDoge1xuXHRcdFx0XHRcdFx0dHlwZTogYXJnVHlwZSA9PT0gXCJudW1iZXJcIiA/IFRZUEUubnVtYmVyIDogYXJnVHlwZSA9PT0gXCJkYXRlXCIgPyBUWVBFLmRhdGUgOiBUWVBFLnRpbWUsXG5cdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdGxvY2F0aW9uLFxuXHRcdFx0XHRcdFx0c3R5bGU6IHN0eWxlQW5kTG9jYXRpb24/LnN0eWxlID8/IG51bGxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdFx0Y2FzZSBcInBsdXJhbFwiOlxuXHRcdFx0Y2FzZSBcInNlbGVjdG9yZGluYWxcIjpcblx0XHRcdGNhc2UgXCJzZWxlY3RcIjoge1xuXHRcdFx0XHQvLyBQYXJzZSB0aGlzIHJhbmdlOlxuXHRcdFx0XHQvLyB7bmFtZSwgcGx1cmFsLCBvcHRpb25zfVxuXHRcdFx0XHQvLyAgICAgICAgICAgICAgXi0tLS0tLS0tLV5cblx0XHRcdFx0Y29uc3QgdHlwZUVuZFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdGlmICghdGhpcy5idW1wSWYoXCIsXCIpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfT1BUSU9OUywgY3JlYXRlTG9jYXRpb24odHlwZUVuZFBvc2l0aW9uLCB7IC4uLnR5cGVFbmRQb3NpdGlvbiB9KSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdFx0Ly8gUGFyc2Ugb2Zmc2V0OlxuXHRcdFx0XHQvLyB7bmFtZSwgcGx1cmFsLCBvZmZzZXQ6MSwgb3B0aW9uc31cblx0XHRcdFx0Ly8gICAgICAgICAgICAgICAgXi0tLS0tXlxuXHRcdFx0XHQvL1xuXHRcdFx0XHQvLyBvciB0aGUgZmlyc3Qgb3B0aW9uOlxuXHRcdFx0XHQvL1xuXHRcdFx0XHQvLyB7bmFtZSwgcGx1cmFsLCBvbmUgey4uLn0gb3RoZXIgey4uLn19XG5cdFx0XHRcdC8vICAgICAgICAgICAgICAgIF4tLV5cblx0XHRcdFx0bGV0IGlkZW50aWZpZXJBbmRMb2NhdGlvbiA9IHRoaXMucGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpO1xuXHRcdFx0XHRsZXQgcGx1cmFsT2Zmc2V0ID0gMDtcblx0XHRcdFx0aWYgKGFyZ1R5cGUgIT09IFwic2VsZWN0XCIgJiYgaWRlbnRpZmllckFuZExvY2F0aW9uLnZhbHVlID09PSBcIm9mZnNldFwiKSB7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLmJ1bXBJZihcIjpcIikpIHtcblx0XHRcdFx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRSwgY3JlYXRlTG9jYXRpb24odGhpcy5jbG9uZVBvc2l0aW9uKCksIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuYnVtcFNwYWNlKCk7XG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy50cnlQYXJzZURlY2ltYWxJbnRlZ2VyKEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRSwgRXJyb3JLaW5kLklOVkFMSURfUExVUkFMX0FSR1VNRU5UX09GRlNFVF9WQUxVRSk7XG5cdFx0XHRcdFx0aWYgKHJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC8vIFBhcnNlIGFub3RoZXIgaWRlbnRpZmllciBmb3Igb3B0aW9uIHBhcnNpbmdcblx0XHRcdFx0XHR0aGlzLmJ1bXBTcGFjZSgpO1xuXHRcdFx0XHRcdGlkZW50aWZpZXJBbmRMb2NhdGlvbiA9IHRoaXMucGFyc2VJZGVudGlmaWVySWZQb3NzaWJsZSgpO1xuXHRcdFx0XHRcdHBsdXJhbE9mZnNldCA9IHJlc3VsdC52YWw7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3Qgb3B0aW9uc1Jlc3VsdCA9IHRoaXMudHJ5UGFyc2VQbHVyYWxPclNlbGVjdE9wdGlvbnMobmVzdGluZ0xldmVsLCBhcmdUeXBlLCBleHBlY3RpbmdDbG9zZVRhZywgaWRlbnRpZmllckFuZExvY2F0aW9uKTtcblx0XHRcdFx0aWYgKG9wdGlvbnNSZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9wdGlvbnNSZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgYXJnQ2xvc2VSZXN1bHQgPSB0aGlzLnRyeVBhcnNlQXJndW1lbnRDbG9zZShvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHRcdGlmIChhcmdDbG9zZVJlc3VsdC5lcnIpIHtcblx0XHRcdFx0XHRyZXR1cm4gYXJnQ2xvc2VSZXN1bHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgbG9jYXRpb24gPSBjcmVhdGVMb2NhdGlvbihvcGVuaW5nQnJhY2VQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdFx0XHRpZiAoYXJnVHlwZSA9PT0gXCJzZWxlY3RcIikge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHR2YWw6IHtcblx0XHRcdFx0XHRcdFx0dHlwZTogVFlQRS5zZWxlY3QsXG5cdFx0XHRcdFx0XHRcdHZhbHVlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBmcm9tRW50cmllcyhvcHRpb25zUmVzdWx0LnZhbCksXG5cdFx0XHRcdFx0XHRcdGxvY2F0aW9uXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0dmFsOiB7XG5cdFx0XHRcdFx0XHRcdHR5cGU6IFRZUEUucGx1cmFsLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0XHRcdFx0b3B0aW9uczogZnJvbUVudHJpZXMob3B0aW9uc1Jlc3VsdC52YWwpLFxuXHRcdFx0XHRcdFx0XHRvZmZzZXQ6IHBsdXJhbE9mZnNldCxcblx0XHRcdFx0XHRcdFx0cGx1cmFsVHlwZTogYXJnVHlwZSA9PT0gXCJwbHVyYWxcIiA/IFwiY2FyZGluYWxcIiA6IFwib3JkaW5hbFwiLFxuXHRcdFx0XHRcdFx0XHRsb2NhdGlvblxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGVycjogbnVsbFxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGRlZmF1bHQ6IHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX0FSR1VNRU5UX1RZUEUsIGNyZWF0ZUxvY2F0aW9uKHR5cGVTdGFydFBvc2l0aW9uLCB0eXBlRW5kUG9zaXRpb24pKTtcblx0XHR9XG5cdH1cblx0dHJ5UGFyc2VBcmd1bWVudENsb3NlKG9wZW5pbmdCcmFjZVBvc2l0aW9uKSB7XG5cdFx0Ly8gUGFyc2U6IHt2YWx1ZSwgbnVtYmVyLCA6OmN1cnJlbmN5L0dCUCB9XG5cdFx0Ly9cblx0XHRpZiAodGhpcy5pc0VPRigpIHx8IHRoaXMuY2hhcigpICE9PSAxMjUpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5FWFBFQ1RfQVJHVU1FTlRfQ0xPU0lOR19CUkFDRSwgY3JlYXRlTG9jYXRpb24ob3BlbmluZ0JyYWNlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0fVxuXHRcdHRoaXMuYnVtcCgpO1xuXHRcdHJldHVybiB7XG5cdFx0XHR2YWw6IHRydWUsXG5cdFx0XHRlcnI6IG51bGxcblx0XHR9O1xuXHR9XG5cdC8qKlxuXHQqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3VuaWNvZGUtb3JnL2ljdS9ibG9iL2FmN2VkMWY2ZDIyOTgwMTNkYzMwMzYyODQzOGVjNGFiZTFmMTY0NzkvaWN1NGMvc291cmNlL2NvbW1vbi9tZXNzYWdlcGF0dGVybi5jcHAjTDY1OVxuXHQqL1xuXHRwYXJzZVNpbXBsZUFyZ1N0eWxlSWZQb3NzaWJsZSgpIHtcblx0XHRsZXQgbmVzdGVkQnJhY2VzID0gMDtcblx0XHRjb25zdCBzdGFydFBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0d2hpbGUgKCF0aGlzLmlzRU9GKCkpIHtcblx0XHRcdGNvbnN0IGNoID0gdGhpcy5jaGFyKCk7XG5cdFx0XHRzd2l0Y2ggKGNoKSB7XG5cdFx0XHRcdGNhc2UgMzk6IHtcblx0XHRcdFx0XHQvLyBUcmVhdCBhcG9zdHJvcGhlIGFzIHF1b3RpbmcgYnV0IGluY2x1ZGUgaXQgaW4gdGhlIHN0eWxlIHBhcnQuXG5cdFx0XHRcdFx0Ly8gRmluZCB0aGUgZW5kIG9mIHRoZSBxdW90ZWQgbGl0ZXJhbCB0ZXh0LlxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGxldCBhcG9zdHJvcGhlUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdFx0XHRpZiAoIXRoaXMuYnVtcFVudGlsKFwiJ1wiKSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLlVOQ0xPU0VEX1FVT1RFX0lOX0FSR1VNRU5UX1NUWUxFLCBjcmVhdGVMb2NhdGlvbihhcG9zdHJvcGhlUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNhc2UgMTIzOiB7XG5cdFx0XHRcdFx0bmVzdGVkQnJhY2VzICs9IDE7XG5cdFx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y2FzZSAxMjU6IHtcblx0XHRcdFx0XHRpZiAobmVzdGVkQnJhY2VzID4gMCkge1xuXHRcdFx0XHRcdFx0bmVzdGVkQnJhY2VzIC09IDE7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdHZhbDogdGhpcy5tZXNzYWdlLnNsaWNlKHN0YXJ0UG9zaXRpb24ub2Zmc2V0LCB0aGlzLm9mZnNldCgpKSxcblx0XHRcdFx0XHRcdFx0ZXJyOiBudWxsXG5cdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiB0aGlzLm1lc3NhZ2Uuc2xpY2Uoc3RhcnRQb3NpdGlvbi5vZmZzZXQsIHRoaXMub2Zmc2V0KCkpLFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHRwYXJzZU51bWJlclNrZWxldG9uRnJvbVN0cmluZyhza2VsZXRvbiwgbG9jYXRpb24pIHtcblx0XHRsZXQgdG9rZW5zID0gW107XG5cdFx0dHJ5IHtcblx0XHRcdHRva2VucyA9IHBhcnNlTnVtYmVyU2tlbGV0b25Gcm9tU3RyaW5nKHNrZWxldG9uKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKEVycm9yS2luZC5JTlZBTElEX05VTUJFUl9TS0VMRVRPTiwgbG9jYXRpb24pO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiB7XG5cdFx0XHRcdHR5cGU6IFNLRUxFVE9OX1RZUEUubnVtYmVyLFxuXHRcdFx0XHR0b2tlbnMsXG5cdFx0XHRcdGxvY2F0aW9uLFxuXHRcdFx0XHRwYXJzZWRPcHRpb25zOiB0aGlzLnNob3VsZFBhcnNlU2tlbGV0b25zID8gcGFyc2VOdW1iZXJTa2VsZXRvbih0b2tlbnMpIDoge31cblx0XHRcdH0sXG5cdFx0XHRlcnI6IG51bGxcblx0XHR9O1xuXHR9XG5cdC8qKlxuXHQqIEBwYXJhbSBuZXN0aW5nX2xldmVsIFRoZSBjdXJyZW50IG5lc3RpbmcgbGV2ZWwgb2YgbWVzc2FnZXMuXG5cdCogICAgIFRoaXMgY2FuIGJlIHBvc2l0aXZlIHdoZW4gcGFyc2luZyBtZXNzYWdlIGZyYWdtZW50IGluIHNlbGVjdCBvciBwbHVyYWwgYXJndW1lbnQgb3B0aW9ucy5cblx0KiBAcGFyYW0gcGFyZW50X2FyZ190eXBlIFRoZSBwYXJlbnQgYXJndW1lbnQncyB0eXBlLlxuXHQqIEBwYXJhbSBwYXJzZWRfZmlyc3RfaWRlbnRpZmllciBJZiBwcm92aWRlZCwgdGhpcyBpcyB0aGUgZmlyc3QgaWRlbnRpZmllci1saWtlIHNlbGVjdG9yIG9mXG5cdCogICAgIHRoZSBhcmd1bWVudC4gSXQgaXMgYSBieS1wcm9kdWN0IG9mIGEgcHJldmlvdXMgcGFyc2luZyBhdHRlbXB0LlxuXHQqIEBwYXJhbSBleHBlY3RpbmdfY2xvc2VfdGFnIElmIHRydWUsIHRoaXMgbWVzc2FnZSBpcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IG5lc3RlZCBpbnNpZGVcblx0KiAgICAgYmV0d2VlbiBhIHBhaXIgb2Ygb3BlbmluZyBhbmQgY2xvc2luZyB0YWdzLiBUaGUgbmVzdGVkIG1lc3NhZ2Ugd2lsbCBub3QgcGFyc2UgYmV5b25kXG5cdCogICAgIHRoZSBjbG9zaW5nIHRhZyBib3VuZGFyeS5cblx0Ki9cblx0dHJ5UGFyc2VQbHVyYWxPclNlbGVjdE9wdGlvbnMobmVzdGluZ0xldmVsLCBwYXJlbnRBcmdUeXBlLCBleHBlY3RDbG9zZVRhZywgcGFyc2VkRmlyc3RJZGVudGlmaWVyKSB7XG5cdFx0bGV0IGhhc090aGVyQ2xhdXNlID0gZmFsc2U7XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IFtdO1xuXHRcdGNvbnN0IHBhcnNlZFNlbGVjdG9ycyA9IG5ldyBTZXQoKTtcblx0XHRsZXQgeyB2YWx1ZTogc2VsZWN0b3IsIGxvY2F0aW9uOiBzZWxlY3RvckxvY2F0aW9uIH0gPSBwYXJzZWRGaXJzdElkZW50aWZpZXI7XG5cdFx0Ly8gUGFyc2U6XG5cdFx0Ly8gb25lIHtvbmUgYXBwbGV9XG5cdFx0Ly8gXi0tXlxuXHRcdHdoaWxlICh0cnVlKSB7XG5cdFx0XHRpZiAoc2VsZWN0b3IubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdGNvbnN0IHN0YXJ0UG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRcdFx0aWYgKHBhcmVudEFyZ1R5cGUgIT09IFwic2VsZWN0XCIgJiYgdGhpcy5idW1wSWYoXCI9XCIpKSB7XG5cdFx0XHRcdFx0Ly8gVHJ5IHBhcnNlIGA9e251bWJlcn1gIHNlbGVjdG9yXG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy50cnlQYXJzZURlY2ltYWxJbnRlZ2VyKEVycm9yS2luZC5FWFBFQ1RfUExVUkFMX0FSR1VNRU5UX1NFTEVDVE9SLCBFcnJvcktpbmQuSU5WQUxJRF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1IpO1xuXHRcdFx0XHRcdGlmIChyZXN1bHQuZXJyKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzZWxlY3RvckxvY2F0aW9uID0gY3JlYXRlTG9jYXRpb24oc3RhcnRQb3NpdGlvbiwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpO1xuXHRcdFx0XHRcdHNlbGVjdG9yID0gdGhpcy5tZXNzYWdlLnNsaWNlKHN0YXJ0UG9zaXRpb24ub2Zmc2V0LCB0aGlzLm9mZnNldCgpKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly8gRHVwbGljYXRlIHNlbGVjdG9yIGNsYXVzZXNcblx0XHRcdGlmIChwYXJzZWRTZWxlY3RvcnMuaGFzKHNlbGVjdG9yKSkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihwYXJlbnRBcmdUeXBlID09PSBcInNlbGVjdFwiID8gRXJyb3JLaW5kLkRVUExJQ0FURV9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1IgOiBFcnJvcktpbmQuRFVQTElDQVRFX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUiwgc2VsZWN0b3JMb2NhdGlvbik7XG5cdFx0XHR9XG5cdFx0XHRpZiAoc2VsZWN0b3IgPT09IFwib3RoZXJcIikge1xuXHRcdFx0XHRoYXNPdGhlckNsYXVzZSA9IHRydWU7XG5cdFx0XHR9XG5cdFx0XHQvLyBQYXJzZTpcblx0XHRcdC8vIG9uZSB7b25lIGFwcGxlfVxuXHRcdFx0Ly8gICAgIF4tLS0tLS0tLS0tXlxuXHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdGNvbnN0IG9wZW5pbmdCcmFjZVBvc2l0aW9uID0gdGhpcy5jbG9uZVBvc2l0aW9uKCk7XG5cdFx0XHRpZiAoIXRoaXMuYnVtcElmKFwie1wiKSkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5lcnJvcihwYXJlbnRBcmdUeXBlID09PSBcInNlbGVjdFwiID8gRXJyb3JLaW5kLkVYUEVDVF9TRUxFQ1RfQVJHVU1FTlRfU0VMRUNUT1JfRlJBR01FTlQgOiBFcnJvcktpbmQuRVhQRUNUX1BMVVJBTF9BUkdVTUVOVF9TRUxFQ1RPUl9GUkFHTUVOVCwgY3JlYXRlTG9jYXRpb24odGhpcy5jbG9uZVBvc2l0aW9uKCksIHRoaXMuY2xvbmVQb3NpdGlvbigpKSk7XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBmcmFnbWVudFJlc3VsdCA9IHRoaXMucGFyc2VNZXNzYWdlKG5lc3RpbmdMZXZlbCArIDEsIHBhcmVudEFyZ1R5cGUsIGV4cGVjdENsb3NlVGFnKTtcblx0XHRcdGlmIChmcmFnbWVudFJlc3VsdC5lcnIpIHtcblx0XHRcdFx0cmV0dXJuIGZyYWdtZW50UmVzdWx0O1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgYXJnQ2xvc2VSZXN1bHQgPSB0aGlzLnRyeVBhcnNlQXJndW1lbnRDbG9zZShvcGVuaW5nQnJhY2VQb3NpdGlvbik7XG5cdFx0XHRpZiAoYXJnQ2xvc2VSZXN1bHQuZXJyKSB7XG5cdFx0XHRcdHJldHVybiBhcmdDbG9zZVJlc3VsdDtcblx0XHRcdH1cblx0XHRcdG9wdGlvbnMucHVzaChbc2VsZWN0b3IsIHtcblx0XHRcdFx0dmFsdWU6IGZyYWdtZW50UmVzdWx0LnZhbCxcblx0XHRcdFx0bG9jYXRpb246IGNyZWF0ZUxvY2F0aW9uKG9wZW5pbmdCcmFjZVBvc2l0aW9uLCB0aGlzLmNsb25lUG9zaXRpb24oKSlcblx0XHRcdH1dKTtcblx0XHRcdC8vIEtlZXAgdHJhY2sgb2YgdGhlIGV4aXN0aW5nIHNlbGVjdG9yc1xuXHRcdFx0cGFyc2VkU2VsZWN0b3JzLmFkZChzZWxlY3Rvcik7XG5cdFx0XHQvLyBQcmVwIG5leHQgc2VsZWN0b3IgY2xhdXNlLlxuXHRcdFx0dGhpcy5idW1wU3BhY2UoKTtcblx0XHRcdCh7dmFsdWU6IHNlbGVjdG9yLCBsb2NhdGlvbjogc2VsZWN0b3JMb2NhdGlvbn0gPSB0aGlzLnBhcnNlSWRlbnRpZmllcklmUG9zc2libGUoKSk7XG5cdFx0fVxuXHRcdGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IocGFyZW50QXJnVHlwZSA9PT0gXCJzZWxlY3RcIiA/IEVycm9yS2luZC5FWFBFQ1RfU0VMRUNUX0FSR1VNRU5UX1NFTEVDVE9SIDogRXJyb3JLaW5kLkVYUEVDVF9QTFVSQUxfQVJHVU1FTlRfU0VMRUNUT1IsIGNyZWF0ZUxvY2F0aW9uKHRoaXMuY2xvbmVQb3NpdGlvbigpLCB0aGlzLmNsb25lUG9zaXRpb24oKSkpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5yZXF1aXJlc090aGVyQ2xhdXNlICYmICFoYXNPdGhlckNsYXVzZSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoRXJyb3JLaW5kLk1JU1NJTkdfT1RIRVJfQ0xBVVNFLCBjcmVhdGVMb2NhdGlvbih0aGlzLmNsb25lUG9zaXRpb24oKSwgdGhpcy5jbG9uZVBvc2l0aW9uKCkpKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDogb3B0aW9ucyxcblx0XHRcdGVycjogbnVsbFxuXHRcdH07XG5cdH1cblx0dHJ5UGFyc2VEZWNpbWFsSW50ZWdlcihleHBlY3ROdW1iZXJFcnJvciwgaW52YWxpZE51bWJlckVycm9yKSB7XG5cdFx0bGV0IHNpZ24gPSAxO1xuXHRcdGNvbnN0IHN0YXJ0aW5nUG9zaXRpb24gPSB0aGlzLmNsb25lUG9zaXRpb24oKTtcblx0XHRpZiAodGhpcy5idW1wSWYoXCIrXCIpKSB7fSBlbHNlIGlmICh0aGlzLmJ1bXBJZihcIi1cIikpIHtcblx0XHRcdHNpZ24gPSAtMTtcblx0XHR9XG5cdFx0bGV0IGhhc0RpZ2l0cyA9IGZhbHNlO1xuXHRcdGxldCBkZWNpbWFsID0gMDtcblx0XHR3aGlsZSAoIXRoaXMuaXNFT0YoKSkge1xuXHRcdFx0Y29uc3QgY2ggPSB0aGlzLmNoYXIoKTtcblx0XHRcdGlmIChjaCA+PSA0OCAmJiBjaCA8PSA1Nykge1xuXHRcdFx0XHRoYXNEaWdpdHMgPSB0cnVlO1xuXHRcdFx0XHRkZWNpbWFsID0gZGVjaW1hbCAqIDEwICsgKGNoIC0gNDgpO1xuXHRcdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRjb25zdCBsb2NhdGlvbiA9IGNyZWF0ZUxvY2F0aW9uKHN0YXJ0aW5nUG9zaXRpb24sIHRoaXMuY2xvbmVQb3NpdGlvbigpKTtcblx0XHRpZiAoIWhhc0RpZ2l0cykge1xuXHRcdFx0cmV0dXJuIHRoaXMuZXJyb3IoZXhwZWN0TnVtYmVyRXJyb3IsIGxvY2F0aW9uKTtcblx0XHR9XG5cdFx0ZGVjaW1hbCAqPSBzaWduO1xuXHRcdGlmICghTnVtYmVyLmlzU2FmZUludGVnZXIoZGVjaW1hbCkpIHtcblx0XHRcdHJldHVybiB0aGlzLmVycm9yKGludmFsaWROdW1iZXJFcnJvciwgbG9jYXRpb24pO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0dmFsOiBkZWNpbWFsLFxuXHRcdFx0ZXJyOiBudWxsXG5cdFx0fTtcblx0fVxuXHRvZmZzZXQoKSB7XG5cdFx0cmV0dXJuIHRoaXMucG9zaXRpb24ub2Zmc2V0O1xuXHR9XG5cdGlzRU9GKCkge1xuXHRcdHJldHVybiB0aGlzLm9mZnNldCgpID09PSB0aGlzLm1lc3NhZ2UubGVuZ3RoO1xuXHR9XG5cdGNsb25lUG9zaXRpb24oKSB7XG5cdFx0Ly8gVGhpcyBpcyBtdWNoIGZhc3RlciB0aGFuIGBPYmplY3QuYXNzaWduYCBvciBzcHJlYWQuXG5cdFx0cmV0dXJuIHtcblx0XHRcdG9mZnNldDogdGhpcy5wb3NpdGlvbi5vZmZzZXQsXG5cdFx0XHRsaW5lOiB0aGlzLnBvc2l0aW9uLmxpbmUsXG5cdFx0XHRjb2x1bW46IHRoaXMucG9zaXRpb24uY29sdW1uXG5cdFx0fTtcblx0fVxuXHQvKipcblx0KiBSZXR1cm4gdGhlIGNvZGUgcG9pbnQgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHBhcnNlci5cblx0KiBUaHJvd3MgaWYgdGhlIGluZGV4IGlzIG91dCBvZiBib3VuZC5cblx0Ki9cblx0Y2hhcigpIHtcblx0XHRjb25zdCBvZmZzZXQgPSB0aGlzLnBvc2l0aW9uLm9mZnNldDtcblx0XHRpZiAob2Zmc2V0ID49IHRoaXMubWVzc2FnZS5sZW5ndGgpIHtcblx0XHRcdHRocm93IEVycm9yKFwib3V0IG9mIGJvdW5kXCIpO1xuXHRcdH1cblx0XHRjb25zdCBjb2RlID0gdGhpcy5tZXNzYWdlLmNvZGVQb2ludEF0KG9mZnNldCk7XG5cdFx0aWYgKGNvZGUgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhyb3cgRXJyb3IoYE9mZnNldCAke29mZnNldH0gaXMgYXQgaW52YWxpZCBVVEYtMTYgY29kZSB1bml0IGJvdW5kYXJ5YCk7XG5cdFx0fVxuXHRcdHJldHVybiBjb2RlO1xuXHR9XG5cdGVycm9yKGtpbmQsIGxvY2F0aW9uKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbDogbnVsbCxcblx0XHRcdGVycjoge1xuXHRcdFx0XHRraW5kLFxuXHRcdFx0XHRtZXNzYWdlOiB0aGlzLm1lc3NhZ2UsXG5cdFx0XHRcdGxvY2F0aW9uXG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXHQvKiogQnVtcCB0aGUgcGFyc2VyIHRvIHRoZSBuZXh0IFVURi0xNiBjb2RlIHVuaXQuICovXG5cdGJ1bXAoKSB7XG5cdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBjb2RlID0gdGhpcy5jaGFyKCk7XG5cdFx0aWYgKGNvZGUgPT09IDEwKSB7XG5cdFx0XHR0aGlzLnBvc2l0aW9uLmxpbmUgKz0gMTtcblx0XHRcdHRoaXMucG9zaXRpb24uY29sdW1uID0gMTtcblx0XHRcdHRoaXMucG9zaXRpb24ub2Zmc2V0ICs9IDE7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMucG9zaXRpb24uY29sdW1uICs9IDE7XG5cdFx0XHQvLyAwIH4gMHgxMDAwMCAtPiB1bmljb2RlIEJNUCwgb3RoZXJ3aXNlIHNraXAgdGhlIHN1cnJvZ2F0ZSBwYWlyLlxuXHRcdFx0dGhpcy5wb3NpdGlvbi5vZmZzZXQgKz0gY29kZSA8IDY1NTM2ID8gMSA6IDI7XG5cdFx0fVxuXHR9XG5cdC8qKlxuXHQqIElmIHRoZSBzdWJzdHJpbmcgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHBhcnNlciBoYXNcblx0KiB0aGUgZ2l2ZW4gcHJlZml4LCB0aGVuIGJ1bXAgdGhlIHBhcnNlciB0byB0aGUgY2hhcmFjdGVyIGltbWVkaWF0ZWx5XG5cdCogZm9sbG93aW5nIHRoZSBwcmVmaXggYW5kIHJldHVybiB0cnVlLiBPdGhlcndpc2UsIGRvbid0IGJ1bXAgdGhlIHBhcnNlclxuXHQqIGFuZCByZXR1cm4gZmFsc2UuXG5cdCovXG5cdGJ1bXBJZihwcmVmaXgpIHtcblx0XHRpZiAodGhpcy5tZXNzYWdlLnN0YXJ0c1dpdGgocHJlZml4LCB0aGlzLm9mZnNldCgpKSkge1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBwcmVmaXgubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0dGhpcy5idW1wKCk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdC8qKlxuXHQqIEJ1bXAgdGhlIHBhcnNlciB1bnRpbCB0aGUgcGF0dGVybiBjaGFyYWN0ZXIgaXMgZm91bmQgYW5kIHJldHVybiBgdHJ1ZWAuXG5cdCogT3RoZXJ3aXNlIGJ1bXAgdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSBhbmQgcmV0dXJuIGBmYWxzZWAuXG5cdCovXG5cdGJ1bXBVbnRpbChwYXR0ZXJuKSB7XG5cdFx0Y29uc3QgY3VycmVudE9mZnNldCA9IHRoaXMub2Zmc2V0KCk7XG5cdFx0Y29uc3QgaW5kZXggPSB0aGlzLm1lc3NhZ2UuaW5kZXhPZihwYXR0ZXJuLCBjdXJyZW50T2Zmc2V0KTtcblx0XHRpZiAoaW5kZXggPj0gMCkge1xuXHRcdFx0dGhpcy5idW1wVG8oaW5kZXgpO1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuYnVtcFRvKHRoaXMubWVzc2FnZS5sZW5ndGgpO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXHQvKipcblx0KiBCdW1wIHRoZSBwYXJzZXIgdG8gdGhlIHRhcmdldCBvZmZzZXQuXG5cdCogSWYgdGFyZ2V0IG9mZnNldCBpcyBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgaW5wdXQsIGJ1bXAgdGhlIHBhcnNlciB0byB0aGUgZW5kIG9mIHRoZSBpbnB1dC5cblx0Ki9cblx0YnVtcFRvKHRhcmdldE9mZnNldCkge1xuXHRcdGlmICh0aGlzLm9mZnNldCgpID4gdGFyZ2V0T2Zmc2V0KSB7XG5cdFx0XHR0aHJvdyBFcnJvcihgdGFyZ2V0T2Zmc2V0ICR7dGFyZ2V0T2Zmc2V0fSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgY3VycmVudCBvZmZzZXQgJHt0aGlzLm9mZnNldCgpfWApO1xuXHRcdH1cblx0XHR0YXJnZXRPZmZzZXQgPSBNYXRoLm1pbih0YXJnZXRPZmZzZXQsIHRoaXMubWVzc2FnZS5sZW5ndGgpO1xuXHRcdHdoaWxlICh0cnVlKSB7XG5cdFx0XHRjb25zdCBvZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xuXHRcdFx0aWYgKG9mZnNldCA9PT0gdGFyZ2V0T2Zmc2V0KSB7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9mZnNldCA+IHRhcmdldE9mZnNldCkge1xuXHRcdFx0XHR0aHJvdyBFcnJvcihgdGFyZ2V0T2Zmc2V0ICR7dGFyZ2V0T2Zmc2V0fSBpcyBhdCBpbnZhbGlkIFVURi0xNiBjb2RlIHVuaXQgYm91bmRhcnlgKTtcblx0XHRcdH1cblx0XHRcdHRoaXMuYnVtcCgpO1xuXHRcdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LyoqIGFkdmFuY2UgdGhlIHBhcnNlciB0aHJvdWdoIGFsbCB3aGl0ZXNwYWNlIHRvIHRoZSBuZXh0IG5vbi13aGl0ZXNwYWNlIGNvZGUgdW5pdC4gKi9cblx0YnVtcFNwYWNlKCkge1xuXHRcdHdoaWxlICghdGhpcy5pc0VPRigpICYmIF9pc1doaXRlU3BhY2UodGhpcy5jaGFyKCkpKSB7XG5cdFx0XHR0aGlzLmJ1bXAoKTtcblx0XHR9XG5cdH1cblx0LyoqXG5cdCogUGVlayBhdCB0aGUgKm5leHQqIFVuaWNvZGUgY29kZXBvaW50IGluIHRoZSBpbnB1dCB3aXRob3V0IGFkdmFuY2luZyB0aGUgcGFyc2VyLlxuXHQqIElmIHRoZSBpbnB1dCBoYXMgYmVlbiBleGhhdXN0ZWQsIHRoZW4gdGhpcyByZXR1cm5zIG51bGwuXG5cdCovXG5cdHBlZWsoKSB7XG5cdFx0aWYgKHRoaXMuaXNFT0YoKSkge1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdGNvbnN0IGNvZGUgPSB0aGlzLmNoYXIoKTtcblx0XHRjb25zdCBvZmZzZXQgPSB0aGlzLm9mZnNldCgpO1xuXHRcdGNvbnN0IG5leHRDb2RlID0gdGhpcy5tZXNzYWdlLmNoYXJDb2RlQXQob2Zmc2V0ICsgKGNvZGUgPj0gNjU1MzYgPyAyIDogMSkpO1xuXHRcdHJldHVybiBuZXh0Q29kZSA/PyBudWxsO1xuXHR9XG59XG4vKipcbiogVGhpcyBjaGVjayBpZiBjb2RlcG9pbnQgaXMgYWxwaGFiZXQgKGxvd2VyICYgdXBwZXJjYXNlKVxuKiBAcGFyYW0gY29kZXBvaW50XG4qIEByZXR1cm5zXG4qL1xuZnVuY3Rpb24gX2lzQWxwaGEoY29kZXBvaW50KSB7XG5cdHJldHVybiBjb2RlcG9pbnQgPj0gOTcgJiYgY29kZXBvaW50IDw9IDEyMiB8fCBjb2RlcG9pbnQgPj0gNjUgJiYgY29kZXBvaW50IDw9IDkwO1xufVxuZnVuY3Rpb24gX2lzQWxwaGFPclNsYXNoKGNvZGVwb2ludCkge1xuXHRyZXR1cm4gX2lzQWxwaGEoY29kZXBvaW50KSB8fCBjb2RlcG9pbnQgPT09IDQ3O1xufVxuLyoqIFNlZSBgcGFyc2VUYWdgIGZ1bmN0aW9uIGRvY3MuICovXG5mdW5jdGlvbiBfaXNQb3RlbnRpYWxFbGVtZW50TmFtZUNoYXIoYykge1xuXHRyZXR1cm4gYyA9PT0gNDUgfHwgYyA9PT0gNDYgfHwgYyA+PSA0OCAmJiBjIDw9IDU3IHx8IGMgPT09IDk1IHx8IGMgPj0gOTcgJiYgYyA8PSAxMjIgfHwgYyA+PSA2NSAmJiBjIDw9IDkwIHx8IGMgPT0gMTgzIHx8IGMgPj0gMTkyICYmIGMgPD0gMjE0IHx8IGMgPj0gMjE2ICYmIGMgPD0gMjQ2IHx8IGMgPj0gMjQ4ICYmIGMgPD0gODkzIHx8IGMgPj0gODk1ICYmIGMgPD0gODE5MSB8fCBjID49IDgyMDQgJiYgYyA8PSA4MjA1IHx8IGMgPj0gODI1NSAmJiBjIDw9IDgyNTYgfHwgYyA+PSA4MzA0ICYmIGMgPD0gODU5MSB8fCBjID49IDExMjY0ICYmIGMgPD0gMTIyNzEgfHwgYyA+PSAxMjI4OSAmJiBjIDw9IDU1Mjk1IHx8IGMgPj0gNjM3NDQgJiYgYyA8PSA2NDk3NSB8fCBjID49IDY1MDA4ICYmIGMgPD0gNjU1MzMgfHwgYyA+PSA2NTUzNiAmJiBjIDw9IDk4MzAzOTtcbn1cbi8qKlxuKiBDb2RlIHBvaW50IGVxdWl2YWxlbnQgb2YgcmVnZXggYFxccHtXaGl0ZV9TcGFjZX1gLlxuKiBGcm9tOiBodHRwczovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvVUNEL2xhdGVzdC91Y2QvUHJvcExpc3QudHh0XG4qL1xuZnVuY3Rpb24gX2lzV2hpdGVTcGFjZShjKSB7XG5cdHJldHVybiBjID49IDkgJiYgYyA8PSAxMyB8fCBjID09PSAzMiB8fCBjID09PSAxMzMgfHwgYyA+PSA4MjA2ICYmIGMgPD0gODIwNyB8fCBjID09PSA4MjMyIHx8IGMgPT09IDgyMzM7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/parser.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js":
/*!****************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js ***!
\****************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SPACE_SEPARATOR_REGEX: () => (/* binding */ SPACE_SEPARATOR_REGEX),\n/* harmony export */ WHITE_SPACE_REGEX: () => (/* binding */ WHITE_SPACE_REGEX)\n/* harmony export */ });\n// @generated from regex-gen.ts\nconst SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nconst WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9yZWdleC5nZW5lcmF0ZWQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNPO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9tYXJjbWludGVsL1Byb2plY3RzL2UtdGliLmNvbS9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci9yZWdleC5nZW5lcmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGdlbmVyYXRlZCBmcm9tIHJlZ2V4LWdlbi50c1xuZXhwb3J0IGNvbnN0IFNQQUNFX1NFUEFSQVRPUl9SRUdFWCA9IC9bIFxceEEwXFx1MTY4MFxcdTIwMDAtXFx1MjAwQVxcdTIwMkZcXHUyMDVGXFx1MzAwMF0vO1xuZXhwb3J0IGNvbnN0IFdISVRFX1NQQUNFX1JFR0VYID0gL1tcXHQtXFxyIFxceDg1XFx1MjAwRVxcdTIwMEZcXHUyMDI4XFx1MjAyOV0vO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js":
/*!********************************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js ***!
\********************************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ timeData: () => (/* binding */ timeData)\n/* harmony export */ });\n// @generated from time-data-gen.ts\n// prettier-ignore\nconst timeData = {\n\t\"001\": [\"H\", \"h\"],\n\t\"419\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"AC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"AD\": [\"H\", \"hB\"],\n\t\"AE\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"AF\": [\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"AG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AI\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"AL\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AM\": [\"H\", \"hB\"],\n\t\"AO\": [\"H\", \"hB\"],\n\t\"AR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"AS\": [\"h\", \"H\"],\n\t\"AT\": [\"H\", \"hB\"],\n\t\"AU\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"AW\": [\"H\", \"hB\"],\n\t\"AX\": [\"H\"],\n\t\"AZ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BB\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BD\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"H\"\n\t],\n\t\"BE\": [\"H\", \"hB\"],\n\t\"BF\": [\"H\", \"hB\"],\n\t\"BG\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"BH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"BI\": [\"H\", \"h\"],\n\t\"BJ\": [\"H\", \"hB\"],\n\t\"BL\": [\"H\", \"hB\"],\n\t\"BM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BN\": [\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"BO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"BQ\": [\"H\"],\n\t\"BR\": [\"H\", \"hB\"],\n\t\"BS\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"BT\": [\"h\", \"H\"],\n\t\"BW\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"BY\": [\"H\", \"h\"],\n\t\"BZ\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CA\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"CC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CD\": [\"hB\", \"H\"],\n\t\"CF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"CG\": [\"H\", \"hB\"],\n\t\"CH\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"CI\": [\"H\", \"hB\"],\n\t\"CK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CL\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"CN\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"CO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CP\": [\"H\"],\n\t\"CR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CU\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"CV\": [\"H\", \"hB\"],\n\t\"CW\": [\"H\", \"hB\"],\n\t\"CX\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"CZ\": [\"H\"],\n\t\"DE\": [\"H\", \"hB\"],\n\t\"DG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"DJ\": [\"h\", \"H\"],\n\t\"DK\": [\"H\"],\n\t\"DM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"DO\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"DZ\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"EA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"EC\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"EE\": [\"H\", \"hB\"],\n\t\"EG\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"EH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"ER\": [\"h\", \"H\"],\n\t\"ES\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\"\n\t],\n\t\"ET\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"FI\": [\"H\"],\n\t\"FJ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"FK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"FM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"FO\": [\"H\", \"h\"],\n\t\"FR\": [\"H\", \"hB\"],\n\t\"GA\": [\"H\", \"hB\"],\n\t\"GB\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GD\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GE\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"GF\": [\"H\", \"hB\"],\n\t\"GG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GH\": [\"h\", \"H\"],\n\t\"GI\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GL\": [\"H\", \"h\"],\n\t\"GM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GN\": [\"H\", \"hB\"],\n\t\"GP\": [\"H\", \"hB\"],\n\t\"GQ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\"\n\t],\n\t\"GR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GS\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"GT\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"GU\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"GW\": [\"H\", \"hB\"],\n\t\"GY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"HK\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"HN\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"HR\": [\"H\", \"hB\"],\n\t\"HU\": [\"H\", \"h\"],\n\t\"IC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"ID\": [\"H\"],\n\t\"IE\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IL\": [\"H\", \"hB\"],\n\t\"IM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IN\": [\"h\", \"H\"],\n\t\"IO\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"IQ\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"IR\": [\"hB\", \"H\"],\n\t\"IS\": [\"H\"],\n\t\"IT\": [\"H\", \"hB\"],\n\t\"JE\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"JM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"JO\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"JP\": [\n\t\t\"H\",\n\t\t\"K\",\n\t\t\"h\"\n\t],\n\t\"KE\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"KG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KH\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hb\"\n\t],\n\t\"KI\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KN\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KP\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"KW\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"KY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"KZ\": [\"H\", \"hB\"],\n\t\"LA\": [\n\t\t\"H\",\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"LB\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"LC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"LI\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"LK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"LR\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"LS\": [\"h\", \"H\"],\n\t\"LT\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"LU\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"LV\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"LY\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"MC\": [\"H\", \"hB\"],\n\t\"MD\": [\"H\", \"hB\"],\n\t\"ME\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"MF\": [\"H\", \"hB\"],\n\t\"MG\": [\"H\", \"h\"],\n\t\"MH\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MK\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"ML\": [\"H\"],\n\t\"MM\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"MN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"MO\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MP\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MQ\": [\"H\", \"hB\"],\n\t\"MR\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"MS\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"MT\": [\"H\", \"h\"],\n\t\"MU\": [\"H\", \"h\"],\n\t\"MV\": [\"H\", \"h\"],\n\t\"MW\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"MX\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"MY\": [\n\t\t\"hb\",\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"MZ\": [\"H\", \"hB\"],\n\t\"NA\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"NC\": [\"H\", \"hB\"],\n\t\"NE\": [\"H\"],\n\t\"NF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NG\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NI\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"NL\": [\"H\", \"hB\"],\n\t\"NO\": [\"H\", \"h\"],\n\t\"NP\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"NR\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NU\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"NZ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"OM\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PA\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PE\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"PG\": [\"h\", \"H\"],\n\t\"PH\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PK\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"H\"\n\t],\n\t\"PL\": [\"H\", \"h\"],\n\t\"PM\": [\"H\", \"hB\"],\n\t\"PN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"PR\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"PS\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"PT\": [\"H\", \"hB\"],\n\t\"PW\": [\"h\", \"H\"],\n\t\"PY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"QA\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"RE\": [\"H\", \"hB\"],\n\t\"RO\": [\"H\", \"hB\"],\n\t\"RS\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"RU\": [\"H\"],\n\t\"RW\": [\"H\", \"h\"],\n\t\"SA\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SB\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SC\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SD\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SE\": [\"H\"],\n\t\"SG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SH\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"SI\": [\"H\", \"hB\"],\n\t\"SJ\": [\"H\"],\n\t\"SK\": [\"H\"],\n\t\"SL\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"SM\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SN\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"SO\": [\"h\", \"H\"],\n\t\"SR\": [\"H\", \"hB\"],\n\t\"SS\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"ST\": [\"H\", \"hB\"],\n\t\"SV\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"SX\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"SY\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"SZ\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"TC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TD\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TF\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"TG\": [\"H\", \"hB\"],\n\t\"TH\": [\"H\", \"h\"],\n\t\"TJ\": [\"H\", \"h\"],\n\t\"TL\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t],\n\t\"TM\": [\"H\", \"h\"],\n\t\"TN\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"TO\": [\"h\", \"H\"],\n\t\"TR\": [\"H\", \"hB\"],\n\t\"TT\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"TW\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"TZ\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"UA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"UG\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"h\"\n\t],\n\t\"UM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"US\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"UY\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"UZ\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"VA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"VC\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VE\": [\n\t\t\"h\",\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"VG\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VI\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"VN\": [\"H\", \"h\"],\n\t\"VU\": [\"h\", \"H\"],\n\t\"WF\": [\"H\", \"hB\"],\n\t\"WS\": [\"h\", \"H\"],\n\t\"XK\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"h\"\n\t],\n\t\"YE\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"YT\": [\"H\", \"hB\"],\n\t\"ZA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"ZM\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"ZW\": [\"H\", \"h\"],\n\t\"af-ZA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"ar-001\": [\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"ca-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"en-001\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"en-HK\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"en-IL\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"hB\"\n\t],\n\t\"en-MY\": [\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\",\n\t\t\"hB\"\n\t],\n\t\"es-BR\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"es-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"es-GQ\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\",\n\t\t\"hb\"\n\t],\n\t\"fr-CA\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"gl-ES\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"gu-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"hi-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"it-CH\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"it-IT\": [\n\t\t\"H\",\n\t\t\"h\",\n\t\t\"hB\"\n\t],\n\t\"kn-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"ku-SY\": [\"H\", \"hB\"],\n\t\"ml-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"mr-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"pa-IN\": [\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"ta-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"hb\",\n\t\t\"H\"\n\t],\n\t\"te-IN\": [\n\t\t\"hB\",\n\t\t\"h\",\n\t\t\"H\"\n\t],\n\t\"zu-ZA\": [\n\t\t\"H\",\n\t\t\"hB\",\n\t\t\"hb\",\n\t\t\"h\"\n\t]\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci90aW1lLWRhdGEuZ2VuZXJhdGVkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ087QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL21hcmNtaW50ZWwvUHJvamVjdHMvZS10aWIuY29tL25vZGVfbW9kdWxlcy8ucG5wbS9AZm9ybWF0anMraWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyQDMuNS4zL25vZGVfbW9kdWxlcy9AZm9ybWF0anMvaWN1LW1lc3NhZ2Vmb3JtYXQtcGFyc2VyL3RpbWUtZGF0YS5nZW5lcmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQGdlbmVyYXRlZCBmcm9tIHRpbWUtZGF0YS1nZW4udHNcbi8vIHByZXR0aWVyLWlnbm9yZVxuZXhwb3J0IGNvbnN0IHRpbWVEYXRhID0ge1xuXHRcIjAwMVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCI0MTlcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJBQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkFEXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJBRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkFGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiQUdcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJBSVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkFMXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJBTVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQU9cIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFSXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQVNcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiQVRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFVXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQVdcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkFYXCI6IFtcIkhcIl0sXG5cdFwiQVpcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkJBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJCQlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkJEXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJCRVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQkZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkJHXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJCSFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkJJXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkJKXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJCTFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQk1cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJCTlwiOiBbXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkJPXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQlFcIjogW1wiSFwiXSxcblx0XCJCUlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQlNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJCVFwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJCV1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkJZXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkJaXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ0FcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNEXCI6IFtcImhCXCIsIFwiSFwiXSxcblx0XCJDRlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ0dcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkNIXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJDSVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiQ0tcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDTFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkNNXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJDTlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIkNPXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQ1BcIjogW1wiSFwiXSxcblx0XCJDUlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkNVXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiQ1ZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkNXXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJDWFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkNZXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiQ1pcIjogW1wiSFwiXSxcblx0XCJERVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiREdcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJESlwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJES1wiOiBbXCJIXCJdLFxuXHRcIkRNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiRE9cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJEWlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkVBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiRUNcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJFRVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiRUdcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJFSFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkVSXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIkVTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiRVRcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJGSVwiOiBbXCJIXCJdLFxuXHRcIkZKXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiRktcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJGTVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkZPXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkZSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJHQVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiR0JcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHRFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdFXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJHRlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiR0dcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHSFwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJHSVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkdMXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIkdNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR05cIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkdQXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJHUVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkdSXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR1NcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJHVFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkdVXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiR1dcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkdZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiSEtcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJITlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkhSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJIVVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJJQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIklEXCI6IFtcIkhcIl0sXG5cdFwiSUVcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJJTFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiSU1cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJJTlwiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJJT1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIklRXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiSVJcIjogW1wiaEJcIiwgXCJIXCJdLFxuXHRcIklTXCI6IFtcIkhcIl0sXG5cdFwiSVRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkpFXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiSk1cIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJKT1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIkpQXCI6IFtcblx0XHRcIkhcIixcblx0XHRcIktcIixcblx0XHRcImhcIlxuXHRdLFxuXHRcIktFXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiS0dcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLSFwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIktJXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiS01cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLTlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIktQXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiS1JcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJLV1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIktZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiS1pcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIkxBXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiTEJcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJMQ1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIkxJXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJMS1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIkxSXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTFNcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiTFRcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJMVVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTFZcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJMWVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIk1BXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiTUNcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1EXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJNRVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiTUZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1HXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIk1IXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTUtcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNTFwiOiBbXCJIXCJdLFxuXHRcIk1NXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiTU5cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNT1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIk1QXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTVFcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIk1SXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiTVNcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJNVFwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJNVVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJNVlwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJNV1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk1YXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiTVlcIjogW1xuXHRcdFwiaGJcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJNWlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTkFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJOQ1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTkVcIjogW1wiSFwiXSxcblx0XCJORlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk5HXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTklcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJOTFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiTk9cIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiTlBcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk5SXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiTlVcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJOWlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIk9NXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiUEFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJQRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlBGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJQR1wiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJQSFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlBLXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJQTFwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJQTVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiUE5cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJQUlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcIlBTXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiUFRcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIlBXXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlBZXCI6IFtcblx0XHRcImhcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiUUFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJSRVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiUk9cIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIlJTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJSVVwiOiBbXCJIXCJdLFxuXHRcIlJXXCI6IFtcIkhcIiwgXCJoXCJdLFxuXHRcIlNBXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiU0JcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTQ1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU0RcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJTRVwiOiBbXCJIXCJdLFxuXHRcIlNHXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU0hcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTSVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiU0pcIjogW1wiSFwiXSxcblx0XCJTS1wiOiBbXCJIXCJdLFxuXHRcIlNMXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiU01cIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNOXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTT1wiOiBbXCJoXCIsIFwiSFwiXSxcblx0XCJTUlwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiU1NcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJTVFwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiU1ZcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJTWFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlNZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiU1pcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJUQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRDXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVERcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRGXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJUR1wiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwiVEhcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiVEpcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiVExcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJUTVwiOiBbXCJIXCIsIFwiaFwiXSxcblx0XCJUTlwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIlRPXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlRSXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJUVFwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlRXXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwiVFpcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJVQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiVUdcIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJVTVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlVTXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVVlcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJVWlwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiXG5cdF0sXG5cdFwiVkFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlZDXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVkVcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJWR1wiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiSFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlZJXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiVk5cIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiVlVcIjogW1wiaFwiLCBcIkhcIl0sXG5cdFwiV0ZcIjogW1wiSFwiLCBcImhCXCJdLFxuXHRcIldTXCI6IFtcImhcIiwgXCJIXCJdLFxuXHRcIlhLXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoXCJcblx0XSxcblx0XCJZRVwiOiBbXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIllUXCI6IFtcIkhcIiwgXCJoQlwiXSxcblx0XCJaQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcIlpNXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiWldcIjogW1wiSFwiLCBcImhcIl0sXG5cdFwiYWYtWkFcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJhci0wMDFcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJjYS1FU1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZW4tMDAxXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZW4tSEtcIjogW1xuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJlbi1JTFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImVuLU1ZXCI6IFtcblx0XHRcImhcIixcblx0XHRcImhiXCIsXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiZXMtQlJcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIixcblx0XHRcImhiXCJcblx0XSxcblx0XCJlcy1FU1wiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIlxuXHRdLFxuXHRcImVzLUdRXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiXG5cdF0sXG5cdFwiZnItQ0FcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImdsLUVTXCI6IFtcblx0XHRcIkhcIixcblx0XHRcImhcIixcblx0XHRcImhCXCJcblx0XSxcblx0XCJndS1JTlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcImhpLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJpdC1DSFwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJoQlwiXG5cdF0sXG5cdFwiaXQtSVRcIjogW1xuXHRcdFwiSFwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaEJcIlxuXHRdLFxuXHRcImtuLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJrdS1TWVwiOiBbXCJIXCIsIFwiaEJcIl0sXG5cdFwibWwtSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcIm1yLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoYlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiSFwiXG5cdF0sXG5cdFwicGEtSU5cIjogW1xuXHRcdFwiaEJcIixcblx0XHRcImhiXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJ0YS1JTlwiOiBbXG5cdFx0XCJoQlwiLFxuXHRcdFwiaFwiLFxuXHRcdFwiaGJcIixcblx0XHRcIkhcIlxuXHRdLFxuXHRcInRlLUlOXCI6IFtcblx0XHRcImhCXCIsXG5cdFx0XCJoXCIsXG5cdFx0XCJIXCJcblx0XSxcblx0XCJ6dS1aQVwiOiBbXG5cdFx0XCJIXCIsXG5cdFx0XCJoQlwiLFxuXHRcdFwiaGJcIixcblx0XHRcImhcIlxuXHRdXG59O1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js\n");
/***/ }),
/***/ "(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js":
/*!******************************************************************************************************************************!*\
!*** ./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js ***!
\******************************************************************************************************************************/
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SKELETON_TYPE: () => (/* binding */ SKELETON_TYPE),\n/* harmony export */ TYPE: () => (/* binding */ TYPE),\n/* harmony export */ createLiteralElement: () => (/* binding */ createLiteralElement),\n/* harmony export */ createNumberElement: () => (/* binding */ createNumberElement),\n/* harmony export */ isArgumentElement: () => (/* binding */ isArgumentElement),\n/* harmony export */ isDateElement: () => (/* binding */ isDateElement),\n/* harmony export */ isDateTimeSkeleton: () => (/* binding */ isDateTimeSkeleton),\n/* harmony export */ isLiteralElement: () => (/* binding */ isLiteralElement),\n/* harmony export */ isNumberElement: () => (/* binding */ isNumberElement),\n/* harmony export */ isNumberSkeleton: () => (/* binding */ isNumberSkeleton),\n/* harmony export */ isPluralElement: () => (/* binding */ isPluralElement),\n/* harmony export */ isPoundElement: () => (/* binding */ isPoundElement),\n/* harmony export */ isSelectElement: () => (/* binding */ isSelectElement),\n/* harmony export */ isTagElement: () => (/* binding */ isTagElement),\n/* harmony export */ isTimeElement: () => (/* binding */ isTimeElement)\n/* harmony export */ });\n/* harmony import */ var _formatjs_icu_skeleton_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @formatjs/icu-skeleton-parser */ \"(ssr)/./node_modules/.pnpm/@formatjs+icu-skeleton-parser@2.1.3/node_modules/@formatjs/icu-skeleton-parser/index.js\");\n\nlet TYPE = /* @__PURE__ */ function(TYPE) {\n\t/**\n\t* Raw text\n\t*/\n\tTYPE[TYPE[\"literal\"] = 0] = \"literal\";\n\t/**\n\t* Variable w/o any format, e.g `var` in `this is a {var}`\n\t*/\n\tTYPE[TYPE[\"argument\"] = 1] = \"argument\";\n\t/**\n\t* Variable w/ number format\n\t*/\n\tTYPE[TYPE[\"number\"] = 2] = \"number\";\n\t/**\n\t* Variable w/ date format\n\t*/\n\tTYPE[TYPE[\"date\"] = 3] = \"date\";\n\t/**\n\t* Variable w/ time format\n\t*/\n\tTYPE[TYPE[\"time\"] = 4] = \"time\";\n\t/**\n\t* Variable w/ select format\n\t*/\n\tTYPE[TYPE[\"select\"] = 5] = \"select\";\n\t/**\n\t* Variable w/ plural format\n\t*/\n\tTYPE[TYPE[\"plural\"] = 6] = \"plural\";\n\t/**\n\t* Only possible within plural argument.\n\t* This is the `#` symbol that will be substituted with the count.\n\t*/\n\tTYPE[TYPE[\"pound\"] = 7] = \"pound\";\n\t/**\n\t* XML-like tag\n\t*/\n\tTYPE[TYPE[\"tag\"] = 8] = \"tag\";\n\treturn TYPE;\n}({});\nlet SKELETON_TYPE = /* @__PURE__ */ function(SKELETON_TYPE) {\n\tSKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n\tSKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n\treturn SKELETON_TYPE;\n}({});\n/**\n* Type Guards\n*/\nfunction isLiteralElement(el) {\n\treturn el.type === TYPE.literal;\n}\nfunction isArgumentElement(el) {\n\treturn el.type === TYPE.argument;\n}\nfunction isNumberElement(el) {\n\treturn el.type === TYPE.number;\n}\nfunction isDateElement(el) {\n\treturn el.type === TYPE.date;\n}\nfunction isTimeElement(el) {\n\treturn el.type === TYPE.time;\n}\nfunction isSelectElement(el) {\n\treturn el.type === TYPE.select;\n}\nfunction isPluralElement(el) {\n\treturn el.type === TYPE.plural;\n}\nfunction isPoundElement(el) {\n\treturn el.type === TYPE.pound;\n}\nfunction isTagElement(el) {\n\treturn el.type === TYPE.tag;\n}\nfunction isNumberSkeleton(el) {\n\treturn !!(el && typeof el === \"object\" && el.type === SKELETON_TYPE.number);\n}\nfunction isDateTimeSkeleton(el) {\n\treturn !!(el && typeof el === \"object\" && el.type === SKELETON_TYPE.dateTime);\n}\nfunction createLiteralElement(value) {\n\treturn {\n\t\ttype: TYPE.literal,\n\t\tvalue\n\t};\n}\nfunction createNumberElement(value, style) {\n\treturn {\n\t\ttype: TYPE.number,\n\t\tvalue,\n\t\tstyle\n\t};\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvLnBucG0vQGZvcm1hdGpzK2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlckAzLjUuMy9ub2RlX21vZHVsZXMvQGZvcm1hdGpzL2ljdS1tZXNzYWdlZm9ybWF0LXBhcnNlci90eXBlcy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQXVDO0FBQ2hDO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRCxJQUFJO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEdBQUc7QUFDRztBQUNQO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRztBQUNKO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyIvVXNlcnMvbWFyY21pbnRlbC9Qcm9qZWN0cy9lLXRpYi5jb20vbm9kZV9tb2R1bGVzLy5wbnBtL0Bmb3JtYXRqcytpY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXJAMy41LjMvbm9kZV9tb2R1bGVzL0Bmb3JtYXRqcy9pY3UtbWVzc2FnZWZvcm1hdC1wYXJzZXIvdHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiQGZvcm1hdGpzL2ljdS1za2VsZXRvbi1wYXJzZXJcIjtcbmV4cG9ydCBsZXQgVFlQRSA9IC8qIEBfX1BVUkVfXyAqLyBmdW5jdGlvbihUWVBFKSB7XG5cdC8qKlxuXHQqIFJhdyB0ZXh0XG5cdCovXG5cdFRZUEVbVFlQRVtcImxpdGVyYWxcIl0gPSAwXSA9IFwibGl0ZXJhbFwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3L28gYW55IGZvcm1hdCwgZS5nIGB2YXJgIGluIGB0aGlzIGlzIGEge3Zhcn1gXG5cdCovXG5cdFRZUEVbVFlQRVtcImFyZ3VtZW50XCJdID0gMV0gPSBcImFyZ3VtZW50XCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvIG51bWJlciBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1wibnVtYmVyXCJdID0gMl0gPSBcIm51bWJlclwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3LyBkYXRlIGZvcm1hdFxuXHQqL1xuXHRUWVBFW1RZUEVbXCJkYXRlXCJdID0gM10gPSBcImRhdGVcIjtcblx0LyoqXG5cdCogVmFyaWFibGUgdy8gdGltZSBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1widGltZVwiXSA9IDRdID0gXCJ0aW1lXCI7XG5cdC8qKlxuXHQqIFZhcmlhYmxlIHcvIHNlbGVjdCBmb3JtYXRcblx0Ki9cblx0VFlQRVtUWVBFW1wic2VsZWN0XCJdID0gNV0gPSBcInNlbGVjdFwiO1xuXHQvKipcblx0KiBWYXJpYWJsZSB3LyBwbHVyYWwgZm9ybWF0XG5cdCovXG5cdFRZUEVbVFlQRVtcInBsdXJhbFwiXSA9IDZdID0gXCJwbHVyYWxcIjtcblx0LyoqXG5cdCogT25seSBwb3NzaWJsZSB3aXRoaW4gcGx1cmFsIGFyZ3VtZW50LlxuXHQqIFRoaXMgaXMgdGhlIGAjYCBzeW1ib2wgdGhhdCB3aWxsIGJlIHN1YnN0aXR1dGVkIHdpdGggdGhlIGNvdW50LlxuXHQqL1xuXHRUWVBFW1RZUEVbXCJwb3VuZFwiXSA9IDddID0gXCJwb3VuZFwiO1xuXHQvKipcblx0KiBYTUwtbGlrZSB0YWdcblx0Ki9cblx0VFlQRVtUWVBFW1widGFnXCJdID0gOF0gPSBcInRhZ1wiO1xuXHRyZXR1cm4gVFlQRTtcbn0oe30pO1xuZXhwb3J0IGxldCBTS0VMRVRPTl9UWVBFID0gLyogQF9fUFVSRV9fICovIGZ1bmN0aW9uKFNLRUxFVE9OX1RZUEUpIHtcblx0U0tFTEVUT05fVFlQRVtTS0VMRVRPTl9UWVBFW1wibnVtYmVyXCJdID0gMF0gPSBcIm51bWJlclwiO1xuXHRTS0VMRVRPTl9UWVBFW1NLRUxFVE9OX1RZUEVbXCJkYXRlVGltZVwiXSA9IDFdID0gXCJkYXRlVGltZVwiO1xuXHRyZXR1cm4gU0tFTEVUT05fVFlQRTtcbn0oe30pO1xuLyoqXG4qIFR5cGUgR3VhcmRzXG4qL1xuZXhwb3J0IGZ1bmN0aW9uIGlzTGl0ZXJhbEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUubGl0ZXJhbDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0FyZ3VtZW50RWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS5hcmd1bWVudDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlckVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUubnVtYmVyO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF0ZUVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUuZGF0ZTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1RpbWVFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnRpbWU7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnNlbGVjdDtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1BsdXJhbEVsZW1lbnQoZWwpIHtcblx0cmV0dXJuIGVsLnR5cGUgPT09IFRZUEUucGx1cmFsO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzUG91bmRFbGVtZW50KGVsKSB7XG5cdHJldHVybiBlbC50eXBlID09PSBUWVBFLnBvdW5kO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVGFnRWxlbWVudChlbCkge1xuXHRyZXR1cm4gZWwudHlwZSA9PT0gVFlQRS50YWc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNOdW1iZXJTa2VsZXRvbihlbCkge1xuXHRyZXR1cm4gISEoZWwgJiYgdHlwZW9mIGVsID09PSBcIm9iamVjdFwiICYmIGVsLnR5cGUgPT09IFNLRUxFVE9OX1RZUEUubnVtYmVyKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGVUaW1lU2tlbGV0b24oZWwpIHtcblx0cmV0dXJuICEhKGVsICYmIHR5cGVvZiBlbCA9PT0gXCJvYmplY3RcIiAmJiBlbC50eXBlID09PSBTS0VMRVRPTl9UWVBFLmRhdGVUaW1lKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaXRlcmFsRWxlbWVudCh2YWx1ZSkge1xuXHRyZXR1cm4ge1xuXHRcdHR5cGU6IFRZUEUubGl0ZXJhbCxcblx0XHR2YWx1ZVxuXHR9O1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU51bWJlckVsZW1lbnQodmFsdWUsIHN0eWxlKSB7XG5cdHJldHVybiB7XG5cdFx0dHlwZTogVFlQRS5udW1iZXIsXG5cdFx0dmFsdWUsXG5cdFx0c3R5bGVcblx0fTtcbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/.pnpm/@formatjs+icu-messageformat-parser@3.5.3/node_modules/@formatjs/icu-messageformat-parser/types.js\n");
/***/ })
};
;