@pinerohit11/testwidget 0.1.10 → 0.1.11
Sign up to get free protection for your applications and to get access to all the features.
- package/.next/cache/webpack/client-development/0.pack.gz +0 -0
- package/.next/cache/webpack/client-development/1.pack.gz +0 -0
- package/.next/cache/webpack/client-development/10.pack.gz +0 -0
- package/.next/cache/webpack/client-development/2.pack.gz +0 -0
- package/.next/cache/webpack/client-development/3.pack.gz +0 -0
- package/.next/cache/webpack/client-development/4.pack.gz +0 -0
- package/.next/cache/webpack/client-development/5.pack.gz +0 -0
- package/.next/cache/webpack/client-development/6.pack.gz +0 -0
- package/.next/cache/webpack/client-development/index.pack.gz +0 -0
- package/.next/cache/webpack/client-development/index.pack.gz.old +0 -0
- package/.next/cache/webpack/server-development/0.pack.gz +0 -0
- package/.next/cache/webpack/server-development/1.pack.gz +0 -0
- package/.next/cache/webpack/server-development/10.pack.gz +0 -0
- package/.next/cache/webpack/server-development/11.pack.gz +0 -0
- package/.next/cache/webpack/server-development/12.pack.gz +0 -0
- package/.next/cache/webpack/server-development/13.pack.gz +0 -0
- package/.next/cache/webpack/server-development/3.pack.gz +0 -0
- package/.next/cache/webpack/server-development/6.pack.gz +0 -0
- package/.next/cache/webpack/server-development/7.pack.gz +0 -0
- package/.next/cache/webpack/server-development/9.pack.gz +0 -0
- package/.next/cache/webpack/server-development/index.pack.gz +0 -0
- package/.next/cache/webpack/server-development/index.pack.gz.old +0 -0
- package/.next/server/vendor-chunks/next.js +5 -5
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/chunks/app/layout.js +3 -3
- package/.next/static/chunks/app-pages-internals.js +1 -1
- package/.next/static/chunks/main-app.js +5 -5
- package/.next/static/chunks/webpack.js +1 -1
- package/.next/static/webpack/app/{layout.2d35c83f0037d0e3.hot-update.js → layout.5ff03b504f4dc152.hot-update.js} +2 -2
- package/.next/static/webpack/app/{layout.eabe83a6bd680d72.hot-update.js → layout.e1d7a6f7992b7b70.hot-update.js} +2 -2
- package/.next/static/webpack/{webpack.1f1fe21203e4c68b.hot-update.js → webpack.5ff03b504f4dc152.hot-update.js} +1 -1
- package/.next/static/webpack/{webpack.213fdb98a15e3455.hot-update.js → webpack.e1d7a6f7992b7b70.hot-update.js} +1 -1
- package/.next/trace +14 -116
- package/dist/{index.mjs → index.cjs} +75 -41
- package/dist/index.js +41 -75
- package/package.json +4 -3
- package/.next/static/webpack/0463e0d10a76f0e1.webpack.hot-update.json +0 -1
- package/.next/static/webpack/14eb1ee43b84ca5f.webpack.hot-update.json +0 -1
- package/.next/static/webpack/1f1fe21203e4c68b.webpack.hot-update.json +0 -1
- package/.next/static/webpack/213fdb98a15e3455.webpack.hot-update.json +0 -1
- package/.next/static/webpack/255aea9c6475b746.webpack.hot-update.json +0 -1
- package/.next/static/webpack/309e2d9634152b60.webpack.hot-update.json +0 -1
- package/.next/static/webpack/329e12e211658503.webpack.hot-update.json +0 -1
- package/.next/static/webpack/456a8cdc4e32bb1b.webpack.hot-update.json +0 -1
- package/.next/static/webpack/4a9375b8e793c38e.webpack.hot-update.json +0 -1
- package/.next/static/webpack/500c5340fb4c6cd5.webpack.hot-update.json +0 -1
- package/.next/static/webpack/5031cfaa2d3d892d.webpack.hot-update.json +0 -1
- package/.next/static/webpack/51f0e2a03e8d18a6.webpack.hot-update.json +0 -1
- package/.next/static/webpack/5ad56258b0e90bef.webpack.hot-update.json +0 -1
- package/.next/static/webpack/5c7e83ae2adb882e.webpack.hot-update.json +0 -1
- package/.next/static/webpack/5c8dada5acec56f7.webpack.hot-update.json +0 -1
- package/.next/static/webpack/5e709b5694e5ad26.webpack.hot-update.json +0 -1
- package/.next/static/webpack/6246449706d4b449.webpack.hot-update.json +0 -1
- package/.next/static/webpack/6498563004a57942.webpack.hot-update.json +0 -1
- package/.next/static/webpack/65c43818d6f690fe.webpack.hot-update.json +0 -1
- package/.next/static/webpack/681ce36f0645d689.webpack.hot-update.json +0 -1
- package/.next/static/webpack/6f00711e3d258954.webpack.hot-update.json +0 -1
- package/.next/static/webpack/81f6646c28a82804.webpack.hot-update.json +0 -1
- package/.next/static/webpack/8522f92ca02de0c8.webpack.hot-update.json +0 -1
- package/.next/static/webpack/8894e91a6b3fd5cb.webpack.hot-update.json +0 -1
- package/.next/static/webpack/893ddc36c19de1ea.webpack.hot-update.json +0 -1
- package/.next/static/webpack/896c5501cdf537b3.webpack.hot-update.json +0 -1
- package/.next/static/webpack/8cc442b31ec27e60.webpack.hot-update.json +0 -1
- package/.next/static/webpack/8ed684f639abe58b.webpack.hot-update.json +0 -1
- package/.next/static/webpack/97615cc2d368fba4.webpack.hot-update.json +0 -1
- package/.next/static/webpack/9775f51aeb80d3b2.webpack.hot-update.json +0 -1
- package/.next/static/webpack/9bbf208246a2eebb.webpack.hot-update.json +0 -1
- package/.next/static/webpack/a74f1afad4b7a8a2.webpack.hot-update.json +0 -1
- package/.next/static/webpack/aed2ae614f6605ed.webpack.hot-update.json +0 -1
- package/.next/static/webpack/app/layout.228b69a2a9a20202.hot-update.js +0 -22
- package/.next/static/webpack/app/layout.456a8cdc4e32bb1b.hot-update.js +0 -22
- package/.next/static/webpack/app/layout.8894e91a6b3fd5cb.hot-update.js +0 -22
- package/.next/static/webpack/app/layout.a74f1afad4b7a8a2.hot-update.js +0 -98
- package/.next/static/webpack/app/layout.bb4485d5c54b0ed1.hot-update.js +0 -22
- package/.next/static/webpack/app/layout.e5533e94660e066c.hot-update.js +0 -31
- package/.next/static/webpack/app/layout.f3f79b681eb03ce7.hot-update.js +0 -22
- package/.next/static/webpack/app/page.0463e0d10a76f0e1.hot-update.js +0 -22
- package/.next/static/webpack/app/page.14eb1ee43b84ca5f.hot-update.js +0 -22
- package/.next/static/webpack/app/page.1f1fe21203e4c68b.hot-update.js +0 -21
- package/.next/static/webpack/app/page.213fdb98a15e3455.hot-update.js +0 -22
- package/.next/static/webpack/app/page.255aea9c6475b746.hot-update.js +0 -22
- package/.next/static/webpack/app/page.309e2d9634152b60.hot-update.js +0 -22
- package/.next/static/webpack/app/page.329e12e211658503.hot-update.js +0 -22
- package/.next/static/webpack/app/page.4a9375b8e793c38e.hot-update.js +0 -22
- package/.next/static/webpack/app/page.500c5340fb4c6cd5.hot-update.js +0 -22
- package/.next/static/webpack/app/page.5031cfaa2d3d892d.hot-update.js +0 -22
- package/.next/static/webpack/app/page.51f0e2a03e8d18a6.hot-update.js +0 -22
- package/.next/static/webpack/app/page.5ad56258b0e90bef.hot-update.js +0 -22
- package/.next/static/webpack/app/page.5c7e83ae2adb882e.hot-update.js +0 -22
- package/.next/static/webpack/app/page.5c8dada5acec56f7.hot-update.js +0 -22
- package/.next/static/webpack/app/page.5e709b5694e5ad26.hot-update.js +0 -22
- package/.next/static/webpack/app/page.6246449706d4b449.hot-update.js +0 -22
- package/.next/static/webpack/app/page.6498563004a57942.hot-update.js +0 -22
- package/.next/static/webpack/app/page.65c43818d6f690fe.hot-update.js +0 -22
- package/.next/static/webpack/app/page.681ce36f0645d689.hot-update.js +0 -22
- package/.next/static/webpack/app/page.6f00711e3d258954.hot-update.js +0 -22
- package/.next/static/webpack/app/page.81f6646c28a82804.hot-update.js +0 -22
- package/.next/static/webpack/app/page.8522f92ca02de0c8.hot-update.js +0 -54
- package/.next/static/webpack/app/page.893ddc36c19de1ea.hot-update.js +0 -22
- package/.next/static/webpack/app/page.896c5501cdf537b3.hot-update.js +0 -22
- package/.next/static/webpack/app/page.8cc442b31ec27e60.hot-update.js +0 -22
- package/.next/static/webpack/app/page.8ed684f639abe58b.hot-update.js +0 -603
- package/.next/static/webpack/app/page.97615cc2d368fba4.hot-update.js +0 -22
- package/.next/static/webpack/app/page.9775f51aeb80d3b2.hot-update.js +0 -22
- package/.next/static/webpack/app/page.9bbf208246a2eebb.hot-update.js +0 -22
- package/.next/static/webpack/app/page.aed2ae614f6605ed.hot-update.js +0 -22
- package/.next/static/webpack/app/page.b4b25d4db23dbc5a.hot-update.js +0 -22
- package/.next/static/webpack/app/page.b728482f9b82d921.hot-update.js +0 -571
- package/.next/static/webpack/app/page.b7a42026022db1f3.hot-update.js +0 -22
- package/.next/static/webpack/app/page.b90118a4d57e76ad.hot-update.js +0 -54
- package/.next/static/webpack/app/page.c0a3bb4128bc91cb.hot-update.js +0 -22
- package/.next/static/webpack/app/page.c5880161e6d8c38b.hot-update.js +0 -22
- package/.next/static/webpack/app/page.c91faac87e6e5e7d.hot-update.js +0 -21
- package/.next/static/webpack/app/page.cb281b61855d3afc.hot-update.js +0 -22
- package/.next/static/webpack/app/page.cc723ec7106788b2.hot-update.js +0 -22
- package/.next/static/webpack/app/page.d00ead7a6d6dd27a.hot-update.js +0 -22
- package/.next/static/webpack/app/page.d5492b6ce3aff19a.hot-update.js +0 -22
- package/.next/static/webpack/app/page.e1a0b7850e69b555.hot-update.js +0 -22
- package/.next/static/webpack/app/page.e6094793daace46f.hot-update.js +0 -22
- package/.next/static/webpack/app/page.ef9190246958611b.hot-update.js +0 -22
- package/.next/static/webpack/b4b25d4db23dbc5a.webpack.hot-update.json +0 -1
- package/.next/static/webpack/b728482f9b82d921.webpack.hot-update.json +0 -1
- package/.next/static/webpack/b7a42026022db1f3.webpack.hot-update.json +0 -1
- package/.next/static/webpack/b90118a4d57e76ad.webpack.hot-update.json +0 -1
- package/.next/static/webpack/bb4485d5c54b0ed1.webpack.hot-update.json +0 -1
- package/.next/static/webpack/c0a3bb4128bc91cb.webpack.hot-update.json +0 -1
- package/.next/static/webpack/c5880161e6d8c38b.webpack.hot-update.json +0 -1
- package/.next/static/webpack/c91faac87e6e5e7d.webpack.hot-update.json +0 -1
- package/.next/static/webpack/cb281b61855d3afc.webpack.hot-update.json +0 -1
- package/.next/static/webpack/cc723ec7106788b2.webpack.hot-update.json +0 -1
- package/.next/static/webpack/d00ead7a6d6dd27a.webpack.hot-update.json +0 -1
- package/.next/static/webpack/d5492b6ce3aff19a.webpack.hot-update.json +0 -1
- package/.next/static/webpack/e1a0b7850e69b555.webpack.hot-update.json +0 -1
- package/.next/static/webpack/e5533e94660e066c.webpack.hot-update.json +0 -1
- package/.next/static/webpack/e6094793daace46f.webpack.hot-update.json +0 -1
- package/.next/static/webpack/eabe83a6bd680d72.webpack.hot-update.json +0 -1
- package/.next/static/webpack/ef9190246958611b.webpack.hot-update.json +0 -1
- package/.next/static/webpack/f3f79b681eb03ce7.webpack.hot-update.json +0 -1
- package/.next/static/webpack/webpack.0463e0d10a76f0e1.hot-update.js +0 -18
- package/.next/static/webpack/webpack.14eb1ee43b84ca5f.hot-update.js +0 -18
- package/.next/static/webpack/webpack.228b69a2a9a20202.hot-update.js +0 -18
- package/.next/static/webpack/webpack.255aea9c6475b746.hot-update.js +0 -18
- package/.next/static/webpack/webpack.2d35c83f0037d0e3.hot-update.js +0 -18
- package/.next/static/webpack/webpack.309e2d9634152b60.hot-update.js +0 -18
- package/.next/static/webpack/webpack.329e12e211658503.hot-update.js +0 -18
- package/.next/static/webpack/webpack.456a8cdc4e32bb1b.hot-update.js +0 -18
- package/.next/static/webpack/webpack.4a9375b8e793c38e.hot-update.js +0 -18
- package/.next/static/webpack/webpack.500c5340fb4c6cd5.hot-update.js +0 -18
- package/.next/static/webpack/webpack.5031cfaa2d3d892d.hot-update.js +0 -18
- package/.next/static/webpack/webpack.51f0e2a03e8d18a6.hot-update.js +0 -18
- package/.next/static/webpack/webpack.5ad56258b0e90bef.hot-update.js +0 -18
- package/.next/static/webpack/webpack.5c7e83ae2adb882e.hot-update.js +0 -18
- package/.next/static/webpack/webpack.5c8dada5acec56f7.hot-update.js +0 -18
- package/.next/static/webpack/webpack.5e709b5694e5ad26.hot-update.js +0 -18
- package/.next/static/webpack/webpack.6246449706d4b449.hot-update.js +0 -18
- package/.next/static/webpack/webpack.6498563004a57942.hot-update.js +0 -18
- package/.next/static/webpack/webpack.65c43818d6f690fe.hot-update.js +0 -18
- package/.next/static/webpack/webpack.681ce36f0645d689.hot-update.js +0 -18
- package/.next/static/webpack/webpack.6f00711e3d258954.hot-update.js +0 -18
- package/.next/static/webpack/webpack.81f6646c28a82804.hot-update.js +0 -18
- package/.next/static/webpack/webpack.8522f92ca02de0c8.hot-update.js +0 -30
- package/.next/static/webpack/webpack.8894e91a6b3fd5cb.hot-update.js +0 -18
- package/.next/static/webpack/webpack.893ddc36c19de1ea.hot-update.js +0 -18
- package/.next/static/webpack/webpack.896c5501cdf537b3.hot-update.js +0 -18
- package/.next/static/webpack/webpack.8cc442b31ec27e60.hot-update.js +0 -18
- package/.next/static/webpack/webpack.8ed684f639abe58b.hot-update.js +0 -18
- package/.next/static/webpack/webpack.97615cc2d368fba4.hot-update.js +0 -18
- package/.next/static/webpack/webpack.9775f51aeb80d3b2.hot-update.js +0 -18
- package/.next/static/webpack/webpack.9bbf208246a2eebb.hot-update.js +0 -18
- package/.next/static/webpack/webpack.a74f1afad4b7a8a2.hot-update.js +0 -18
- package/.next/static/webpack/webpack.aed2ae614f6605ed.hot-update.js +0 -18
- package/.next/static/webpack/webpack.b4b25d4db23dbc5a.hot-update.js +0 -18
- package/.next/static/webpack/webpack.b728482f9b82d921.hot-update.js +0 -18
- package/.next/static/webpack/webpack.b7a42026022db1f3.hot-update.js +0 -18
- package/.next/static/webpack/webpack.b90118a4d57e76ad.hot-update.js +0 -30
- package/.next/static/webpack/webpack.bb4485d5c54b0ed1.hot-update.js +0 -18
- package/.next/static/webpack/webpack.c0a3bb4128bc91cb.hot-update.js +0 -18
- package/.next/static/webpack/webpack.c5880161e6d8c38b.hot-update.js +0 -18
- package/.next/static/webpack/webpack.c91faac87e6e5e7d.hot-update.js +0 -18
- package/.next/static/webpack/webpack.cb281b61855d3afc.hot-update.js +0 -18
- package/.next/static/webpack/webpack.cc723ec7106788b2.hot-update.js +0 -18
- package/.next/static/webpack/webpack.d00ead7a6d6dd27a.hot-update.js +0 -18
- package/.next/static/webpack/webpack.d5492b6ce3aff19a.hot-update.js +0 -18
- package/.next/static/webpack/webpack.e1a0b7850e69b555.hot-update.js +0 -18
- package/.next/static/webpack/webpack.e5533e94660e066c.hot-update.js +0 -18
- package/.next/static/webpack/webpack.e6094793daace46f.hot-update.js +0 -18
- package/.next/static/webpack/webpack.eabe83a6bd680d72.hot-update.js +0 -18
- package/.next/static/webpack/webpack.ef9190246958611b.hot-update.js +0 -18
- package/.next/static/webpack/webpack.f3f79b681eb03ce7.hot-update.js +0 -18
- package/.vscode/settings.json +0 -22
- /package/.next/static/webpack/{228b69a2a9a20202.webpack.hot-update.json → 5ff03b504f4dc152.webpack.hot-update.json} +0 -0
- /package/.next/static/webpack/{2d35c83f0037d0e3.webpack.hot-update.json → e1d7a6f7992b7b70.webpack.hot-update.json} +0 -0
- /package/dist/{index.d.mts → index.d.cts} +0 -0
@@ -1,22 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
/*
|
3
|
-
* ATTENTION: An "eval-source-map" devtool has been used.
|
4
|
-
* This devtool is neither made for production nor for readable output files.
|
5
|
-
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
6
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
7
|
-
* or disable the default devtool with "devtool: false".
|
8
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
9
|
-
*/
|
10
|
-
self["webpackHotUpdate_N_E"]("app/page",{
|
11
|
-
|
12
|
-
/***/ "(app-pages-browser)/./src/app/components/Greet.tsx":
|
13
|
-
/*!**************************************!*\
|
14
|
-
!*** ./src/app/components/Greet.tsx ***!
|
15
|
-
\**************************************/
|
16
|
-
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
17
|
-
|
18
|
-
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PaywithFractal: () => (/* binding */ PaywithFractal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ PaywithFractal auto */ \nvar _s = $RefreshSig$();\n\nfunction PaywithFractal(param) {\n let { name } = param;\n _s();\n const baseUrl = 'http://192.168.1.52:8082/';\n const masterBaseUrl = 'http://192.168.1.52:8081/';\n const fractalPayClientKey = \"575c92493eaef4f0ab2ad6efe0bcbbec\";\n console.log(name, \"name\");\n const [dcToken, setDcToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const [toggleQr, setToggleQr] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [formData, setFormData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n name: 'John Doe',\n card_number: '4761 7310 0000 0043',\n exp_month: '12',\n exp_year: '2024',\n cvv: '201',\n zip: ''\n });\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const handlePay = ()=>{\n console.log(\"pay\", name, baseUrl, masterBaseUrl);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handlePay,\n children: \"Pay\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\Pinesucceed\\\\Desktop\\\\WorkSpace\\\\testwidget\\\\src\\\\app\\\\components\\\\Greet.tsx\",\n lineNumber: 29,\n columnNumber: 9\n }, this);\n}\n_s(PaywithFractal, \"8ZwUlc1OHosJaAASZzverdOXVGQ=\");\n_c = PaywithFractal;\nvar _c;\n$RefreshReg$(_c, \"PaywithFractal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvY29tcG9uZW50cy9HcmVldC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3dDO0FBRWpDLFNBQVNFLGVBQWUsS0FBMEI7UUFBMUIsRUFBRUMsSUFBSSxFQUFvQixHQUExQjs7SUFFM0IsTUFBTUMsVUFBVTtJQUNoQixNQUFNQyxnQkFBZ0I7SUFDdEIsTUFBTUMsc0JBQXNCO0lBQzVCQyxRQUFRQyxHQUFHLENBQUNMLE1BQU07SUFFbEIsTUFBTSxDQUFDTSxTQUFTQyxXQUFXLEdBQUdULCtDQUFRQSxDQUFnQjtJQUN0RCxNQUFNLENBQUNVLE9BQU9DLFNBQVMsR0FBR1gsK0NBQVFBLENBQVEsQ0FBQztJQUMzQyxNQUFNLENBQUNZLFVBQVVDLFlBQVksR0FBR2IsK0NBQVFBLENBQVU7SUFDbEQsTUFBTSxDQUFDYyxVQUFVQyxZQUFZLEdBQUdmLCtDQUFRQSxDQUFXO1FBQ2pERSxNQUFNO1FBQ05jLGFBQWE7UUFDYkMsV0FBVztRQUNYQyxVQUFVO1FBQ1ZDLEtBQUs7UUFDTEMsS0FBSztJQUNQO0lBQ0EsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUd0QiwrQ0FBUUEsQ0FBVTtJQUVoRCxNQUFNdUIsWUFBWTtRQUNkakIsUUFBUUMsR0FBRyxDQUFDLE9BQU9MLE1BQU1DLFNBQVNDO0lBQ3RDO0lBRUEscUJBQ0ksOERBQUNvQjtRQUFPQyxTQUFTRjtrQkFBVzs7Ozs7O0FBSXBDO0dBN0JnQnRCO0tBQUFBIiwic291cmNlcyI6WyJDOlxcVXNlcnNcXFBpbmVzdWNjZWVkXFxEZXNrdG9wXFxXb3JrU3BhY2VcXHRlc3R3aWRnZXRcXHNyY1xcYXBwXFxjb21wb25lbnRzXFxHcmVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXHJcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFBheXdpdGhGcmFjdGFsKHsgbmFtZSB9OiB7IG5hbWU6IHN0cmluZyB9KSB7XHJcblxyXG4gICAgY29uc3QgYmFzZVVybCA9ICdodHRwOi8vMTkyLjE2OC4xLjUyOjgwODIvJ1xyXG4gICAgY29uc3QgbWFzdGVyQmFzZVVybCA9ICdodHRwOi8vMTkyLjE2OC4xLjUyOjgwODEvJ1xyXG4gICAgY29uc3QgZnJhY3RhbFBheUNsaWVudEtleSA9IFwiNTc1YzkyNDkzZWFlZjRmMGFiMmFkNmVmZTBiY2JiZWNcIjtcclxuICAgIGNvbnNvbGUubG9nKG5hbWUsIFwibmFtZVwiKTtcclxuXHJcbiAgICBjb25zdCBbZGNUb2tlbiwgc2V0RGNUb2tlbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8RXJyb3I+KHt9KTtcclxuICAgIGNvbnN0IFt0b2dnbGVRciwgc2V0VG9nZ2xlUXJdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgY29uc3QgW2Zvcm1EYXRhLCBzZXRGb3JtRGF0YV0gPSB1c2VTdGF0ZTxGb3JtRGF0YT4oe1xyXG4gICAgICBuYW1lOiAnSm9obiBEb2UnLFxyXG4gICAgICBjYXJkX251bWJlcjogJzQ3NjEgNzMxMCAwMDAwIDAwNDMnLFxyXG4gICAgICBleHBfbW9udGg6ICcxMicsXHJcbiAgICAgIGV4cF95ZWFyOiAnMjAyNCcsXHJcbiAgICAgIGN2djogJzIwMScsXHJcbiAgICAgIHppcDogJycsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBjb25zdCBoYW5kbGVQYXkgPSAoKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJwYXlcIiwgbmFtZSwgYmFzZVVybCwgbWFzdGVyQmFzZVVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVBheX0+XHJcbiAgICAgICAgICAgIFBheVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgKTtcclxufSJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwiUGF5d2l0aEZyYWN0YWwiLCJuYW1lIiwiYmFzZVVybCIsIm1hc3RlckJhc2VVcmwiLCJmcmFjdGFsUGF5Q2xpZW50S2V5IiwiY29uc29sZSIsImxvZyIsImRjVG9rZW4iLCJzZXREY1Rva2VuIiwiZXJyb3IiLCJzZXRFcnJvciIsInRvZ2dsZVFyIiwic2V0VG9nZ2xlUXIiLCJmb3JtRGF0YSIsInNldEZvcm1EYXRhIiwiY2FyZF9udW1iZXIiLCJleHBfbW9udGgiLCJleHBfeWVhciIsImN2diIsInppcCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiaGFuZGxlUGF5IiwiYnV0dG9uIiwib25DbGljayJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/components/Greet.tsx\n"));
|
19
|
-
|
20
|
-
/***/ })
|
21
|
-
|
22
|
-
});
|
@@ -1,54 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* ATTENTION: An "eval-source-map" devtool has been used.
|
3
|
-
* This devtool is neither made for production nor for readable output files.
|
4
|
-
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
5
|
-
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
6
|
-
* or disable the default devtool with "devtool: false".
|
7
|
-
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
8
|
-
*/
|
9
|
-
self["webpackHotUpdate_N_E"]("app/page",{
|
10
|
-
|
11
|
-
/***/ "(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CPinesucceed%5C%5CDesktop%5C%5CWorkSpace%5C%5Ctestwidget%5C%5Csrc%5C%5Capp%5C%5Ccomponents%5C%5CGreet.tsx%22%2C%22ids%22%3A%5B%22PaywithFractal%22%5D%7D&server=false!":
|
12
|
-
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************!*\
|
13
|
-
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CPinesucceed%5C%5CDesktop%5C%5CWorkSpace%5C%5Ctestwidget%5C%5Csrc%5C%5Capp%5C%5Ccomponents%5C%5CGreet.tsx%22%2C%22ids%22%3A%5B%22PaywithFractal%22%5D%7D&server=false! ***!
|
14
|
-
\******************************************************************************************************************************************************************************************************************************************************************************************************************/
|
15
|
-
/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
|
16
|
-
|
17
|
-
eval(__webpack_require__.ts("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./src/app/components/Greet.tsx */ \"(app-pages-browser)/./src/app/components/Greet.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWNsaWVudC1lbnRyeS1sb2FkZXIuanM/bW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyQyUzQSU1QyU1Q1VzZXJzJTVDJTVDUGluZXN1Y2NlZWQlNUMlNUNEZXNrdG9wJTVDJTVDV29ya1NwYWNlJTVDJTVDdGVzdHdpZGdldCU1QyU1Q3NyYyU1QyU1Q2FwcCU1QyU1Q2NvbXBvbmVudHMlNUMlNUNHcmVldC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJQYXl3aXRoRnJhY3RhbCUyMiU1RCU3RCZzZXJ2ZXI9ZmFsc2UhIiwibWFwcGluZ3MiOiJBQUFBLHNMQUFnSyIsInNvdXJjZXMiOlsiIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiUGF5d2l0aEZyYWN0YWxcIl0gKi8gXCJDOlxcXFxVc2Vyc1xcXFxQaW5lc3VjY2VlZFxcXFxEZXNrdG9wXFxcXFdvcmtTcGFjZVxcXFx0ZXN0d2lkZ2V0XFxcXHNyY1xcXFxhcHBcXFxcY29tcG9uZW50c1xcXFxHcmVldC50c3hcIik7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22C%3A%5C%5CUsers%5C%5CPinesucceed%5C%5CDesktop%5C%5CWorkSpace%5C%5Ctestwidget%5C%5Csrc%5C%5Capp%5C%5Ccomponents%5C%5CGreet.tsx%22%2C%22ids%22%3A%5B%22PaywithFractal%22%5D%7D&server=false!\n"));
|
18
|
-
|
19
|
-
/***/ }),
|
20
|
-
|
21
|
-
/***/ "(app-pages-browser)/./src/app/components/Greet.tsx":
|
22
|
-
/*!**************************************!*\
|
23
|
-
!*** ./src/app/components/Greet.tsx ***!
|
24
|
-
\**************************************/
|
25
|
-
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
26
|
-
|
27
|
-
"use strict";
|
28
|
-
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ PaywithFractal: () => (/* binding */ PaywithFractal)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ PaywithFractal auto */ \nvar _s = $RefreshSig$();\n\nfunction PaywithFractal(param) {\n let { name } = param;\n _s();\n const baseUrl = 'http://192.168.1.52:8082/';\n const masterBaseUrl = 'http://192.168.1.52:8081/';\n const fractalPayClientKey = \"575c92493eaef4f0ab2ad6efe0bcbbec\";\n console.log(name, \"name\");\n const [dcToken, setDcToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({});\n const [toggleQr, setToggleQr] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [formData, setFormData] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)({\n name: 'John Doe',\n card_number: '4761 7310 0000 0043',\n exp_month: '12',\n exp_year: '2024',\n cvv: '201',\n zip: ''\n });\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const handleSubmit = async (e)=>{\n e.preventDefault();\n const data = {\n description: \"widget payment\",\n amount: formData.amount || \"1.00\",\n phone_number: \"1234567908\",\n zip: formData.zip,\n orderId: orderId || \"\",\n fractalpayPublicKey: fractalPayClientKey\n };\n if (Object.keys(error).length < 1) {\n try {\n var _res_data;\n setLoading(true);\n const res = await axios.post(\"\".concat(baseUrl, \"create-widget-order\"), data, {\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n if (res.data && ((_res_data = res.data) === null || _res_data === void 0 ? void 0 : _res_data.result)) {\n var _res_data1, _res_data_data, _res_data2, _res_data_data1, _res_data3;\n console.log(\"token\", (_res_data1 = res.data) === null || _res_data1 === void 0 ? void 0 : _res_data1.data);\n setDcToken((_res_data2 = res.data) === null || _res_data2 === void 0 ? void 0 : (_res_data_data = _res_data2.data) === null || _res_data_data === void 0 ? void 0 : _res_data_data.dctoken);\n const tokenCallback = async (response)=>{\n console.log(\"response for token call back\", response);\n if (response.Error) {\n alert(\"if\");\n console.log(\"Error: \", response);\n setLoading(false);\n } else {\n const headers = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n };\n const quickData = {\n name: formData.name,\n postal_code: formData.zip,\n ...response\n };\n try {\n var _res_data_data, _res_data, _resp_data;\n const resp = await axios.post(\"\".concat(masterBaseUrl, \"quick-pay/\").concat((_res_data = res.data) === null || _res_data === void 0 ? void 0 : (_res_data_data = _res_data.data) === null || _res_data_data === void 0 ? void 0 : _res_data_data.posSalesIdEncode), quickData, {\n headers\n });\n setLoading(false);\n console.log(\"quick response\", resp);\n if ((resp === null || resp === void 0 ? void 0 : (_resp_data = resp.data) === null || _resp_data === void 0 ? void 0 : _resp_data.result) && (resp === null || resp === void 0 ? void 0 : resp.status) === 200) {\n console.log(\"Payment success!\", resp === null || resp === void 0 ? void 0 : resp.data);\n setFormData({\n name: 'John Doe',\n card_number: '4761 7310 0000 0043',\n exp_month: '12',\n exp_year: '2024',\n cvv: '201',\n zip: ''\n });\n handleClose(); // Assuming handleClose is defined elsewhere\n } else {\n console.log(\"Payment failed!\", resp === null || resp === void 0 ? void 0 : resp.data);\n }\n } catch (error) {\n console.log(\"Error: \", error);\n setLoading(false);\n }\n }\n };\n DatacapWebToken.requestToken((_res_data3 = res.data) === null || _res_data3 === void 0 ? void 0 : (_res_data_data1 = _res_data3.data) === null || _res_data_data1 === void 0 ? void 0 : _res_data_data1.dctoken, \"PaymentForm\", tokenCallback);\n } else {\n var _res_data4;\n setLoading(false);\n console.log(\"res\", (_res_data4 = res.data) === null || _res_data4 === void 0 ? void 0 : _res_data4.data);\n }\n } catch (error) {\n setLoading(false);\n console.log(error);\n }\n }\n };\n // Card format handler\n const handleCardFormat = (numericValue)=>{\n const cleaned = ('' + numericValue).replace(/\\D/g, '');\n const match = cleaned.match(/^(\\d{4})(\\d{4})(\\d{4})(\\d{4})$/);\n if (match) {\n return \"\".concat(match[1], \" \").concat(match[2], \" \").concat(match[3], \" \").concat(match[4]);\n }\n return numericValue;\n };\n // Card number change handler\n const handleCardNumberChange = (value)=>{\n setError((prev)=>({\n ...prev,\n card_number: \"\"\n }));\n if (value && value.match(/[a-zA-Z]/)) {\n setError((prev)=>({\n ...prev,\n card_number: 'Invalid input. Please enter only numbers.'\n }));\n } else if (value.length > 12 && !DatacapWebToken.validateCardNumber(value === null || value === void 0 ? void 0 : value.replaceAll(\" \", ''))) {\n setError((prev)=>({\n ...prev,\n card_number: \"Invalid Card Number\"\n }));\n } else if (!value.length) {\n setError((prev)=>({\n ...prev,\n card_number: \"Card Number required\"\n }));\n } else {\n setError({});\n }\n };\n // Handle month change\n const handleMonthChange = (value)=>{\n setError((prev)=>({\n ...prev,\n exp_month: \"\"\n }));\n if (/^\\d{0,2}$/.test(value) && (value === \"\" || parseInt(value, 10) >= 1 && parseInt(value, 10) <= 12)) {\n setError({});\n } else if (!value.length) {\n setError((prev)=>({\n ...prev,\n exp_month: \"Month is required\"\n }));\n } else {\n setError((prev)=>({\n ...prev,\n exp_month: \"Value should be between 1 and 12\"\n }));\n }\n };\n // Handle year change\n const handleYearChange = (value)=>{\n setError((prev)=>({\n ...prev,\n exp_year: \"\"\n }));\n if (DatacapWebToken.validateExpirationDate(formData.exp_month, value)) {\n setError({});\n } else if (!value.length) {\n setError((prev)=>({\n ...prev,\n exp_year: \"Year is required\"\n }));\n } else {\n setError((prev)=>({\n ...prev,\n exp_year: 'Invalid Expiration Date.'\n }));\n }\n };\n // Handle CVV change\n const handleCVVChange = (value)=>{\n setError((prev)=>({\n ...prev,\n cvv: \"\"\n }));\n if (DatacapWebToken.validateCVV(value)) {\n setError({});\n } else if (!value.length) {\n setError((prev)=>({\n ...prev,\n cvv: \"CVV is required\"\n }));\n } else {\n setError((prev)=>({\n ...prev,\n cvv: 'Invalid CVV.'\n }));\n }\n };\n // Handle input change for the form\n const handleChange = (e)=>{\n const token = e.target.getAttribute('data-token') || '';\n const value = e.target.value;\n setFormData((prev)=>({\n ...prev,\n [token]: value\n }));\n if (token === 'card_number') {\n handleCardNumberChange(value);\n }\n if (token === 'exp_month') {\n handleMonthChange(value);\n }\n if (token === 'exp_year') {\n handleYearChange(value);\n }\n if (token === 'cvv') {\n handleCVVChange(value);\n }\n };\n const handlePay = ()=>{\n console.log(\"pay\", name, baseUrl, masterBaseUrl);\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handlePay,\n children: \"Pay\"\n }, void 0, false, {\n fileName: \"C:\\\\Users\\\\Pinesucceed\\\\Desktop\\\\WorkSpace\\\\testwidget\\\\src\\\\app\\\\components\\\\Greet.tsx\",\n lineNumber: 224,\n columnNumber: 9\n }, this);\n}\n_s(PaywithFractal, \"8ZwUlc1OHosJaAASZzverdOXVGQ=\");\n_c = PaywithFractal;\nvar _c;\n$RefreshReg$(_c, \"PaywithFractal\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9hcHAvY29tcG9uZW50cy9HcmVldC50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ3dDO0FBZWpDLFNBQVNFLGVBQWUsS0FBMEI7UUFBMUIsRUFBRUMsSUFBSSxFQUFvQixHQUExQjs7SUFFM0IsTUFBTUMsVUFBVTtJQUNoQixNQUFNQyxnQkFBZ0I7SUFDdEIsTUFBTUMsc0JBQXNCO0lBQzVCQyxRQUFRQyxHQUFHLENBQUNMLE1BQU07SUFFbEIsTUFBTSxDQUFDTSxTQUFTQyxXQUFXLEdBQUdULCtDQUFRQSxDQUFnQjtJQUN0RCxNQUFNLENBQUNVLE9BQU9DLFNBQVMsR0FBR1gsK0NBQVFBLENBQVEsQ0FBQztJQUMzQyxNQUFNLENBQUNZLFVBQVVDLFlBQVksR0FBR2IsK0NBQVFBLENBQVU7SUFDbEQsTUFBTSxDQUFDYyxVQUFVQyxZQUFZLEdBQUdmLCtDQUFRQSxDQUFXO1FBQ2pERSxNQUFNO1FBQ05jLGFBQWE7UUFDYkMsV0FBVztRQUNYQyxVQUFVO1FBQ1ZDLEtBQUs7UUFDTEMsS0FBSztJQUNQO0lBQ0EsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUd0QiwrQ0FBUUEsQ0FBVTtJQUVoRCxNQUFNdUIsZUFBZSxPQUFPQztRQUN4QkEsRUFBRUMsY0FBYztRQUNoQixNQUFNQyxPQUFPO1lBQ1hDLGFBQWE7WUFDYkMsUUFBUWQsU0FBU2MsTUFBTSxJQUFJO1lBQzNCQyxjQUFjO1lBQ2RULEtBQUtOLFNBQVNNLEdBQUc7WUFDakJVLFNBQVNBLFdBQVc7WUFDcEJDLHFCQUFxQjFCO1FBQ3ZCO1FBQ0EsSUFBSTJCLE9BQU9DLElBQUksQ0FBQ3ZCLE9BQU93QixNQUFNLEdBQUcsR0FBRztZQUNqQyxJQUFJO29CQVFjQztnQkFQaEJiLFdBQVc7Z0JBQ1gsTUFBTWEsTUFBTSxNQUFNQyxNQUFNQyxJQUFJLENBQWUsR0FBVyxPQUFSbEMsU0FBUSx3QkFBc0J1QixNQUFNO29CQUNoRlksU0FBUzt3QkFDUCxnQkFBZ0I7b0JBQ2xCO2dCQUNGO2dCQUVBLElBQUlILElBQUlULElBQUksTUFBSVMsWUFBQUEsSUFBSVQsSUFBSSxjQUFSUyxnQ0FBQUEsVUFBVUksTUFBTSxHQUFFO3dCQUNYSixZQUNWQSxnQkFBQUEsWUEyQ2tCQSxpQkFBQUE7b0JBNUM3QjdCLFFBQVFDLEdBQUcsQ0FBQyxVQUFTNEIsYUFBQUEsSUFBSVQsSUFBSSxjQUFSUyxpQ0FBQUEsV0FBVVQsSUFBSTtvQkFDbkNqQixZQUFXMEIsYUFBQUEsSUFBSVQsSUFBSSxjQUFSUyxrQ0FBQUEsaUJBQUFBLFdBQVVULElBQUksY0FBZFMscUNBQUFBLGVBQWdCSyxPQUFPO29CQUVsQyxNQUFNQyxnQkFBZ0IsT0FBT0M7d0JBQzNCcEMsUUFBUUMsR0FBRyxDQUFDLGdDQUFnQ21DO3dCQUM1QyxJQUFJQSxTQUFTQyxLQUFLLEVBQUU7NEJBQ2xCQyxNQUFNOzRCQUNOdEMsUUFBUUMsR0FBRyxDQUFDLFdBQVdtQzs0QkFDdkJwQixXQUFXO3dCQUNiLE9BQU87NEJBQ0wsTUFBTWdCLFVBQVU7Z0NBQ2QsZ0JBQWdCOzRCQUNsQjs0QkFDQSxNQUFNTyxZQUFZO2dDQUNoQjNDLE1BQU1ZLFNBQVNaLElBQUk7Z0NBQ25CNEMsYUFBYWhDLFNBQVNNLEdBQUc7Z0NBQ3pCLEdBQUdzQixRQUFROzRCQUNiOzRCQUNBLElBQUk7b0NBQ3lEUCxnQkFBQUEsV0FLdkRZO2dDQUxKLE1BQU1BLE9BQU8sTUFBTVgsTUFBTUMsSUFBSSxDQUFDLFVBQUdqQyxlQUFjLGNBQTZDLFFBQWpDK0IsWUFBQUEsSUFBSVQsSUFBSSxjQUFSUyxpQ0FBQUEsaUJBQUFBLFVBQVVULElBQUksY0FBZFMscUNBQUFBLGVBQWdCYSxnQkFBZ0IsR0FBSUgsV0FBVztvQ0FDeEdQO2dDQUNGO2dDQUNBaEIsV0FBVztnQ0FDWGhCLFFBQVFDLEdBQUcsQ0FBQyxrQkFBa0J3QztnQ0FDOUIsSUFBSUEsQ0FBQUEsaUJBQUFBLDRCQUFBQSxhQUFBQSxLQUFNckIsSUFBSSxjQUFWcUIsaUNBQUFBLFdBQVlSLE1BQU0sS0FBSVEsQ0FBQUEsaUJBQUFBLDJCQUFBQSxLQUFNRSxNQUFNLE1BQUssS0FBSztvQ0FDOUMzQyxRQUFRQyxHQUFHLENBQUMsb0JBQW9Cd0MsaUJBQUFBLDJCQUFBQSxLQUFNckIsSUFBSTtvQ0FDMUNYLFlBQVk7d0NBQ1ZiLE1BQU07d0NBQ05jLGFBQWE7d0NBQ2JDLFdBQVc7d0NBQ1hDLFVBQVU7d0NBQ1ZDLEtBQUs7d0NBQ0xDLEtBQUs7b0NBQ1A7b0NBQ0E4QixlQUFlLDRDQUE0QztnQ0FDN0QsT0FBTztvQ0FDTDVDLFFBQVFDLEdBQUcsQ0FBQyxtQkFBbUJ3QyxpQkFBQUEsMkJBQUFBLEtBQU1yQixJQUFJO2dDQUMzQzs0QkFDRixFQUFFLE9BQU9oQixPQUFPO2dDQUNkSixRQUFRQyxHQUFHLENBQUMsV0FBV0c7Z0NBQ3ZCWSxXQUFXOzRCQUNiO3dCQUNGO29CQUNGO29CQUNBNkIsZ0JBQWdCQyxZQUFZLEVBQUNqQixhQUFBQSxJQUFJVCxJQUFJLGNBQVJTLGtDQUFBQSxrQkFBQUEsV0FBVVQsSUFBSSxjQUFkUyxzQ0FBQUEsZ0JBQWdCSyxPQUFPLEVBQUUsZUFBZUM7Z0JBQ3ZFLE9BQU87d0JBRWNOO29CQURuQmIsV0FBVztvQkFDWGhCLFFBQVFDLEdBQUcsQ0FBQyxRQUFPNEIsYUFBQUEsSUFBSVQsSUFBSSxjQUFSUyxpQ0FBQUEsV0FBVVQsSUFBSTtnQkFDbkM7WUFDRixFQUFFLE9BQU9oQixPQUFPO2dCQUNkWSxXQUFXO2dCQUNYaEIsUUFBUUMsR0FBRyxDQUFDRztZQUNkO1FBQ0Y7SUFDRjtJQUVBLHNCQUFzQjtJQUN0QixNQUFNMkMsbUJBQW1CLENBQUNDO1FBQ3hCLE1BQU1DLFVBQVUsQ0FBQyxLQUFLRCxZQUFXLEVBQUdFLE9BQU8sQ0FBQyxPQUFPO1FBQ25ELE1BQU1DLFFBQVFGLFFBQVFFLEtBQUssQ0FBQztRQUM1QixJQUFJQSxPQUFPO1lBQ1QsT0FBTyxHQUFlQSxPQUFaQSxLQUFLLENBQUMsRUFBRSxFQUFDLEtBQWVBLE9BQVpBLEtBQUssQ0FBQyxFQUFFLEVBQUMsS0FBZUEsT0FBWkEsS0FBSyxDQUFDLEVBQUUsRUFBQyxLQUFZLE9BQVRBLEtBQUssQ0FBQyxFQUFFO1FBQ3hEO1FBQ0EsT0FBT0g7SUFDVDtJQUVBLDZCQUE2QjtJQUM3QixNQUFNSSx5QkFBeUIsQ0FBQ0M7UUFDOUJoRCxTQUFTLENBQUNpRCxPQUFVO2dCQUFFLEdBQUdBLElBQUk7Z0JBQUU1QyxhQUFhO1lBQUc7UUFDL0MsSUFBSTJDLFNBQVNBLE1BQU1GLEtBQUssQ0FBQyxhQUFhO1lBQ3BDOUMsU0FBUyxDQUFDaUQsT0FBVTtvQkFDbEIsR0FBR0EsSUFBSTtvQkFDUDVDLGFBQWE7Z0JBQ2Y7UUFDRixPQUFPLElBQUkyQyxNQUFNekIsTUFBTSxHQUFHLE1BQU0sQ0FBQ2lCLGdCQUFnQlUsa0JBQWtCLENBQUNGLGtCQUFBQSw0QkFBQUEsTUFBT0csVUFBVSxDQUFDLEtBQUssTUFBTTtZQUMvRm5ELFNBQVMsQ0FBQ2lELE9BQVU7b0JBQ2xCLEdBQUdBLElBQUk7b0JBQ1A1QyxhQUFhO2dCQUNmO1FBQ0YsT0FBTyxJQUFJLENBQUMyQyxNQUFNekIsTUFBTSxFQUFFO1lBQ3hCdkIsU0FBUyxDQUFDaUQsT0FBVTtvQkFDbEIsR0FBR0EsSUFBSTtvQkFDUDVDLGFBQWE7Z0JBQ2Y7UUFDRixPQUFPO1lBQ0xMLFNBQVMsQ0FBQztRQUNaO0lBQ0Y7SUFFQSxzQkFBc0I7SUFDdEIsTUFBTW9ELG9CQUFvQixDQUFDSjtRQUN6QmhELFNBQVMsQ0FBQ2lELE9BQVU7Z0JBQUUsR0FBR0EsSUFBSTtnQkFBRTNDLFdBQVc7WUFBRztRQUM3QyxJQUFJLFlBQVkrQyxJQUFJLENBQUNMLFVBQVdBLENBQUFBLFVBQVUsTUFBT00sU0FBU04sT0FBTyxPQUFPLEtBQUtNLFNBQVNOLE9BQU8sT0FBTyxFQUFFLEdBQUk7WUFDeEdoRCxTQUFTLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQ2dELE1BQU16QixNQUFNLEVBQUU7WUFDeEJ2QixTQUFTLENBQUNpRCxPQUFVO29CQUNsQixHQUFHQSxJQUFJO29CQUNQM0MsV0FBVztnQkFDYjtRQUNGLE9BQU87WUFDTE4sU0FBUyxDQUFDaUQsT0FBVTtvQkFDbEIsR0FBR0EsSUFBSTtvQkFDUDNDLFdBQVc7Z0JBQ2I7UUFDRjtJQUNGO0lBRUEscUJBQXFCO0lBQ3JCLE1BQU1pRCxtQkFBbUIsQ0FBQ1A7UUFDeEJoRCxTQUFTLENBQUNpRCxPQUFVO2dCQUFFLEdBQUdBLElBQUk7Z0JBQUUxQyxVQUFVO1lBQUc7UUFDNUMsSUFBSWlDLGdCQUFnQmdCLHNCQUFzQixDQUFDckQsU0FBU0csU0FBUyxFQUFFMEMsUUFBUTtZQUNyRWhELFNBQVMsQ0FBQztRQUNaLE9BQU8sSUFBSSxDQUFDZ0QsTUFBTXpCLE1BQU0sRUFBRTtZQUN4QnZCLFNBQVMsQ0FBQ2lELE9BQVU7b0JBQ2xCLEdBQUdBLElBQUk7b0JBQ1AxQyxVQUFVO2dCQUNaO1FBQ0YsT0FBTztZQUNMUCxTQUFTLENBQUNpRCxPQUFVO29CQUNsQixHQUFHQSxJQUFJO29CQUNQMUMsVUFBVTtnQkFDWjtRQUNGO0lBQ0Y7SUFFQSxvQkFBb0I7SUFDcEIsTUFBTWtELGtCQUFrQixDQUFDVDtRQUN2QmhELFNBQVMsQ0FBQ2lELE9BQVU7Z0JBQUUsR0FBR0EsSUFBSTtnQkFBRXpDLEtBQUs7WUFBRztRQUN2QyxJQUFJZ0MsZ0JBQWdCa0IsV0FBVyxDQUFDVixRQUFRO1lBQ3RDaEQsU0FBUyxDQUFDO1FBQ1osT0FBTyxJQUFJLENBQUNnRCxNQUFNekIsTUFBTSxFQUFFO1lBQ3hCdkIsU0FBUyxDQUFDaUQsT0FBVTtvQkFDbEIsR0FBR0EsSUFBSTtvQkFDUHpDLEtBQUs7Z0JBQ1A7UUFDRixPQUFPO1lBQ0xSLFNBQVMsQ0FBQ2lELE9BQVU7b0JBQ2xCLEdBQUdBLElBQUk7b0JBQ1B6QyxLQUFLO2dCQUNQO1FBQ0Y7SUFDRjtJQUVBLG1DQUFtQztJQUNuQyxNQUFNbUQsZUFBZSxDQUFDOUM7UUFDcEIsTUFBTStDLFFBQVEvQyxFQUFFZ0QsTUFBTSxDQUFDQyxZQUFZLENBQUMsaUJBQWlCO1FBQ3JELE1BQU1kLFFBQVFuQyxFQUFFZ0QsTUFBTSxDQUFDYixLQUFLO1FBQzVCNUMsWUFBWSxDQUFDNkMsT0FBVTtnQkFBRSxHQUFHQSxJQUFJO2dCQUFFLENBQUNXLE1BQU0sRUFBRVo7WUFBTTtRQUNqRCxJQUFJWSxVQUFVLGVBQWU7WUFDM0JiLHVCQUF1QkM7UUFDekI7UUFDQSxJQUFJWSxVQUFVLGFBQWE7WUFDekJSLGtCQUFrQko7UUFDcEI7UUFDQSxJQUFJWSxVQUFVLFlBQVk7WUFDeEJMLGlCQUFpQlA7UUFDbkI7UUFDQSxJQUFJWSxVQUFVLE9BQU87WUFDbkJILGdCQUFnQlQ7UUFDbEI7SUFDRjtJQUVGLE1BQU1lLFlBQVk7UUFDZHBFLFFBQVFDLEdBQUcsQ0FBQyxPQUFPTCxNQUFNQyxTQUFTQztJQUN0QztJQUVBLHFCQUNJLDhEQUFDdUU7UUFBT0MsU0FBU0Y7a0JBQVc7Ozs7OztBQUlwQztHQW5OZ0J6RTtLQUFBQSIsInNvdXJjZXMiOlsiQzpcXFVzZXJzXFxQaW5lc3VjY2VlZFxcRGVza3RvcFxcV29ya1NwYWNlXFx0ZXN0d2lkZ2V0XFxzcmNcXGFwcFxcY29tcG9uZW50c1xcR3JlZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xyXG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmludGVyZmFjZSBGb3JtRGF0YSB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjYXJkX251bWJlcjogc3RyaW5nO1xyXG4gICAgZXhwX21vbnRoOiBzdHJpbmc7XHJcbiAgICBleHBfeWVhcjogc3RyaW5nO1xyXG4gICAgY3Z2OiBzdHJpbmc7XHJcbiAgICB6aXA6IHN0cmluZztcclxuICB9XHJcbiAgXHJcbiAgaW50ZXJmYWNlIEVycm9yIHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTsgLy8gT3IgYSBtb3JlIHNwZWNpZmljIHR5cGUgaWYgeW91IGtub3cgdGhlIGVycm9yIHN0cnVjdHVyZVxyXG4gIH1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBQYXl3aXRoRnJhY3RhbCh7IG5hbWUgfTogeyBuYW1lOiBzdHJpbmcgfSkge1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSAnaHR0cDovLzE5Mi4xNjguMS41Mjo4MDgyLydcclxuICAgIGNvbnN0IG1hc3RlckJhc2VVcmwgPSAnaHR0cDovLzE5Mi4xNjguMS41Mjo4MDgxLydcclxuICAgIGNvbnN0IGZyYWN0YWxQYXlDbGllbnRLZXkgPSBcIjU3NWM5MjQ5M2VhZWY0ZjBhYjJhZDZlZmUwYmNiYmVjXCI7XHJcbiAgICBjb25zb2xlLmxvZyhuYW1lLCBcIm5hbWVcIik7XHJcblxyXG4gICAgY29uc3QgW2RjVG9rZW4sIHNldERjVG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XHJcbiAgICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPEVycm9yPih7fSk7XHJcbiAgICBjb25zdCBbdG9nZ2xlUXIsIHNldFRvZ2dsZVFyXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcclxuICAgIGNvbnN0IFtmb3JtRGF0YSwgc2V0Rm9ybURhdGFdID0gdXNlU3RhdGU8Rm9ybURhdGE+KHtcclxuICAgICAgbmFtZTogJ0pvaG4gRG9lJyxcclxuICAgICAgY2FyZF9udW1iZXI6ICc0NzYxIDczMTAgMDAwMCAwMDQzJyxcclxuICAgICAgZXhwX21vbnRoOiAnMTInLFxyXG4gICAgICBleHBfeWVhcjogJzIwMjQnLFxyXG4gICAgICBjdnY6ICcyMDEnLFxyXG4gICAgICB6aXA6ICcnLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gICAgY29uc3QgaGFuZGxlU3VibWl0ID0gYXN5bmMgKGU6IFJlYWN0LkZvcm1FdmVudCkgPT4ge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwid2lkZ2V0IHBheW1lbnRcIixcclxuICAgICAgICAgIGFtb3VudDogZm9ybURhdGEuYW1vdW50IHx8IFwiMS4wMFwiLCAgLy8gYXNzdW1pbmcgYW1vdW50IGlzIHBhcnQgb2YgZm9ybURhdGFcclxuICAgICAgICAgIHBob25lX251bWJlcjogXCIxMjM0NTY3OTA4XCIsXHJcbiAgICAgICAgICB6aXA6IGZvcm1EYXRhLnppcCxcclxuICAgICAgICAgIG9yZGVySWQ6IG9yZGVySWQgfHwgXCJcIiwgIC8vIEFzc3VtaW5nIG9yZGVySWQgaXMgYXZhaWxhYmxlIHNvbWV3aGVyZVxyXG4gICAgICAgICAgZnJhY3RhbHBheVB1YmxpY0tleTogZnJhY3RhbFBheUNsaWVudEtleSwgLy8gQXNzdW1pbmcgZnJhY3RhbFBheUNsaWVudEtleSBpcyBkZWZpbmVkXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZXJyb3IpLmxlbmd0aCA8IDEpIHtcclxuICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGF4aW9zLnBvc3Q8UmVzcG9uc2VEYXRhPihgJHtiYXNlVXJsfWNyZWF0ZS13aWRnZXQtb3JkZXJgLCBkYXRhLCB7XHJcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9KTtcclxuICAgIFxyXG4gICAgICAgICAgICBpZiAocmVzLmRhdGEgJiYgcmVzLmRhdGE/LnJlc3VsdCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwidG9rZW5cIiwgcmVzLmRhdGE/LmRhdGEpO1xyXG4gICAgICAgICAgICAgIHNldERjVG9rZW4ocmVzLmRhdGE/LmRhdGE/LmRjdG9rZW4pO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgY29uc3QgdG9rZW5DYWxsYmFjayA9IGFzeW5jIChyZXNwb25zZTogVG9rZW5DYWxsYmFja1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcInJlc3BvbnNlIGZvciB0b2tlbiBjYWxsIGJhY2tcIiwgcmVzcG9uc2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLkVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgIGFsZXJ0KFwiaWZcIik7XHJcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRXJyb3I6IFwiLCByZXNwb25zZSk7XHJcbiAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcclxuICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHF1aWNrRGF0YSA9IHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBmb3JtRGF0YS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc3RhbF9jb2RlOiBmb3JtRGF0YS56aXAsXHJcbiAgICAgICAgICAgICAgICAgICAgLi4ucmVzcG9uc2UsXHJcbiAgICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IGF4aW9zLnBvc3QoYCR7bWFzdGVyQmFzZVVybH1xdWljay1wYXkvJHtyZXMuZGF0YT8uZGF0YT8ucG9zU2FsZXNJZEVuY29kZX1gLCBxdWlja0RhdGEsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnMsXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJxdWljayByZXNwb25zZVwiLCByZXNwKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzcD8uZGF0YT8ucmVzdWx0ICYmIHJlc3A/LnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIlBheW1lbnQgc3VjY2VzcyFcIiwgcmVzcD8uZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBzZXRGb3JtRGF0YSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdKb2huIERvZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcmRfbnVtYmVyOiAnNDc2MSA3MzEwIDAwMDAgMDA0MycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cF9tb250aDogJzEyJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwX3llYXI6ICcyMDI0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Z2OiAnMjAxJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgemlwOiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xvc2UoKTsgLy8gQXNzdW1pbmcgaGFuZGxlQ2xvc2UgaXMgZGVmaW5lZCBlbHNld2hlcmVcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJQYXltZW50IGZhaWxlZCFcIiwgcmVzcD8uZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRXJyb3I6IFwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIERhdGFjYXBXZWJUb2tlbi5yZXF1ZXN0VG9rZW4ocmVzLmRhdGE/LmRhdGE/LmRjdG9rZW4sIFwiUGF5bWVudEZvcm1cIiwgdG9rZW5DYWxsYmFjayk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJyZXNcIiwgcmVzLmRhdGE/LmRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIFxyXG4gICAgICAvLyBDYXJkIGZvcm1hdCBoYW5kbGVyXHJcbiAgICAgIGNvbnN0IGhhbmRsZUNhcmRGb3JtYXQgPSAobnVtZXJpY1ZhbHVlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBjbGVhbmVkID0gKCcnICsgbnVtZXJpY1ZhbHVlKS5yZXBsYWNlKC9cXEQvZywgJycpO1xyXG4gICAgICAgIGNvbnN0IG1hdGNoID0gY2xlYW5lZC5tYXRjaCgvXihcXGR7NH0pKFxcZHs0fSkoXFxkezR9KShcXGR7NH0pJC8pO1xyXG4gICAgICAgIGlmIChtYXRjaCkge1xyXG4gICAgICAgICAgcmV0dXJuIGAke21hdGNoWzFdfSAke21hdGNoWzJdfSAke21hdGNoWzNdfSAke21hdGNoWzRdfWA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudW1lcmljVmFsdWU7XHJcbiAgICAgIH07XHJcbiAgICBcclxuICAgICAgLy8gQ2FyZCBudW1iZXIgY2hhbmdlIGhhbmRsZXJcclxuICAgICAgY29uc3QgaGFuZGxlQ2FyZE51bWJlckNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgc2V0RXJyb3IoKHByZXYpID0+ICh7IC4uLnByZXYsIGNhcmRfbnVtYmVyOiBcIlwiIH0pKTtcclxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUubWF0Y2goL1thLXpBLVpdLykpIHtcclxuICAgICAgICAgIHNldEVycm9yKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5wcmV2LFxyXG4gICAgICAgICAgICBjYXJkX251bWJlcjogJ0ludmFsaWQgaW5wdXQuIFBsZWFzZSBlbnRlciBvbmx5IG51bWJlcnMuJyxcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLmxlbmd0aCA+IDEyICYmICFEYXRhY2FwV2ViVG9rZW4udmFsaWRhdGVDYXJkTnVtYmVyKHZhbHVlPy5yZXBsYWNlQWxsKFwiIFwiLCAnJykpKSB7XHJcbiAgICAgICAgICBzZXRFcnJvcigocHJldikgPT4gKHtcclxuICAgICAgICAgICAgLi4ucHJldixcclxuICAgICAgICAgICAgY2FyZF9udW1iZXI6IFwiSW52YWxpZCBDYXJkIE51bWJlclwiLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIXZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgICAgc2V0RXJyb3IoKHByZXYpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLnByZXYsXHJcbiAgICAgICAgICAgIGNhcmRfbnVtYmVyOiBcIkNhcmQgTnVtYmVyIHJlcXVpcmVkXCIsXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNldEVycm9yKHt9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICBcclxuICAgICAgLy8gSGFuZGxlIG1vbnRoIGNoYW5nZVxyXG4gICAgICBjb25zdCBoYW5kbGVNb250aENoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgc2V0RXJyb3IoKHByZXYpID0+ICh7IC4uLnByZXYsIGV4cF9tb250aDogXCJcIiB9KSk7XHJcbiAgICAgICAgaWYgKC9eXFxkezAsMn0kLy50ZXN0KHZhbHVlKSAmJiAodmFsdWUgPT09IFwiXCIgfHwgKHBhcnNlSW50KHZhbHVlLCAxMCkgPj0gMSAmJiBwYXJzZUludCh2YWx1ZSwgMTApIDw9IDEyKSkpIHtcclxuICAgICAgICAgIHNldEVycm9yKHt9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgIHNldEVycm9yKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5wcmV2LFxyXG4gICAgICAgICAgICBleHBfbW9udGg6IFwiTW9udGggaXMgcmVxdWlyZWRcIixcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgc2V0RXJyb3IoKHByZXYpID0+ICh7XHJcbiAgICAgICAgICAgIC4uLnByZXYsXHJcbiAgICAgICAgICAgIGV4cF9tb250aDogXCJWYWx1ZSBzaG91bGQgYmUgYmV0d2VlbiAxIGFuZCAxMlwiLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIFxyXG4gICAgICAvLyBIYW5kbGUgeWVhciBjaGFuZ2VcclxuICAgICAgY29uc3QgaGFuZGxlWWVhckNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgc2V0RXJyb3IoKHByZXYpID0+ICh7IC4uLnByZXYsIGV4cF95ZWFyOiBcIlwiIH0pKTtcclxuICAgICAgICBpZiAoRGF0YWNhcFdlYlRva2VuLnZhbGlkYXRlRXhwaXJhdGlvbkRhdGUoZm9ybURhdGEuZXhwX21vbnRoLCB2YWx1ZSkpIHtcclxuICAgICAgICAgIHNldEVycm9yKHt9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgIHNldEVycm9yKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5wcmV2LFxyXG4gICAgICAgICAgICBleHBfeWVhcjogXCJZZWFyIGlzIHJlcXVpcmVkXCIsXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNldEVycm9yKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5wcmV2LFxyXG4gICAgICAgICAgICBleHBfeWVhcjogJ0ludmFsaWQgRXhwaXJhdGlvbiBEYXRlLicsXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgXHJcbiAgICAgIC8vIEhhbmRsZSBDVlYgY2hhbmdlXHJcbiAgICAgIGNvbnN0IGhhbmRsZUNWVkNoYW5nZSA9ICh2YWx1ZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgc2V0RXJyb3IoKHByZXYpID0+ICh7IC4uLnByZXYsIGN2djogXCJcIiB9KSk7XHJcbiAgICAgICAgaWYgKERhdGFjYXBXZWJUb2tlbi52YWxpZGF0ZUNWVih2YWx1ZSkpIHtcclxuICAgICAgICAgIHNldEVycm9yKHt9KTtcclxuICAgICAgICB9IGVsc2UgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICAgIHNldEVycm9yKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5wcmV2LFxyXG4gICAgICAgICAgICBjdnY6IFwiQ1ZWIGlzIHJlcXVpcmVkXCIsXHJcbiAgICAgICAgICB9KSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNldEVycm9yKChwcmV2KSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5wcmV2LFxyXG4gICAgICAgICAgICBjdnY6ICdJbnZhbGlkIENWVi4nLFxyXG4gICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIFxyXG4gICAgICAvLyBIYW5kbGUgaW5wdXQgY2hhbmdlIGZvciB0aGUgZm9ybVxyXG4gICAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcclxuICAgICAgICBjb25zdCB0b2tlbiA9IGUudGFyZ2V0LmdldEF0dHJpYnV0ZSgnZGF0YS10b2tlbicpIHx8ICcnO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgc2V0Rm9ybURhdGEoKHByZXYpID0+ICh7IC4uLnByZXYsIFt0b2tlbl06IHZhbHVlIH0pKTtcclxuICAgICAgICBpZiAodG9rZW4gPT09ICdjYXJkX251bWJlcicpIHtcclxuICAgICAgICAgIGhhbmRsZUNhcmROdW1iZXJDaGFuZ2UodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodG9rZW4gPT09ICdleHBfbW9udGgnKSB7XHJcbiAgICAgICAgICBoYW5kbGVNb250aENoYW5nZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0b2tlbiA9PT0gJ2V4cF95ZWFyJykge1xyXG4gICAgICAgICAgaGFuZGxlWWVhckNoYW5nZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0b2tlbiA9PT0gJ2N2dicpIHtcclxuICAgICAgICAgIGhhbmRsZUNWVkNoYW5nZSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG5cclxuICAgIGNvbnN0IGhhbmRsZVBheSA9ICgpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInBheVwiLCBuYW1lLCBiYXNlVXJsLCBtYXN0ZXJCYXNlVXJsKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDxidXR0b24gb25DbGljaz17aGFuZGxlUGF5fT5cclxuICAgICAgICAgICAgUGF5XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICApO1xyXG59Il0sIm5hbWVzIjpbIlJlYWN0IiwidXNlU3RhdGUiLCJQYXl3aXRoRnJhY3RhbCIsIm5hbWUiLCJiYXNlVXJsIiwibWFzdGVyQmFzZVVybCIsImZyYWN0YWxQYXlDbGllbnRLZXkiLCJjb25zb2xlIiwibG9nIiwiZGNUb2tlbiIsInNldERjVG9rZW4iLCJlcnJvciIsInNldEVycm9yIiwidG9nZ2xlUXIiLCJzZXRUb2dnbGVRciIsImZvcm1EYXRhIiwic2V0Rm9ybURhdGEiLCJjYXJkX251bWJlciIsImV4cF9tb250aCIsImV4cF95ZWFyIiwiY3Z2IiwiemlwIiwibG9hZGluZyIsInNldExvYWRpbmciLCJoYW5kbGVTdWJtaXQiLCJlIiwicHJldmVudERlZmF1bHQiLCJkYXRhIiwiZGVzY3JpcHRpb24iLCJhbW91bnQiLCJwaG9uZV9udW1iZXIiLCJvcmRlcklkIiwiZnJhY3RhbHBheVB1YmxpY0tleSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJyZXMiLCJheGlvcyIsInBvc3QiLCJoZWFkZXJzIiwicmVzdWx0IiwiZGN0b2tlbiIsInRva2VuQ2FsbGJhY2siLCJyZXNwb25zZSIsIkVycm9yIiwiYWxlcnQiLCJxdWlja0RhdGEiLCJwb3N0YWxfY29kZSIsInJlc3AiLCJwb3NTYWxlc0lkRW5jb2RlIiwic3RhdHVzIiwiaGFuZGxlQ2xvc2UiLCJEYXRhY2FwV2ViVG9rZW4iLCJyZXF1ZXN0VG9rZW4iLCJoYW5kbGVDYXJkRm9ybWF0IiwibnVtZXJpY1ZhbHVlIiwiY2xlYW5lZCIsInJlcGxhY2UiLCJtYXRjaCIsImhhbmRsZUNhcmROdW1iZXJDaGFuZ2UiLCJ2YWx1ZSIsInByZXYiLCJ2YWxpZGF0ZUNhcmROdW1iZXIiLCJyZXBsYWNlQWxsIiwiaGFuZGxlTW9udGhDaGFuZ2UiLCJ0ZXN0IiwicGFyc2VJbnQiLCJoYW5kbGVZZWFyQ2hhbmdlIiwidmFsaWRhdGVFeHBpcmF0aW9uRGF0ZSIsImhhbmRsZUNWVkNoYW5nZSIsInZhbGlkYXRlQ1ZWIiwiaGFuZGxlQ2hhbmdlIiwidG9rZW4iLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJoYW5kbGVQYXkiLCJidXR0b24iLCJvbkNsaWNrIl0sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/components/Greet.tsx\n"));
|
29
|
-
|
30
|
-
/***/ }),
|
31
|
-
|
32
|
-
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js":
|
33
|
-
/*!****************************************************************************************!*\
|
34
|
-
!*** ./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js ***!
|
35
|
-
\****************************************************************************************/
|
36
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
37
|
-
|
38
|
-
"use strict";
|
39
|
-
eval(__webpack_require__.ts("/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n true &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE$2\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"<anonymous>\") &&\n (_frame = _frame.replace(\"<anonymous>\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(\n type,\n !(!prototype || !prototype.isReactComponent)\n );\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return (type = describeNativeComponentFrame(type.render, !1)), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n if (\n \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE$1 ||\n void 0 !== type.getModuleId))\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren], type);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children, type);\n } else {\n children = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n children +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type\n ? (isStaticChildren = \"null\")\n : isArrayImpl(type)\n ? (isStaticChildren = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((isStaticChildren =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (children =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (isStaticChildren = typeof type);\n console.error(\n \"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",\n isStaticChildren,\n children\n );\n }\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(type, children, self, source, getOwner(), maybeKey);\n }\n function validateChildKeys(node, parentType) {\n if (\n \"object\" === typeof node &&\n node &&\n node.$$typeof !== REACT_CLIENT_REFERENCE\n )\n if (isArrayImpl(node))\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n }\n else if (isValidElement(node))\n node._store && (node._store.validated = 1);\n else if (\n (null === node || \"object\" !== typeof node\n ? (i = null)\n : ((i =\n (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||\n node[\"@@iterator\"]),\n (i = \"function\" === typeof i ? i : null)),\n \"function\" === typeof i &&\n i !== node.entries &&\n ((i = i.call(node)), i !== node))\n )\n for (; !(node = i.next()).done; )\n isValidElement(node.value) &&\n validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function validateExplicitKey(element, parentType) {\n if (\n element._store &&\n !element._store.validated &&\n null == element.key &&\n ((element._store.validated = 1),\n (parentType = getCurrentComponentErrorInfo(parentType)),\n !ownerHasKeyUseWarning[parentType])\n ) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element &&\n null != element._owner &&\n element._owner !== getOwner() &&\n ((childOwner = null),\n \"number\" === typeof element._owner.tag\n ? (childOwner = getComponentNameFromType(element._owner.type))\n : \"string\" === typeof element._owner.name &&\n (childOwner = element._owner.name),\n (childOwner = \" It was passed a child from \" + childOwner + \".\"));\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n parentType,\n childOwner\n );\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner &&\n (owner = getComponentNameFromType(owner.type)) &&\n (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info ||\n ((parentType = getComponentNameFromType(parentType)) &&\n (info =\n \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\"));\n return info;\n }\n var React = __webpack_require__(/*! next/dist/compiled/react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n assign = Object.assign,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var didWarnAboutKeySpread = {},\n ownerHasKeyUseWarning = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n return jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self);\n };\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvY2pzL3JlYWN0LWpzeC1kZXYtcnVudGltZS5kZXZlbG9wbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7QUFDYixLQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBLHdCQUF3QixXQUFXLGdCQUFnQjtBQUNuRCx5QkFBeUIsV0FBVyxpQkFBaUI7QUFDckQseUJBQXlCLFdBQVcsaUJBQWlCO0FBQ3JELDBCQUEwQixXQUFXLGtCQUFrQjtBQUN2RCwwQkFBMEIsV0FBVyxrQkFBa0I7QUFDdkQsbUNBQW1DLFdBQVcsMkJBQTJCO0FBQ3pFLDZCQUE2QixXQUFXLHFCQUFxQjtBQUM3RCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7QUFDM0M7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsK0NBQStDLDZCQUE2QjtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxnQkFBZ0IsZ0RBQWdEO0FBQ2hFLGdCQUFnQixhQUFhO0FBQzdCO0FBQ0E7QUFDQSxnQ0FBZ0Msa0NBQWtDLE9BQU87QUFDekU7QUFDQSxnR0FBZ0csU0FBUyxVQUFVLHNGQUFzRixhQUFhLFVBQVUsVUFBVTtBQUMxTztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixpQkFBaUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIseUJBQXlCO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQU8sQ0FBQyxzR0FBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQSxJQUFJLGdCQUFnQjtBQUNwQixJQUFJLGNBQWM7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyIsInNvdXJjZXMiOlsiQzpcXFVzZXJzXFxQaW5lc3VjY2VlZFxcRGVza3RvcFxcV29ya1NwYWNlXFx0ZXN0d2lkZ2V0XFxub2RlX21vZHVsZXNcXG5leHRcXGRpc3RcXGNvbXBpbGVkXFxyZWFjdFxcY2pzXFxyZWFjdC1qc3gtZGV2LXJ1bnRpbWUuZGV2ZWxvcG1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZSBSZWFjdFxuICogcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBNZXRhIFBsYXRmb3JtcywgSW5jLiBhbmQgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5cInVzZSBzdHJpY3RcIjtcblwicHJvZHVjdGlvblwiICE9PSBwcm9jZXNzLmVudi5OT0RFX0VOViAmJlxuICAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKSB7XG4gICAgICBpZiAobnVsbCA9PSB0eXBlKSByZXR1cm4gbnVsbDtcbiAgICAgIGlmIChcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiB0eXBlKVxuICAgICAgICByZXR1cm4gdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQyXG4gICAgICAgICAgPyBudWxsXG4gICAgICAgICAgOiB0eXBlLmRpc3BsYXlOYW1lIHx8IHR5cGUubmFtZSB8fCBudWxsO1xuICAgICAgaWYgKFwic3RyaW5nXCIgPT09IHR5cGVvZiB0eXBlKSByZXR1cm4gdHlwZTtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIFwiRnJhZ21lbnRcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJQb3J0YWxcIjtcbiAgICAgICAgY2FzZSBSRUFDVF9QUk9GSUxFUl9UWVBFOlxuICAgICAgICAgIHJldHVybiBcIlByb2ZpbGVyXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1RSSUNUX01PREVfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdHJpY3RNb2RlXCI7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZVwiO1xuICAgICAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgICAgICByZXR1cm4gXCJTdXNwZW5zZUxpc3RcIjtcbiAgICAgIH1cbiAgICAgIGlmIChcIm9iamVjdFwiID09PSB0eXBlb2YgdHlwZSlcbiAgICAgICAgc3dpdGNoIChcbiAgICAgICAgICAoXCJudW1iZXJcIiA9PT0gdHlwZW9mIHR5cGUudGFnICYmXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgICBcIlJlY2VpdmVkIGFuIHVuZXhwZWN0ZWQgb2JqZWN0IGluIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSgpLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgdHlwZS4kJHR5cGVvZilcbiAgICAgICAgKSB7XG4gICAgICAgICAgY2FzZSBSRUFDVF9DT05URVhUX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCIpICsgXCIuUHJvdmlkZXJcIjtcbiAgICAgICAgICBjYXNlIFJFQUNUX0NPTlNVTUVSX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUuX2NvbnRleHQuZGlzcGxheU5hbWUgfHwgXCJDb250ZXh0XCIpICsgXCIuQ29uc3VtZXJcIjtcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICB2YXIgaW5uZXJUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgICAgICB0eXBlID0gdHlwZS5kaXNwbGF5TmFtZTtcbiAgICAgICAgICAgIHR5cGUgfHxcbiAgICAgICAgICAgICAgKCh0eXBlID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8IFwiXCIpLFxuICAgICAgICAgICAgICAodHlwZSA9IFwiXCIgIT09IHR5cGUgPyBcIkZvcndhcmRSZWYoXCIgKyB0eXBlICsgXCIpXCIgOiBcIkZvcndhcmRSZWZcIikpO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAoaW5uZXJUeXBlID0gdHlwZS5kaXNwbGF5TmFtZSB8fCBudWxsKSxcbiAgICAgICAgICAgICAgbnVsbCAhPT0gaW5uZXJUeXBlXG4gICAgICAgICAgICAgICAgPyBpbm5lclR5cGVcbiAgICAgICAgICAgICAgICA6IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8IFwiTWVtb1wiXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgICAgaW5uZXJUeXBlID0gdHlwZS5fcGF5bG9hZDtcbiAgICAgICAgICAgIHR5cGUgPSB0eXBlLl9pbml0O1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlKGlubmVyVHlwZSkpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRlc3RTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAgICAgcmV0dXJuIFwiXCIgKyB2YWx1ZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gY2hlY2tLZXlTdHJpbmdDb2VyY2lvbih2YWx1ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgICAgdmFyIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCA9ICExO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQgPSAhMDtcbiAgICAgIH1cbiAgICAgIGlmIChKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQpIHtcbiAgICAgICAgSlNDb21waWxlcl9pbmxpbmVfcmVzdWx0ID0gY29uc29sZTtcbiAgICAgICAgdmFyIEpTQ29tcGlsZXJfdGVtcF9jb25zdCA9IEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdC5lcnJvcjtcbiAgICAgICAgdmFyIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCRqc2NvbXAkMCA9XG4gICAgICAgICAgKFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIFN5bWJvbCAmJlxuICAgICAgICAgICAgU3ltYm9sLnRvU3RyaW5nVGFnICYmXG4gICAgICAgICAgICB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddKSB8fFxuICAgICAgICAgIHZhbHVlLmNvbnN0cnVjdG9yLm5hbWUgfHxcbiAgICAgICAgICBcIk9iamVjdFwiO1xuICAgICAgICBKU0NvbXBpbGVyX3RlbXBfY29uc3QuY2FsbChcbiAgICAgICAgICBKU0NvbXBpbGVyX2lubGluZV9yZXN1bHQsXG4gICAgICAgICAgXCJUaGUgcHJvdmlkZWQga2V5IGlzIGFuIHVuc3VwcG9ydGVkIHR5cGUgJXMuIFRoaXMgdmFsdWUgbXVzdCBiZSBjb2VyY2VkIHRvIGEgc3RyaW5nIGJlZm9yZSB1c2luZyBpdCBoZXJlLlwiLFxuICAgICAgICAgIEpTQ29tcGlsZXJfaW5saW5lX3Jlc3VsdCRqc2NvbXAkMFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGVzdFN0cmluZ0NvZXJjaW9uKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZGlzYWJsZWRMb2coKSB7fVxuICAgIGZ1bmN0aW9uIGRpc2FibGVMb2dzKCkge1xuICAgICAgaWYgKDAgPT09IGRpc2FibGVkRGVwdGgpIHtcbiAgICAgICAgcHJldkxvZyA9IGNvbnNvbGUubG9nO1xuICAgICAgICBwcmV2SW5mbyA9IGNvbnNvbGUuaW5mbztcbiAgICAgICAgcHJldldhcm4gPSBjb25zb2xlLndhcm47XG4gICAgICAgIHByZXZFcnJvciA9IGNvbnNvbGUuZXJyb3I7XG4gICAgICAgIHByZXZHcm91cCA9IGNvbnNvbGUuZ3JvdXA7XG4gICAgICAgIHByZXZHcm91cENvbGxhcHNlZCA9IGNvbnNvbGUuZ3JvdXBDb2xsYXBzZWQ7XG4gICAgICAgIHByZXZHcm91cEVuZCA9IGNvbnNvbGUuZ3JvdXBFbmQ7XG4gICAgICAgIHZhciBwcm9wcyA9IHtcbiAgICAgICAgICBjb25maWd1cmFibGU6ICEwLFxuICAgICAgICAgIGVudW1lcmFibGU6ICEwLFxuICAgICAgICAgIHZhbHVlOiBkaXNhYmxlZExvZyxcbiAgICAgICAgICB3cml0YWJsZTogITBcbiAgICAgICAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICAgIGluZm86IHByb3BzLFxuICAgICAgICAgIGxvZzogcHJvcHMsXG4gICAgICAgICAgd2FybjogcHJvcHMsXG4gICAgICAgICAgZXJyb3I6IHByb3BzLFxuICAgICAgICAgIGdyb3VwOiBwcm9wcyxcbiAgICAgICAgICBncm91cENvbGxhcHNlZDogcHJvcHMsXG4gICAgICAgICAgZ3JvdXBFbmQ6IHByb3BzXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZGlzYWJsZWREZXB0aCsrO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZWVuYWJsZUxvZ3MoKSB7XG4gICAgICBkaXNhYmxlZERlcHRoLS07XG4gICAgICBpZiAoMCA9PT0gZGlzYWJsZWREZXB0aCkge1xuICAgICAgICB2YXIgcHJvcHMgPSB7IGNvbmZpZ3VyYWJsZTogITAsIGVudW1lcmFibGU6ICEwLCB3cml0YWJsZTogITAgfTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY29uc29sZSwge1xuICAgICAgICAgIGxvZzogYXNzaWduKHt9LCBwcm9wcywgeyB2YWx1ZTogcHJldkxvZyB9KSxcbiAgICAgICAgICBpbmZvOiBhc3NpZ24oe30sIHByb3BzLCB7IHZhbHVlOiBwcmV2SW5mbyB9KSxcbiAgICAgICAgICB3YXJuOiBhc3NpZ24oe30sIHByb3BzLCB7IHZhbHVlOiBwcmV2V2FybiB9KSxcbiAgICAgICAgICBlcnJvcjogYXNzaWduKHt9LCBwcm9wcywgeyB2YWx1ZTogcHJldkVycm9yIH0pLFxuICAgICAgICAgIGdyb3VwOiBhc3NpZ24oe30sIHByb3BzLCB7IHZhbHVlOiBwcmV2R3JvdXAgfSksXG4gICAgICAgICAgZ3JvdXBDb2xsYXBzZWQ6IGFzc2lnbih7fSwgcHJvcHMsIHsgdmFsdWU6IHByZXZHcm91cENvbGxhcHNlZCB9KSxcbiAgICAgICAgICBncm91cEVuZDogYXNzaWduKHt9LCBwcm9wcywgeyB2YWx1ZTogcHJldkdyb3VwRW5kIH0pXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgMCA+IGRpc2FibGVkRGVwdGggJiZcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcImRpc2FibGVkRGVwdGggZmVsbCBiZWxvdyB6ZXJvLiBUaGlzIGlzIGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIlxuICAgICAgICApO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZUJ1aWx0SW5Db21wb25lbnRGcmFtZShuYW1lKSB7XG4gICAgICBpZiAodm9pZCAwID09PSBwcmVmaXgpXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICAgIHZhciBtYXRjaCA9IHguc3RhY2sudHJpbSgpLm1hdGNoKC9cXG4oICooYXQgKT8pLyk7XG4gICAgICAgICAgcHJlZml4ID0gKG1hdGNoICYmIG1hdGNoWzFdKSB8fCBcIlwiO1xuICAgICAgICAgIHN1ZmZpeCA9XG4gICAgICAgICAgICAtMSA8IHguc3RhY2suaW5kZXhPZihcIlxcbiAgICBhdFwiKVxuICAgICAgICAgICAgICA/IFwiICg8YW5vbnltb3VzPilcIlxuICAgICAgICAgICAgICA6IC0xIDwgeC5zdGFjay5pbmRleE9mKFwiQFwiKVxuICAgICAgICAgICAgICAgID8gXCJAdW5rbm93bjowOjBcIlxuICAgICAgICAgICAgICAgIDogXCJcIjtcbiAgICAgICAgfVxuICAgICAgcmV0dXJuIFwiXFxuXCIgKyBwcmVmaXggKyBuYW1lICsgc3VmZml4O1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKGZuLCBjb25zdHJ1Y3QpIHtcbiAgICAgIGlmICghZm4gfHwgcmVlbnRyeSkgcmV0dXJuIFwiXCI7XG4gICAgICB2YXIgZnJhbWUgPSBjb21wb25lbnRGcmFtZUNhY2hlLmdldChmbik7XG4gICAgICBpZiAodm9pZCAwICE9PSBmcmFtZSkgcmV0dXJuIGZyYW1lO1xuICAgICAgcmVlbnRyeSA9ICEwO1xuICAgICAgZnJhbWUgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtcbiAgICAgIEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gdm9pZCAwO1xuICAgICAgdmFyIHByZXZpb3VzRGlzcGF0Y2hlciA9IG51bGw7XG4gICAgICBwcmV2aW91c0Rpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5IO1xuICAgICAgUmVhY3RTaGFyZWRJbnRlcm5hbHMuSCA9IG51bGw7XG4gICAgICBkaXNhYmxlTG9ncygpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIFJ1bkluUm9vdEZyYW1lID0ge1xuICAgICAgICAgIERldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgaWYgKGNvbnN0cnVjdCkge1xuICAgICAgICAgICAgICAgIHZhciBGYWtlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGYWtlLnByb3RvdHlwZSwgXCJwcm9wc1wiLCB7XG4gICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIFJlZmxlY3QgJiYgUmVmbGVjdC5jb25zdHJ1Y3QpIHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIFJlZmxlY3QuY29uc3RydWN0KEZha2UsIFtdKTtcbiAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvbnRyb2wgPSB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgUmVmbGVjdC5jb25zdHJ1Y3QoZm4sIFtdLCBGYWtlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgRmFrZS5jYWxsKCk7XG4gICAgICAgICAgICAgICAgICB9IGNhdGNoICh4JDApIHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbCA9IHgkMDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGZuLmNhbGwoRmFrZS5wcm90b3R5cGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoICh4JDEpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRyb2wgPSB4JDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIChGYWtlID0gZm4oKSkgJiZcbiAgICAgICAgICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIEZha2UuY2F0Y2ggJiZcbiAgICAgICAgICAgICAgICAgIEZha2UuY2F0Y2goZnVuY3Rpb24gKCkge30pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChzYW1wbGUpIHtcbiAgICAgICAgICAgICAgaWYgKHNhbXBsZSAmJiBjb250cm9sICYmIFwic3RyaW5nXCIgPT09IHR5cGVvZiBzYW1wbGUuc3RhY2spXG4gICAgICAgICAgICAgICAgcmV0dXJuIFtzYW1wbGUuc3RhY2ssIGNvbnRyb2wuc3RhY2tdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIFtudWxsLCBudWxsXTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIFJ1bkluUm9vdEZyYW1lLkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdC5kaXNwbGF5TmFtZSA9XG4gICAgICAgICAgXCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3RcIjtcbiAgICAgICAgdmFyIG5hbWVQcm9wRGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoXG4gICAgICAgICAgUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290LFxuICAgICAgICAgIFwibmFtZVwiXG4gICAgICAgICk7XG4gICAgICAgIG5hbWVQcm9wRGVzY3JpcHRvciAmJlxuICAgICAgICAgIG5hbWVQcm9wRGVzY3JpcHRvci5jb25maWd1cmFibGUgJiZcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgICAgICAgICBSdW5JblJvb3RGcmFtZS5EZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3QsXG4gICAgICAgICAgICBcIm5hbWVcIixcbiAgICAgICAgICAgIHsgdmFsdWU6IFwiRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290XCIgfVxuICAgICAgICAgICk7XG4gICAgICAgIHZhciBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPVxuICAgICAgICAgICAgUnVuSW5Sb290RnJhbWUuRGV0ZXJtaW5lQ29tcG9uZW50RnJhbWVSb290KCksXG4gICAgICAgICAgc2FtcGxlU3RhY2sgPSBfUnVuSW5Sb290RnJhbWUkRGV0ZXJbMF0sXG4gICAgICAgICAgY29udHJvbFN0YWNrID0gX1J1bkluUm9vdEZyYW1lJERldGVyWzFdO1xuICAgICAgICBpZiAoc2FtcGxlU3RhY2sgJiYgY29udHJvbFN0YWNrKSB7XG4gICAgICAgICAgdmFyIHNhbXBsZUxpbmVzID0gc2FtcGxlU3RhY2suc3BsaXQoXCJcXG5cIiksXG4gICAgICAgICAgICBjb250cm9sTGluZXMgPSBjb250cm9sU3RhY2suc3BsaXQoXCJcXG5cIik7XG4gICAgICAgICAgZm9yIChcbiAgICAgICAgICAgIF9SdW5JblJvb3RGcmFtZSREZXRlciA9IG5hbWVQcm9wRGVzY3JpcHRvciA9IDA7XG4gICAgICAgICAgICBuYW1lUHJvcERlc2NyaXB0b3IgPCBzYW1wbGVMaW5lcy5sZW5ndGggJiZcbiAgICAgICAgICAgICFzYW1wbGVMaW5lc1tuYW1lUHJvcERlc2NyaXB0b3JdLmluY2x1ZGVzKFxuICAgICAgICAgICAgICBcIkRldGVybWluZUNvbXBvbmVudEZyYW1lUm9vdFwiXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgKVxuICAgICAgICAgICAgbmFtZVByb3BEZXNjcmlwdG9yKys7XG4gICAgICAgICAgZm9yIChcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIF9SdW5JblJvb3RGcmFtZSREZXRlciA8IGNvbnRyb2xMaW5lcy5sZW5ndGggJiZcbiAgICAgICAgICAgICFjb250cm9sTGluZXNbX1J1bkluUm9vdEZyYW1lJERldGVyXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgXCJEZXRlcm1pbmVDb21wb25lbnRGcmFtZVJvb3RcIlxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgIClcbiAgICAgICAgICAgIF9SdW5JblJvb3RGcmFtZSREZXRlcisrO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG5hbWVQcm9wRGVzY3JpcHRvciA9PT0gc2FtcGxlTGluZXMubGVuZ3RoIHx8XG4gICAgICAgICAgICBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgPT09IGNvbnRyb2xMaW5lcy5sZW5ndGhcbiAgICAgICAgICApXG4gICAgICAgICAgICBmb3IgKFxuICAgICAgICAgICAgICBuYW1lUHJvcERlc2NyaXB0b3IgPSBzYW1wbGVMaW5lcy5sZW5ndGggLSAxLFxuICAgICAgICAgICAgICAgIF9SdW5JblJvb3RGcmFtZSREZXRlciA9IGNvbnRyb2xMaW5lcy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAxIDw9IG5hbWVQcm9wRGVzY3JpcHRvciAmJlxuICAgICAgICAgICAgICAwIDw9IF9SdW5JblJvb3RGcmFtZSREZXRlciAmJlxuICAgICAgICAgICAgICBzYW1wbGVMaW5lc1tuYW1lUHJvcERlc2NyaXB0b3JdICE9PVxuICAgICAgICAgICAgICAgIGNvbnRyb2xMaW5lc1tfUnVuSW5Sb290RnJhbWUkRGV0ZXJdO1xuXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgIF9SdW5JblJvb3RGcmFtZSREZXRlci0tO1xuICAgICAgICAgIGZvciAoXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICAxIDw9IG5hbWVQcm9wRGVzY3JpcHRvciAmJiAwIDw9IF9SdW5JblJvb3RGcmFtZSREZXRlcjtcbiAgICAgICAgICAgIG5hbWVQcm9wRGVzY3JpcHRvci0tLCBfUnVuSW5Sb290RnJhbWUkRGV0ZXItLVxuICAgICAgICAgIClcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgc2FtcGxlTGluZXNbbmFtZVByb3BEZXNjcmlwdG9yXSAhPT1cbiAgICAgICAgICAgICAgY29udHJvbExpbmVzW19SdW5JblJvb3RGcmFtZSREZXRlcl1cbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICBpZiAoMSAhPT0gbmFtZVByb3BEZXNjcmlwdG9yIHx8IDEgIT09IF9SdW5JblJvb3RGcmFtZSREZXRlcikge1xuICAgICAgICAgICAgICAgIGRvXG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIChuYW1lUHJvcERlc2NyaXB0b3ItLSxcbiAgICAgICAgICAgICAgICAgICAgX1J1bkluUm9vdEZyYW1lJERldGVyLS0sXG4gICAgICAgICAgICAgICAgICAgIDAgPiBfUnVuSW5Sb290RnJhbWUkRGV0ZXIgfHxcbiAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVMaW5lc1tuYW1lUHJvcERlc2NyaXB0b3JdICE9PVxuICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbExpbmVzW19SdW5JblJvb3RGcmFtZSREZXRlcl0pXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9mcmFtZSA9XG4gICAgICAgICAgICAgICAgICAgICAgXCJcXG5cIiArXG4gICAgICAgICAgICAgICAgICAgICAgc2FtcGxlTGluZXNbbmFtZVByb3BEZXNjcmlwdG9yXS5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgYXQgbmV3IFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgYXQgXCJcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBmbi5kaXNwbGF5TmFtZSAmJlxuICAgICAgICAgICAgICAgICAgICAgIF9mcmFtZS5pbmNsdWRlcyhcIjxhbm9ueW1vdXM+XCIpICYmXG4gICAgICAgICAgICAgICAgICAgICAgKF9mcmFtZSA9IF9mcmFtZS5yZXBsYWNlKFwiPGFub255bW91cz5cIiwgZm4uZGlzcGxheU5hbWUpKTtcbiAgICAgICAgICAgICAgICAgICAgXCJmdW5jdGlvblwiID09PSB0eXBlb2YgZm4gJiZcbiAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgX2ZyYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9mcmFtZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB3aGlsZSAoMSA8PSBuYW1lUHJvcERlc2NyaXB0b3IgJiYgMCA8PSBfUnVuSW5Sb290RnJhbWUkRGV0ZXIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAocmVlbnRyeSA9ICExKSxcbiAgICAgICAgICAoUmVhY3RTaGFyZWRJbnRlcm5hbHMuSCA9IHByZXZpb3VzRGlzcGF0Y2hlciksXG4gICAgICAgICAgcmVlbmFibGVMb2dzKCksXG4gICAgICAgICAgKEVycm9yLnByZXBhcmVTdGFja1RyYWNlID0gZnJhbWUpO1xuICAgICAgfVxuICAgICAgc2FtcGxlTGluZXMgPSAoc2FtcGxlTGluZXMgPSBmbiA/IGZuLmRpc3BsYXlOYW1lIHx8IGZuLm5hbWUgOiBcIlwiKVxuICAgICAgICA/IGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHNhbXBsZUxpbmVzKVxuICAgICAgICA6IFwiXCI7XG4gICAgICBcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiBmbiAmJiBjb21wb25lbnRGcmFtZUNhY2hlLnNldChmbiwgc2FtcGxlTGluZXMpO1xuICAgICAgcmV0dXJuIHNhbXBsZUxpbmVzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZXNjcmliZVVua25vd25FbGVtZW50VHlwZUZyYW1lSW5ERVYodHlwZSkge1xuICAgICAgaWYgKG51bGwgPT0gdHlwZSkgcmV0dXJuIFwiXCI7XG4gICAgICBpZiAoXCJmdW5jdGlvblwiID09PSB0eXBlb2YgdHlwZSkge1xuICAgICAgICB2YXIgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgICAgIHJldHVybiBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKFxuICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgISghcHJvdG90eXBlIHx8ICFwcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChcInN0cmluZ1wiID09PSB0eXBlb2YgdHlwZSkgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKHR5cGUpO1xuICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgICAgICByZXR1cm4gZGVzY3JpYmVCdWlsdEluQ29tcG9uZW50RnJhbWUoXCJTdXNwZW5zZVwiKTtcbiAgICAgICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU6XG4gICAgICAgICAgcmV0dXJuIGRlc2NyaWJlQnVpbHRJbkNvbXBvbmVudEZyYW1lKFwiU3VzcGVuc2VMaXN0XCIpO1xuICAgICAgfVxuICAgICAgaWYgKFwib2JqZWN0XCIgPT09IHR5cGVvZiB0eXBlKVxuICAgICAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICByZXR1cm4gKHR5cGUgPSBkZXNjcmliZU5hdGl2ZUNvbXBvbmVudEZyYW1lKHR5cGUucmVuZGVyLCAhMSkpLCB0eXBlO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTUVNT19UWVBFOlxuICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlLnR5cGUpO1xuICAgICAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICAgICAgcHJvdG90eXBlID0gdHlwZS5fcGF5bG9hZDtcbiAgICAgICAgICAgIHR5cGUgPSB0eXBlLl9pbml0O1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRlc2NyaWJlVW5rbm93bkVsZW1lbnRUeXBlRnJhbWVJbkRFVih0eXBlKHByb3RvdHlwZSkpO1xuICAgICAgICAgICAgfSBjYXRjaCAoeCkge31cbiAgICAgICAgfVxuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldE93bmVyKCkge1xuICAgICAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdFNoYXJlZEludGVybmFscy5BO1xuICAgICAgcmV0dXJuIG51bGwgPT09IGRpc3BhdGNoZXIgPyBudWxsIDogZGlzcGF0Y2hlci5nZXRPd25lcigpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYXNWYWxpZEtleShjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgXCJrZXlcIikpIHtcbiAgICAgICAgdmFyIGdldHRlciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY29uZmlnLCBcImtleVwiKS5nZXQ7XG4gICAgICAgIGlmIChnZXR0ZXIgJiYgZ2V0dGVyLmlzUmVhY3RXYXJuaW5nKSByZXR1cm4gITE7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwICE9PSBjb25maWcua2V5O1xuICAgIH1cbiAgICBmdW5jdGlvbiBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpIHtcbiAgICAgIGZ1bmN0aW9uIHdhcm5BYm91dEFjY2Vzc2luZ0tleSgpIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gfHxcbiAgICAgICAgICAoKHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duID0gITApLFxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICBcIiVzOiBga2V5YCBpcyBub3QgYSBwcm9wLiBUcnlpbmcgdG8gYWNjZXNzIGl0IHdpbGwgcmVzdWx0IGluIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgdmFsdWUgd2l0aGluIHRoZSBjaGlsZCBjb21wb25lbnQsIHlvdSBzaG91bGQgcGFzcyBpdCBhcyBhIGRpZmZlcmVudCBwcm9wLiAoaHR0cHM6Ly9yZWFjdC5kZXYvbGluay9zcGVjaWFsLXByb3BzKVwiLFxuICAgICAgICAgICAgZGlzcGxheU5hbWVcbiAgICAgICAgICApKTtcbiAgICAgIH1cbiAgICAgIHdhcm5BYm91dEFjY2Vzc2luZ0tleS5pc1JlYWN0V2FybmluZyA9ICEwO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCBcImtleVwiLCB7XG4gICAgICAgIGdldDogd2FybkFib3V0QWNjZXNzaW5nS2V5LFxuICAgICAgICBjb25maWd1cmFibGU6ICEwXG4gICAgICB9KTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZWxlbWVudFJlZkdldHRlcldpdGhEZXByZWNhdGlvbldhcm5pbmcoKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0aGlzLnR5cGUpO1xuICAgICAgZGlkV2FybkFib3V0RWxlbWVudFJlZltjb21wb25lbnROYW1lXSB8fFxuICAgICAgICAoKGRpZFdhcm5BYm91dEVsZW1lbnRSZWZbY29tcG9uZW50TmFtZV0gPSAhMCksXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgXCJBY2Nlc3NpbmcgZWxlbWVudC5yZWYgd2FzIHJlbW92ZWQgaW4gUmVhY3QgMTkuIHJlZiBpcyBub3cgYSByZWd1bGFyIHByb3AuIEl0IHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoZSBKU1ggRWxlbWVudCB0eXBlIGluIGEgZnV0dXJlIHJlbGVhc2UuXCJcbiAgICAgICAgKSk7XG4gICAgICBjb21wb25lbnROYW1lID0gdGhpcy5wcm9wcy5yZWY7XG4gICAgICByZXR1cm4gdm9pZCAwICE9PSBjb21wb25lbnROYW1lID8gY29tcG9uZW50TmFtZSA6IG51bGw7XG4gICAgfVxuICAgIGZ1bmN0aW9uIFJlYWN0RWxlbWVudCh0eXBlLCBrZXksIHNlbGYsIHNvdXJjZSwgb3duZXIsIHByb3BzKSB7XG4gICAgICBzZWxmID0gcHJvcHMucmVmO1xuICAgICAgdHlwZSA9IHtcbiAgICAgICAgJCR0eXBlb2Y6IFJFQUNUX0VMRU1FTlRfVFlQRSxcbiAgICAgICAgdHlwZTogdHlwZSxcbiAgICAgICAga2V5OiBrZXksXG4gICAgICAgIHByb3BzOiBwcm9wcyxcbiAgICAgICAgX293bmVyOiBvd25lclxuICAgICAgfTtcbiAgICAgIG51bGwgIT09ICh2b2lkIDAgIT09IHNlbGYgPyBzZWxmIDogbnVsbClcbiAgICAgICAgPyBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogITEsXG4gICAgICAgICAgICBnZXQ6IGVsZW1lbnRSZWZHZXR0ZXJXaXRoRGVwcmVjYXRpb25XYXJuaW5nXG4gICAgICAgICAgfSlcbiAgICAgICAgOiBPYmplY3QuZGVmaW5lUHJvcGVydHkodHlwZSwgXCJyZWZcIiwgeyBlbnVtZXJhYmxlOiAhMSwgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0eXBlLl9zdG9yZSA9IHt9O1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHR5cGUuX3N0b3JlLCBcInZhbGlkYXRlZFwiLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogITEsXG4gICAgICAgIGVudW1lcmFibGU6ICExLFxuICAgICAgICB3cml0YWJsZTogITAsXG4gICAgICAgIHZhbHVlOiAwXG4gICAgICB9KTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0eXBlLCBcIl9kZWJ1Z0luZm9cIiwge1xuICAgICAgICBjb25maWd1cmFibGU6ICExLFxuICAgICAgICBlbnVtZXJhYmxlOiAhMSxcbiAgICAgICAgd3JpdGFibGU6ICEwLFxuICAgICAgICB2YWx1ZTogbnVsbFxuICAgICAgfSk7XG4gICAgICBPYmplY3QuZnJlZXplICYmIChPYmplY3QuZnJlZXplKHR5cGUucHJvcHMpLCBPYmplY3QuZnJlZXplKHR5cGUpKTtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBqc3hERVZJbXBsKFxuICAgICAgdHlwZSxcbiAgICAgIGNvbmZpZyxcbiAgICAgIG1heWJlS2V5LFxuICAgICAgaXNTdGF0aWNDaGlsZHJlbixcbiAgICAgIHNvdXJjZSxcbiAgICAgIHNlbGZcbiAgICApIHtcbiAgICAgIGlmIChcbiAgICAgICAgXCJzdHJpbmdcIiA9PT0gdHlwZW9mIHR5cGUgfHxcbiAgICAgICAgXCJmdW5jdGlvblwiID09PSB0eXBlb2YgdHlwZSB8fFxuICAgICAgICB0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8XG4gICAgICAgIHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHxcbiAgICAgICAgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fFxuICAgICAgICB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8XG4gICAgICAgIHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fFxuICAgICAgICB0eXBlID09PSBSRUFDVF9PRkZTQ1JFRU5fVFlQRSB8fFxuICAgICAgICAoXCJvYmplY3RcIiA9PT0gdHlwZW9mIHR5cGUgJiZcbiAgICAgICAgICBudWxsICE9PSB0eXBlICYmXG4gICAgICAgICAgKHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0xBWllfVFlQRSB8fFxuICAgICAgICAgICAgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTUVNT19UWVBFIHx8XG4gICAgICAgICAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9DT05URVhUX1RZUEUgfHxcbiAgICAgICAgICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlNVTUVSX1RZUEUgfHxcbiAgICAgICAgICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUgfHxcbiAgICAgICAgICAgIHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMSB8fFxuICAgICAgICAgICAgdm9pZCAwICE9PSB0eXBlLmdldE1vZHVsZUlkKSlcbiAgICAgICkge1xuICAgICAgICB2YXIgY2hpbGRyZW4gPSBjb25maWcuY2hpbGRyZW47XG4gICAgICAgIGlmICh2b2lkIDAgIT09IGNoaWxkcmVuKVxuICAgICAgICAgIGlmIChpc1N0YXRpY0NoaWxkcmVuKVxuICAgICAgICAgICAgaWYgKGlzQXJyYXlJbXBsKGNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICBmb3IgKFxuICAgICAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPSAwO1xuICAgICAgICAgICAgICAgIGlzU3RhdGljQ2hpbGRyZW4gPCBjaGlsZHJlbi5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaXNTdGF0aWNDaGlsZHJlbisrXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZUNoaWxkS2V5cyhjaGlsZHJlbltpc1N0YXRpY0NoaWxkcmVuXSwgdHlwZSk7XG4gICAgICAgICAgICAgIE9iamVjdC5mcmVlemUgJiYgT2JqZWN0LmZyZWV6ZShjaGlsZHJlbik7XG4gICAgICAgICAgICB9IGVsc2VcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICBcIlJlYWN0LmpzeDogU3RhdGljIGNoaWxkcmVuIHNob3VsZCBhbHdheXMgYmUgYW4gYXJyYXkuIFlvdSBhcmUgbGlrZWx5IGV4cGxpY2l0bHkgY2FsbGluZyBSZWFjdC5qc3hzIG9yIFJlYWN0LmpzeERFVi4gVXNlIHRoZSBCYWJlbCB0cmFuc2Zvcm0gaW5zdGVhZC5cIlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgIGVsc2UgdmFsaWRhdGVDaGlsZEtleXMoY2hpbGRyZW4sIHR5cGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2hpbGRyZW4gPSBcIlwiO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdm9pZCAwID09PSB0eXBlIHx8XG4gICAgICAgICAgKFwib2JqZWN0XCIgPT09IHR5cGVvZiB0eXBlICYmXG4gICAgICAgICAgICBudWxsICE9PSB0eXBlICYmXG4gICAgICAgICAgICAwID09PSBPYmplY3Qua2V5cyh0eXBlKS5sZW5ndGgpXG4gICAgICAgIClcbiAgICAgICAgICBjaGlsZHJlbiArPVxuICAgICAgICAgICAgXCIgWW91IGxpa2VseSBmb3Jnb3QgdG8gZXhwb3J0IHlvdXIgY29tcG9uZW50IGZyb20gdGhlIGZpbGUgaXQncyBkZWZpbmVkIGluLCBvciB5b3UgbWlnaHQgaGF2ZSBtaXhlZCB1cCBkZWZhdWx0IGFuZCBuYW1lZCBpbXBvcnRzLlwiO1xuICAgICAgICBudWxsID09PSB0eXBlXG4gICAgICAgICAgPyAoaXNTdGF0aWNDaGlsZHJlbiA9IFwibnVsbFwiKVxuICAgICAgICAgIDogaXNBcnJheUltcGwodHlwZSlcbiAgICAgICAgICAgID8gKGlzU3RhdGljQ2hpbGRyZW4gPSBcImFycmF5XCIpXG4gICAgICAgICAgICA6IHZvaWQgMCAhPT0gdHlwZSAmJiB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbiAgICAgICAgICAgICAgPyAoKGlzU3RhdGljQ2hpbGRyZW4gPVxuICAgICAgICAgICAgICAgICAgXCI8XCIgK1xuICAgICAgICAgICAgICAgICAgKGdldENvbXBvbmVudE5hbWVGcm9tVHlwZSh0eXBlLnR5cGUpIHx8IFwiVW5rbm93blwiKSArXG4gICAgICAgICAgICAgICAgICBcIiAvPlwiKSxcbiAgICAgICAgICAgICAgICAoY2hpbGRyZW4gPVxuICAgICAgICAgICAgICAgICAgXCIgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD9cIikpXG4gICAgICAgICAgICAgIDogKGlzU3RhdGljQ2hpbGRyZW4gPSB0eXBlb2YgdHlwZSk7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgXCJSZWFjdC5qc3g6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yIGJ1aWx0LWluIGNvbXBvbmVudHMpIG9yIGEgY2xhc3MvZnVuY3Rpb24gKGZvciBjb21wb3NpdGUgY29tcG9uZW50cykgYnV0IGdvdDogJXMuJXNcIixcbiAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChjb25maWcsIFwia2V5XCIpKSB7XG4gICAgICAgIGNoaWxkcmVuID0gZ2V0Q29tcG9uZW50TmFtZUZyb21UeXBlKHR5cGUpO1xuICAgICAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGNvbmZpZykuZmlsdGVyKGZ1bmN0aW9uIChrKSB7XG4gICAgICAgICAgcmV0dXJuIFwia2V5XCIgIT09IGs7XG4gICAgICAgIH0pO1xuICAgICAgICBpc1N0YXRpY0NoaWxkcmVuID1cbiAgICAgICAgICAwIDwga2V5cy5sZW5ndGhcbiAgICAgICAgICAgID8gXCJ7a2V5OiBzb21lS2V5LCBcIiArIGtleXMuam9pbihcIjogLi4uLCBcIikgKyBcIjogLi4ufVwiXG4gICAgICAgICAgICA6IFwie2tleTogc29tZUtleX1cIjtcbiAgICAgICAgZGlkV2FybkFib3V0S2V5U3ByZWFkW2NoaWxkcmVuICsgaXNTdGF0aWNDaGlsZHJlbl0gfHxcbiAgICAgICAgICAoKGtleXMgPVxuICAgICAgICAgICAgMCA8IGtleXMubGVuZ3RoID8gXCJ7XCIgKyBrZXlzLmpvaW4oXCI6IC4uLiwgXCIpICsgXCI6IC4uLn1cIiA6IFwie31cIiksXG4gICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICdBIHByb3BzIG9iamVjdCBjb250YWluaW5nIGEgXCJrZXlcIiBwcm9wIGlzIGJlaW5nIHNwcmVhZCBpbnRvIEpTWDpcXG4gIGxldCBwcm9wcyA9ICVzO1xcbiAgPCVzIHsuLi5wcm9wc30gLz5cXG5SZWFjdCBrZXlzIG11c3QgYmUgcGFzc2VkIGRpcmVjdGx5IHRvIEpTWCB3aXRob3V0IHVzaW5nIHNwcmVhZDpcXG4gIGxldCBwcm9wcyA9ICVzO1xcbiAgPCVzIGtleT17c29tZUtleX0gey4uLnByb3BzfSAvPicsXG4gICAgICAgICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICBrZXlzLFxuICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgICApLFxuICAgICAgICAgIChkaWRXYXJuQWJvdXRLZXlTcHJlYWRbY2hpbGRyZW4gKyBpc1N0YXRpY0NoaWxkcmVuXSA9ICEwKSk7XG4gICAgICB9XG4gICAgICBjaGlsZHJlbiA9IG51bGw7XG4gICAgICB2b2lkIDAgIT09IG1heWJlS2V5ICYmXG4gICAgICAgIChjaGVja0tleVN0cmluZ0NvZXJjaW9uKG1heWJlS2V5KSwgKGNoaWxkcmVuID0gXCJcIiArIG1heWJlS2V5KSk7XG4gICAgICBoYXNWYWxpZEtleShjb25maWcpICYmXG4gICAgICAgIChjaGVja0tleVN0cmluZ0NvZXJjaW9uKGNvbmZpZy5rZXkpLCAoY2hpbGRyZW4gPSBcIlwiICsgY29uZmlnLmtleSkpO1xuICAgICAgaWYgKFwia2V5XCIgaW4gY29uZmlnKSB7XG4gICAgICAgIG1heWJlS2V5ID0ge307XG4gICAgICAgIGZvciAodmFyIHByb3BOYW1lIGluIGNvbmZpZylcbiAgICAgICAgICBcImtleVwiICE9PSBwcm9wTmFtZSAmJiAobWF5YmVLZXlbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXSk7XG4gICAgICB9IGVsc2UgbWF5YmVLZXkgPSBjb25maWc7XG4gICAgICBjaGlsZHJlbiAmJlxuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihcbiAgICAgICAgICBtYXliZUtleSxcbiAgICAgICAgICBcImZ1bmN0aW9uXCIgPT09IHR5cGVvZiB0eXBlXG4gICAgICAgICAgICA/IHR5cGUuZGlzcGxheU5hbWUgfHwgdHlwZS5uYW1lIHx8IFwiVW5rbm93blwiXG4gICAgICAgICAgICA6IHR5cGVcbiAgICAgICAgKTtcbiAgICAgIHJldHVybiBSZWFjdEVsZW1lbnQodHlwZSwgY2hpbGRyZW4sIHNlbGYsIHNvdXJjZSwgZ2V0T3duZXIoKSwgbWF5YmVLZXkpO1xuICAgIH1cbiAgICBmdW5jdGlvbiB2YWxpZGF0ZUNoaWxkS2V5cyhub2RlLCBwYXJlbnRUeXBlKSB7XG4gICAgICBpZiAoXG4gICAgICAgIFwib2JqZWN0XCIgPT09IHR5cGVvZiBub2RlICYmXG4gICAgICAgIG5vZGUgJiZcbiAgICAgICAgbm9kZS4kJHR5cGVvZiAhPT0gUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRVxuICAgICAgKVxuICAgICAgICBpZiAoaXNBcnJheUltcGwobm9kZSkpXG4gICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2RlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgY2hpbGQgPSBub2RlW2ldO1xuICAgICAgICAgICAgaXNWYWxpZEVsZW1lbnQoY2hpbGQpICYmIHZhbGlkYXRlRXhwbGljaXRLZXkoY2hpbGQsIHBhcmVudFR5cGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNWYWxpZEVsZW1lbnQobm9kZSkpXG4gICAgICAgICAgbm9kZS5fc3RvcmUgJiYgKG5vZGUuX3N0b3JlLnZhbGlkYXRlZCA9IDEpO1xuICAgICAgICBlbHNlIGlmIChcbiAgICAgICAgICAobnVsbCA9PT0gbm9kZSB8fCBcIm9iamVjdFwiICE9PSB0eXBlb2Ygbm9kZVxuICAgICAgICAgICAgPyAoaSA9IG51bGwpXG4gICAgICAgICAgICA6ICgoaSA9XG4gICAgICAgICAgICAgICAgKE1BWUJFX0lURVJBVE9SX1NZTUJPTCAmJiBub2RlW01BWUJFX0lURVJBVE9SX1NZTUJPTF0pIHx8XG4gICAgICAgICAgICAgICAgbm9kZVtcIkBAaXRlcmF0b3JcIl0pLFxuICAgICAgICAgICAgICAoaSA9IFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIGkgPyBpIDogbnVsbCkpLFxuICAgICAgICAgIFwiZnVuY3Rpb25cIiA9PT0gdHlwZW9mIGkgJiZcbiAgICAgICAgICAgIGkgIT09IG5vZGUuZW50cmllcyAmJlxuICAgICAgICAgICAgKChpID0gaS5jYWxsKG5vZGUpKSwgaSAhPT0gbm9kZSkpXG4gICAgICAgIClcbiAgICAgICAgICBmb3IgKDsgIShub2RlID0gaS5uZXh0KCkpLmRvbmU7IClcbiAgICAgICAgICAgIGlzVmFsaWRFbGVtZW50KG5vZGUudmFsdWUpICYmXG4gICAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkobm9kZS52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgXCJvYmplY3RcIiA9PT0gdHlwZW9mIG9iamVjdCAmJlxuICAgICAgICBudWxsICE9PSBvYmplY3QgJiZcbiAgICAgICAgb2JqZWN0LiQkdHlwZW9mID09PSBSRUFDVF9FTEVNRU5UX1RZUEVcbiAgICAgICk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHZhbGlkYXRlRXhwbGljaXRLZXkoZWxlbWVudCwgcGFyZW50VHlwZSkge1xuICAgICAgaWYgKFxuICAgICAgICBlbGVtZW50Ll9zdG9yZSAmJlxuICAgICAgICAhZWxlbWVudC5fc3RvcmUudmFsaWRhdGVkICYmXG4gICAgICAgIG51bGwgPT0gZWxlbWVudC5rZXkgJiZcbiAgICAgICAgKChlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgPSAxKSxcbiAgICAgICAgKHBhcmVudFR5cGUgPSBnZXRDdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvKHBhcmVudFR5cGUpKSxcbiAgICAgICAgIW93bmVySGFzS2V5VXNlV2FybmluZ1twYXJlbnRUeXBlXSlcbiAgICAgICkge1xuICAgICAgICBvd25lckhhc0tleVVzZVdhcm5pbmdbcGFyZW50VHlwZV0gPSAhMDtcbiAgICAgICAgdmFyIGNoaWxkT3duZXIgPSBcIlwiO1xuICAgICAgICBlbGVtZW50ICYmXG4gICAgICAgICAgbnVsbCAhPSBlbGVtZW50Ll9vd25lciAmJlxuICAgICAgICAgIGVsZW1lbnQuX293bmVyICE9PSBnZXRPd25lcigpICYmXG4gICAgICAgICAgKChjaGlsZE93bmVyID0gbnVsbCksXG4gICAgICAgICAgXCJudW1iZXJcIiA9PT0gdHlwZW9mIGVsZW1lbnQuX293bmVyLnRhZ1xuICAgICAgICAgICAgPyAoY2hpbGRPd25lciA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShlbGVtZW50Ll9vd25lci50eXBlKSlcbiAgICAgICAgICAgIDogXCJzdHJpbmdcIiA9PT0gdHlwZW9mIGVsZW1lbnQuX293bmVyLm5hbWUgJiZcbiAgICAgICAgICAgICAgKGNoaWxkT3duZXIgPSBlbGVtZW50Ll9vd25lci5uYW1lKSxcbiAgICAgICAgICAoY2hpbGRPd25lciA9IFwiIEl0IHdhcyBwYXNzZWQgYSBjaGlsZCBmcm9tIFwiICsgY2hpbGRPd25lciArIFwiLlwiKSk7XG4gICAgICAgIHZhciBwcmV2R2V0Q3VycmVudFN0YWNrID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuZ2V0Q3VycmVudFN0YWNrO1xuICAgICAgICBSZWFjdFNoYXJlZEludGVybmFscy5nZXRDdXJyZW50U3RhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgdmFyIHN0YWNrID0gZGVzY3JpYmVVbmtub3duRWxlbWVudFR5cGVGcmFtZUluREVWKGVsZW1lbnQudHlwZSk7XG4gICAgICAgICAgcHJldkdldEN1cnJlbnRTdGFjayAmJiAoc3RhY2sgKz0gcHJldkdldEN1cnJlbnRTdGFjaygpIHx8IFwiXCIpO1xuICAgICAgICAgIHJldHVybiBzdGFjaztcbiAgICAgICAgfTtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAnRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgXCJrZXlcIiBwcm9wLiVzJXMgU2VlIGh0dHBzOi8vcmVhY3QuZGV2L2xpbmsvd2FybmluZy1rZXlzIGZvciBtb3JlIGluZm9ybWF0aW9uLicsXG4gICAgICAgICAgcGFyZW50VHlwZSxcbiAgICAgICAgICBjaGlsZE93bmVyXG4gICAgICAgICk7XG4gICAgICAgIFJlYWN0U2hhcmVkSW50ZXJuYWxzLmdldEN1cnJlbnRTdGFjayA9IHByZXZHZXRDdXJyZW50U3RhY2s7XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSkge1xuICAgICAgdmFyIGluZm8gPSBcIlwiLFxuICAgICAgICBvd25lciA9IGdldE93bmVyKCk7XG4gICAgICBvd25lciAmJlxuICAgICAgICAob3duZXIgPSBnZXRDb21wb25lbnROYW1lRnJvbVR5cGUob3duZXIudHlwZSkpICYmXG4gICAgICAgIChpbmZvID0gXCJcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgXCIgKyBvd25lciArIFwiYC5cIik7XG4gICAgICBpbmZvIHx8XG4gICAgICAgICgocGFyZW50VHlwZSA9IGdldENvbXBvbmVudE5hbWVGcm9tVHlwZShwYXJlbnRUeXBlKSkgJiZcbiAgICAgICAgICAoaW5mbyA9XG4gICAgICAgICAgICBcIlxcblxcbkNoZWNrIHRoZSB0b3AtbGV2ZWwgcmVuZGVyIGNhbGwgdXNpbmcgPFwiICsgcGFyZW50VHlwZSArIFwiPi5cIikpO1xuICAgICAgcmV0dXJuIGluZm87XG4gICAgfVxuICAgIHZhciBSZWFjdCA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3RcIiksXG4gICAgICBSRUFDVF9FTEVNRU5UX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QudHJhbnNpdGlvbmFsLmVsZW1lbnRcIiksXG4gICAgICBSRUFDVF9QT1JUQUxfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5wb3J0YWxcIiksXG4gICAgICBSRUFDVF9GUkFHTUVOVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmZyYWdtZW50XCIpLFxuICAgICAgUkVBQ1RfU1RSSUNUX01PREVfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKSxcbiAgICAgIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QucHJvZmlsZXJcIik7XG4gICAgU3ltYm9sLmZvcihcInJlYWN0LnByb3ZpZGVyXCIpO1xuICAgIHZhciBSRUFDVF9DT05TVU1FUl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmNvbnN1bWVyXCIpLFxuICAgICAgUkVBQ1RfQ09OVEVYVF9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmNvbnRleHRcIiksXG4gICAgICBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0LmZvcndhcmRfcmVmXCIpLFxuICAgICAgUkVBQ1RfU1VTUEVOU0VfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKSxcbiAgICAgIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSA9IFN5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZV9saXN0XCIpLFxuICAgICAgUkVBQ1RfTUVNT19UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIiksXG4gICAgICBSRUFDVF9MQVpZX1RZUEUgPSBTeW1ib2wuZm9yKFwicmVhY3QubGF6eVwiKSxcbiAgICAgIFJFQUNUX09GRlNDUkVFTl9UWVBFID0gU3ltYm9sLmZvcihcInJlYWN0Lm9mZnNjcmVlblwiKSxcbiAgICAgIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IFN5bWJvbC5pdGVyYXRvcixcbiAgICAgIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UkMiA9IFN5bWJvbC5mb3IoXCJyZWFjdC5jbGllbnQucmVmZXJlbmNlXCIpLFxuICAgICAgUmVhY3RTaGFyZWRJbnRlcm5hbHMgPVxuICAgICAgICBSZWFjdC5fX0NMSUVOVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9XQVJOX1VTRVJTX1RIRVlfQ0FOTk9UX1VQR1JBREUsXG4gICAgICBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksXG4gICAgICBhc3NpZ24gPSBPYmplY3QuYXNzaWduLFxuICAgICAgUkVBQ1RfQ0xJRU5UX1JFRkVSRU5DRSQxID0gU3ltYm9sLmZvcihcInJlYWN0LmNsaWVudC5yZWZlcmVuY2VcIiksXG4gICAgICBpc0FycmF5SW1wbCA9IEFycmF5LmlzQXJyYXksXG4gICAgICBkaXNhYmxlZERlcHRoID0gMCxcbiAgICAgIHByZXZMb2csXG4gICAgICBwcmV2SW5mbyxcbiAgICAgIHByZXZXYXJuLFxuICAgICAgcHJldkVycm9yLFxuICAgICAgcHJldkdyb3VwLFxuICAgICAgcHJldkdyb3VwQ29sbGFwc2VkLFxuICAgICAgcHJldkdyb3VwRW5kO1xuICAgIGRpc2FibGVkTG9nLl9fcmVhY3REaXNhYmxlZExvZyA9ICEwO1xuICAgIHZhciBwcmVmaXgsXG4gICAgICBzdWZmaXgsXG4gICAgICByZWVudHJ5ID0gITE7XG4gICAgdmFyIGNvbXBvbmVudEZyYW1lQ2FjaGUgPSBuZXcgKFxuICAgICAgXCJmdW5jdGlvblwiID09PSB0eXBlb2YgV2Vha01hcCA/IFdlYWtNYXAgOiBNYXBcbiAgICApKCk7XG4gICAgdmFyIFJFQUNUX0NMSUVOVF9SRUZFUkVOQ0UgPSBTeW1ib2wuZm9yKFwicmVhY3QuY2xpZW50LnJlZmVyZW5jZVwiKSxcbiAgICAgIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duO1xuICAgIHZhciBkaWRXYXJuQWJvdXRFbGVtZW50UmVmID0ge307XG4gICAgdmFyIGRpZFdhcm5BYm91dEtleVNwcmVhZCA9IHt9LFxuICAgICAgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4gICAgZXhwb3J0cy5GcmFnbWVudCA9IFJFQUNUX0ZSQUdNRU5UX1RZUEU7XG4gICAgZXhwb3J0cy5qc3hERVYgPSBmdW5jdGlvbiAoXG4gICAgICB0eXBlLFxuICAgICAgY29uZmlnLFxuICAgICAgbWF5YmVLZXksXG4gICAgICBpc1N0YXRpY0NoaWxkcmVuLFxuICAgICAgc291cmNlLFxuICAgICAgc2VsZlxuICAgICkge1xuICAgICAgcmV0dXJuIGpzeERFVkltcGwodHlwZSwgY29uZmlnLCBtYXliZUtleSwgaXNTdGF0aWNDaGlsZHJlbiwgc291cmNlLCBzZWxmKTtcbiAgICB9O1xuICB9KSgpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\n"));
|
40
|
-
|
41
|
-
/***/ }),
|
42
|
-
|
43
|
-
/***/ "(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js":
|
44
|
-
/*!******************************************************************!*\
|
45
|
-
!*** ./node_modules/next/dist/compiled/react/jsx-dev-runtime.js ***!
|
46
|
-
\******************************************************************/
|
47
|
-
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
|
48
|
-
|
49
|
-
"use strict";
|
50
|
-
eval(__webpack_require__.ts("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./cjs/react-jsx-dev-runtime.development.js */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js\");\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvcmVhY3QvanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhOztBQUViLElBQUksS0FBcUMsRUFBRSxFQUUxQyxDQUFDO0FBQ0YsRUFBRSw4TEFBc0U7QUFDeEUiLCJzb3VyY2VzIjpbIkM6XFxVc2Vyc1xcUGluZXN1Y2NlZWRcXERlc2t0b3BcXFdvcmtTcGFjZVxcdGVzdHdpZGdldFxcbm9kZV9tb2R1bGVzXFxuZXh0XFxkaXN0XFxjb21waWxlZFxccmVhY3RcXGpzeC1kZXYtcnVudGltZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLnByb2R1Y3Rpb24uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QtanN4LWRldi1ydW50aW1lLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\n"));
|
51
|
-
|
52
|
-
/***/ })
|
53
|
-
|
54
|
-
});
|