Files
lucky_shop/stub-app-projects/mp-quickapp/com.test.cc/build/Hello/hello.js
ZF sun a32cedad9e feat(mp-quickapp): 配置统一域名与uniacid,优化缓存与页面刷新
1.  新增集中配置项管理BASE_URL和UNIACID
2.  动态生成带时间戳的加载URL与UA避免缓存
3.  后台切回前台时自动刷新web页面
4.  调整打包版本号与构建产物配置
2026-07-15 16:52:51 +08:00

244 lines
33 KiB
JavaScript

(function(){
var createPageHandler = function() {
return /******/ (() => { // webpackBootstrap
/******/ var __webpack_modules__ = ({
/***/ "c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-script-loader.js!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-access-loader.js!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\babel-loader\\lib\\index.js?presets[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\preset-env,targets=node 8&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\plugin-transform-modules-commonjs&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\jsx-loader.js&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\plugin-proposal-class-properties&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\plugin-proposal-object-rest-spread&comments=false!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-fragment-loader.js?index=0&type=scripts!./src/Hello/hello.ux":
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-script-loader.js!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-access-loader.js!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\babel-loader\lib\index.js?presets[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\preset-env,targets=node 8&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\plugin-transform-modules-commonjs&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\jsx-loader.js&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\plugin-proposal-class-properties&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\plugin-proposal-object-rest-spread&comments=false!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-fragment-loader.js?index=0&type=scripts!./src/Hello/hello.ux ***!
\************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module) => {
module.exports = function(module, exports, $app_require$){"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _system = _interopRequireDefault($app_require$("@app-module/system.router"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _default = exports.default = {
props: ['websrc'],
private: {
title: "",
loadUrl: "https://xcx.aigc-quickapp.com/hwappx/common",
allowThirdPartyCookies: true,
supportZoom: true,
wideViewport: true,
overViewModeLoad: true,
userAgent: "uniacid=2482",
packagename: 'coma',
list: ["new RegExp('https?.*')"],
multiwindow: false,
jumppolicy: 'default'
},
config: {
showNavigationBar: false,
navigationBar: {
titleText: '页面标题'
}
},
onMenuPress() {},
onInit() {
this.$page.setTitleBar({
text: '自定义导航栏'
});
console.info('onInit: ');
},
setCookie() {},
onPageStart(e) {
console.info('pagestart: ' + e.url);
},
onPageFinish(e) {
console.info('pagefinish: ' + e.url, e.canBack, e.canForward);
},
onTitleReceive(e) {
this.title = e.title;
},
onError(e) {
console.info('pageError : ' + e.errorMsg);
},
onMessage(e) {
console.info('11223333' + 'onmessage e = ' + e.message + ", url = " + e.url);
},
onShow: function () {
console.info(" onshow");
},
onHide: function () {
console.info(" onHide");
},
onBackPress() {
console.log('onBackPress');
this.$element('web').canBack({
callback: function (e) {
if (e) {
console.log('web back');
this.$element('web').back();
} else {
console.log('router back');
_system.default.back();
}
}.bind(this)
});
return true;
}
};
var accessors = ['public', 'protected', 'private'];
var moduleOwn = exports.default || module.exports;
var accessor = accessors.some(function (acc) {
return moduleOwn[acc];
});
if (moduleOwn.data && accessor) {
throw new Error(
'For VM objects, attribute data must not coexist with public, protected, or private. Please replace data with public.'
);
} else if (!moduleOwn.data) {
moduleOwn._descriptor = {};
moduleOwn.data = {};
accessors.forEach(function (acc) {
var accessType = typeof moduleOwn[acc];
if (accessType === 'object') {
moduleOwn.data = Object.assign(moduleOwn.data, moduleOwn[acc]);
for (var name in moduleOwn[acc]) {
moduleOwn._descriptor[name] = { access: acc };
}
} else if (accessType === 'function') {
console.warn(
'For VM objects, attribute ' + acc + ' value must not be a function. Change the value to an object.'
);
}
});
}
}
/***/ }),
/***/ "c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-style-loader.js?index=0&type=styles&resourcePath=d:\\projects\\shop-projects\\frontend\\stub-app-projects\\mp-quickapp\\com.test.cc\\src\\Hello\\hello.ux!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-fragment-loader.js?index=0&type=styles&resourcePath=d:\\projects\\shop-projects\\frontend\\stub-app-projects\\mp-quickapp\\com.test.cc\\src\\Hello\\hello.ux!./src/Hello/hello.ux":
/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-style-loader.js?index=0&type=styles&resourcePath=d:\projects\shop-projects\frontend\stub-app-projects\mp-quickapp\com.test.cc\src\Hello\hello.ux!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-fragment-loader.js?index=0&type=styles&resourcePath=d:\projects\shop-projects\frontend\stub-app-projects\mp-quickapp\com.test.cc\src\Hello\hello.ux!./src/Hello/hello.ux ***!
\*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module) => {
module.exports={
".doc-page": {
"flexDirection": "column",
"justifyContent": "center",
"alignContent": "center",
"alignItems": "center",
"width": "100%",
"height": "100%",
"position": "fixed"
},
".web-page": {
"width": "100%",
"height": "100%"
}
}
/***/ }),
/***/ "c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-template-loader.js!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-fragment-loader.js?index=0&type=templates!./src/Hello/hello.ux":
/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-template-loader.js!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-fragment-loader.js?index=0&type=templates!./src/Hello/hello.ux ***!
\*************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((module) => {
module.exports={
"type": "div",
"attr": {},
"classList": [
"doc-page"
],
"children": [
{
"type": "web",
"attr": {
"src": function () {return (this.loadUrl)},
"trustedurl": function () {return (this.list)},
"id": "web",
"supportzoom": function () {return (this.supportZoom)},
"wideviewport": function () {return (this.wideViewport)},
"overviewmodeinload": function () {return (this.overViewModeLoad)},
"useragent": function () {return (this.userAgent)},
"allowthirdpartycookies": function () {return (this.allowThirdPartyCookies)},
"multiwindow": function () {return (this.multiwindow)},
"jumppolicy": function () {return (this.jumppolicy)},
"xrequestedwithpolicy": function () {return (this.packagename)}
},
"classList": [
"web-page"
],
"events": {
"pagestart": "onPageStart",
"pagefinish": "onPageFinish",
"message": "onMessage",
"titlereceive": "onTitleReceive",
"error": "onError"
},
"id": "web"
}
]
}
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
var __webpack_exports__ = {};
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
(() => {
/*!****************************!*\
!*** ./src/Hello/hello.ux ***!
\****************************/
var $app_template$ = __webpack_require__(/*! !!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-template-loader.js!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-fragment-loader.js?index=0&type=templates!./hello.ux */ "c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-template-loader.js!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-fragment-loader.js?index=0&type=templates!./src/Hello/hello.ux")
var $app_style$ = __webpack_require__(/*! !!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-style-loader.js?index=0&type=styles&resourcePath=d:\projects\shop-projects\frontend\stub-app-projects\mp-quickapp\com.test.cc\src\Hello\hello.ux!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-fragment-loader.js?index=0&type=styles&resourcePath=d:\projects\shop-projects\frontend\stub-app-projects\mp-quickapp\com.test.cc\src\Hello\hello.ux!./hello.ux */ "c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-style-loader.js?index=0&type=styles&resourcePath=d:\\projects\\shop-projects\\frontend\\stub-app-projects\\mp-quickapp\\com.test.cc\\src\\Hello\\hello.ux!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-fragment-loader.js?index=0&type=styles&resourcePath=d:\\projects\\shop-projects\\frontend\\stub-app-projects\\mp-quickapp\\com.test.cc\\src\\Hello\\hello.ux!./src/Hello/hello.ux")
var $app_script$ = __webpack_require__(/*! !!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-script-loader.js!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-access-loader.js!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\babel-loader?presets[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\preset-env,targets=node 8&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\plugin-transform-modules-commonjs&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\jsx-loader.js&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\plugin-proposal-class-properties&plugins[]=c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\@babel\plugin-proposal-object-rest-spread&comments=false!c:\Program Files\Huawei QuickApp IDE\resources\app\extensions\deveco-debug\node_modules\fa-toolkit\lib\fa-compiler\fa-fragment-loader.js?index=0&type=scripts!./hello.ux */ "c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-script-loader.js!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-access-loader.js!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\babel-loader\\lib\\index.js?presets[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\preset-env,targets=node 8&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\plugin-transform-modules-commonjs&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\jsx-loader.js&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\plugin-proposal-class-properties&plugins[]=c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\@babel\\plugin-proposal-object-rest-spread&comments=false!c:\\Program Files\\Huawei QuickApp IDE\\resources\\app\\extensions\\deveco-debug\\node_modules\\fa-toolkit\\lib\\fa-compiler\\fa-fragment-loader.js?index=0&type=scripts!./src/Hello/hello.ux")
$app_define$('@app-component/hello', [], function($app_require$, $app_exports$, $app_module$){
$app_script$($app_module$, $app_exports$, $app_require$)
if ($app_exports$.__esModule && $app_exports$.default) {
$app_module$.exports = $app_exports$.default
}
$app_module$.exports.template = $app_template$
$app_module$.exports.style = $app_style$
})
$app_bootstrap$('@app-component/hello',{ packagerName:'fa-toolkit', packagerVersion: '14.0.1-Stable.300'})
})();
/******/ })()
; };
if (typeof window === "undefined") {
return createPageHandler();
}
else {
window.createPageHandler = createPageHandler
}
})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRcXEhlbGxvXFxoZWxsby5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2xHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUNkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBQ25DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vc3JjL0hlbGxvL2Q6XFxwcm9qZWN0c1xcc2hvcC1wcm9qZWN0c1xcZnJvbnRlbmRcXHN0dWItYXBwLXByb2plY3RzXFxtcC1xdWlja2FwcFxcY29tLnRlc3QuY2NcXHNyY1xcSGVsbG9cXGhlbGxvLnV4Iiwid2VicGFjazovLy8uL3NyYy9IZWxsby9oZWxsby51eD8zNTY2Iiwid2VicGFjazovLy8uL3NyYy9IZWxsby9oZWxsby51eD82ZTNlIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly8vLi9zcmMvSGVsbG8vaGVsbG8udXgiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPGRpdiBjbGFzcz1cImRvYy1wYWdlXCI+XHJcblxyXG4gICAgICAgIDx3ZWIgY2xhc3M9XCJ3ZWItcGFnZVwiIHNyYz1cInt7bG9hZFVybH19XCIgdHJ1c3RlZHVybD1cInt7bGlzdH19XCIgb25wYWdlc3RhcnQ9XCJvblBhZ2VTdGFydFwiIG9ucGFnZWZpbmlzaD1cIm9uUGFnZUZpbmlzaFwiXHJcbiAgICAgICAgICAgIG9ubWVzc2FnZT1cIm9uTWVzc2FnZVwiIG9udGl0bGVyZWNlaXZlPVwib25UaXRsZVJlY2VpdmVcIiBvbmVycm9yPVwib25FcnJvclwiIGlkPVwid2ViXCIgc3VwcG9ydHpvb209XCJ7e3N1cHBvcnRab29tfX1cIlxyXG4gICAgICAgICAgICB3aWRldmlld3BvcnQ9XCJ7e3dpZGVWaWV3cG9ydH19XCIgb3ZlcnZpZXdtb2RlaW5sb2FkPVwie3tvdmVyVmlld01vZGVMb2FkfX1cIiB1c2VyYWdlbnQ9XCJ7e3VzZXJBZ2VudH19XCJcclxuICAgICAgICAgICAgYWxsb3d0aGlyZHBhcnR5Y29va2llcz1cInt7YWxsb3dUaGlyZFBhcnR5Q29va2llc319XCIgbXVsdGl3aW5kb3c9XCJ7e211bHRpd2luZG93fX1cIiBqdW1wcG9saWN5PVwie3tqdW1wcG9saWN5fX1cIiB4cmVxdWVzdGVkd2l0aHBvbGljeT1cInt7cGFja2FnZW5hbWV9fVwiPlxyXG4gICAgICAgIDwvd2ViPlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c3R5bGU+XHJcbiAgICAuZG9jLXBhZ2Uge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgfVxyXG4gXHJcbiAgICAud2ViLXBhZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuPC9zdHlsZT5cclxuPHNjcmlwdD5cclxuICAgIGltcG9ydCByb3V0ZXIgZnJvbSBcIkBzeXN0ZW0ucm91dGVyXCI7XHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgcHJvcHM6IFsnd2Vic3JjJ10sXHJcblx0XHRwcml2YXRlOiB7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcIlwiLCBcclxuICAgICAgICAgICAgbG9hZFVybDogXCJodHRwczovL3hjeC5haWdjLXF1aWNrYXBwLmNvbS9od2FwcHgvY29tbW9uXCIsLy/kv67mlLnln5/lkI1cImh0dHBzOi8v5Z+f5ZCNL2h3YXBwXCJcclxuICAgICAgICAgICAgYWxsb3dUaGlyZFBhcnR5Q29va2llczogdHJ1ZSxcclxuICAgICAgICAgICAgc3VwcG9ydFpvb206IHRydWUsXHJcbiAgICAgICAgICAgIHdpZGVWaWV3cG9ydDogdHJ1ZSxcclxuICAgICAgICAgICAgb3ZlclZpZXdNb2RlTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXNlckFnZW50OiBcInVuaWFjaWQ9MjQ4MlwiLC8v56uZ54K5dW5pYWNpZFxyXG4gICAgICAgICAgICBwYWNrYWdlbmFtZTonY29tYScsIFxyXG4gICAgICAgICAgICBsaXN0OiBbXCJuZXcgUmVnRXhwKCdodHRwcz8uKicpXCJdLFxyXG4gICAgICAgICAgICBtdWx0aXdpbmRvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIGp1bXBwb2xpY3k6ICdkZWZhdWx0JyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbmZpZzoge1xyXG4gICAgICAgICAgICBzaG93TmF2aWdhdGlvbkJhcjogZmFsc2UsXHJcbiAgICAgICAgICAgIG5hdmlnYXRpb25CYXI6IHtcclxuICAgICAgICAgICAgdGl0bGVUZXh0OiAn6aG16Z2i5qCH6aKYJ1xyXG4gICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uTWVudVByZXNzKCl7XHJcblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25Jbml0KCkge1xyXG4gICAgICAgICAgICAgdGhpcy4kcGFnZS5zZXRUaXRsZUJhcih7IHRleHQ6ICfoh6rlrprkuYnlr7zoiKrmoI8nIH0pXHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygnb25Jbml0OiAnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNldENvb2tpZSgpe1xyXG5cclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUGFnZVN0YXJ0KGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5pbmZvKCdwYWdlc3RhcnQ6ICcgKyBlLnVybClcclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uUGFnZUZpbmlzaChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygncGFnZWZpbmlzaDogJyArIGUudXJsLCBlLmNhbkJhY2ssIGUuY2FuRm9yd2FyZCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvblRpdGxlUmVjZWl2ZShlKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGUgPSBlLnRpdGxlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25FcnJvcihlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbygncGFnZUVycm9yIDogJyArIGUuZXJyb3JNc2cpXHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbk1lc3NhZ2UoZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmluZm8oJzExMjIzMzMzJysnb25tZXNzYWdlIGUgPSAnICsgZS5tZXNzYWdlICsgXCIsIHVybCA9IFwiICsgZS51cmwpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25TaG93OiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcIiBvbnNob3dcIik7XHJcblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuaW5mbyhcIiAgb25IaWRlXCIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25CYWNrUHJlc3MoKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdvbkJhY2tQcmVzcycpXHJcbiAgICAgICAgICAgIHRoaXMuJGVsZW1lbnQoJ3dlYicpLmNhbkJhY2soe1xyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3dlYiBiYWNrJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kZWxlbWVudCgnd2ViJykuYmFjaygpXHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3JvdXRlciBiYWNrJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyLmJhY2soKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0uYmluZCh0aGlzKVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuPC9zY3JpcHQ+XHJcbiIsIm1vZHVsZS5leHBvcnRzPXtcbiAgXCIuZG9jLXBhZ2VcIjoge1xuICAgIFwiZmxleERpcmVjdGlvblwiOiBcImNvbHVtblwiLFxuICAgIFwianVzdGlmeUNvbnRlbnRcIjogXCJjZW50ZXJcIixcbiAgICBcImFsaWduQ29udGVudFwiOiBcImNlbnRlclwiLFxuICAgIFwiYWxpZ25JdGVtc1wiOiBcImNlbnRlclwiLFxuICAgIFwid2lkdGhcIjogXCIxMDAlXCIsXG4gICAgXCJoZWlnaHRcIjogXCIxMDAlXCIsXG4gICAgXCJwb3NpdGlvblwiOiBcImZpeGVkXCJcbiAgfSxcbiAgXCIud2ViLXBhZ2VcIjoge1xuICAgIFwid2lkdGhcIjogXCIxMDAlXCIsXG4gICAgXCJoZWlnaHRcIjogXCIxMDAlXCJcbiAgfVxufSIsIm1vZHVsZS5leHBvcnRzPXtcbiAgXCJ0eXBlXCI6IFwiZGl2XCIsXG4gIFwiYXR0clwiOiB7fSxcbiAgXCJjbGFzc0xpc3RcIjogW1xuICAgIFwiZG9jLXBhZ2VcIlxuICBdLFxuICBcImNoaWxkcmVuXCI6IFtcbiAgICB7XG4gICAgICBcInR5cGVcIjogXCJ3ZWJcIixcbiAgICAgIFwiYXR0clwiOiB7XG4gICAgICAgIFwic3JjXCI6IGZ1bmN0aW9uICgpIHtyZXR1cm4gKHRoaXMubG9hZFVybCl9LFxuICAgICAgICBcInRydXN0ZWR1cmxcIjogZnVuY3Rpb24gKCkge3JldHVybiAodGhpcy5saXN0KX0sXG4gICAgICAgIFwiaWRcIjogXCJ3ZWJcIixcbiAgICAgICAgXCJzdXBwb3J0em9vbVwiOiBmdW5jdGlvbiAoKSB7cmV0dXJuICh0aGlzLnN1cHBvcnRab29tKX0sXG4gICAgICAgIFwid2lkZXZpZXdwb3J0XCI6IGZ1bmN0aW9uICgpIHtyZXR1cm4gKHRoaXMud2lkZVZpZXdwb3J0KX0sXG4gICAgICAgIFwib3ZlcnZpZXdtb2RlaW5sb2FkXCI6IGZ1bmN0aW9uICgpIHtyZXR1cm4gKHRoaXMub3ZlclZpZXdNb2RlTG9hZCl9LFxuICAgICAgICBcInVzZXJhZ2VudFwiOiBmdW5jdGlvbiAoKSB7cmV0dXJuICh0aGlzLnVzZXJBZ2VudCl9LFxuICAgICAgICBcImFsbG93dGhpcmRwYXJ0eWNvb2tpZXNcIjogZnVuY3Rpb24gKCkge3JldHVybiAodGhpcy5hbGxvd1RoaXJkUGFydHlDb29raWVzKX0sXG4gICAgICAgIFwibXVsdGl3aW5kb3dcIjogZnVuY3Rpb24gKCkge3JldHVybiAodGhpcy5tdWx0aXdpbmRvdyl9LFxuICAgICAgICBcImp1bXBwb2xpY3lcIjogZnVuY3Rpb24gKCkge3JldHVybiAodGhpcy5qdW1wcG9saWN5KX0sXG4gICAgICAgIFwieHJlcXVlc3RlZHdpdGhwb2xpY3lcIjogZnVuY3Rpb24gKCkge3JldHVybiAodGhpcy5wYWNrYWdlbmFtZSl9XG4gICAgICB9LFxuICAgICAgXCJjbGFzc0xpc3RcIjogW1xuICAgICAgICBcIndlYi1wYWdlXCJcbiAgICAgIF0sXG4gICAgICBcImV2ZW50c1wiOiB7XG4gICAgICAgIFwicGFnZXN0YXJ0XCI6IFwib25QYWdlU3RhcnRcIixcbiAgICAgICAgXCJwYWdlZmluaXNoXCI6IFwib25QYWdlRmluaXNoXCIsXG4gICAgICAgIFwibWVzc2FnZVwiOiBcIm9uTWVzc2FnZVwiLFxuICAgICAgICBcInRpdGxlcmVjZWl2ZVwiOiBcIm9uVGl0bGVSZWNlaXZlXCIsXG4gICAgICAgIFwiZXJyb3JcIjogXCJvbkVycm9yXCJcbiAgICAgIH0sXG4gICAgICBcImlkXCI6IFwid2ViXCJcbiAgICB9XG4gIF1cbn0iLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdKG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwidmFyICRhcHBfdGVtcGxhdGUkID0gcmVxdWlyZShcIiEhYzpcXFxcUHJvZ3JhbSBGaWxlc1xcXFxIdWF3ZWkgUXVpY2tBcHAgSURFXFxcXHJlc291cmNlc1xcXFxhcHBcXFxcZXh0ZW5zaW9uc1xcXFxkZXZlY28tZGVidWdcXFxcbm9kZV9tb2R1bGVzXFxcXGZhLXRvb2xraXRcXFxcbGliXFxcXGZhLWNvbXBpbGVyXFxcXGZhLXRlbXBsYXRlLWxvYWRlci5qcyFjOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcZmEtdG9vbGtpdFxcXFxsaWJcXFxcZmEtY29tcGlsZXJcXFxcZmEtZnJhZ21lbnQtbG9hZGVyLmpzP2luZGV4PTAmdHlwZT10ZW1wbGF0ZXMhLi9oZWxsby51eFwiKVxudmFyICRhcHBfc3R5bGUkID0gcmVxdWlyZShcIiEhYzpcXFxcUHJvZ3JhbSBGaWxlc1xcXFxIdWF3ZWkgUXVpY2tBcHAgSURFXFxcXHJlc291cmNlc1xcXFxhcHBcXFxcZXh0ZW5zaW9uc1xcXFxkZXZlY28tZGVidWdcXFxcbm9kZV9tb2R1bGVzXFxcXGZhLXRvb2xraXRcXFxcbGliXFxcXGZhLWNvbXBpbGVyXFxcXGZhLXN0eWxlLWxvYWRlci5qcz9pbmRleD0wJnR5cGU9c3R5bGVzJnJlc291cmNlUGF0aD1kOlxcXFxwcm9qZWN0c1xcXFxzaG9wLXByb2plY3RzXFxcXGZyb250ZW5kXFxcXHN0dWItYXBwLXByb2plY3RzXFxcXG1wLXF1aWNrYXBwXFxcXGNvbS50ZXN0LmNjXFxcXHNyY1xcXFxIZWxsb1xcXFxoZWxsby51eCFjOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcZmEtdG9vbGtpdFxcXFxsaWJcXFxcZmEtY29tcGlsZXJcXFxcZmEtZnJhZ21lbnQtbG9hZGVyLmpzP2luZGV4PTAmdHlwZT1zdHlsZXMmcmVzb3VyY2VQYXRoPWQ6XFxcXHByb2plY3RzXFxcXHNob3AtcHJvamVjdHNcXFxcZnJvbnRlbmRcXFxcc3R1Yi1hcHAtcHJvamVjdHNcXFxcbXAtcXVpY2thcHBcXFxcY29tLnRlc3QuY2NcXFxcc3JjXFxcXEhlbGxvXFxcXGhlbGxvLnV4IS4vaGVsbG8udXhcIilcbnZhciAkYXBwX3NjcmlwdCQgPSByZXF1aXJlKFwiISFjOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcZmEtdG9vbGtpdFxcXFxsaWJcXFxcZmEtY29tcGlsZXJcXFxcZmEtc2NyaXB0LWxvYWRlci5qcyFjOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcZmEtdG9vbGtpdFxcXFxsaWJcXFxcZmEtY29tcGlsZXJcXFxcZmEtYWNjZXNzLWxvYWRlci5qcyFjOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcYmFiZWwtbG9hZGVyP3ByZXNldHNbXT1jOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcQGJhYmVsXFxcXHByZXNldC1lbnYsdGFyZ2V0cz1ub2RlIDgmcGx1Z2luc1tdPWM6XFxcXFByb2dyYW0gRmlsZXNcXFxcSHVhd2VpIFF1aWNrQXBwIElERVxcXFxyZXNvdXJjZXNcXFxcYXBwXFxcXGV4dGVuc2lvbnNcXFxcZGV2ZWNvLWRlYnVnXFxcXG5vZGVfbW9kdWxlc1xcXFxAYmFiZWxcXFxccGx1Z2luLXRyYW5zZm9ybS1tb2R1bGVzLWNvbW1vbmpzJnBsdWdpbnNbXT1jOlxcXFxQcm9ncmFtIEZpbGVzXFxcXEh1YXdlaSBRdWlja0FwcCBJREVcXFxccmVzb3VyY2VzXFxcXGFwcFxcXFxleHRlbnNpb25zXFxcXGRldmVjby1kZWJ1Z1xcXFxub2RlX21vZHVsZXNcXFxcZmEtdG9vbGtpdFxcXFxsaWJcXFxcZmEtY29tcGlsZXJcXFxcanN4LWxvYWRlci5qcyZwbHVnaW5zW109YzpcXFxcUHJvZ3JhbSBGaWxlc1xcXFxIdWF3ZWkgUXVpY2tBcHAgSURFXFxcXHJlc291cmNlc1xcXFxhcHBcXFxcZXh0ZW5zaW9uc1xcXFxkZXZlY28tZGVidWdcXFxcbm9kZV9tb2R1bGVzXFxcXEBiYWJlbFxcXFxwbHVnaW4tcHJvcG9zYWwtY2xhc3MtcHJvcGVydGllcyZwbHVnaW5zW109YzpcXFxcUHJvZ3JhbSBGaWxlc1xcXFxIdWF3ZWkgUXVpY2tBcHAgSURFXFxcXHJlc291cmNlc1xcXFxhcHBcXFxcZXh0ZW5zaW9uc1xcXFxkZXZlY28tZGVidWdcXFxcbm9kZV9tb2R1bGVzXFxcXEBiYWJlbFxcXFxwbHVnaW4tcHJvcG9zYWwtb2JqZWN0LXJlc3Qtc3ByZWFkJmNvbW1lbnRzPWZhbHNlIWM6XFxcXFByb2dyYW0gRmlsZXNcXFxcSHVhd2VpIFF1aWNrQXBwIElERVxcXFxyZXNvdXJjZXNcXFxcYXBwXFxcXGV4dGVuc2lvbnNcXFxcZGV2ZWNvLWRlYnVnXFxcXG5vZGVfbW9kdWxlc1xcXFxmYS10b29sa2l0XFxcXGxpYlxcXFxmYS1jb21waWxlclxcXFxmYS1mcmFnbWVudC1sb2FkZXIuanM/aW5kZXg9MCZ0eXBlPXNjcmlwdHMhLi9oZWxsby51eFwiKVxuXG4kYXBwX2RlZmluZSQoJ0BhcHAtY29tcG9uZW50L2hlbGxvJywgW10sIGZ1bmN0aW9uKCRhcHBfcmVxdWlyZSQsICRhcHBfZXhwb3J0cyQsICRhcHBfbW9kdWxlJCl7XG4gICAgICRhcHBfc2NyaXB0JCgkYXBwX21vZHVsZSQsICRhcHBfZXhwb3J0cyQsICRhcHBfcmVxdWlyZSQpXG4gICAgIGlmICgkYXBwX2V4cG9ydHMkLl9fZXNNb2R1bGUgJiYgJGFwcF9leHBvcnRzJC5kZWZhdWx0KSB7XG4gICAgICAgICAgICAkYXBwX21vZHVsZSQuZXhwb3J0cyA9ICRhcHBfZXhwb3J0cyQuZGVmYXVsdFxuICAgICAgICB9XG4gICAgICRhcHBfbW9kdWxlJC5leHBvcnRzLnRlbXBsYXRlID0gJGFwcF90ZW1wbGF0ZSRcbiAgICAgJGFwcF9tb2R1bGUkLmV4cG9ydHMuc3R5bGUgPSAkYXBwX3N0eWxlJFxufSlcblxuJGFwcF9ib290c3RyYXAkKCdAYXBwLWNvbXBvbmVudC9oZWxsbycseyBwYWNrYWdlck5hbWU6J2ZhLXRvb2xraXQnLCBwYWNrYWdlclZlcnNpb246ICcxNC4wLjEtU3RhYmxlLjMwMCd9KSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==