@ecip/application
Version:
230 lines • 18.5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ViewChild } from '@angular/core';
import { _HttpClient, MenuService, ModalHelper } from '@delon/theme';
import { STComponent } from '@delon/abc';
import { NzMessageService } from 'ng-zorro-antd';
import { ApplicationAppsEditComponent } from "./edit/edit.component";
import { ApplicationAppsViewComponent } from "./view/view.component";
import { CacheService } from "@delon/cache";
import { DictService } from "@ecip/service";
import { Router } from "@angular/router";
var ApplicationAppsComponent = /** @class */ (function () {
function ApplicationAppsComponent(http, modal, msgSrv, cacheService, dictService, menuSrv, router) {
var _this = this;
this.http = http;
this.modal = modal;
this.msgSrv = msgSrv;
this.cacheService = cacheService;
this.dictService = dictService;
this.menuSrv = menuSrv;
this.router = router;
this.url = "api/v1/sysrRegisterApp/list";
// navigationSubscription;
this.searchSchema = {
properties: {
//搜索属性设置
appName: {
type: 'string',
title: '系统名称'
}
}
};
this.columns = [
{ title: '系统ID', index: 'appId' },
{ title: '系统名称', index: 'appName' },
{ title: '版本号', index: 'rsvn' },
{ title: '系统类型', render: 'typeApp' },
{ title: '认证方式', render: 'typeAuth' },
{ title: '备注说明', index: 'remark' },
{ title: '注册日期', type: 'date', index: 'createDate' },
{ title: '安全性IP启用标记', index: 'flagIpText' },
{ title: '登录日志启用标记', index: 'flagLLogText' },
{ title: '操作日志启用标记', index: 'flagLogOptText' },
{ title: '启用状态', index: 'statusText' },
{
title: '操作',
width: '100px',
buttons: [
{ text: '查看', type: 'static', component: ApplicationAppsViewComponent, click: 'reload', acl: { ability: ['apps:view'] } },
{
text: '',
children: [
{ text: '编辑', type: 'static', component: ApplicationAppsEditComponent, click: 'reload', acl: { ability: ['apps:edit'] } },
{ text: '删除', type: 'del', click: (/**
* @param {?} item
* @return {?}
*/
function (item) {
//删除
_this.http.delete("api/v1/sysrRegisterApp/" + item.appId).subscribe((/**
* @param {?} res
* @return {?}
*/
function (res) {
_this.msgSrv.success('删除成功');
_this.st.reload();
}));
}),
acl: { ability: ['apps:remove'] }
},
],
},
]
}
];
// this.navigationSubscription = this.router.events.subscribe((event: any) => {
// if (event instanceof NavigationEnd) {
// setTimeout(() => {
// this.sf.reset(true);
// }, 100);
// }
// });
}
// _onReuseInit() {
// this.navigationSubscription = this.router.events.subscribe((event: any) => {
// if (event instanceof NavigationEnd) {
// setTimeout(() => {
// this.sf.reset(true);
// }, 100);
// }
// });
// }
// _onReuseDestroy() {
// if (this.navigationSubscription) {
// this.navigationSubscription.unsubscribe();
// }
// }
// _onReuseInit() {
// this.navigationSubscription = this.router.events.subscribe((event: any) => {
// if (event instanceof NavigationEnd) {
// setTimeout(() => {
// this.sf.reset(true);
// }, 100);
// }
// });
// }
// _onReuseDestroy() {
// if (this.navigationSubscription) {
// this.navigationSubscription.unsubscribe();
// }
// }
/**
* @return {?}
*/
ApplicationAppsComponent.prototype.ngOnDestroy =
// _onReuseInit() {
// this.navigationSubscription = this.router.events.subscribe((event: any) => {
// if (event instanceof NavigationEnd) {
// setTimeout(() => {
// this.sf.reset(true);
// }, 100);
// }
// });
// }
// _onReuseDestroy() {
// if (this.navigationSubscription) {
// this.navigationSubscription.unsubscribe();
// }
// }
/**
* @return {?}
*/
function () {
// if (this.navigationSubscription) {
// this.navigationSubscription.unsubscribe();
// }
};
/**
* @return {?}
*/
ApplicationAppsComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
// 新增
// 新增
/**
* @return {?}
*/
ApplicationAppsComponent.prototype.add =
// 新增
/**
* @return {?}
*/
function () {
var _this = this;
this.modal
.createStatic(ApplicationAppsEditComponent, {})
.subscribe((/**
* @return {?}
*/
function () { return _this.st.reload(); }));
};
ApplicationAppsComponent.decorators = [
{ type: Component, args: [{
selector: 'app-application-apps',
template: "<page-header [action]=\"phPhAction\">\r\n <ng-template #phPhAction>\r\n <button acl [acl-ability]=\"'apps:add'\" (click)=\"add()\" nz-button nzType=\"primary\">\u65B0\u5EFA</button>\r\n </ng-template>\r\n</page-header>\r\n<nz-card>\r\n <sf mode=\"search\" [schema]=\"searchSchema\" (formSubmit)=\"st.reset($event)\" (formReset)=\"st.reset($event)\"></sf>\r\n <st #st [data]=\"url\" [columns]=\"columns\">\r\n <ng-template st-row=\"typeApp\" let-item let-index=\"index\">\r\n {{item.typeApp | dictLabel:'typeApp' | async}}\r\n <!--{{dictService.dictLabel('typeApp', item.typeApp) | async}}-->\r\n </ng-template>\r\n <ng-template st-row=\"typeAuth\" let-item let-index=\"index\">{{item.typeAuth | dictLabel:'authType' | async}}</ng-template>\r\n </st>\r\n</nz-card>\r\n"
}] }
];
/** @nocollapse */
ApplicationAppsComponent.ctorParameters = function () { return [
{ type: _HttpClient },
{ type: ModalHelper },
{ type: NzMessageService },
{ type: CacheService },
{ type: DictService },
{ type: MenuService },
{ type: Router }
]; };
ApplicationAppsComponent.propDecorators = {
st: [{ type: ViewChild, args: ['st',] }]
};
return ApplicationAppsComponent;
}());
export { ApplicationAppsComponent };
if (false) {
/** @type {?} */
ApplicationAppsComponent.prototype.url;
/** @type {?} */
ApplicationAppsComponent.prototype.searchSchema;
/** @type {?} */
ApplicationAppsComponent.prototype.st;
/** @type {?} */
ApplicationAppsComponent.prototype.columns;
/**
* @type {?}
* @private
*/
ApplicationAppsComponent.prototype.http;
/**
* @type {?}
* @private
*/
ApplicationAppsComponent.prototype.modal;
/**
* @type {?}
* @private
*/
ApplicationAppsComponent.prototype.msgSrv;
/**
* @type {?}
* @private
*/
ApplicationAppsComponent.prototype.cacheService;
/** @type {?} */
ApplicationAppsComponent.prototype.dictService;
/**
* @type {?}
* @private
*/
ApplicationAppsComponent.prototype.menuSrv;
/**
* @type {?}
* @private
*/
ApplicationAppsComponent.prototype.router;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZWNpcC9hcHBsaWNhdGlvbi8iLCJzb3VyY2VzIjpbInNyYy9hcHBzL2FwcHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ25FLE9BQU8sRUFBWSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQWdCLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR3REO0lBd0RFLGtDQUFvQixJQUFpQixFQUNqQixLQUFrQixFQUNsQixNQUF3QixFQUN4QixZQUEwQixFQUMzQixXQUF3QixFQUN2QixPQUFvQixFQUNwQixNQUFjO1FBTmxDLGlCQWNDO1FBZG1CLFNBQUksR0FBSixJQUFJLENBQWE7UUFDakIsVUFBSyxHQUFMLEtBQUssQ0FBYTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLFdBQU0sR0FBTixNQUFNLENBQVE7UUF4RGxDLFFBQUcsR0FBRyw2QkFBNkIsQ0FBQzs7UUFHcEMsaUJBQVksR0FBYTtZQUN2QixVQUFVLEVBQUU7O2dCQUVWLE9BQU8sRUFBRTtvQkFDUCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxLQUFLLEVBQUUsTUFBTTtpQkFDZDthQUNGO1NBQ0YsQ0FBQztRQUVGLFlBQU8sR0FBZTtZQUNwQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtZQUNqQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUNuQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUMvQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRTtZQUNwQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRTtZQUNyQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUNsQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1lBQ3BELEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO1lBQzNDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFO1lBQzVDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUU7WUFDOUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7WUFDdEM7Z0JBQ0UsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSw0QkFBNEIsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUM7b0JBQ3hIO3dCQUNFLElBQUksRUFBRSxFQUFFO3dCQUNSLFFBQVEsRUFBRTs0QkFFUixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFOzRCQUN6SCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLOzs7O2dDQUFFLFVBQUMsSUFBUztvQ0FDeEMsSUFBSTtvQ0FDSixLQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBMEIsSUFBSSxDQUFDLEtBQU8sQ0FBQyxDQUFDLFNBQVM7Ozs7b0NBQUMsVUFBQSxHQUFHO3dDQUNwRSxLQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzt3Q0FDNUIsS0FBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQ0FDbkIsQ0FBQyxFQUFDLENBQUM7Z0NBQ0wsQ0FBQyxDQUFBO2dDQUNELEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFOzZCQUNsQzt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQVNBLCtFQUErRTtRQUMvRSwwQ0FBMEM7UUFDMUMseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3QixlQUFlO1FBQ2YsTUFBTTtRQUNOLE1BQU07SUFDUixDQUFDO0lBRUQsbUJBQW1CO0lBQ2pCLCtFQUErRTtJQUMvRSwwQ0FBMEM7SUFDMUMseUJBQXlCO0lBQ3pCLDZCQUE2QjtJQUM3QixlQUFlO0lBQ2YsTUFBTTtJQUNOLE1BQU07SUFDUixJQUFJO0lBRUosc0JBQXNCO0lBQ3RCLHVDQUF1QztJQUN2QyxpREFBaUQ7SUFDakQsTUFBTTtJQUNOLElBQUk7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUVKLDhDQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFBWDtRQUNFLHFDQUFxQztRQUNyQywrQ0FBK0M7UUFDL0MsSUFBSTtJQUNOLENBQUM7Ozs7SUFFRCwyQ0FBUTs7O0lBQVIsY0FBWSxDQUFDO0lBRWIsS0FBSzs7Ozs7SUFDTCxzQ0FBRzs7Ozs7SUFBSDtRQUFBLGlCQUlDO1FBSEMsSUFBSSxDQUFDLEtBQUs7YUFDUCxZQUFZLENBQUMsNEJBQTRCLEVBQUUsRUFBRSxDQUFDO2FBQzlDLFNBQVM7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFoQixDQUFnQixFQUFDLENBQUM7SUFDdkMsQ0FBQzs7Z0JBckdGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxzeUJBQW9DO2lCQUNyQzs7OztnQkFkTyxXQUFXO2dCQUFlLFdBQVc7Z0JBR3BDLGdCQUFnQjtnQkFHakIsWUFBWTtnQkFDWixXQUFXO2dCQVBFLFdBQVc7Z0JBUVQsTUFBTTs7O3FCQXFCMUIsU0FBUyxTQUFDLElBQUk7O0lBb0ZqQiwrQkFBQztDQUFBLEFBdEdELElBc0dDO1NBbEdZLHdCQUF3Qjs7O0lBRW5DLHVDQUFvQzs7SUFHcEMsZ0RBUUU7O0lBQ0Ysc0NBQWlDOztJQUNqQywyQ0FtQ0U7Ozs7O0lBRVUsd0NBQXlCOzs7OztJQUN6Qix5Q0FBMEI7Ozs7O0lBQzFCLDBDQUFnQzs7Ozs7SUFDaEMsZ0RBQWtDOztJQUNsQywrQ0FBK0I7Ozs7O0lBQy9CLDJDQUE0Qjs7Ozs7SUFDNUIsMENBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtfSHR0cENsaWVudCwgTWVudVNlcnZpY2UsIE1vZGFsSGVscGVyfSBmcm9tICdAZGVsb24vdGhlbWUnO1xyXG5pbXBvcnQgeyBTVENvbHVtbiwgU1RDb21wb25lbnQgfSBmcm9tICdAZGVsb24vYWJjJztcclxuaW1wb3J0IHtTRkNvbXBvbmVudCwgU0ZTY2hlbWF9IGZyb20gJ0BkZWxvbi9mb3JtJztcclxuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZX0gZnJvbSAnbmctem9ycm8tYW50ZCc7XHJcbmltcG9ydCB7QXBwbGljYXRpb25BcHBzRWRpdENvbXBvbmVudH0gZnJvbSBcIi4vZWRpdC9lZGl0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FwcGxpY2F0aW9uQXBwc1ZpZXdDb21wb25lbnR9IGZyb20gXCIuL3ZpZXcvdmlldy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtDYWNoZVNlcnZpY2V9IGZyb20gXCJAZGVsb24vY2FjaGVcIjtcclxuaW1wb3J0IHtEaWN0U2VydmljZX0gZnJvbSBcIkBlY2lwL3NlcnZpY2VcIjtcclxuaW1wb3J0IHtOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hcHBsaWNhdGlvbi1hcHBzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcy5jb21wb25lbnQuaHRtbCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkFwcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveXtcclxuXHJcbiAgdXJsID0gYGFwaS92MS9zeXNyUmVnaXN0ZXJBcHAvbGlzdGA7XHJcblxyXG4gIC8vIG5hdmlnYXRpb25TdWJzY3JpcHRpb247XHJcbiAgc2VhcmNoU2NoZW1hOiBTRlNjaGVtYSA9IHtcclxuICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgLy/mkJzntKLlsZ7mgKforr7nva5cclxuICAgICAgYXBwTmFtZToge1xyXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxyXG4gICAgICAgIHRpdGxlOiAn57O757uf5ZCN56ewJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBAVmlld0NoaWxkKCdzdCcpIHN0OiBTVENvbXBvbmVudDtcclxuICBjb2x1bW5zOiBTVENvbHVtbltdID0gW1xyXG4gICAgeyB0aXRsZTogJ+ezu+e7n0lEJywgaW5kZXg6ICdhcHBJZCcgfSxcclxuICAgIHsgdGl0bGU6ICfns7vnu5/lkI3np7AnLCBpbmRleDogJ2FwcE5hbWUnIH0sXHJcbiAgICB7IHRpdGxlOiAn54mI5pys5Y+3JywgaW5kZXg6ICdyc3ZuJyB9LFxyXG4gICAgeyB0aXRsZTogJ+ezu+e7n+exu+WeiycsIHJlbmRlcjogJ3R5cGVBcHAnIH0sXHJcbiAgICB7IHRpdGxlOiAn6K6k6K+B5pa55byPJywgcmVuZGVyOiAndHlwZUF1dGgnIH0sXHJcbiAgICB7IHRpdGxlOiAn5aSH5rOo6K+05piOJywgaW5kZXg6ICdyZW1hcmsnIH0sXHJcbiAgICB7IHRpdGxlOiAn5rOo5YaM5pel5pyfJywgdHlwZTogJ2RhdGUnLCBpbmRleDogJ2NyZWF0ZURhdGUnIH0sXHJcbiAgICB7IHRpdGxlOiAn5a6J5YWo5oCnSVDlkK/nlKjmoIforrAnLCBpbmRleDogJ2ZsYWdJcFRleHQnIH0sXHJcbiAgICB7IHRpdGxlOiAn55m75b2V5pel5b+X5ZCv55So5qCH6K6wJywgaW5kZXg6ICdmbGFnTExvZ1RleHQnIH0sXHJcbiAgICB7IHRpdGxlOiAn5pON5L2c5pel5b+X5ZCv55So5qCH6K6wJywgaW5kZXg6ICdmbGFnTG9nT3B0VGV4dCcgfSxcclxuICAgIHsgdGl0bGU6ICflkK/nlKjnirbmgIEnLCBpbmRleDogJ3N0YXR1c1RleHQnIH0sXHJcbiAgICB7XHJcbiAgICAgIHRpdGxlOiAn5pON5L2cJyxcclxuICAgICAgd2lkdGg6ICcxMDBweCcsXHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICB7IHRleHQ6ICfmn6XnnIsnLCB0eXBlOiAnc3RhdGljJywgY29tcG9uZW50OiBBcHBsaWNhdGlvbkFwcHNWaWV3Q29tcG9uZW50LCBjbGljazogJ3JlbG9hZCcsIGFjbDogeyBhYmlsaXR5OiBbJ2FwcHM6dmlldyddIH19LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQ6ICcnLFxyXG4gICAgICAgICAgY2hpbGRyZW46IFtcclxuXHJcbiAgICAgICAgICAgIHsgdGV4dDogJ+e8lui+kScsIHR5cGU6ICdzdGF0aWMnLCBjb21wb25lbnQ6IEFwcGxpY2F0aW9uQXBwc0VkaXRDb21wb25lbnQsIGNsaWNrOiAncmVsb2FkJywgYWNsOiB7IGFiaWxpdHk6IFsnYXBwczplZGl0J10gfSB9LFxyXG4gICAgICAgICAgICB7IHRleHQ6ICfliKDpmaQnLCB0eXBlOiAnZGVsJywgY2xpY2s6IChpdGVtOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIC8v5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZGVsZXRlKGBhcGkvdjEvc3lzclJlZ2lzdGVyQXBwLyR7aXRlbS5hcHBJZH1gKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5tc2dTcnYuc3VjY2Vzcygn5Yig6Zmk5oiQ5YqfJyk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3QucmVsb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIGFjbDogeyBhYmlsaXR5OiBbJ2FwcHM6cmVtb3ZlJ10gfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBfSHR0cENsaWVudCxcclxuICAgICAgICAgICAgICBwcml2YXRlIG1vZGFsOiBNb2RhbEhlbHBlcixcclxuICAgICAgICAgICAgICBwcml2YXRlIG1zZ1NydjogTnpNZXNzYWdlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBkaWN0U2VydmljZTogRGljdFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtZW51U3J2OiBNZW51U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XHJcbiAgICAvLyB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XHJcbiAgICAvLyAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgICAgIHRoaXMuc2YucmVzZXQodHJ1ZSk7XHJcbiAgICAvLyAgICAgfSwgMTAwKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICAvLyBfb25SZXVzZUluaXQoKSB7XHJcbiAgICAvLyB0aGlzLm5hdmlnYXRpb25TdWJzY3JpcHRpb24gPSB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XHJcbiAgICAvLyAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgIC8vICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIC8vICAgICAgIHRoaXMuc2YucmVzZXQodHJ1ZSk7XHJcbiAgICAvLyAgICAgfSwgMTAwKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBfb25SZXVzZURlc3Ryb3koKSB7XHJcbiAgLy8gICBpZiAodGhpcy5uYXZpZ2F0aW9uU3Vic2NyaXB0aW9uKSB7XHJcbiAgLy8gICAgIHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyBpZiAodGhpcy5uYXZpZ2F0aW9uU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAvLyAgIHRoaXMubmF2aWdhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG5cclxuICAvLyDmlrDlop5cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLm1vZGFsXHJcbiAgICAgIC5jcmVhdGVTdGF0aWMoQXBwbGljYXRpb25BcHBzRWRpdENvbXBvbmVudCwge30pXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zdC5yZWxvYWQoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==