@yelon/bis 16.0.4 → 16.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/layout/bis.config.mjs +5 -1
- package/esm2022/layout/layout-basic/interface.mjs +1 -1
- package/esm2022/layout/layout-basic/layout-basic.component.mjs +12 -24
- package/esm2022/layout/layout-nav/layout-nav-application.component.mjs +60 -30
- package/esm2022/layout/layout-nav/layout-nav-group.component.mjs +69 -80
- package/esm2022/layout/layout-nav/layout-nav-tile.component.mjs +5 -6
- package/esm2022/layout/widgets/yunzai-clear-storage.component.mjs +5 -6
- package/esm2022/layout/widgets/yunzai-fullscreen.component.mjs +5 -6
- package/esm2022/layout/widgets/yunzai-i18n.component.mjs +8 -13
- package/esm2022/layout/widgets/yunzai-notify.component.mjs +5 -6
- package/esm2022/layout/widgets/yunzai-theme-btn.component.mjs +8 -12
- package/esm2022/layout/widgets/yunzai-user.component.mjs +5 -6
- package/esm2022/layout/yunzai-act.guard.mjs +5 -6
- package/esm2022/layout/yunzai-auth.service.mjs +14 -12
- package/esm2022/layout/yunzai-default.interceptor.mjs +3 -3
- package/esm2022/layout/yunzai-i18n.service.mjs +12 -16
- package/esm2022/layout/yunzai-layout.module.mjs +9 -10
- package/esm2022/layout/yunzai-startup.service.mjs +14 -13
- package/fesm2022/layout.mjs +213 -205
- package/fesm2022/layout.mjs.map +1 -1
- package/layout/layout-basic/interface.d.ts +1 -3
- package/layout/layout-basic/layout-basic.component.d.ts +2 -3
- package/layout/layout-nav/layout-nav-application.component.d.ts +9 -5
- package/layout/layout-nav/layout-nav-group.component.d.ts +2 -3
- package/layout/widgets/yunzai-i18n.component.d.ts +2 -5
- package/layout/widgets/yunzai-theme-btn.component.d.ts +0 -1
- package/layout/yunzai-i18n.service.d.ts +1 -5
- package/package.json +12 -12
|
@@ -11,7 +11,7 @@ import * as i3 from "@yelon/acl";
|
|
|
11
11
|
import * as i4 from "./yunzai-auth.service";
|
|
12
12
|
import * as i5 from "@yelon/util";
|
|
13
13
|
import * as i6 from "./yunzai-i18n.service";
|
|
14
|
-
class YunzaiStartupService {
|
|
14
|
+
export class YunzaiStartupService {
|
|
15
15
|
constructor(iconSrv, menuService, i18n, win, settingService, aclService, titleService, yzAuthService, configService) {
|
|
16
16
|
this.menuService = menuService;
|
|
17
17
|
this.i18n = i18n;
|
|
@@ -45,9 +45,9 @@ class YunzaiStartupService {
|
|
|
45
45
|
}
|
|
46
46
|
systemInit() {
|
|
47
47
|
log('startup.service: system init');
|
|
48
|
-
const [setCurrent
|
|
48
|
+
const [setCurrent] = useLocalStorageCurrent();
|
|
49
49
|
const [, getUser] = useLocalStorageUser();
|
|
50
|
-
const [setDefaultRoute
|
|
50
|
+
const [setDefaultRoute] = useLocalStorageDefaultRoute();
|
|
51
51
|
const yunzaiUser = getUser();
|
|
52
52
|
// @ts-ignore
|
|
53
53
|
const yunzaiMenus = deepCopy(yunzaiUser.menu).filter(m => m.systemCode && m.systemCode === this.config.systemCode);
|
|
@@ -64,9 +64,11 @@ class YunzaiStartupService {
|
|
|
64
64
|
this.titleService.setTitle(currentMenu && currentMenu.text ? currentMenu.text : 'no title');
|
|
65
65
|
const abilities = [];
|
|
66
66
|
generateAbility([currentMenu], abilities, '');
|
|
67
|
-
this.aclService.attachRole(yunzaiUser?.roles
|
|
67
|
+
this.aclService.attachRole(yunzaiUser?.roles
|
|
68
|
+
.map((role) => {
|
|
68
69
|
return role.roleValue;
|
|
69
|
-
})
|
|
70
|
+
})
|
|
71
|
+
.filter((a) => !!a) || []);
|
|
70
72
|
this.aclService.attachAbility(abilities);
|
|
71
73
|
this.menuService.add([currentMenu]);
|
|
72
74
|
setCurrent({
|
|
@@ -81,19 +83,18 @@ class YunzaiStartupService {
|
|
|
81
83
|
setDefaultRoute(attr.defaultRoute);
|
|
82
84
|
}
|
|
83
85
|
else {
|
|
84
|
-
setDefaultRoute(
|
|
86
|
+
setDefaultRoute('/displayIndex');
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
else {
|
|
88
|
-
setDefaultRoute(
|
|
90
|
+
setDefaultRoute('/displayIndex');
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1
|
|
93
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: YunzaiStartupService, deps: [{ token: i1.NzIconService }, { token: i2.MenuService }, { token: YUNZAI_I18N_TOKEN }, { token: WINDOW }, { token: i2.SettingsService }, { token: i3.ACLService }, { token: i2.TitleService }, { token: i4.YunzaiAuthService }, { token: i5.YunzaiConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
95
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: YunzaiStartupService }); }
|
|
94
96
|
}
|
|
95
|
-
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImport: i0, type: YunzaiStartupService, decorators: [{
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: YunzaiStartupService, decorators: [{
|
|
97
98
|
type: Injectable
|
|
98
99
|
}], ctorParameters: function () { return [{ type: i1.NzIconService }, { type: i2.MenuService }, { type: i6.YunzaiI18NService, decorators: [{
|
|
99
100
|
type: Inject,
|
|
@@ -105,7 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.8", ngImpor
|
|
|
105
106
|
export function mapYzSideToYelonMenu(menus) {
|
|
106
107
|
menus.forEach(menu => {
|
|
107
108
|
if (menu.children && menu.hideChildren) {
|
|
108
|
-
menu.children.forEach(c => c.hide = true);
|
|
109
|
+
menu.children.forEach(c => (c.hide = true));
|
|
109
110
|
}
|
|
110
111
|
menu.badgeDot = menu.badge_dot || null;
|
|
111
112
|
menu.badgeStatus = menu.badge_status || null;
|
|
@@ -148,4 +149,4 @@ export const YUNZAI_APPINIT_PROVIDES = [
|
|
|
148
149
|
multi: true
|
|
149
150
|
}
|
|
150
151
|
];
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFhLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFHOUMsT0FBTyxFQUFtRCxpQkFBaUIsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNqRyxPQUFPLEVBRUgsTUFBTSxFQUdOLFFBQVEsRUFDUixHQUFHLEVBQ2tCLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUNoRyxNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBQUMsdUJBQXVCLEVBQUUsY0FBYyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7Ozs7QUFJekMsTUFDYSxvQkFBb0I7SUFHN0IsWUFDSSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxhQUFrQztRQVBsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVh0QyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FBYTNELElB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LElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxNQUFNLElBQUksRUFBRSxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUU7Z0JBQ2pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUFDLGNBQW9DO0lBQzVFLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxZQUFZO0FBQ1osTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkMsb0JBQW9CO0lBQ3BCO1FBQ0ksT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QixLQUFLLEVBQUUsSUFBSTtLQUNkO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QVBQX0lOSVRJQUxJWkVSLCBJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBtZXJnZU1hcCwgb2Z9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0FDTFNlcnZpY2V9IGZyb20gJ0B5ZWxvbi9hY2wnO1xuaW1wb3J0IHtNZW51LCBNZW51U2VydmljZSwgU2V0dGluZ3NTZXJ2aWNlLCBUaXRsZVNlcnZpY2UsIFlVTlpBSV9JMThOX1RPS0VOfSBmcm9tICdAeWVsb24vdGhlbWUnO1xuaW1wb3J0IHtcbiAgICBZdW56YWlNZW51LFxuICAgIFdJTkRPVyxcbiAgICBZdW56YWlCdXNpbmVzc0NvbmZpZyxcbiAgICBZdW56YWlDb25maWdTZXJ2aWNlLFxuICAgIGRlZXBDb3B5LFxuICAgIGxvZyxcbiAgICBZdW56YWlNZW51QXR0cmlidXRlLCB1c2VMb2NhbFN0b3JhZ2VDdXJyZW50LCB1c2VMb2NhbFN0b3JhZ2VVc2VyLCB1c2VMb2NhbFN0b3JhZ2VEZWZhdWx0Um91dGVcbn0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHtOelNhZmVBbnl9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS90eXBlcyc7XG5pbXBvcnQge056SWNvblNlcnZpY2V9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5cbmltcG9ydCB7QlVTSU5FU1NfREVGQVVMVF9DT05GSUcsIG1lcmdlQmlzQ29uZmlnfSBmcm9tICcuL2Jpcy5jb25maWcnO1xuaW1wb3J0IHtJQ09OU30gZnJvbSAnLi9pY29uL3N0eWxlLWljb25zJztcbmltcG9ydCB7WXVuemFpQXV0aFNlcnZpY2V9IGZyb20gJy4veXVuemFpLWF1dGguc2VydmljZSc7XG5pbXBvcnQge1l1bnphaUkxOE5TZXJ2aWNlfSBmcm9tICcuL3l1bnphaS1pMThuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWXVuemFpU3RhcnR1cFNlcnZpY2Uge1xuICAgIHByaXZhdGUgY29uZmlnOiBZdW56YWlCdXNpbmVzc0NvbmZpZyA9IEJVU0lORVNTX0RFRkFVTFRfQ09ORklHO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGljb25TcnY6IE56SWNvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFlVTlpBSV9JMThOX1RPS0VOKSBwcml2YXRlIGkxOG46IFl1bnphaUkxOE5TZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW46IE56U2FmZUFueSxcbiAgICAgICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjbFNlcnZpY2U6IEFDTFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGl0bGVTZXJ2aWNlOiBUaXRsZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgeXpBdXRoU2VydmljZTogWXVuemFpQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogWXVuemFpQ29uZmlnU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IG1lcmdlQmlzQ29uZmlnKHRoaXMuY29uZmlnU2VydmljZSk7XG4gICAgICAgIGljb25TcnYuYWRkSWNvbiguLi5JQ09OUyk7XG4gICAgfVxuXG4gICAgbG9hZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6ICcsICdsb2FkJyk7XG4gICAgICAgIGxldCBkZWZhdWx0TGFuZzogc3RyaW5nID0gdGhpcy5zZXR0aW5nU2VydmljZS5sYXlvdXQubGFuZyB8fCB0aGlzLmkxOG4uZGVmYXVsdExhbmc7XG4gICAgICAgIHJldHVybiB0aGlzLmkxOG4ubG9hZExhbmdEYXRhKGRlZmF1bHRMYW5nKS5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAobGFuZ0RhdGEgPT4ge1xuICAgICAgICAgICAgICAgIGxvZygnc3RhcnR1cC5zZXJ2aWNlOiAnLCAnc2V0IGkxOG4sIGRlZmF1bHRMYW5nLT4nLCBkZWZhdWx0TGFuZywgJyBsYW5nRGF0YS0+JywgbGFuZ0RhdGEpO1xuICAgICAgICAgICAgICAgIHRoaXMuaTE4bi51c2UoZGVmYXVsdExhbmchLCBsYW5nRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMueXpBdXRoU2VydmljZS5sb2dpbigpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtZXJnZU1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN5c3RlbUluaXQoKTtcbiAgICAgICAgICAgICAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogcHJlbG9hZGVyIGZpbmlzaCcpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLndpbiAmJiB0aGlzLndpbi5hcHBCb290c3RyYXApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53aW4uYXBwQm9vdHN0cmFwKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvZih2KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc3lzdGVtSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgbG9nKCdzdGFydHVwLnNlcnZpY2U6IHN5c3RlbSBpbml0Jyk7XG4gICAgICAgIGNvbnN0IFtzZXRDdXJyZW50LF0gPSB1c2VMb2NhbFN0b3JhZ2VDdXJyZW50KClcbiAgICAgICAgY29uc3QgWywgZ2V0VXNlcl0gPSB1c2VMb2NhbFN0b3JhZ2VVc2VyKClcbiAgICAgICAgY29uc3QgW3NldERlZmF1bHRSb3V0ZSxdID0gdXNlTG9jYWxTdG9yYWdlRGVmYXVsdFJvdXRlKClcbiAgICAgICAgY29uc3QgeXVuemFpVXNlciA9IGdldFVzZXIoKSE7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3QgeXVuemFpTWVudXM6IFl1bnphaU1lbnVbXSA9IGRlZXBDb3B5KHl1bnphaVVzZXIubWVudSkuZmlsdGVyKFxuICAgICAgICAgICAgbSA9PiBtLnN5c3RlbUNvZGUgJiYgbS5zeXN0ZW1Db2RlID09PSB0aGlzLmNvbmZpZy5zeXN0ZW1Db2RlXG4gICAgICAgICk7XG4gICAgICAgIG1hcFl6U2lkZVRvWWVsb25NZW51KHl1bnphaU1lbnVzKTtcbiAgICAgICAgY29uc3QgY3VycmVudE1lbnUgPSB5dW56YWlNZW51cy5wb3AoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRNZW51KSB7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdTZXJ2aWNlLnNldEFwcCh7bmFtZTogY3VycmVudE1lbnUudGV4dCwgZGVzY3JpcHRpb246IGN1cnJlbnRNZW51LmludHJvfSk7XG4gICAgICAgICAgICB0aGlzLnNldHRpbmdTZXJ2aWNlLnNldFVzZXIoe1xuICAgICAgICAgICAgICAgIG5hbWU6IHl1bnphaVVzZXIucmVhbG5hbWUsXG4gICAgICAgICAgICAgICAgYXZhdGFyOiBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9maWxlY2VudGVyL2ZpbGUvJHt5dW56YWlVc2VyLmF2YXRhcklkfWAgfHwgJycsXG4gICAgICAgICAgICAgICAgZW1haWw6IHl1bnphaVVzZXIuZW1haWxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50aXRsZVNlcnZpY2UuZGVmYXVsdCA9IGN1cnJlbnRNZW51ICYmIGN1cnJlbnRNZW51LnRleHQgPyBjdXJyZW50TWVudS50ZXh0IDogJ2RlZmF1bHQgYXBwbGljYXRpb24gbmFtZSc7XG4gICAgICAgICAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZShjdXJyZW50TWVudSAmJiBjdXJyZW50TWVudS50ZXh0ID8gY3VycmVudE1lbnUudGV4dCA6ICdubyB0aXRsZScpO1xuICAgICAgICAgICAgY29uc3QgYWJpbGl0aWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgZ2VuZXJhdGVBYmlsaXR5KFtjdXJyZW50TWVudV0sIGFiaWxpdGllcywgJycpO1xuICAgICAgICAgICAgdGhpcy5hY2xTZXJ2aWNlLmF0dGFjaFJvbGUoeXVuemFpVXNlcj8ucm9sZXMubWFwKChyb2xlOiBOelNhZmVBbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcm9sZS5yb2xlVmFsdWU7XG4gICAgICAgICAgICB9KS5maWx0ZXIoKGE6IE56U2FmZUFueSkgPT4gISFhKSB8fCBbXSk7XG4gICAgICAgICAgICB0aGlzLmFjbFNlcnZpY2UuYXR0YWNoQWJpbGl0eShhYmlsaXRpZXMpO1xuICAgICAgICAgICAgdGhpcy5tZW51U2VydmljZS5hZGQoW2N1cnJlbnRNZW51IGFzIE1lbnVdKTtcbiAgICAgICAgICAgIHNldEN1cnJlbnQoe1xuICAgICAgICAgICAgICAgIG5hbWU6IGN1cnJlbnRNZW51LnRleHQsXG4gICAgICAgICAgICAgICAgaW50cm86IGN1cnJlbnRNZW51LmludHJvIHx8ICcnLFxuICAgICAgICAgICAgICAgIGljb246IGN1cnJlbnRNZW51LmFwcEljb25VcmwgfHwgJy4vYXNzZXRzL3RtcC9pbWcvYXZhdGFyLmpwZydcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gY3VycmVudE1lbnUuYXR0cmlidXRlO1xuICAgICAgICAgICAgaWYgKGF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdHRyOiBZdW56YWlNZW51QXR0cmlidXRlID0gSlNPTi5wYXJzZShhdHRyaWJ1dGVzKTtcbiAgICAgICAgICAgICAgICBpZiAoYXR0ciAmJiBhdHRyLmRlZmF1bHRSb3V0ZSkge1xuICAgICAgICAgICAgICAgICAgICBzZXREZWZhdWx0Um91dGUoYXR0ci5kZWZhdWx0Um91dGUpXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RGVmYXVsdFJvdXRlKFwiL2Rpc3BsYXlJbmRleFwiKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RGVmYXVsdFJvdXRlKFwiL2Rpc3BsYXlJbmRleFwiKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwWXpTaWRlVG9ZZWxvbk1lbnUobWVudXM6IFl1bnphaU1lbnVbXSk6IHZvaWQge1xuICAgIG1lbnVzLmZvckVhY2gobWVudSA9PiB7XG4gICAgICAgIGlmIChtZW51LmNoaWxkcmVuICYmIG1lbnUuaGlkZUNoaWxkcmVuKSB7XG4gICAgICAgICAgICBtZW51LmNoaWxkcmVuLmZvckVhY2goYyA9PiBjLmhpZGUgPSB0cnVlKVxuICAgICAgICB9XG4gICAgICAgIG1lbnUuYmFkZ2VEb3QgPSBtZW51LmJhZGdlX2RvdCB8fCBudWxsO1xuICAgICAgICBtZW51LmJhZGdlU3RhdHVzID0gbWVudS5iYWRnZV9zdGF0dXMgfHwgbnVsbDtcbiAgICAgICAgbWVudS5zaG9ydGN1dFJvb3QgPSBtZW51LnNob3J0Y3V0X3Jvb3QgfHwgbnVsbDtcbiAgICAgICAgbWVudS5yZXVzZSA9IHRydWU7XG4gICAgICAgIGlmIChtZW51LmNoaWxkcmVuKSB7XG4gICAgICAgICAgICBtYXBZelNpZGVUb1llbG9uTWVudShtZW51LmNoaWxkcmVuKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVBYmlsaXR5KG1lbnVzOiBZdW56YWlNZW51W10sIGFiaWxpdGllczogc3RyaW5nW10sIHByZWZpeDogc3RyaW5nKTogdm9pZCB7XG4gICAgbWVudXMuZm9yRWFjaChtZW51ID0+IHtcbiAgICAgICAgaWYgKG1lbnUubGluaykge1xuICAgICAgICAgICAgcHJlZml4ICs9IG1lbnUubGluaztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHByZWZpeCArPSAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobWVudS5tZW51QXV0aHMpIHtcbiAgICAgICAgICAgIG1lbnUubWVudUF1dGhzLmZvckVhY2goKGE6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGFiaWxpdGllcy5wdXNoKGAke3ByZWZpeH06JHthfWApO1xuICAgICAgICAgICAgICAgIGFiaWxpdGllcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWVudS5jaGlsZHJlbikge1xuICAgICAgICAgICAgZ2VuZXJhdGVBYmlsaXR5KG1lbnUuY2hpbGRyZW4sIGFiaWxpdGllcywgcHJlZml4KTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gWXVuemFpU3RhcnR1cFNlcnZpY2VGYWN0b3J5KHN0YXJ0dXBTZXJ2aWNlOiBZdW56YWlTdGFydHVwU2VydmljZSk6ICgpID0+IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiAoKSA9PiBzdGFydHVwU2VydmljZS5sb2FkKCk7XG59XG5cbi8vQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFlVTlpBSV9BUFBJTklUX1BST1ZJREVTID0gW1xuICAgIFl1bnphaVN0YXJ0dXBTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICB1c2VGYWN0b3J5OiBZdW56YWlTdGFydHVwU2VydmljZUZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtZdW56YWlTdGFydHVwU2VydmljZV0sXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuXTtcblxuIl19
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieXVuemFpLXN0YXJ0dXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Jpcy9sYXlvdXQveXVuemFpLXN0YXJ0dXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHaEQsT0FBTyxFQUFvRCxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNuRyxPQUFPLEVBRUwsTUFBTSxFQUdOLFFBQVEsRUFDUixHQUFHLEVBRUgsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQiwyQkFBMkIsRUFDNUIsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFDRSxPQUFzQixFQUNkLFdBQXdCLEVBQ0csSUFBdUIsRUFDbEMsR0FBYyxFQUM5QixjQUErQixFQUMvQixVQUFzQixFQUN0QixZQUEwQixFQUMxQixhQUFnQyxFQUNoQyxhQUFrQztRQVBsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUNHLFNBQUksR0FBSixJQUFJLENBQW1CO1FBQ2xDLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFDOUIsbUJBQWMsR0FBZCxjQUFjLENBQWlCO1FBQy9CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQVhwQyxXQUFNLEdBQXlCLHVCQUF1QixDQUFDO1FB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O1FBQ25CLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNiLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3JCO2FBQU07WUFDTCxNQUFNLElBQUksRUFBRSxDQUFDO1NBQ2Q7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRTtnQkFDbkMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUFDLGNBQW9DO0lBQzlFLE9BQU8sR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxZQUFZO0FBQ1osTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsb0JBQW9CO0lBQ3BCO1FBQ0UsT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLDJCQUEyQjtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUM1QixLQUFLLEVBQUUsSUFBSTtLQUNaO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQUNMU2VydmljZSB9IGZyb20gJ0B5ZWxvbi9hY2wnO1xuaW1wb3J0IHsgTWVudSwgTWVudVNlcnZpY2UsIFNldHRpbmdzU2VydmljZSwgVGl0bGVTZXJ2aWNlLCBZVU5aQUlfSTE4Tl9UT0tFTiB9IGZyb20gJ0B5ZWxvbi90aGVtZSc7XG5pbXBvcnQge1xuICBZdW56YWlNZW51LFxuICBXSU5ET1csXG4gIFl1bnphaUJ1c2luZXNzQ29uZmlnLFxuICBZdW56YWlDb25maWdTZXJ2aWNlLFxuICBkZWVwQ29weSxcbiAgbG9nLFxuICBZdW56YWlNZW51QXR0cmlidXRlLFxuICB1c2VMb2NhbFN0b3JhZ2VDdXJyZW50LFxuICB1c2VMb2NhbFN0b3JhZ2VVc2VyLFxuICB1c2VMb2NhbFN0b3JhZ2VEZWZhdWx0Um91dGVcbn0gZnJvbSAnQHllbG9uL3V0aWwnO1xuaW1wb3J0IHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IE56SWNvblNlcnZpY2UgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuXG5pbXBvcnQgeyBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRywgbWVyZ2VCaXNDb25maWcgfSBmcm9tICcuL2Jpcy5jb25maWcnO1xuaW1wb3J0IHsgSUNPTlMgfSBmcm9tICcuL2ljb24vc3R5bGUtaWNvbnMnO1xuaW1wb3J0IHsgWXVuemFpQXV0aFNlcnZpY2UgfSBmcm9tICcuL3l1bnphaS1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgWXVuemFpSTE4TlNlcnZpY2UgfSBmcm9tICcuL3l1bnphaS1pMThuLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgWXVuemFpU3RhcnR1cFNlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZzogWXVuemFpQnVzaW5lc3NDb25maWcgPSBCVVNJTkVTU19ERUZBVUxUX0NPTkZJRztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpY29uU3J2OiBOekljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIEBJbmplY3QoWVVOWkFJX0kxOE5fVE9LRU4pIHByaXZhdGUgaTE4bjogWXVuemFpSTE4TlNlcnZpY2UsXG4gICAgQEluamVjdChXSU5ET1cpIHByaXZhdGUgd2luOiBOelNhZmVBbnksXG4gICAgcHJpdmF0ZSBzZXR0aW5nU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWNsU2VydmljZTogQUNMU2VydmljZSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgeXpBdXRoU2VydmljZTogWXVuemFpQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBZdW56YWlDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY29uZmlnID0gbWVyZ2VCaXNDb25maWcodGhpcy5jb25maWdTZXJ2aWNlKTtcbiAgICBpY29uU3J2LmFkZEljb24oLi4uSUNPTlMpO1xuICB9XG5cbiAgbG9hZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogJywgJ2xvYWQnKTtcbiAgICBsZXQgZGVmYXVsdExhbmc6IHN0cmluZyA9IHRoaXMuc2V0dGluZ1NlcnZpY2UubGF5b3V0LmxhbmcgfHwgdGhpcy5pMThuLmRlZmF1bHRMYW5nO1xuICAgIHJldHVybiB0aGlzLmkxOG4ubG9hZExhbmdEYXRhKGRlZmF1bHRMYW5nKS5waXBlKFxuICAgICAgbWVyZ2VNYXAobGFuZ0RhdGEgPT4ge1xuICAgICAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogJywgJ3NldCBpMThuLCBkZWZhdWx0TGFuZy0+JywgZGVmYXVsdExhbmcsICcgbGFuZ0RhdGEtPicsIGxhbmdEYXRhKTtcbiAgICAgICAgdGhpcy5pMThuLnVzZShkZWZhdWx0TGFuZyEsIGxhbmdEYXRhKTtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnl6QXV0aFNlcnZpY2UubG9naW4oKTtcbiAgICAgIH0pLFxuICAgICAgbWVyZ2VNYXAodiA9PiB7XG4gICAgICAgIHRoaXMuc3lzdGVtSW5pdCgpO1xuICAgICAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogcHJlbG9hZGVyIGZpbmlzaCcpO1xuICAgICAgICBpZiAodGhpcy53aW4gJiYgdGhpcy53aW4uYXBwQm9vdHN0cmFwKSB7XG4gICAgICAgICAgdGhpcy53aW4uYXBwQm9vdHN0cmFwKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHYpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3lzdGVtSW5pdCgpOiB2b2lkIHtcbiAgICBsb2coJ3N0YXJ0dXAuc2VydmljZTogc3lzdGVtIGluaXQnKTtcbiAgICBjb25zdCBbc2V0Q3VycmVudF0gPSB1c2VMb2NhbFN0b3JhZ2VDdXJyZW50KCk7XG4gICAgY29uc3QgWywgZ2V0VXNlcl0gPSB1c2VMb2NhbFN0b3JhZ2VVc2VyKCk7XG4gICAgY29uc3QgW3NldERlZmF1bHRSb3V0ZV0gPSB1c2VMb2NhbFN0b3JhZ2VEZWZhdWx0Um91dGUoKTtcbiAgICBjb25zdCB5dW56YWlVc2VyID0gZ2V0VXNlcigpITtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgeXVuemFpTWVudXM6IFl1bnphaU1lbnVbXSA9IGRlZXBDb3B5KHl1bnphaVVzZXIubWVudSkuZmlsdGVyKFxuICAgICAgbSA9PiBtLnN5c3RlbUNvZGUgJiYgbS5zeXN0ZW1Db2RlID09PSB0aGlzLmNvbmZpZy5zeXN0ZW1Db2RlXG4gICAgKTtcbiAgICBtYXBZelNpZGVUb1llbG9uTWVudSh5dW56YWlNZW51cyk7XG4gICAgY29uc3QgY3VycmVudE1lbnUgPSB5dW56YWlNZW51cy5wb3AoKTtcbiAgICBpZiAoY3VycmVudE1lbnUpIHtcbiAgICAgIHRoaXMuc2V0dGluZ1NlcnZpY2Uuc2V0QXBwKHsgbmFtZTogY3VycmVudE1lbnUudGV4dCwgZGVzY3JpcHRpb246IGN1cnJlbnRNZW51LmludHJvIH0pO1xuICAgICAgdGhpcy5zZXR0aW5nU2VydmljZS5zZXRVc2VyKHtcbiAgICAgICAgbmFtZTogeXVuemFpVXNlci5yZWFsbmFtZSxcbiAgICAgICAgYXZhdGFyOiBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9maWxlY2VudGVyL2ZpbGUvJHt5dW56YWlVc2VyLmF2YXRhcklkfWAgfHwgJycsXG4gICAgICAgIGVtYWlsOiB5dW56YWlVc2VyLmVtYWlsXG4gICAgICB9KTtcbiAgICAgIHRoaXMudGl0bGVTZXJ2aWNlLmRlZmF1bHQgPSBjdXJyZW50TWVudSAmJiBjdXJyZW50TWVudS50ZXh0ID8gY3VycmVudE1lbnUudGV4dCA6ICdkZWZhdWx0IGFwcGxpY2F0aW9uIG5hbWUnO1xuICAgICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoY3VycmVudE1lbnUgJiYgY3VycmVudE1lbnUudGV4dCA/IGN1cnJlbnRNZW51LnRleHQgOiAnbm8gdGl0bGUnKTtcbiAgICAgIGNvbnN0IGFiaWxpdGllczogc3RyaW5nW10gPSBbXTtcbiAgICAgIGdlbmVyYXRlQWJpbGl0eShbY3VycmVudE1lbnVdLCBhYmlsaXRpZXMsICcnKTtcbiAgICAgIHRoaXMuYWNsU2VydmljZS5hdHRhY2hSb2xlKFxuICAgICAgICB5dW56YWlVc2VyPy5yb2xlc1xuICAgICAgICAgIC5tYXAoKHJvbGU6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHJvbGUucm9sZVZhbHVlO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbHRlcigoYTogTnpTYWZlQW55KSA9PiAhIWEpIHx8IFtdXG4gICAgICApO1xuICAgICAgdGhpcy5hY2xTZXJ2aWNlLmF0dGFjaEFiaWxpdHkoYWJpbGl0aWVzKTtcbiAgICAgIHRoaXMubWVudVNlcnZpY2UuYWRkKFtjdXJyZW50TWVudSBhcyBNZW51XSk7XG4gICAgICBzZXRDdXJyZW50KHtcbiAgICAgICAgbmFtZTogY3VycmVudE1lbnUudGV4dCxcbiAgICAgICAgaW50cm86IGN1cnJlbnRNZW51LmludHJvIHx8ICcnLFxuICAgICAgICBpY29uOiBjdXJyZW50TWVudS5hcHBJY29uVXJsIHx8ICcuL2Fzc2V0cy90bXAvaW1nL2F2YXRhci5qcGcnXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBjdXJyZW50TWVudS5hdHRyaWJ1dGU7XG4gICAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgICBjb25zdCBhdHRyOiBZdW56YWlNZW51QXR0cmlidXRlID0gSlNPTi5wYXJzZShhdHRyaWJ1dGVzKTtcbiAgICAgICAgaWYgKGF0dHIgJiYgYXR0ci5kZWZhdWx0Um91dGUpIHtcbiAgICAgICAgICBzZXREZWZhdWx0Um91dGUoYXR0ci5kZWZhdWx0Um91dGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldERlZmF1bHRSb3V0ZSgnL2Rpc3BsYXlJbmRleCcpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXREZWZhdWx0Um91dGUoJy9kaXNwbGF5SW5kZXgnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hcFl6U2lkZVRvWWVsb25NZW51KG1lbnVzOiBZdW56YWlNZW51W10pOiB2b2lkIHtcbiAgbWVudXMuZm9yRWFjaChtZW51ID0+IHtcbiAgICBpZiAobWVudS5jaGlsZHJlbiAmJiBtZW51LmhpZGVDaGlsZHJlbikge1xuICAgICAgbWVudS5jaGlsZHJlbi5mb3JFYWNoKGMgPT4gKGMuaGlkZSA9IHRydWUpKTtcbiAgICB9XG4gICAgbWVudS5iYWRnZURvdCA9IG1lbnUuYmFkZ2VfZG90IHx8IG51bGw7XG4gICAgbWVudS5iYWRnZVN0YXR1cyA9IG1lbnUuYmFkZ2Vfc3RhdHVzIHx8IG51bGw7XG4gICAgbWVudS5zaG9ydGN1dFJvb3QgPSBtZW51LnNob3J0Y3V0X3Jvb3QgfHwgbnVsbDtcbiAgICBtZW51LnJldXNlID0gdHJ1ZTtcbiAgICBpZiAobWVudS5jaGlsZHJlbikge1xuICAgICAgbWFwWXpTaWRlVG9ZZWxvbk1lbnUobWVudS5jaGlsZHJlbik7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQWJpbGl0eShtZW51czogWXVuemFpTWVudVtdLCBhYmlsaXRpZXM6IHN0cmluZ1tdLCBwcmVmaXg6IHN0cmluZyk6IHZvaWQge1xuICBtZW51cy5mb3JFYWNoKG1lbnUgPT4ge1xuICAgIGlmIChtZW51LmxpbmspIHtcbiAgICAgIHByZWZpeCArPSBtZW51Lmxpbms7XG4gICAgfSBlbHNlIHtcbiAgICAgIHByZWZpeCArPSAnJztcbiAgICB9XG4gICAgaWYgKG1lbnUubWVudUF1dGhzKSB7XG4gICAgICBtZW51Lm1lbnVBdXRocy5mb3JFYWNoKChhOiBzdHJpbmcpID0+IHtcbiAgICAgICAgYWJpbGl0aWVzLnB1c2goYCR7cHJlZml4fToke2F9YCk7XG4gICAgICAgIGFiaWxpdGllcy5wdXNoKGEpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG1lbnUuY2hpbGRyZW4pIHtcbiAgICAgIGdlbmVyYXRlQWJpbGl0eShtZW51LmNoaWxkcmVuLCBhYmlsaXRpZXMsIHByZWZpeCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeShzdGFydHVwU2VydmljZTogWXVuemFpU3RhcnR1cFNlcnZpY2UpOiAoKSA9PiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgcmV0dXJuICgpID0+IHN0YXJ0dXBTZXJ2aWNlLmxvYWQoKTtcbn1cblxuLy9AdHMtaWdub3JlXG5leHBvcnQgY29uc3QgWVVOWkFJX0FQUElOSVRfUFJPVklERVMgPSBbXG4gIFl1bnphaVN0YXJ0dXBTZXJ2aWNlLFxuICB7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6IFl1bnphaVN0YXJ0dXBTZXJ2aWNlRmFjdG9yeSxcbiAgICBkZXBzOiBbWXVuemFpU3RhcnR1cFNlcnZpY2VdLFxuICAgIG11bHRpOiB0cnVlXG4gIH1cbl07XG4iXX0=
|