ngx-bimplus-components 0.0.2 → 0.0.4
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/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +1 -2
- package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +18 -19
- package/esm2022/lib/ngx-bimplus-components.service.mjs +2 -3
- package/esm2022/public-api.mjs +6 -6
- package/fesm2022/ngx-bimplus-components.mjs +695 -698
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-main-menu/bimplus-main-menu.component.d.ts +4 -4
- package/lib/ngx-bimplus-components.service.d.ts +0 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -5
|
@@ -83,8 +83,8 @@ export class BimplusMainMenuComponent extends BimplusLocalizedWidgetComponent {
|
|
|
83
83
|
return this._menuFooterList.filter(item => (!this._isSubscribed(item) || this._isHidden(item)) ? false : true);
|
|
84
84
|
}
|
|
85
85
|
/**--------------------------------------------------------------------------
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
* check if app is subscribed
|
|
87
|
+
--------------------------------------------------------------------------*/
|
|
88
88
|
_isSubscribed(item) {
|
|
89
89
|
if (item.checkSubscription) {
|
|
90
90
|
const key = `${item.action}Subscribed`;
|
|
@@ -112,8 +112,8 @@ export class BimplusMainMenuComponent extends BimplusLocalizedWidgetComponent {
|
|
|
112
112
|
return false;
|
|
113
113
|
}
|
|
114
114
|
/**--------------------------------------------------------------------------
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
* check if app is disabled
|
|
116
|
+
--------------------------------------------------------------------------*/
|
|
117
117
|
_isDisabled(item) {
|
|
118
118
|
const key = `${item.action}Disabled`;
|
|
119
119
|
return !!(this[key]);
|
|
@@ -271,4 +271,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
271
271
|
}], bimplusMainMenuOverlayClicked: [{
|
|
272
272
|
type: Output
|
|
273
273
|
}] } });
|
|
274
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMERBQTBELENBQUM7Ozs7QUFrQnJHLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwrQkFBK0I7SUFDM0UsWUFBWSxnQkFBa0M7UUFDNUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFJZSxlQUFVLEdBQWEsS0FBSyxDQUFDO1FBQzdCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFhLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQWEsS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIseUJB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QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLDZCQUE2QjtzQkFBdEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgYm9vbGVhbkF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50fSBmcm9tIFwiLi8uLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudFwiXHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHtCaW1wbHVzUHJvamVjdE1lbnVDb21wb25lbnR9IGZyb20gJy4vLi4vYmltcGx1cy1wcm9qZWN0LW1lbnUvYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHtNZW51TGlzdFR5cGV9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmltcGx1c01haW5NZW51Q29tcG9uZW50QXR0cmlidXRlICB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjsgLy8gQWRkIGluZGV4IHNpZ25hdHVyZSBhbGxvd2luZyBzdHJpbmcgaW5kZXhpbmdcclxuICAgLy9PdGhlciBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLi4uXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtbWFpbi1tZW51JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSxCaW1wbHVzUHJvamVjdE1lbnVDb21wb25lbnRdLCAgXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtbWFpbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNNYWluTWVudUNvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyAgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlICl7XHJcbiAgICBzdXBlcih0cmFuc2xhdGVTZXJ2aWNlKSAgXHJcbiAgfVxyXG5cclxuICBcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNFbWJlZGRlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNUb3VjaCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNJcGFkQXBwIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0RldiA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNTdGFnZSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGlkZVByb2plY3RNZW51SWNvbnMgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dIb3Jpem9udGFsTWVudUljb25zIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHByb2plY3ROYW1lIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwcm9qZWN0SW1hZ2VVcmwgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHByb2plY3RFeHBsb3JlclVybCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHJvamVjdEFjdGl2ZUl0ZW0gOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9qZWN0bWVtYmVyc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtb2RlbHNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZG9jdW1lbnRzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RzZXR0aW5nc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9jZXNzZXNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBmb290ZXJBY3RpdmVJdGVtIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBtZW51QWN0aXZlSXRlbSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQ29sbGFwc2VkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93T3ZlcmxheSA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNTdWJzY3JpYmVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9wZXJ0eW1hbmFnZXJTdWJzY3JpYmVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzY2lhU3Vic2NyaWJlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb3BlblByb2plY3REaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYmltZXhwbG9yZXJEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2NpYURpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0ZWFtbWVtYmVyc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9wZXJ0eW1hbmFnZXJEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvcERpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBvcGVuUHJvamVjdFZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYmltcGx1c1Byb2plY3RNZW51VmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9qZWN0bWVtYmVyc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbW9kZWxzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RzZXR0aW5nc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvY2Vzc2VzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBiaW1leHBsb3JlclZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2NpYVZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb3BlcnR5bWFuYWdlclZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvcFZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGl2aWRlcnByb2plY3RtYW5hZ2VtZW50VmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXZpZGVyYXBwc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTsgIFxyXG5cclxuICBAT3V0cHV0KCkgYmltcGx1c01haW5NZW51Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBhY3Rpb246IHN0cmluZywgdHlwZTogc3RyaW5nIH0+KCk7XHJcbiAgQE91dHB1dCgpIGJpbXBsdXNNYWluTWVudU92ZXJsYXlDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snbG9jYWxpemVkU3RyaW5ncyddKSB7XHJcbiAgICAgIHRoaXMubG9jYWxpemVkU3RyaW5ncyA9IGNoYW5nZXNbJ2xvY2FsaXplZFN0cmluZ3MnXS5jdXJyZW50VmFsdWU7ICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIFxyXG4gIGdldCBmb290ZXJMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX21lbnVGb290ZXJMaXN0LmZpbHRlciggaXRlbSA9PiAoIXRoaXMuX2lzU3Vic2NyaWJlZChpdGVtKSB8fCB0aGlzLl9pc0hpZGRlbihpdGVtKSkgPyBmYWxzZSA6IHRydWUgKTtcclxuICB9XHJcblxyXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNoZWNrIGlmIGFwcCBpcyBzdWJzY3JpYmVkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc1N1YnNjcmliZWQoaXRlbTpNZW51TGlzdFR5cGUpOmJvb2xlYW4ge1xyXG5cclxuICAgIGlmIChpdGVtLmNoZWNrU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uYWN0aW9ufVN1YnNjcmliZWRgO1xyXG4gICAgICByZXR1cm4gISEoKHRoaXMgYXMgdW5rbm93biBhcyBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgKVtrZXldKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIGNsaWNrYWJsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfaXNDbGlja2FibGUoaXRlbTpNZW51TGlzdFR5cGUpOmJvb2xlYW4ge1xyXG5cclxuICAgIGlmIChpdGVtLmNsaWNrUG9saWN5ID09PSBcIm5vUHJvamVjdE5vU3Vic2NyaXB0aW9uXCIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucHJvamVjdE5hbWUgIT09IFwiXCI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgc3Vic2NyaWJlZC92aXNpYmxlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0hpZGRlbihpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcblxyXG4gICAgaWYgKGl0ZW0pIHtcclxuICAgICAgY29uc3Qga2V5ID0gYCR7aXRlbS5hY3Rpb24gPyBpdGVtLmFjdGlvbiA6IGl0ZW0uaWR9VmlzaWJsZWA7ICAgICAgXHJcbiAgICAgIHJldHVybiAhKCh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c01haW5NZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNoZWNrIGlmIGFwcCBpcyBkaXNhYmxlZFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfaXNEaXNhYmxlZChpdGVtOk1lbnVMaXN0VHlwZSkge1xyXG4gICAgY29uc3Qga2V5ID0gYCR7aXRlbS5hY3Rpb259RGlzYWJsZWRgO1xyXG4gICAgcmV0dXJuICEhKCh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c01haW5NZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XSk7ICAgIFxyXG4gIH1cclxuXHJcbiAgX2dldENvbnRleHREYXRhKGl0ZW06TWVudUxpc3RUeXBlLGFjdGl2ZTpib29sZWFuLGRpc2FibGVkOmJvb2xlYW4sY2xpY2thYmxlOmJvb2xlYW4sc2VsZWN0ZWQ6Ym9vbGVhbil7ICBcclxuICAgcmV0dXJuIHtpdGVtOml0ZW0sYWN0aXZlOmFjdGl2ZSxkaXNhYmxlZDpkaXNhYmxlZCxjbGlja2FibGU6Y2xpY2thYmxlLHNlbGVjdGVkOnNlbGVjdGVkfTtcclxuICB9XHJcblxyXG4gIF9vcGVuUHJqQnRuOk1lbnVMaXN0VHlwZSA9IHsgYWN0aW9uOlwib3BlblByb2plY3RcIiwgaWQ6XCJwb3J0YWxTZWxlY3RQcm9qZWN0QnRuXCIsdHlwZTpcIlwiLCBjbGFzczogXCJiaW0tbW0taWNvbi1mb2xkZXJcIiwgdGV4dElkOiBcIl9Qb3J0YWxfTWVudV9PcGVuX1Byb2plY3RcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX1BvcnRhbF9NZW51X09wZW5fUHJvamVjdFwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9O1xyXG4gIFxyXG4gIGNvbnRleHREYXRhID0ge2l0ZW06XCJoYWhhXCIsYWN0aXZlOnRydWUsZGlzYWJsZWQ6dHJ1ZSxjbGlja2FibGU6dHJ1ZSxzZWxlY3RlZDp0cnVlfTtcclxuXHJcbiAgXHJcbiAgYXBwc0xpc3QgOiBNZW51TGlzdFR5cGVbXSA9IFtcclxuICAgIHsgYWN0aW9uOlwicHJvamVjdG1lbWJlcnNcIiwgaWQ6XCJwb3J0YWxCaW1Vc2Vyc1wiLHR5cGU6XCJcIiwgY2xhc3M6IFwiYmltLW1tLWljb24tdXNlcnNcIiwgdGV4dElkOiBcIl9wcm9qZWN0U3RhdGlzdGljc01lbWJlcnNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX3Byb2plY3RTdGF0aXN0aWNzTWVtYmVyc1wiLCBkaXNhYmxlZFRpdGxlOlwiX0luc3VmZmljaWVudCByaWdodHMgdGl0bGVcIixjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcIm1vZGVsc1wiLCBpZDpcInBvcnRhbEJpbU1vZGVsc1wiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tbW9kZWxzXCIsIHRleHRJZDogXCJfRGl2aXNpb25zXCIsIHRleHRJZERpc2FibGVkOiBcIl9EaXZpc2lvbnNcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwiZG9jdW1lbnRzXCIsIGlkOlwicG9ydGFsQmltRG9jdW1lbnRzXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1kb2N1bWVudHNcIiwgdGV4dElkOiBcIl9GaWxlc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfRmlsZXNcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwicHJvamVjdHNldHRpbmdzXCIsIGlkOlwicG9ydGFsQmltUHJvamVjdFNldHRpbmdzXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1wcm9qZWN0LXNldHRpbmdzXCIsIHRleHRJZDogXCJfU2V0dGluZ3NcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX1NldHRpbmdzXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcInByb2Nlc3Nlc1wiLCBpZDpcInBvcnRhbEJpbVByb2Nlc3Nlc1wiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tcHJvY2Vzc2VzXCIsIHRleHRJZDogXCJfQXBwcm92YWxzXCIsIHRleHRJZERpc2FibGVkOiBcIl9BcHByb3ZhbHNcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwiXCIsaWQ6XCJkaXZpZGVycHJvamVjdG1hbmFnZW1lbnRcIiwgdHlwZTpcImRpdmlkZXJcIiwgY2xhc3M6IFwiYmltLW1tLWFwcC1pdGVtLWRpdmlkZXJcIiwgdGV4dElkOiBcIlwiLHRleHRJZERpc2FibGVkOlwiXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcblxyXG4gICAgeyBhY3Rpb246XCJiaW1leHBsb3JlclwiLCBpZDpcInBvcnRhbEJpbVZpZXdlckJ0blwiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tYmltLWV4cGxvcmVyXCIsIHRleHRJZDogXCJfUG9ydGFsX01lbnVfQklNX0V4cGxvcmVyXCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9CSU1fRXhwbG9yZXJcIiwgZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJub1Byb2plY3ROb1N1YnNjcmlwdGlvblwifSxcclxuICAgIHsgYWN0aW9uOlwic2NpYVwiLCBpZDpcInBvcnRhbEJpbVNDSUFcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLXNjaWFcIiwgdGV4dElkOiBcIl9TY2lhXCIsIHRleHRJZERpc2FibGVkOiBcIl9TY2lhXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsIGNsaWNrUG9saWN5OiBcIm5vUHJvamVjdE5vU3Vic2NyaXB0aW9uXCJ9LFxyXG5cclxuICAgIHsgYWN0aW9uOlwiXCIsaWQ6XCJkaXZpZGVyYXBwc1wiLCB0eXBlOlwiZGl2aWRlclwiLCBjbGFzczogXCJiaW0tbW0tYXBwLWl0ZW0tZGl2aWRlclwiLCB0ZXh0SWQ6IFwiXCIsdGV4dElkRGlzYWJsZWQ6XCJcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiBmYWxzZSxkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuXHJcbiAgICB7IGFjdGlvbjpcInRlYW1tZW1iZXJzXCIsIGlkOlwicG9ydGFsVGVhbU1hbmFnZW1lbnRCdG5cIix0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1tbS1pY29uLXRlYW0tbWVtYmVyc1wiLCB0ZXh0SWQ6IFwiX1BvcnRhbF9NZW51X1RlYW1fTWVtYmVyc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfVGVhbV9NZW1iZXJzXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJwcm9wZXJ0eW1hbmFnZXJcIiwgaWQ6XCJwb3J0YWxQcm9wZXJ0eU1hbmFnZXJCdG5cIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLXByb3BlcnR5LW1hbmFnZXJcIiwgdGV4dElkOiBcIl9Qb3J0YWxfTWVudV9Qcm9wZXJ0aWVzXCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9Qcm9wZXJ0aWVzXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IHRydWUsIGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gIF07XHJcblxyXG4gIF9tZW51Rm9vdGVyTGlzdCAgOiBNZW51TGlzdFR5cGVbXSA9IFtcclxuICAgIHsgYWN0aW9uOlwic2hvcFwiLCBpZDpcInBvcnRhbFNob3BCdG5cIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLXNob3BcIiwgdGV4dElkOiBcIl9TaG9wXCIsIHRleHRJZERpc2FibGVkOiBcIl9TaG9wXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgXTtcclxuXHJcbiAgX292ZXJsYXlDbGlja2VkKCl7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTWFpbk1lbnVPdmVybGF5Q2xpY2tlZFwiKTtcclxuICB9XHJcblxyXG4gIF9tYWluTWVudUl0ZW1DbGlja2VkKGl0ZW06IE1lbnVMaXN0VHlwZSx0eXBlOnN0cmluZyxldmVudDogRXZlbnQgfCB1bmRlZmluZWQgKXtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlICE9IFwiaW5mb1wiKSB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0Rpc2FibGVkKGl0ZW0pKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhY3Rpb24gPSBpdGVtLmFjdGlvbjtcclxuICAgIGZpcmVFdmVudCh0aGlzLFwiYmltcGx1c01haW5NZW51Q2xpY2tlZFwiLCB7YWN0aW9uLHR5cGU6dHlwZSB9ICk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjYXBwSXRlbUNvbnRlbnQgbGV0LWNvbnRleHREYXRhPlxyXG4gIEBpZiAoY29udGV4dERhdGEuaXRlbS50eXBlID09PSAnZGl2aWRlcicpe1xyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbVwiIFtjbGFzc109XCJjb250ZXh0RGF0YS5pdGVtLmNsYXNzXCIgW2lkXT1cImNvbnRleHREYXRhLml0ZW0uaWRcIj48L2Rpdj4gICAgICBcclxuICB9QGVsc2Uge1xyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbVwiIFtpZF09XCJjb250ZXh0RGF0YS5pdGVtLmlkXCIgXHJcbiAgICAgIFtuZ0NsYXNzXT1cImlzVG91Y2g/Jyc6J2hvdmVyLXNob3ctaW5mbycrKGNvbnRleHREYXRhLmFjdGl2ZT8nYWN0aXZlICc6JyAnKSArKGNvbnRleHREYXRhLmRpc2FibGVkPydkaXNhYmxlZCAnOicgJykrKGNvbnRleHREYXRhLmNsaWNrYWJsZT8nICc6J25vdC1jbGlja2FibGUgJykrKGNvbnRleHREYXRhLnNlbGVjdGVkPydzZWxlY3RlZCAnOicgJylcIlxyXG4gICAgICBbdGl0bGVdICA9XCIoKGNvbnRleHREYXRhLmRpc2FibGVkKSA/ICAoY29udGV4dERhdGEuaXRlbS5kaXNhYmxlZFRpdGxlIHwgdHJhbnNsYXRlKSA6ICcnIClcIlxyXG4gICAgICA+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tYXBwLWl0ZW0tZGV0YWlsc1wiIFxyXG4gICAgICAgICAgIFtuZ0NsYXNzXSA9IFwiIGNvbnRleHREYXRhLmNsaWNrYWJsZSA/ICcnIDogJ25vdC1jbGlja2FibGUnIFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cIl9tYWluTWVudUl0ZW1DbGlja2VkKGNvbnRleHREYXRhLml0ZW0sJ25vcm1hbCcsJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJpbS1tbS1pY29uXCIgXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiY29udGV4dERhdGEuaXRlbS5jbGFzcyArIChjb250ZXh0RGF0YS5hY3RpdmU/JyBhY3RpdmUnOicnKSArIChjb250ZXh0RGF0YS5kaXNhYmxlZD8nIGRpc2FibGVkICc6JycpXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxzcGFuPnt7KGNvbnRleHREYXRhLmlzRGlzYWJsZWQgJiYgKGNvbnRleHREYXRhLml0ZW0udGV4dElkRGlzYWJsZWQgIT09XCJcIikgPyBjb250ZXh0RGF0YS5pdGVtLnRleHRJZERpc2FibGVkIDogY29udGV4dERhdGEuaXRlbS50ZXh0SWQpIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICBjbGFzcz1cImJpbS1tbS1hcHAtaXRlbS1pbmZvIGJpbS1tbS1pY29uIGJpbS1tbS1pY29uLWluZm9cIlxyXG4gICAgICAgICAgIChjbGljayk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCAnaW5mbycsJGV2ZW50KVwiPiAgICAgICAgXHJcbiAgICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIH1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG5cclxuPGRpdiBjbGFzcz1cImJpbS1tbS13cmFwcGVyXCIgW25nQ2xhc3NdPVwic2hvd092ZXJsYXkgPyAnYmltLW1tLW92ZXJsYXknIDogJydcIiAoY2xpY2spPVwiX292ZXJsYXlDbGlja2VkKClcIj5cclxuICAgIDxkaXYgY2xhc3M9IFwiYmltLW1tLWNvbnRhaW5lclwiPlxyXG4gICAgICBAaWYoIV9pc0hpZGRlbihfb3BlblByakJ0bikpe1xyXG4gICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShfb3BlblByakJ0bixwcm9qZWN0QWN0aXZlSXRlbSA9PT0gJ3Byb2plY3RsaXN0JyxfaXNEaXNhYmxlZChfb3BlblByakJ0biksdHJ1ZSxwcm9qZWN0QWN0aXZlSXRlbSA9PT0gJ3Byb2plY3RsaXN0JykgfVwiXHJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgIFxyXG4gICAgICBAaWYoYmltcGx1c1Byb2plY3RNZW51VmlzaWJsZSl7XHJcbiAgICAgICAgPGxpYi1iaW1wbHVzLXByb2plY3QtbWVudVxyXG4gICAgICAgICAgICBwcm9qZWN0TmFtZSA9IHt7cHJvamVjdE5hbWV9fSBcclxuICAgICAgICAgICAgcHJvamVjdEltYWdlVXJsID0ge3twcm9qZWN0SW1hZ2VVcmx9fVxyXG4gICAgICAgICAgICBwcm9qZWN0RXhwbG9yZXJVcmwgPSB7e3Byb2plY3RFeHBsb3JlclVybH19IFxyXG4gICAgICAgICAgICBwcm9qZWN0QWN0aXZlSXRlbSA9IHt7cHJvamVjdEFjdGl2ZUl0ZW19fSBcclxuICAgICAgICAgICAgcHJvamVjdG1lbWJlcnNEaXNhYmxlZCA9IHt7cHJvamVjdG1lbWJlcnNEaXNhYmxlZH19IFxyXG4gICAgICAgICAgICBtb2RlbHNEaXNhYmxlZCA9IHt7bW9kZWxzRGlzYWJsZWR9fSBcclxuICAgICAgICAgICAgZG9jdW1lbnRzRGlzYWJsZWQgPSB7e2RvY3VtZW50c0Rpc2FibGVkfX0gXHJcbiAgICAgICAgICAgIHByb2plY3RzZXR0aW5nc0Rpc2FibGVkID0ge3twcm9qZWN0c2V0dGluZ3NEaXNhYmxlZH19IFxyXG4gICAgICAgICAgICBwcm9jZXNzZXNEaXNhYmxlZCA9IHt7cHJvY2Vzc2VzRGlzYWJsZWR9fSBcclxuICAgICAgICAgICAgcHJvamVjdG1lbWJlcnNWaXNpYmxlID0ge3twcm9qZWN0bWVtYmVyc1Zpc2libGV9fSBcclxuICAgICAgICAgICAgbW9kZWxzVmlzaWJsZSA9IHt7bW9kZWxzVmlzaWJsZX19IFxyXG4gICAgICAgICAgICBkb2N1bWVudHNWaXNpYmxlID0ge3tkb2N1bWVudHNWaXNpYmxlfX0gXHJcbiAgICAgICAgICAgIHByb2plY3RzZXR0aW5nc1Zpc2libGUgPSB7e3Byb2plY3RzZXR0aW5nc1Zpc2libGV9fSBcclxuICAgICAgICAgICAgcHJvY2Vzc2VzVmlzaWJsZSA9IHt7cHJvY2Vzc2VzVmlzaWJsZX19IFxyXG4gICAgICAgICAgICBpc0NvbGxhcHNlZCA9IHt7aXNDb2xsYXBzZWR9fSBcclxuICAgICAgICAgICAgaXNNaW5pTW9kZSA9IHt7aXNUb3VjaH19IFxyXG4gICAgICAgICAgICBpc1RvdWNoID0ge3tpc1RvdWNofX0gXHJcbiAgICAgICAgICAgIGhpZGVNZW51SWNvbnMgPSB7e2hpZGVQcm9qZWN0TWVudUljb25zfX0gXHJcbiAgICAgICAgICAgIHNob3dIb3Jpem9udGFsTWVudUljb25zID0ge3tzaG93SG9yaXpvbnRhbE1lbnVJY29uc319ICAgICAgICAgICAgIFxyXG4gICAgICAgID48L2xpYi1iaW1wbHVzLXByb2plY3QtbWVudT5cclxuICAgICAgfSAgICBcclxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImFwcHNMaXN0Lmxlbmd0aCB8fCBmb290ZXJMaXN0Lmxlbmd0aCA/ICdiaW0tbW0tYXBwcy1jb250YWluZXInIDogJydcIj4gICAgICAgICAgICBcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tYXBwcy1saXN0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFwcEl0ZW0gb2YgYXBwc0xpc3RcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShhcHBJdGVtLCFfaXNTdWJzY3JpYmVkKGFwcEl0ZW0pLF9pc0Rpc2FibGVkKGFwcEl0ZW0pLF9pc0NsaWNrYWJsZShhcHBJdGVtKSxtZW51QWN0aXZlSXRlbSA9PT0gYXBwSXRlbS5hY3Rpb24pfVwiXHJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImJpbS1tbS1mb290ZXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGZvb3Rlckl0ZW0gb2YgZm9vdGVyTGlzdFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImFwcEl0ZW1Db250ZW50OyBjb250ZXh0OiB7ICRpbXBsaWNpdDogX2dldENvbnRleHREYXRhKGZvb3Rlckl0ZW0sZm9vdGVyQWN0aXZlSXRlbSA9PT0gZm9vdGVySXRlbS5hY3Rpb24sX2lzRGlzYWJsZWQoZm9vdGVySXRlbSksdHJ1ZSxmYWxzZSl9XCJcclxuICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgIFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1tYWluLW1lbnUvYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sMERBQTBELENBQUM7Ozs7QUFrQnJHLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSwrQkFBK0I7SUFDM0UsWUFBWSxnQkFBa0M7UUFDNUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFJZSxlQUFVLEdBQWEsS0FBSyxDQUFDO1FBQzdCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFhLEtBQUssQ0FBQztRQUM1QixVQUFLLEdBQWEsS0FBSyxDQUFDO1FBQ3hCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFDMUIseUJB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QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLDZCQUE2QjtzQkFBdEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgYm9vbGVhbkF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50fSBmcm9tIFwiLi8uLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudFwiXHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHtCaW1wbHVzUHJvamVjdE1lbnVDb21wb25lbnR9IGZyb20gJy4vLi4vYmltcGx1cy1wcm9qZWN0LW1lbnUvYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHtNZW51TGlzdFR5cGV9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmltcGx1c01haW5NZW51Q29tcG9uZW50QXR0cmlidXRlICB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjsgLy8gQWRkIGluZGV4IHNpZ25hdHVyZSBhbGxvd2luZyBzdHJpbmcgaW5kZXhpbmdcclxuICAgLy9PdGhlciBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLi4uXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtbWFpbi1tZW51JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSxCaW1wbHVzUHJvamVjdE1lbnVDb21wb25lbnRdLCAgXHJcbiAgcHJvdmlkZXJzOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtbWFpbi1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1tYWluLW1lbnUuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNNYWluTWVudUNvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQgaW1wbGVtZW50cyAgT25DaGFuZ2VzIHtcclxuICBjb25zdHJ1Y3Rvcih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlICl7XHJcbiAgICBzdXBlcih0cmFuc2xhdGVTZXJ2aWNlKVxyXG4gIH1cclxuXHJcbiAgXHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzRW1iZWRkZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVG91Y2ggOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzSXBhZEFwcCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNEZXYgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU3RhZ2UgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhpZGVQcm9qZWN0TWVudUljb25zIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93SG9yaXpvbnRhbE1lbnVJY29ucyA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwcm9qZWN0TmFtZSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHJvamVjdEltYWdlVXJsIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwcm9qZWN0RXhwbG9yZXJVcmwgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHByb2plY3RBY3RpdmVJdGVtIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdG1lbWJlcnNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbW9kZWxzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRvY3VtZW50c0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9qZWN0c2V0dGluZ3NEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvY2Vzc2VzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZm9vdGVyQWN0aXZlSXRlbSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgbWVudUFjdGl2ZUl0ZW0gOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbGxhcHNlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd092ZXJsYXkgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRlYW1tZW1iZXJzU3Vic2NyaWJlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvcGVydHltYW5hZ2VyU3Vic2NyaWJlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2NpYVN1YnNjcmliZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9wZW5Qcm9qZWN0RGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGJpbWV4cGxvcmVyRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNjaWFEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGVhbW1lbWJlcnNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvcGVydHltYW5hZ2VyRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3BEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgb3BlblByb2plY3RWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGJpbXBsdXNQcm9qZWN0TWVudVZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdG1lbWJlcnNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG1vZGVsc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZG9jdW1lbnRzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9qZWN0c2V0dGluZ3NWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2Nlc3Nlc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYmltZXhwbG9yZXJWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNjaWFWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRlYW1tZW1iZXJzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9wZXJ0eW1hbmFnZXJWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3BWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpdmlkZXJwcm9qZWN0bWFuYWdlbWVudFZpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZGl2aWRlcmFwcHNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7ICBcclxuXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNNYWluTWVudUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgYWN0aW9uOiBzdHJpbmcsIHR5cGU6IHN0cmluZyB9PigpO1xyXG4gIEBPdXRwdXQoKSBiaW1wbHVzTWFpbk1lbnVPdmVybGF5Q2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ2xvY2FsaXplZFN0cmluZ3MnXSkge1xyXG4gICAgICB0aGlzLmxvY2FsaXplZFN0cmluZ3MgPSBjaGFuZ2VzWydsb2NhbGl6ZWRTdHJpbmdzJ10uY3VycmVudFZhbHVlOyAgICAgIFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiBcclxuICBnZXQgZm9vdGVyTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9tZW51Rm9vdGVyTGlzdC5maWx0ZXIoIGl0ZW0gPT4gKCF0aGlzLl9pc1N1YnNjcmliZWQoaXRlbSkgfHwgdGhpcy5faXNIaWRkZW4oaXRlbSkpID8gZmFsc2UgOiB0cnVlICk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIHN1YnNjcmliZWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2lzU3Vic2NyaWJlZChpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcblxyXG4gICAgaWYgKGl0ZW0uY2hlY2tTdWJzY3JpcHRpb24pIHtcclxuICAgICAgY29uc3Qga2V5ID0gYCR7aXRlbS5hY3Rpb259U3Vic2NyaWJlZGA7XHJcbiAgICAgIHJldHVybiAhISgodGhpcyBhcyB1bmtub3duIGFzIEJpbXBsdXNNYWluTWVudUNvbXBvbmVudEF0dHJpYnV0ZSApW2tleV0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgY2xpY2thYmxlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0NsaWNrYWJsZShpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcblxyXG4gICAgaWYgKGl0ZW0uY2xpY2tQb2xpY3kgPT09IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIikge1xyXG4gICAgICByZXR1cm4gdGhpcy5wcm9qZWN0TmFtZSAhPT0gXCJcIjtcclxuICAgIH1cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNoZWNrIGlmIGFwcCBpcyBzdWJzY3JpYmVkL3Zpc2libGVcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2lzSGlkZGVuKGl0ZW06TWVudUxpc3RUeXBlKTpib29sZWFuIHtcclxuXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogaXRlbS5pZH1WaXNpYmxlYDsgICAgICBcclxuICAgICAgcmV0dXJuICEoKHRoaXMgYXMgdW5rbm93biBhcyBCaW1wbHVzTWFpbk1lbnVDb21wb25lbnRBdHRyaWJ1dGUgKVtrZXldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgZGlzYWJsZWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2lzRGlzYWJsZWQoaXRlbTpNZW51TGlzdFR5cGUpIHtcclxuICAgIGNvbnN0IGtleSA9IGAke2l0ZW0uYWN0aW9ufURpc2FibGVkYDtcclxuICAgIHJldHVybiAhISgodGhpcyBhcyB1bmtub3duIGFzIEJpbXBsdXNNYWluTWVudUNvbXBvbmVudEF0dHJpYnV0ZSApW2tleV0pOyAgICBcclxuICB9XHJcblxyXG4gIF9nZXRDb250ZXh0RGF0YShpdGVtOk1lbnVMaXN0VHlwZSxhY3RpdmU6Ym9vbGVhbixkaXNhYmxlZDpib29sZWFuLGNsaWNrYWJsZTpib29sZWFuLHNlbGVjdGVkOmJvb2xlYW4peyAgXHJcbiAgIHJldHVybiB7aXRlbTppdGVtLGFjdGl2ZTphY3RpdmUsZGlzYWJsZWQ6ZGlzYWJsZWQsY2xpY2thYmxlOmNsaWNrYWJsZSxzZWxlY3RlZDpzZWxlY3RlZH07XHJcbiAgfVxyXG5cclxuICBfb3BlblByakJ0bjpNZW51TGlzdFR5cGUgPSB7IGFjdGlvbjpcIm9wZW5Qcm9qZWN0XCIsIGlkOlwicG9ydGFsU2VsZWN0UHJvamVjdEJ0blwiLHR5cGU6XCJcIiwgY2xhc3M6IFwiYmltLW1tLWljb24tZm9sZGVyXCIsIHRleHRJZDogXCJfUG9ydGFsX01lbnVfT3Blbl9Qcm9qZWN0XCIsIHRleHRJZERpc2FibGVkOiBcIl9Qb3J0YWxfTWVudV9PcGVuX1Byb2plY3RcIixkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiB0cnVlLCBkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifTtcclxuICBcclxuICBjb250ZXh0RGF0YSA9IHtpdGVtOlwiaGFoYVwiLGFjdGl2ZTp0cnVlLGRpc2FibGVkOnRydWUsY2xpY2thYmxlOnRydWUsc2VsZWN0ZWQ6dHJ1ZX07XHJcblxyXG4gIFxyXG4gIGFwcHNMaXN0IDogTWVudUxpc3RUeXBlW10gPSBbXHJcbiAgICB7IGFjdGlvbjpcInByb2plY3RtZW1iZXJzXCIsIGlkOlwicG9ydGFsQmltVXNlcnNcIix0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1tbS1pY29uLXVzZXJzXCIsIHRleHRJZDogXCJfcHJvamVjdFN0YXRpc3RpY3NNZW1iZXJzXCIsIHRleHRJZERpc2FibGVkOiBcIl9wcm9qZWN0U3RhdGlzdGljc01lbWJlcnNcIiwgZGlzYWJsZWRUaXRsZTpcIl9JbnN1ZmZpY2llbnQgcmlnaHRzIHRpdGxlXCIsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJtb2RlbHNcIiwgaWQ6XCJwb3J0YWxCaW1Nb2RlbHNcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLW1vZGVsc1wiLCB0ZXh0SWQ6IFwiX0RpdmlzaW9uc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfRGl2aXNpb25zXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcImRvY3VtZW50c1wiLCBpZDpcInBvcnRhbEJpbURvY3VtZW50c1wiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tZG9jdW1lbnRzXCIsIHRleHRJZDogXCJfRmlsZXNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX0ZpbGVzXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcInByb2plY3RzZXR0aW5nc1wiLCBpZDpcInBvcnRhbEJpbVByb2plY3RTZXR0aW5nc1wiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLW1tLWljb24tcHJvamVjdC1zZXR0aW5nc1wiLCB0ZXh0SWQ6IFwiX1NldHRpbmdzXCIsIHRleHRJZERpc2FibGVkOiBcIl9TZXR0aW5nc1wiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJwcm9jZXNzZXNcIiwgaWQ6XCJwb3J0YWxCaW1Qcm9jZXNzZXNcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLXByb2Nlc3Nlc1wiLCB0ZXh0SWQ6IFwiX0FwcHJvdmFsc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfQXBwcm92YWxzXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcIlwiLGlkOlwiZGl2aWRlcnByb2plY3RtYW5hZ2VtZW50XCIsIHR5cGU6XCJkaXZpZGVyXCIsIGNsYXNzOiBcImJpbS1tbS1hcHAtaXRlbS1kaXZpZGVyXCIsIHRleHRJZDogXCJcIix0ZXh0SWREaXNhYmxlZDpcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG5cclxuICAgIHsgYWN0aW9uOlwiYmltZXhwbG9yZXJcIiwgaWQ6XCJwb3J0YWxCaW1WaWV3ZXJCdG5cIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1tbS1pY29uLWJpbS1leHBsb3JlclwiLCB0ZXh0SWQ6IFwiX1BvcnRhbF9NZW51X0JJTV9FeHBsb3JlclwiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfQklNX0V4cGxvcmVyXCIsIGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwibm9Qcm9qZWN0Tm9TdWJzY3JpcHRpb25cIn0sXHJcbiAgICB7IGFjdGlvbjpcInNjaWFcIiwgaWQ6XCJwb3J0YWxCaW1TQ0lBXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1zY2lhXCIsIHRleHRJZDogXCJfU2NpYVwiLCB0ZXh0SWREaXNhYmxlZDogXCJfU2NpYVwiLCBkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiB0cnVlLCBkZXZPclN0YWdlT25seSA6IGZhbHNlLCBjbGlja1BvbGljeTogXCJub1Byb2plY3ROb1N1YnNjcmlwdGlvblwifSxcclxuXHJcbiAgICB7IGFjdGlvbjpcIlwiLGlkOlwiZGl2aWRlcmFwcHNcIiwgdHlwZTpcImRpdmlkZXJcIiwgY2xhc3M6IFwiYmltLW1tLWFwcC1pdGVtLWRpdmlkZXJcIiwgdGV4dElkOiBcIlwiLHRleHRJZERpc2FibGVkOlwiXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcblxyXG4gICAgeyBhY3Rpb246XCJ0ZWFtbWVtYmVyc1wiLCBpZDpcInBvcnRhbFRlYW1NYW5hZ2VtZW50QnRuXCIsdHlwZTpcIlwiLCBjbGFzczogXCJiaW0tbW0taWNvbi10ZWFtLW1lbWJlcnNcIiwgdGV4dElkOiBcIl9Qb3J0YWxfTWVudV9UZWFtX01lbWJlcnNcIiwgdGV4dElkRGlzYWJsZWQ6IFwiX1BvcnRhbF9NZW51X1RlYW1fTWVtYmVyc1wiLCBkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiB0cnVlLCBkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICAgIHsgYWN0aW9uOlwicHJvcGVydHltYW5hZ2VyXCIsIGlkOlwicG9ydGFsUHJvcGVydHlNYW5hZ2VyQnRuXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1wcm9wZXJ0eS1tYW5hZ2VyXCIsIHRleHRJZDogXCJfUG9ydGFsX01lbnVfUHJvcGVydGllc1wiLCB0ZXh0SWREaXNhYmxlZDogXCJfUG9ydGFsX01lbnVfUHJvcGVydGllc1wiLCBkaXNhYmxlZFRpdGxlOicnLGNoZWNrU3Vic2NyaXB0aW9uOiB0cnVlLCBkZXZPclN0YWdlT25seSA6IGZhbHNlLGNsaWNrUG9saWN5OiBcIlwifSxcclxuICBdO1xyXG5cclxuICBfbWVudUZvb3Rlckxpc3QgIDogTWVudUxpc3RUeXBlW10gPSBbXHJcbiAgICB7IGFjdGlvbjpcInNob3BcIiwgaWQ6XCJwb3J0YWxTaG9wQnRuXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tbW0taWNvbi1zaG9wXCIsIHRleHRJZDogXCJfU2hvcFwiLCB0ZXh0SWREaXNhYmxlZDogXCJfU2hvcFwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gIF07XHJcblxyXG4gIF9vdmVybGF5Q2xpY2tlZCgpe1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiYmltcGx1c01haW5NZW51T3ZlcmxheUNsaWNrZWRcIik7XHJcbiAgfVxyXG5cclxuICBfbWFpbk1lbnVJdGVtQ2xpY2tlZChpdGVtOiBNZW51TGlzdFR5cGUsdHlwZTpzdHJpbmcsZXZlbnQ6IEV2ZW50IHwgdW5kZWZpbmVkICl7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodHlwZSAhPSBcImluZm9cIikge1xyXG4gICAgICBpZiAodGhpcy5faXNEaXNhYmxlZChpdGVtKSl7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYWN0aW9uID0gaXRlbS5hY3Rpb247XHJcbiAgICBmaXJlRXZlbnQodGhpcyxcImJpbXBsdXNNYWluTWVudUNsaWNrZWRcIiwge2FjdGlvbix0eXBlOnR5cGUgfSApO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2FwcEl0ZW1Db250ZW50IGxldC1jb250ZXh0RGF0YT5cclxuICBAaWYgKGNvbnRleHREYXRhLml0ZW0udHlwZSA9PT0gJ2RpdmlkZXInKXtcclxuICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tYXBwLWl0ZW1cIiBbY2xhc3NdPVwiY29udGV4dERhdGEuaXRlbS5jbGFzc1wiIFtpZF09XCJjb250ZXh0RGF0YS5pdGVtLmlkXCI+PC9kaXY+ICAgICAgXHJcbiAgfUBlbHNlIHtcclxuICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tYXBwLWl0ZW1cIiBbaWRdPVwiY29udGV4dERhdGEuaXRlbS5pZFwiIFxyXG4gICAgICBbbmdDbGFzc109XCJpc1RvdWNoPycnOidob3Zlci1zaG93LWluZm8nKyhjb250ZXh0RGF0YS5hY3RpdmU/J2FjdGl2ZSAnOicgJykgKyhjb250ZXh0RGF0YS5kaXNhYmxlZD8nZGlzYWJsZWQgJzonICcpKyhjb250ZXh0RGF0YS5jbGlja2FibGU/JyAnOidub3QtY2xpY2thYmxlICcpKyhjb250ZXh0RGF0YS5zZWxlY3RlZD8nc2VsZWN0ZWQgJzonICcpXCJcclxuICAgICAgW3RpdGxlXSAgPVwiKChjb250ZXh0RGF0YS5kaXNhYmxlZCkgPyAgKGNvbnRleHREYXRhLml0ZW0uZGlzYWJsZWRUaXRsZSB8IHRyYW5zbGF0ZSkgOiAnJyApXCJcclxuICAgICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWFwcC1pdGVtLWRldGFpbHNcIiBcclxuICAgICAgICAgICBbbmdDbGFzc10gPSBcIiBjb250ZXh0RGF0YS5jbGlja2FibGUgPyAnJyA6ICdub3QtY2xpY2thYmxlJyBcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJfbWFpbk1lbnVJdGVtQ2xpY2tlZChjb250ZXh0RGF0YS5pdGVtLCdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0taWNvblwiIFxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImNvbnRleHREYXRhLml0ZW0uY2xhc3MgKyAoY29udGV4dERhdGEuYWN0aXZlPycgYWN0aXZlJzonJykgKyAoY29udGV4dERhdGEuZGlzYWJsZWQ/JyBkaXNhYmxlZCAnOicnKVwiPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8c3Bhbj57eyhjb250ZXh0RGF0YS5pc0Rpc2FibGVkICYmIChjb250ZXh0RGF0YS5pdGVtLnRleHRJZERpc2FibGVkICE9PVwiXCIpID8gY29udGV4dERhdGEuaXRlbS50ZXh0SWREaXNhYmxlZCA6IGNvbnRleHREYXRhLml0ZW0udGV4dElkKSB8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAgY2xhc3M9XCJiaW0tbW0tYXBwLWl0ZW0taW5mbyBiaW0tbW0taWNvbiBiaW0tbW0taWNvbi1pbmZvXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiX21haW5NZW51SXRlbUNsaWNrZWQoY29udGV4dERhdGEuaXRlbSwgJ2luZm8nLCRldmVudClcIj4gICAgICAgIFxyXG4gICAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICB9XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG5cclxuXHJcbjxkaXYgY2xhc3M9XCJiaW0tbW0td3JhcHBlclwiIFtuZ0NsYXNzXT1cInNob3dPdmVybGF5ID8gJ2JpbS1tbS1vdmVybGF5JyA6ICcnXCIgKGNsaWNrKT1cIl9vdmVybGF5Q2xpY2tlZCgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPSBcImJpbS1tbS1jb250YWluZXJcIj5cclxuICAgICAgQGlmKCFfaXNIaWRkZW4oX29wZW5QcmpCdG4pKXtcclxuICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwSXRlbUNvbnRlbnQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBfZ2V0Q29udGV4dERhdGEoX29wZW5QcmpCdG4scHJvamVjdEFjdGl2ZUl0ZW0gPT09ICdwcm9qZWN0bGlzdCcsX2lzRGlzYWJsZWQoX29wZW5QcmpCdG4pLHRydWUscHJvamVjdEFjdGl2ZUl0ZW0gPT09ICdwcm9qZWN0bGlzdCcpIH1cIlxyXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICBcclxuICAgICAgQGlmKGJpbXBsdXNQcm9qZWN0TWVudVZpc2libGUpe1xyXG4gICAgICAgIDxsaWItYmltcGx1cy1wcm9qZWN0LW1lbnVcclxuICAgICAgICAgICAgcHJvamVjdE5hbWUgPSB7e3Byb2plY3ROYW1lfX0gXHJcbiAgICAgICAgICAgIHByb2plY3RJbWFnZVVybCA9IHt7cHJvamVjdEltYWdlVXJsfX1cclxuICAgICAgICAgICAgcHJvamVjdEV4cGxvcmVyVXJsID0ge3twcm9qZWN0RXhwbG9yZXJVcmx9fSBcclxuICAgICAgICAgICAgcHJvamVjdEFjdGl2ZUl0ZW0gPSB7e3Byb2plY3RBY3RpdmVJdGVtfX0gXHJcbiAgICAgICAgICAgIHByb2plY3RtZW1iZXJzRGlzYWJsZWQgPSB7e3Byb2plY3RtZW1iZXJzRGlzYWJsZWR9fSBcclxuICAgICAgICAgICAgbW9kZWxzRGlzYWJsZWQgPSB7e21vZGVsc0Rpc2FibGVkfX0gXHJcbiAgICAgICAgICAgIGRvY3VtZW50c0Rpc2FibGVkID0ge3tkb2N1bWVudHNEaXNhYmxlZH19IFxyXG4gICAgICAgICAgICBwcm9qZWN0c2V0dGluZ3NEaXNhYmxlZCA9IHt7cHJvamVjdHNldHRpbmdzRGlzYWJsZWR9fSBcclxuICAgICAgICAgICAgcHJvY2Vzc2VzRGlzYWJsZWQgPSB7e3Byb2Nlc3Nlc0Rpc2FibGVkfX0gXHJcbiAgICAgICAgICAgIHByb2plY3RtZW1iZXJzVmlzaWJsZSA9IHt7cHJvamVjdG1lbWJlcnNWaXNpYmxlfX0gXHJcbiAgICAgICAgICAgIG1vZGVsc1Zpc2libGUgPSB7e21vZGVsc1Zpc2libGV9fSBcclxuICAgICAgICAgICAgZG9jdW1lbnRzVmlzaWJsZSA9IHt7ZG9jdW1lbnRzVmlzaWJsZX19IFxyXG4gICAgICAgICAgICBwcm9qZWN0c2V0dGluZ3NWaXNpYmxlID0ge3twcm9qZWN0c2V0dGluZ3NWaXNpYmxlfX0gXHJcbiAgICAgICAgICAgIHByb2Nlc3Nlc1Zpc2libGUgPSB7e3Byb2Nlc3Nlc1Zpc2libGV9fSBcclxuICAgICAgICAgICAgaXNDb2xsYXBzZWQgPSB7e2lzQ29sbGFwc2VkfX0gXHJcbiAgICAgICAgICAgIGlzTWluaU1vZGUgPSB7e2lzVG91Y2h9fSBcclxuICAgICAgICAgICAgaXNUb3VjaCA9IHt7aXNUb3VjaH19IFxyXG4gICAgICAgICAgICBoaWRlTWVudUljb25zID0ge3toaWRlUHJvamVjdE1lbnVJY29uc319IFxyXG4gICAgICAgICAgICBzaG93SG9yaXpvbnRhbE1lbnVJY29ucyA9IHt7c2hvd0hvcml6b250YWxNZW51SWNvbnN9fSAgICAgICAgICAgICBcclxuICAgICAgICA+PC9saWItYmltcGx1cy1wcm9qZWN0LW1lbnU+XHJcbiAgICAgIH0gICAgXHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJhcHBzTGlzdC5sZW5ndGggfHwgZm9vdGVyTGlzdC5sZW5ndGggPyAnYmltLW1tLWFwcHMtY29udGFpbmVyJyA6ICcnXCI+ICAgICAgICAgICAgXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmltLW1tLWFwcHMtbGlzdFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhcHBJdGVtIG9mIGFwcHNMaXN0XCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiYXBwSXRlbUNvbnRlbnQ7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBfZ2V0Q29udGV4dERhdGEoYXBwSXRlbSwhX2lzU3Vic2NyaWJlZChhcHBJdGVtKSxfaXNEaXNhYmxlZChhcHBJdGVtKSxfaXNDbGlja2FibGUoYXBwSXRlbSksbWVudUFjdGl2ZUl0ZW0gPT09IGFwcEl0ZW0uYWN0aW9uKX1cIlxyXG4gICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJiaW0tbW0tZm9vdGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmb290ZXJJdGVtIG9mIGZvb3Rlckxpc3RcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhcHBJdGVtQ29udGVudDsgY29udGV4dDogeyAkaW1wbGljaXQ6IF9nZXRDb250ZXh0RGF0YShmb290ZXJJdGVtLGZvb3RlckFjdGl2ZUl0ZW0gPT09IGZvb3Rlckl0ZW0uYWN0aW9uLF9pc0Rpc2FibGVkKGZvb3Rlckl0ZW0pLHRydWUsZmFsc2UpfVwiXHJcbiAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -186,7 +186,7 @@ export class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent {
|
|
|
186
186
|
this._previewMessagesList = [];
|
|
187
187
|
}
|
|
188
188
|
_messageNotReadYet(message) {
|
|
189
|
-
if (!message
|
|
189
|
+
if (!message?.id) {
|
|
190
190
|
return true;
|
|
191
191
|
}
|
|
192
192
|
const messageListString = window.localStorage.getItem(BIMPLUS_NOTIFY_MESSAGES);
|
|
@@ -221,7 +221,7 @@ export class BimplusNotifyComponent extends BimplusLocalizedWidgetComponent {
|
|
|
221
221
|
if (item.linkText && (item.links || item.link)) {
|
|
222
222
|
itemLinksTitles = Array.isArray(item.links) ? item.links : [item.link];
|
|
223
223
|
}
|
|
224
|
-
return itemLinksTitles[index]
|
|
224
|
+
return itemLinksTitles[index] ?? '';
|
|
225
225
|
}
|
|
226
226
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: BimplusNotifyComponent, deps: [{ token: i1.TranslateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
227
227
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.1", type: BimplusNotifyComponent, isStandalone: true, selector: "lib-bimplus-notify", inputs: { messagePreviewTime: "messagePreviewTime", showMessagePreview: ["showMessagePreview", "showMessagePreview", booleanAttribute], previewMessagesLimit: "previewMessagesLimit", previewMessagesOffsetY: "previewMessagesOffsetY", messages: "messages" }, outputs: { bimplusNotifyDeleteMessage: "bimplusNotifyDeleteMessage", bimplusNotifyDeleteAllMessages: "bimplusNotifyDeleteAllMessages", bimplusNotifyMessageAction: "bimplusNotifyMessageAction" }, host: { properties: { "class.new-messages": "this.newMessages", "class.bim-notify": "this.bimNotify" } }, providers: [TranslateService], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"dropdown\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n [title]=\"'_BimplusNotifyTitle' | translate\"\r\n>\r\n <div class=\"dropdown-toggle\" >\r\n <div\r\n class=\"main-icon\"\r\n [ngClass]=\"'icon-notify' + (this._alertActive ? '-alert notify' : '')\"\r\n ></div>\r\n </div>\r\n\r\n <div\r\n class=\"bimcomp-dropdown-menu\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n >\r\n <div class=\"notify-tick\"></div>\r\n <div class=\"messages-title\">\r\n <div class=\"messages-count\">\r\n ({{this._messagesList.length}})\r\n </div>\r\n <div\r\n class=\"messages-delete-all\"\r\n (click)=\"_deleteAllMessages()\"\r\n >\r\n {{\"_Notify_Mark_All\" | translate}}\r\n </div>\r\n </div>\r\n <div class=\"messages-container\">\r\n @if (_messagesList.length) {\r\n <div\r\n *ngFor=\"let item of _messagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, false, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">{{item.text}}</div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n } \r\n </div>\r\n } @else {\r\n <div class=\"message-item-empty\">\r\n <div class=\"message-item-empty-icon\"></div>\r\n <div class=\"message-item-empty-text\">{{\"_Notify_No_Messages\" | translate}}</div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div\r\n class=\"bimcomp-overlay\"\r\n [ngClass]=\"_menuOpened ? 'open' : ''\"\r\n (click)=\"_toggleOpened()\"\r\n></div>\r\n\r\n<div\r\n class=\"bimcomp-messages-preview\"\r\n [ngClass]=\"(showMessagePreview && !_menuOpened && _previewMessagesList.length > 0) ? 'visible' : ''\"\r\n [style.top]=\"previewMessagesOffsetY\"\r\n>\r\n <div class=\"messages-container-preview\">\r\n <div\r\n *ngFor=\"let item of _previewMessagesList\"\r\n class=\"message-item\"\r\n >\r\n <div class=\"message-item-title\">\r\n <div [ngClass]=\"'message-item-icon-' + item.type\"></div>\r\n <div\r\n class=\"message-item-title-text\"\r\n [ngClass]=\"{'capitalize':item.capitalizedTitle}\"\r\n >\r\n {{item.title}}\r\n </div>\r\n <div\r\n class=\"message-item-icon-close\"\r\n (click)=\"_closeMessage(item, true, $event)\"\r\n ></div>\r\n </div>\r\n\r\n <div class=\"message-item-body-text\">\r\n {{item.text}}\r\n </div>\r\n @if (item.linkText) {\r\n <div\r\n *ngFor=\"let link of (item.linkText.constructor === Array ? item.linkText : [item.linkText]); let i = index\"\r\n class=\"message-item-link\"\r\n [title]=\"_getItemLinkTitle(item, i)\"\r\n (click)=\"_messageAction(item, i)\"\r\n >{{link}}</div>\r\n }\r\n </div>\r\n </div>\r\n</div>", styles: ["[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;inset:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;inset:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;max-width:100%;max-height:100%;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.simplebar-content:after,.simplebar-content:before{content:\" \";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:left;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;left:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging,[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:0;right:0;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:\"\";background:#000;border-radius:7px;left:2px;right:2px;opacity:0;transition:opacity .2s .5s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition-delay:0s;transition-duration:0s}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-scrollbar:before{inset:2px}.simplebar-track.simplebar-horizontal{left:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{inset:0 auto 0 0;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{right:auto;left:0}.simplebar-dummy-scrollbar-size{direction:rtl;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:scrollbar!important}.simplebar-dummy-scrollbar-size>div{width:200%;height:200%;margin:10px 0}.simplebar-hide-scrollbar{position:fixed;left:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.bim-notify{position:relative}.bim-notify .dropdown{position:relative;width:3.25em;display:flex;flex-direction:column;justify-content:space-around;align-items:center}.bim-notify .dropdown-toggle{position:relative;margin-left:.44em;margin-right:.44em;background-size:1.4em 1.4em;cursor:pointer}.bim-notify .bimcomp-dropdown-menu,.bim-notify .bimcomp-messages-preview{font-family:Source Sans Pro,Helvetica,Arial,tahoma,sans-serif;position:absolute;top:100%;right:0;z-index:2;display:none;width:19em;margin:0;padding:.5em .65em .57em 0}.bim-notify .bimcomp-dropdown-menu .messages-title,.bim-notify .bimcomp-messages-preview .messages-title{height:2em;display:flex;flex-direction:row;justify-content:space-between;align-items:center;color:#fff;background-color:#444}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-count,.bim-notify .bimcomp-messages-preview .messages-title .messages-count,.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{cursor:pointer;font-size:.8125em;font-weight:400;margin:0 .8125em}.bim-notify .bimcomp-dropdown-menu .messages-title .messages-delete-all,.bim-notify .bimcomp-messages-preview .messages-title .messages-delete-all{text-decoration:underline}.bim-notify .bimcomp-dropdown-menu div,.bim-notify .bimcomp-messages-preview div{font-size:1em}.bim-notify .bimcomp-dropdown-menu .noselect,.bim-notify .bimcomp-messages-preview .noselect{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{display:flex;flex-direction:row;align-items:center;box-sizing:content-box;padding:.21em 2.1em}.bim-notify .bimcomp-dropdown-menu li span,.bim-notify .bimcomp-messages-preview li span{display:inline-block;flex:1 0 auto;margin-right:1.43em;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-o-user-select:none;user-select:none}.bim-notify .bimcomp-dropdown-menu li:hover,.bim-notify .bimcomp-messages-preview li:hover{background-color:#f5f5f5}.bim-notify .bimcomp-dropdown-menu ul,.bim-notify .bimcomp-messages-preview ul,.bim-notify .bimcomp-dropdown-menu li,.bim-notify .bimcomp-messages-preview li{list-style:none}.bim-notify .bimcomp-dropdown-menu .notify-tick,.bim-notify .bimcomp-messages-preview .notify-tick{width:2em;height:1em;align-self:flex-end;background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .bimcomp-dropdown-menu.open,.bim-notify .bimcomp-messages-preview.visible{display:flex;flex-direction:column}.bim-notify .messages-container,.bim-notify .messages-container-preview{list-style:none;background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .43em .86em rgba(0,0,0,.175);box-shadow:0 .43em .86em #0000002d;text-decoration-color:#333;text-decoration-line:none;text-decoration-style:solid;line-height:2.71em;font-weight:400;max-height:16em;overflow:hidden;overflow-y:visible;scrollbar-width:none}.bim-notify .messages-container::-webkit-scrollbar,.bim-notify .messages-container-preview::-webkit-scrollbar{display:none}.bim-notify .messages-container .message-item-empty,.bim-notify .messages-container-preview .message-item-empty{max-width:19em;max-height:6em;padding:.6em .8125em 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.bim-notify .messages-container .message-item-empty-icon,.bim-notify .messages-container-preview .message-item-empty-icon{width:2.5em;height:2.5em;background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A');background-size:cover}.bim-notify .messages-container .message-item-empty-text,.bim-notify .messages-container-preview .message-item-empty-text{font-size:.8125em;line-height:2.2em}.bim-notify .messages-container .message-item,.bim-notify .messages-container-preview .message-item{max-width:19em;border-bottom:1px solid #D3D3D3;padding:.6em .8125em;box-sizing:border-box}.bim-notify .messages-container .message-item-title,.bim-notify .messages-container-preview .message-item-title{display:flex;align-items:center;line-height:1.5em}.bim-notify .messages-container .message-item-title-text,.bim-notify .messages-container-preview .message-item-title-text{font-size:.8125em;font-weight:700;flex:1 1 auto;margin-left:.8125em}.bim-notify .messages-container .message-item-icon-info,.bim-notify .messages-container-preview .message-item-icon-info{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-failure,.bim-notify .messages-container-preview .message-item-icon-failure{width:1.125em;height:1.125em;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-icon-close,.bim-notify .messages-container-preview .message-item-icon-close{cursor:pointer;width:1.125em;height:1.125em;background-repeat:no-repeat;background-size:auto;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');flex:0 0 auto}.bim-notify .messages-container .message-item-body-text,.bim-notify .messages-container-preview .message-item-body-text{font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal}.bim-notify .messages-container .message-item-link,.bim-notify .messages-container-preview .message-item-link{color:#fe5000;text-decoration:underline;font-size:.8125em;line-height:1.3em;margin-top:.5em;word-wrap:break-word;white-space:normal;cursor:pointer}.bim-notify .messages-container .message-item:last-child,.bim-notify .messages-container-preview .message-item:last-child{border-bottom:none}.bim-notify .messages-container-preview{max-height:none;background-color:transparent;border:none;-webkit-box-shadow:none;box-shadow:none}.bim-notify .messages-container-preview .message-item{background-color:#fff;border:thin solid rgba(0,0,0,.15);-webkit-box-shadow:0 .3em .3em rgba(0,0,0,.175);box-shadow:0 .3em .3em #0000002d;margin-bottom:.5em}.bim-notify .icon{flex-shrink:0;display:inline-block;vertical-align:middle;margin:0 1.36em 0 0;width:1.64em;height:1.64em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon{flex-shrink:0;display:inline-block;vertical-align:middle;width:1.375em;height:1.375em;background-size:contain;background-position:center;background-repeat:no-repeat}.bim-notify .main-icon.notify{transform-origin:center top}@keyframes ringbell{0%{transform:rotate(0)}5%{transform:rotate(35deg)}15%{transform:rotate(-30deg)}25%{transform:rotate(25deg)}35%{transform:rotate(-20deg)}45%{transform:rotate(15deg)}55%{transform:rotate(-10deg)}65%{transform:rotate(5deg)}70%{transform:rotate(0)}to{transform:rotate(0)}}.bim-notify .bimcomp-overlay{position:fixed;width:100vw;height:100vh;left:0;top:0;display:none}.bim-notify .bimcomp-overlay.open{display:block;z-index:1}.bim-notify .icon-notify{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-alert{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M9 1C8.44772 1 8 1.44772 8 2V3H10V2C10 1.44772 9.55228 1 9 1Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M2 14C2 13.4477 2.44772 13 3 13C3.55228 13 4 12.5523 4 12V8C4 5.79086 5.79086 4 8 4H10C12.2091 4 14 5.79086 14 8V12C14 12.5523 14.4477 13 15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H3C2.44772 15 2 14.5523 2 14Z\" fill=\"%23444444\"/>%0D%0A<path d=\"M7 16C7 17.1046 7.89543 18 9 18C10.1046 18 11 17.1046 11 16H7Z\" fill=\"%23444444\"/>%0D%0A<circle cx=\"15.5\" cy=\"2.5\" r=\"2.5\" fill=\"%23FE5000\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-tick-up{background-image:url('data:image/svg+xml,<svg width=\"32\" height=\"16\" viewBox=\"0 0 32 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M16 -6.99383e-07L32 16L-1.97729e-05 16L16 -6.99383e-07Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-info{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-failure{background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-close{background-image:url('data:image/svg+xml,<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M4.57764e-05 6.87023L1.12989 8.00012L4.00029 5.12959L6.87016 7.99951L8.00001 6.86963L5.13014 3.9997L8.0001 1.12962L6.87025 -0.000274658L4.00028 2.86982L1.13106 0.000548095L0.00120898 1.13044L2.87043 3.99971L4.57764e-05 6.87023Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A')}.bim-notify .icon-notify-empty{background-image:url('data:image/svg+xml,<svg width=\"40\" height=\"40\" viewBox=\"0 0 40 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M18.7779 2.22227C18.2256 2.22227 17.7779 2.66999 17.7779 3.22228V6.66672H22.2223V3.22227C22.2223 2.66999 21.7746 2.22227 21.2223 2.22227H18.7779Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M4.44455 30.8889C4.44455 29.7844 5.33998 28.8889 6.44455 28.8889L6.66678 28.8889C7.89407 28.8889 8.889 27.894 8.889 26.6667V17.8889C8.889 12.9184 12.9184 8.88894 17.889 8.88894H22.1112C27.0818 8.88894 31.1112 12.9184 31.1112 17.8889V26.6667C31.1112 27.894 32.1061 28.8889 33.3334 28.8889L33.5557 28.8889C34.6602 28.8889 35.5557 29.7844 35.5557 30.8889V31.3334C35.5557 32.438 34.6602 33.3334 33.5557 33.3334H6.44455C5.33999 33.3334 4.44455 32.438 4.44455 31.3334V30.8889Z\" fill=\"%23C3C3C3\"/>%0D%0A<path d=\"M15.5557 35.5556C15.5557 38.0102 17.5455 40.0001 20.0001 40.0001C22.4547 40.0001 24.4446 38.0102 24.4446 35.5556H15.5557Z\" fill=\"%23C3C3C3\"/>%0D%0A</svg>%0D%0A')}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
253
253
|
}], bimplusNotifyMessageAction: [{
|
|
254
254
|
type: Output
|
|
255
255
|
}] } });
|
|
256
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGdCQUFnQixFQU9oQixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7Ozs7QUFFbEMsTUFBTSx1QkFBdUIsR0FBRyx5QkFBeUIsQ0FBQztBQXFCMUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLCtCQUErQjtJQUN6RSxZQUFZLGdCQUFrQyxFQUFFLFVBQXNCO1FBQ3BFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBR3pCLHlDQUF5QztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBWWQ7O29GQUU0RTtRQUM1RSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFbkM7O29GQUU0RTtRQUNuRSx1QkFBa0IsR0FB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QUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLENBQUM7UUFDRCxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0F0UVUsc0JBQXNCO2tHQUF0QixzQkFBc0IsMktBK0JiLGdCQUFnQixtYkFwQ3hCLENBQUMsZ0JBQWdCLENBQUMsc0VDckNoQyxtNElBZ0hNLHl2akJENUVNLFlBQVkseVBBQUUsZUFBZTs7MkZBTTVCLHNCQUFzQjtrQkFUbEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxhQUM1QixDQUFDLGdCQUFnQixDQUFDLGlCQUdmLGlCQUFpQixDQUFDLElBQUk7OEdBV2pDLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBTTdCLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxrQkFBa0I7Z0JBYXRCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLa0Msa0JBQWtCO3NCQUF6RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBS0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBMkRJLDBCQUEwQjtzQkFBbkMsTUFBTTtnQkFLRyw4QkFBOEI7c0JBQXZDLE1BQU07Z0JBS0csMEJBQTBCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIEFmdGVyVmlld0NoZWNrZWQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0QmluZGluZ1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBmaXJlRXZlbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XHJcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50fSBmcm9tIFwiLi4vYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0L2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC5jb21wb25lbnRcIjtcclxuaW1wb3J0IFNpbXBsZUJhciBmcm9tICdzaW1wbGViYXInO1xyXG5cclxuY29uc3QgQklNUExVU19OT1RJRllfTUVTU0FHRVMgPSBcImJpbXBsdXMtbm90aWZ5LW1lc3NhZ2VzXCI7XHJcbmludGVyZmFjZSBNZXNzYWdlTW9kZWwge1xyXG4gICdpZCc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAndHlwZSc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAndGl0bGUnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ3RleHQnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ2xpbmsnOiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgJ2xpbmtUZXh0Jzogc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQsXHJcbiAgJ2xpbmtzJzogc3RyaW5nW10gfCB1bmRlZmluZWQsXHJcbiAgJ2FjdGlvbklkJzogbnVtYmVyIHwgdW5kZWZpbmVkLFxyXG4gICdjYXBpdGFsaXplZFRpdGxlJzogc3RyaW5nIHwgYm9vbGVhbiB8IHVuZGVmaW5lZFxyXG59XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtbm90aWZ5JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzIDogW1RyYW5zbGF0ZVNlcnZpY2VdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLW5vdGlmeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtbm90aWZ5LmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzTm90aWZ5Q29tcG9uZW50IGV4dGVuZHMgQmltcGx1c0xvY2FsaXplZFdpZGdldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlclZpZXdDaGVja2Vke1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpe1xyXG4gICAgc3VwZXIodHJhbnNsYXRlU2VydmljZSlcclxuICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG4gIC8vIEV4cG9zZSBBcnJheSBjb25zdHJ1Y3RvciBhcyBhIHByb3BlcnR5XHJcbiAgQXJyYXkgPSBBcnJheTtcclxuICBcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldy1tZXNzYWdlcycpXHJcbiAgZ2V0IG5ld01lc3NhZ2VzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FsZXJ0QWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5iaW0tbm90aWZ5JylcclxuICBnZXQgYmltTm90aWZ5KCkge1xyXG4gICAgcmV0dXJuIHRydWU7IC8vIE9yIHlvdSBjYW4gdXNlIGEgY29uZGl0aW9uIGhlcmUgaWYgbmVlZGVkXHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogTGlzdCBvZiBtZXNzYWdlc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfbWVzc2FnZXNMaXN0OiBNZXNzYWdlTW9kZWxbXSA9IFtdO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogcHJvcGVydGllc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBASW5wdXQoKSBtZXNzYWdlUHJldmlld1RpbWUgOiBudW1iZXIgPSAzMDAwOyAvLyBpbiBtc1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogcHJvcGVydGllc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd01lc3NhZ2VQcmV2aWV3IDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIHByZXZpZXdNZXNzYWdlc0xpbWl0IDogbnVtYmVyID0gMztcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIG9mZnNldCBvZiBwcmV2aWV3IG1lc3NhZ2VzIGZyb20gbWFpbiBpY29uXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIHByZXZpZXdNZXNzYWdlc09mZnNldFkgOiBzdHJpbmcgPSAnMi43ZW0nO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogcHJvcGVydGllc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBASW5wdXQoKSBtZXNzYWdlcyA6IHN0cmluZyA9ICcnO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snbWVzc2FnZXMnXSkge1xyXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGNoYW5nZXNbJ21lc3NhZ2VzJ10uY3VycmVudFZhbHVlO1xyXG4gICAgICB0aGlzLnVwZGF0ZU1lc3NhZ2VzKG5ld1ZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVwZGF0ZU1lc3NhZ2VzKG5ld1ZhbHVlOiBzdHJpbmcgLyosIG9sZFZhbHVlOiBzdHJpbmcqLykge1xyXG4gICAgY29uc3QgaXNPayA9IG5ld1ZhbHVlICAmJiB0eXBlb2YgbmV3VmFsdWUgPT09ICdzdHJpbmcnO1xyXG4gICAgaWYgKCFpc09rKSB7XHJcbiAgICAgIHRoaXMuX21lc3NhZ2VzTGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0ID0gW107XHJcbiAgICAgIHRoaXMuX2FsZXJ0QWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtc2dEYXRhID0gSlNPTi5wYXJzZShuZXdWYWx1ZSk7XHJcbiAgICB0aGlzLl9tZXNzYWdlc0xpc3QgPSBtc2dEYXRhLm1lc3NhZ2VzO1xyXG5cclxuICAgIC8vIGZpbHRlciBuZXcgbWVzc2FnZXMgaW50byB0aGUgbGlzdCBmb3IgcHJldmlld1xyXG4gICAgbGV0IG5ld01lc3NhZ2VzTGlzdCA9IHRoaXMuX21lc3NhZ2VzTGlzdC5maWx0ZXIoIChtc2cpID0+IHRoaXMuX29sZE1lc3NhZ2VzTGlzdC5maW5kSW5kZXgoIChvbGRNc2cpID0+IG9sZE1zZy5pZCA9PT0gbXNnLmlkICkgPCAwICk7XHJcbiAgICBuZXdNZXNzYWdlc0xpc3QgPSBuZXdNZXNzYWdlc0xpc3QuZmlsdGVyKCAoaXRlbSkgPT4gdGhpcy5fbWVzc2FnZU5vdFJlYWRZZXQoaXRlbSkpOyAgLy8gZmlsdGVyaW5nIG91dCBhbGxyZWFkeSByZWFkIG1lc3NhZ2VzIChzdG9yZWQgaW4gbG9jYWxzdG9yYWdlKVxyXG5cclxuICAgIC8vIHNldHVwIHByZXZpZXcgZm9yIG5ldyBtZXNzYWdlc1xyXG4gICAgbmV3TWVzc2FnZXNMaXN0LnJldmVyc2UoKS5mb3JFYWNoKCAobmV3TXNnKSA9PiB7XHJcbiAgICAgIGlmICggdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5maW5kSW5kZXgoIChpdGVtKSA9PiBuZXdNc2cuaWQgPT09IGl0ZW0uaWQgKSA8IDApe1xyXG4gICAgICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QudW5zaGlmdChuZXdNc2cpO1xyXG5cclxuICAgICAgICBpZiggdGhpcy5tZXNzYWdlUHJldmlld1RpbWUgPiAwICkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Nsb3NlUHJldmlld01lc3NhZ2UobmV3TXNnLmlkLCBmYWxzZSk7XHJcbiAgICAgICAgICB9LCB0aGlzLm1lc3NhZ2VQcmV2aWV3VGltZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIC8vIGxpbWl0IHByZXZpZXcgbWVzc2FnZXMgY291bnRcclxuICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QubGVuZ3RoID0gdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPiB0aGlzLnByZXZpZXdNZXNzYWdlc0xpbWl0ID8gdGhpcy5wcmV2aWV3TWVzc2FnZXNMaW1pdCA6IHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QubGVuZ3RoO1xyXG5cclxuICAgIC8vIHNldCBvbGQgc3RhdGUgYW5kIGFsZXJ0XHJcbiAgICB0aGlzLl9vbGRNZXNzYWdlc0xpc3QgPSAgdGhpcy5fbWVzc2FnZXNMaXN0O1xyXG4gICAgdGhpcy5fYWxlcnRBY3RpdmUgPSB0aGlzLl9tZXNzYWdlc0xpc3QubGVuZ3RoICE9IDA7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogU3RhdGVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9tZW51T3BlbmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgX2FsZXJ0QWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgX29sZE1lc3NhZ2VzTGlzdDogTWVzc2FnZU1vZGVsW10gPSBbXTtcclxuICAvLyBsaXN0IG9mIG1lc3NhZ2VzIGZvciBwcmV2aWV3XHJcbiAgX3ByZXZpZXdNZXNzYWdlc0xpc3Q6IE1lc3NhZ2VNb2RlbFtdID0gW107XHJcblxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogRGVsZXRlIGl0ZW0gZXZlbnRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNOb3RpZnlEZWxldGVNZXNzYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBEZWxldGUgYWxsIGl0ZW0gZXZlbnRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNOb3RpZnlEZWxldGVBbGxNZXNzYWdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogTWVzc2FnZSBhY3Rpb24gZXZlbnRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQE91dHB1dCgpIGJpbXBsdXNOb3RpZnlNZXNzYWdlQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBzY3JvbGxiYXIgc3R1ZmZcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xyXG4gIF9zaW1wbGVCYXI6IFNpbXBsZUJhciB8IHVuZGVmaW5lZDtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGluaXRpYWwgY29tcG9uZW50IGxvYWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwZGF0ZU1lc3NhZ2VzKHRoaXMubWVzc2FnZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNvbXBvbmVudCBkaWQgbG9hZFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpbml0IHNpbXBsZSBiYXIgc2Nyb2xsYmFyXHJcbiAgICBjb25zdCBtZXNzYWdlc0NvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkID0gdGhpcy5fZWxlbWVudD8ucXVlcnlTZWxlY3RvcignLm1lc3NhZ2VzLWNvbnRhaW5lcicpO1xyXG4gICAgaWYgKG1lc3NhZ2VzQ29udGFpbmVyKSB7XHJcbiAgICAgIHRoaXMuX3NpbXBsZUJhciA9IG5ldyBTaW1wbGVCYXIobWVzc2FnZXNDb250YWluZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNvbXBvbmVudCBkaWQgcmVuZGVyXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIC8vLS0tIGZpeCBmb3Igc2ltcGxlIGJhciBjb21wb25lbnQgdXBkYXRlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAvLy0tLSBtZXNzYWdlLWl0ZW0gaXRlbXMgYXJlIHJlcmVuZGVyZWQgb3V0c2lkZSBvZiB0aGUgc2ltcGxlIGJhciBjb250YWluZXIgc28gd2UgbmVlZCB0byBtb3ZlIHRoZW0gaW5zaWRlIG9mIHRoZSBzY3JvbGwgY29udGFpbmVyIC0tXHJcbiAgICBjb25zdCBfZWxlbWVudCA9IHRoaXMuX2VsZW1lbnQ7XHJcbiAgICBjb25zdCBiYXJFbGVtID0gX2VsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJy5tZXNzYWdlcy1jb250YWluZXInKTtcclxuXHJcbiAgICBpZiAoIWJhckVsZW0pe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbXNnSXRlbXM9IF9lbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKFwiLm1lc3NhZ2VzLWNvbnRhaW5lciA+IC5tZXNzYWdlLWl0ZW1cIik7XHJcbiAgICBjb25zdCBiYXJDb250ZW50ID0gX2VsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoXCIuc2ltcGxlYmFyLWNvbnRlbnRcIik7XHJcblxyXG4gICAgaWYgKCFiYXJDb250ZW50IHx8ICFtc2dJdGVtcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX3NpbXBsZUJhcikge1xyXG4gICAgICB0aGlzLl9zaW1wbGVCYXIucmVjYWxjdWxhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBzaW5nbGUgbWVzc2FnZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfY2xvc2VNZXNzYWdlKCBpdGVtOiBNZXNzYWdlTW9kZWwsIHByZXZpZXc6IGJvb2xlYW4sIGV2ZW50OiBFdmVudCB8IHVuZGVmaW5lZCApe1xyXG4gICAgaWYgKHByZXZpZXcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2Nsb3NlUHJldmlld01lc3NhZ2UoaXRlbS5pZCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGZpcmVFdmVudCh0aGlzLCBcImJpbXBsdXNOb3RpZnlEZWxldGVNZXNzYWdlXCIsIEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBwcmV2aWV3IG1lc3NhZ2VcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2Nsb3NlUHJldmlld01lc3NhZ2UoIG1zZ0lkOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNsb3NlZEJ5VXNlciA9IHRydWUgKXtcclxuICAgIGlmICghbXNnSWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QgPSB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0LmZpbHRlciggKG1zZykgPT4gbXNnLmlkICE9PSBtc2dJZCApO1xyXG4gICAgdGhpcy5zdG9yZU1lc3NhZ2VzQXNSZWFkKFttc2dJZF0pO1xyXG4gICAgaWYgKCBjbG9zZWRCeVVzZXIgJiYgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPT09IDAgKXtcclxuICAgICAgdGhpcy5fYWxlcnRBY3RpdmUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBhbGwgbWVzc2FnZXNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX2RlbGV0ZUFsbE1lc3NhZ2VzKCl7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTm90aWZ5RGVsZXRlQWxsTWVzc2FnZXNcIik7XHJcbiAgICB0aGlzLmNsZWFyQWxsTG9jYWxTdG9yYWdlTWVzc2FnZXMoKTtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBtZXNzYWdlIGNsaWNrZWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX21lc3NhZ2VBY3Rpb24oIGl0ZW06IE1lc3NhZ2VNb2RlbCwgaW5kZXg6IG51bWJlciApe1xyXG4gICAgaXRlbS5hY3Rpb25JZCA9IGluZGV4O1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiYmltcGx1c05vdGlmeU1lc3NhZ2VBY3Rpb25cIiwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHRvZ2dsZSBtZW51IG9wZW5cclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX3RvZ2dsZU9wZW5lZCgpe1xyXG4gICAgdGhpcy5fbWVudU9wZW5lZCA9ICF0aGlzLl9tZW51T3BlbmVkO1xyXG4gICAgdGhpcy5fYWxlcnRBY3RpdmUgPSBmYWxzZTtcclxuICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIF9tZXNzYWdlTm90UmVhZFlldChtZXNzYWdlOiBNZXNzYWdlTW9kZWwpe1xyXG4gICAgaWYoIW1lc3NhZ2UgfHwgIW1lc3NhZ2UuaWQpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1lc3NhZ2VMaXN0U3RyaW5nID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTKTtcclxuICAgIGlmKCFtZXNzYWdlTGlzdFN0cmluZyl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICFtZXNzYWdlTGlzdFN0cmluZy5pbmNsdWRlcyhtZXNzYWdlLmlkKTtcclxuICB9XHJcblxyXG4gIHN0b3JlTWVzc2FnZXNBc1JlYWQobWVzc2FnZUxpc3Q6IHN0cmluZ1tdKXtcclxuICAgIGlmKCFtZXNzYWdlTGlzdCB8fCBtZXNzYWdlTGlzdC5sZW5ndGggPDEpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgbWVzc2FnZUxpc3RTdHJpbmcgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oQklNUExVU19OT1RJRllfTUVTU0FHRVMpO1xyXG4gICAgaWYoIW1lc3NhZ2VMaXN0U3RyaW5nKXtcclxuICAgICAgbWVzc2FnZUxpc3RTdHJpbmcgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgbWVzc2FnZUxpc3QuZm9yRWFjaCgoaXRlbTogc3RyaW5nKT0+e1xyXG4gICAgICBpZighbWVzc2FnZUxpc3RTdHJpbmc/LmluY2x1ZGVzKGl0ZW0pKXtcclxuICAgICAgICBtZXNzYWdlTGlzdFN0cmluZys9KGl0ZW0rXCI7XCIpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTLG1lc3NhZ2VMaXN0U3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsTG9jYWxTdG9yYWdlTWVzc2FnZXMoKXtcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShCSU1QTFVTX05PVElGWV9NRVNTQUdFUyk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogZ2V0IGl0ZW0gbGluayB0aXRsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfZ2V0SXRlbUxpbmtUaXRsZSggaXRlbTogTWVzc2FnZU1vZGVsLCBpbmRleDogbnVtYmVyICl7XHJcbiAgICBsZXQgaXRlbUxpbmtzVGl0bGVzOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW107XHJcbiAgICBpZiAoIGl0ZW0ubGlua1RleHQgJiYgKGl0ZW0ubGlua3MgfHwgaXRlbS5saW5rKSkge1xyXG4gICAgICBpdGVtTGlua3NUaXRsZXMgPSBBcnJheS5pc0FycmF5KGl0ZW0ubGlua3MpID8gaXRlbS5saW5rcyA6IFtpdGVtLmxpbmtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1MaW5rc1RpdGxlc1tpbmRleF0gfHwgJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxyXG4gICAgW25nQ2xhc3NdPVwiX21lbnVPcGVuZWQgPyAnb3BlbicgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiX3RvZ2dsZU9wZW5lZCgpXCJcclxuICAgIFt0aXRsZV09XCInX0JpbXBsdXNOb3RpZnlUaXRsZScgfCB0cmFuc2xhdGVcIlxyXG4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlXCIgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJtYWluLWljb25cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCInaWNvbi1ub3RpZnknICsgKHRoaXMuX2FsZXJ0QWN0aXZlID8gJy1hbGVydCBub3RpZnknIDogJycpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJiaW1jb21wLWRyb3Bkb3duLW1lbnVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIl9tZW51T3BlbmVkID8gJ29wZW4nIDogJydcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZnktdGlja1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlcy10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZXMtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICh7e3RoaXMuX21lc3NhZ2VzTGlzdC5sZW5ndGh9fSlcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZXMtZGVsZXRlLWFsbFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2RlbGV0ZUFsbE1lc3NhZ2VzKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e1wiX05vdGlmeV9NYXJrX0FsbFwiIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICBAaWYgKF9tZXNzYWdlc0xpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX21lc3NhZ2VzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCInbWVzc2FnZS1pdGVtLWljb24tJyArIGl0ZW0udHlwZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS10aXRsZS10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2FwaXRhbGl6ZSc6aXRlbS5jYXBpdGFsaXplZFRpdGxlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1pY29uLWNsb3NlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2xvc2VNZXNzYWdlKGl0ZW0sIGZhbHNlLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWJvZHktdGV4dFwiPnt7aXRlbS50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlua1RleHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2YgKGl0ZW0ubGlua1RleHQuY29uc3RydWN0b3IgPT09IEFycmF5ID8gaXRlbS5saW5rVGV4dCA6IFtpdGVtLmxpbmtUZXh0XSk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tbGlua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiX2dldEl0ZW1MaW5rVGl0bGUoaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tZXNzYWdlQWN0aW9uKGl0ZW0sIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7bGlua319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1lbXB0eVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tZW1wdHktaWNvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tZW1wdHktdGV4dFwiPnt7XCJfTm90aWZ5X05vX01lc3NhZ2VzXCIgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXZcclxuICAgIGNsYXNzPVwiYmltY29tcC1vdmVybGF5XCJcclxuICAgIFtuZ0NsYXNzXT1cIl9tZW51T3BlbmVkID8gJ29wZW4nIDogJydcIlxyXG4gICAgKGNsaWNrKT1cIl90b2dnbGVPcGVuZWQoKVwiXHJcbj48L2Rpdj5cclxuXHJcbjxkaXZcclxuICAgIGNsYXNzPVwiYmltY29tcC1tZXNzYWdlcy1wcmV2aWV3XCJcclxuICAgIFtuZ0NsYXNzXT1cIihzaG93TWVzc2FnZVByZXZpZXcgJiYgIV9tZW51T3BlbmVkICYmIF9wcmV2aWV3TWVzc2FnZXNMaXN0Lmxlbmd0aCA+IDApID8gJ3Zpc2libGUnIDogJydcIlxyXG4gICAgW3N0eWxlLnRvcF09XCJwcmV2aWV3TWVzc2FnZXNPZmZzZXRZXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VzLWNvbnRhaW5lci1wcmV2aWV3XCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfcHJldmlld01lc3NhZ2VzTGlzdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ21lc3NhZ2UtaXRlbS1pY29uLScgKyBpdGVtLnR5cGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS10aXRsZS10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NhcGl0YWxpemUnOml0ZW0uY2FwaXRhbGl6ZWRUaXRsZX1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1pY29uLWNsb3NlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2Nsb3NlTWVzc2FnZShpdGVtLCB0cnVlLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWJvZHktdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtLnRleHR9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgQGlmIChpdGVtLmxpbmtUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2YgKGl0ZW0ubGlua1RleHQuY29uc3RydWN0b3IgPT09IEFycmF5ID8gaXRlbS5saW5rVGV4dCA6IFtpdGVtLmxpbmtUZXh0XSk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJfZ2V0SXRlbUxpbmtUaXRsZShpdGVtLCBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tZXNzYWdlQWN0aW9uKGl0ZW0sIGkpXCJcclxuICAgICAgICAgICAgICAgID57e2xpbmt9fTwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1ub3RpZnkvYmltcGx1cy1ub3RpZnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGdCQUFnQixFQU9oQixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7Ozs7QUFFbEMsTUFBTSx1QkFBdUIsR0FBRyx5QkFBeUIsQ0FBQztBQXFCMUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLCtCQUErQjtJQUN6RSxZQUFZLGdCQUFrQyxFQUFFLFVBQXNCO1FBQ3BFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBR3pCLHlDQUF5QztRQUN6QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBWWQ7O29GQUU0RTtRQUM1RSxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFbkM7O29GQUU0RTtRQUNuRSx1QkFBa0IsR0FBWSxJQUFJLENBQUMsQ0FBQyxRQUFRO1FBRXJEOztvRkFFNEU7UUFDcEMsdUJBQWtCLEdBQWEsSUFBSSxDQUFDO1FBRTVFOztvRkFFNEU7UUFDbkUseUJBQW9CLEdBQVksQ0FBQyxDQUFDO1FBRTNDOztvRkFFNEU7UUFDbkUsMkJBQXNCLEdBQVksT0FBTyxDQUFDO1FBRW5EOztvRkFFNEU7UUFDbkUsYUFBUSxHQUFZLEVBQUUsQ0FBQztRQThDaEM7O29GQUU0RTtRQUM1RSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixxQkFBZ0IsR0FBbUIsRUFBRSxDQUFDO1FBQ3RDLCtCQUErQjtRQUMvQix5QkFBb0IsR0FBbUIsRUFBRSxDQUFDO1FBRzFDOztvRkFFNEU7UUFDbEUsK0JBQTBCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVsRTs7b0ZBRTRFO1FBQ2xFLG1DQUE4QixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdEU7O29GQUU0RTtRQUNsRSwrQkFBMEIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBaEhoRSxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDM0MsQ0FBQztJQUlELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsQ0FBQyw0Q0FBNEM7SUFDM0QsQ0FBQztJQWdDRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN4QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDO1lBQ2xELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsUUFBZ0IsQ0FBQyxzQkFBc0I7UUFDcEQsTUFBTSxJQUFJLEdBQUcsUUFBUSxJQUFLLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQztRQUN2RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFFdEMsZ0RBQWdEO1FBQ2hELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUUsR0FBRyxDQUFDLENBQUUsQ0FBQztRQUNwSSxlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBRSxnRUFBZ0U7UUFFckosaUNBQWlDO1FBQ2pDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QyxJQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBRSxHQUFHLENBQUMsRUFBQyxDQUFDO2dCQUMvRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUUxQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLEVBQUcsQ0FBQztvQkFDakMsVUFBVSxDQUFDLEdBQUcsRUFBRTt3QkFDZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDOUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztRQUUvSiwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFJLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWlDRDs7Z0ZBRTRFO0lBQzVFLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7O2dGQUU0RTtJQUM1RSxlQUFlO1FBQ2IsNEJBQTRCO1FBQzVCLE1BQU0saUJBQWlCLEdBQW1DLElBQUksQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDOUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztnRkFFNEU7SUFDNUUsa0JBQWtCO1FBQ2hCLGlIQUFpSDtRQUNqSCxxSUFBcUk7UUFDckksTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FBRyxRQUFRLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLE9BQU8sRUFBQyxDQUFDO1lBQ1osT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNsRixNQUFNLFVBQVUsR0FBRyxRQUFRLEVBQUUsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztnRkFFNEU7SUFDNUUsYUFBYSxDQUFFLElBQWtCLEVBQUUsT0FBZ0IsRUFBRSxLQUF3QjtRQUMzRSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6QixDQUFDO1FBRUQsU0FBUyxDQUFDLElBQUksRUFBRSw0QkFBNEIsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVEOztnRkFFNEU7SUFDNUUsb0JBQW9CLENBQUUsS0FBeUIsRUFBRSxZQUFZLEdBQUcsSUFBSTtRQUNsRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBRSxDQUFDO1FBQzFGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEMsSUFBSyxZQUFZLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztnRkFFNEU7SUFDNUUsa0JBQWtCO1FBQ2hCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O2dGQUU0RTtJQUM1RSxjQUFjLENBQUUsSUFBa0IsRUFBRSxLQUFhO1FBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7Z0ZBRTRFO0lBQzVFLGFBQWE7UUFDWCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFxQjtRQUN0QyxJQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBQyxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9FLElBQUcsQ0FBQyxpQkFBaUIsRUFBQyxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxXQUFxQjtRQUN2QyxJQUFHLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxFQUFDLENBQUM7WUFDeEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0UsSUFBRyxDQUFDLGlCQUFpQixFQUFDLENBQUM7WUFDckIsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFDLEVBQUU7WUFDbEMsSUFBRyxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO2dCQUNyQyxpQkFBaUIsSUFBRSxDQUFDLElBQUksR0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDRixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O2dGQUU0RTtJQUM1RSxpQkFBaUIsQ0FBRSxJQUFrQixFQUFFLEtBQWE7UUFDbEQsSUFBSSxlQUFlLEdBQTJCLEVBQUUsQ0FBQztRQUNqRCxJQUFLLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2hELGVBQWUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzhHQXRRVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwyS0ErQmIsZ0JBQWdCLG1iQXBDeEIsQ0FBQyxnQkFBZ0IsQ0FBQyxzRUNyQ2hDLG00SUFnSE0seXZqQkQ1RU0sWUFBWSx5UEFBRSxlQUFlOzsyRkFNNUIsc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLGFBQzVCLENBQUMsZ0JBQWdCLENBQUMsaUJBR2YsaUJBQWlCLENBQUMsSUFBSTs4R0FXakMsV0FBVztzQkFEZCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFNN0IsU0FBUztzQkFEWixXQUFXO3VCQUFDLGtCQUFrQjtnQkFhdEIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUtrQyxrQkFBa0I7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFLRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkEyREksMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUtHLDhCQUE4QjtzQkFBdkMsTUFBTTtnQkFLRywwQkFBMEI7c0JBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge0JpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnR9IGZyb20gXCIuLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgU2ltcGxlQmFyIGZyb20gJ3NpbXBsZWJhcic7XHJcblxyXG5jb25zdCBCSU1QTFVTX05PVElGWV9NRVNTQUdFUyA9IFwiYmltcGx1cy1ub3RpZnktbWVzc2FnZXNcIjtcclxuaW50ZXJmYWNlIE1lc3NhZ2VNb2RlbCB7XHJcbiAgJ2lkJzogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICd0eXBlJzogc3RyaW5nIHwgdW5kZWZpbmVkLFxyXG4gICd0aXRsZSc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAndGV4dCc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAnbGluayc6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAnbGlua1RleHQnOiBzdHJpbmcgfCBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcclxuICAnbGlua3MnOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCxcclxuICAnYWN0aW9uSWQnOiBudW1iZXIgfCB1bmRlZmluZWQsXHJcbiAgJ2NhcGl0YWxpemVkVGl0bGUnOiBzdHJpbmcgfCBib29sZWFuIHwgdW5kZWZpbmVkXHJcbn1cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1ub3RpZnknLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcclxuICBwcm92aWRlcnMgOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtbm90aWZ5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1ub3RpZnkuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNOb3RpZnlDb21wb25lbnQgZXh0ZW5kcyBCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIEFmdGVyVmlld0NoZWNrZWR7XHJcbiAgY29uc3RydWN0b3IodHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSwgZWxlbWVudFJlZjogRWxlbWVudFJlZil7XHJcbiAgICBzdXBlcih0cmFuc2xhdGVTZXJ2aWNlKVxyXG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICB9XHJcbiAgLy8gRXhwb3NlIEFycmF5IGNvbnN0cnVjdG9yIGFzIGEgcHJvcGVydHlcclxuICBBcnJheSA9IEFycmF5O1xyXG4gIFxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubmV3LW1lc3NhZ2VzJylcclxuICBnZXQgbmV3TWVzc2FnZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWxlcnRBY3RpdmU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJpbS1ub3RpZnknKVxyXG4gIGdldCBiaW1Ob3RpZnkoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTsgLy8gT3IgeW91IGNhbiB1c2UgYSBjb25kaXRpb24gaGVyZSBpZiBuZWVkZWRcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBMaXN0IG9mIG1lc3NhZ2VzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9tZXNzYWdlc0xpc3Q6IE1lc3NhZ2VNb2RlbFtdID0gW107XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2VQcmV2aWV3VGltZSA6IG51bWJlciA9IDMwMDA7IC8vIGluIG1zXHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93TWVzc2FnZVByZXZpZXcgOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHByb3BlcnRpZXNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQElucHV0KCkgcHJldmlld01lc3NhZ2VzTGltaXQgOiBudW1iZXIgPSAzO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogb2Zmc2V0IG9mIHByZXZpZXcgbWVzc2FnZXMgZnJvbSBtYWluIGljb25cclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgQElucHV0KCkgcHJldmlld01lc3NhZ2VzT2Zmc2V0WSA6IHN0cmluZyA9ICcyLjdlbSc7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBwcm9wZXJ0aWVzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIEBJbnB1dCgpIG1lc3NhZ2VzIDogc3RyaW5nID0gJyc7XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydtZXNzYWdlcyddKSB7XHJcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY2hhbmdlc1snbWVzc2FnZXMnXS5jdXJyZW50VmFsdWU7XHJcbiAgICAgIHRoaXMudXBkYXRlTWVzc2FnZXMobmV3VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlTWVzc2FnZXMobmV3VmFsdWU6IHN0cmluZyAvKiwgb2xkVmFsdWU6IHN0cmluZyovKSB7XHJcbiAgICBjb25zdCBpc09rID0gbmV3VmFsdWUgICYmIHR5cGVvZiBuZXdWYWx1ZSA9PT0gJ3N0cmluZyc7XHJcbiAgICBpZiAoIWlzT2spIHtcclxuICAgICAgdGhpcy5fbWVzc2FnZXNMaXN0ID0gW107XHJcbiAgICAgIHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QgPSBbXTtcclxuICAgICAgdGhpcy5fYWxlcnRBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1zZ0RhdGEgPSBKU09OLnBhcnNlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMuX21lc3NhZ2VzTGlzdCA9IG1zZ0RhdGEubWVzc2FnZXM7XHJcblxyXG4gICAgLy8gZmlsdGVyIG5ldyBtZXNzYWdlcyBpbnRvIHRoZSBsaXN0IGZvciBwcmV2aWV3XHJcbiAgICBsZXQgbmV3TWVzc2FnZXNMaXN0ID0gdGhpcy5fbWVzc2FnZXNMaXN0LmZpbHRlciggKG1zZykgPT4gdGhpcy5fb2xkTWVzc2FnZXNMaXN0LmZpbmRJbmRleCggKG9sZE1zZykgPT4gb2xkTXNnLmlkID09PSBtc2cuaWQgKSA8IDAgKTtcclxuICAgIG5ld01lc3NhZ2VzTGlzdCA9IG5ld01lc3NhZ2VzTGlzdC5maWx0ZXIoIChpdGVtKSA9PiB0aGlzLl9tZXNzYWdlTm90UmVhZFlldChpdGVtKSk7ICAvLyBmaWx0ZXJpbmcgb3V0IGFsbHJlYWR5IHJlYWQgbWVzc2FnZXMgKHN0b3JlZCBpbiBsb2NhbHN0b3JhZ2UpXHJcblxyXG4gICAgLy8gc2V0dXAgcHJldmlldyBmb3IgbmV3IG1lc3NhZ2VzXHJcbiAgICBuZXdNZXNzYWdlc0xpc3QucmV2ZXJzZSgpLmZvckVhY2goIChuZXdNc2cpID0+IHtcclxuICAgICAgaWYgKCB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0LmZpbmRJbmRleCggKGl0ZW0pID0+IG5ld01zZy5pZCA9PT0gaXRlbS5pZCApIDwgMCl7XHJcbiAgICAgICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC51bnNoaWZ0KG5ld01zZyk7XHJcblxyXG4gICAgICAgIGlmKCB0aGlzLm1lc3NhZ2VQcmV2aWV3VGltZSA+IDAgKSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fY2xvc2VQcmV2aWV3TWVzc2FnZShuZXdNc2cuaWQsIGZhbHNlKTtcclxuICAgICAgICAgIH0sIHRoaXMubWVzc2FnZVByZXZpZXdUaW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgLy8gbGltaXQgcHJldmlldyBtZXNzYWdlcyBjb3VudFxyXG4gICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGggPSB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0Lmxlbmd0aCA+IHRoaXMucHJldmlld01lc3NhZ2VzTGltaXQgPyB0aGlzLnByZXZpZXdNZXNzYWdlc0xpbWl0IDogdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdC5sZW5ndGg7XHJcblxyXG4gICAgLy8gc2V0IG9sZCBzdGF0ZSBhbmQgYWxlcnRcclxuICAgIHRoaXMuX29sZE1lc3NhZ2VzTGlzdCA9ICB0aGlzLl9tZXNzYWdlc0xpc3Q7XHJcbiAgICB0aGlzLl9hbGVydEFjdGl2ZSA9IHRoaXMuX21lc3NhZ2VzTGlzdC5sZW5ndGggIT0gMDtcclxuICB9XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBTdGF0ZXNcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX21lbnVPcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfYWxlcnRBY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBfb2xkTWVzc2FnZXNMaXN0OiBNZXNzYWdlTW9kZWxbXSA9IFtdO1xyXG4gIC8vIGxpc3Qgb2YgbWVzc2FnZXMgZm9yIHByZXZpZXdcclxuICBfcHJldmlld01lc3NhZ2VzTGlzdDogTWVzc2FnZU1vZGVsW10gPSBbXTtcclxuXHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBEZWxldGUgaXRlbSBldmVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBAT3V0cHV0KCkgYmltcGx1c05vdGlmeURlbGV0ZU1lc3NhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIERlbGV0ZSBhbGwgaXRlbSBldmVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBAT3V0cHV0KCkgYmltcGx1c05vdGlmeURlbGV0ZUFsbE1lc3NhZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBNZXNzYWdlIGFjdGlvbiBldmVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBAT3V0cHV0KCkgYmltcGx1c05vdGlmeU1lc3NhZ2VBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHNjcm9sbGJhciBzdHVmZlxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfZWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XHJcbiAgX3NpbXBsZUJhcjogU2ltcGxlQmFyIHwgdW5kZWZpbmVkO1xyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogaW5pdGlhbCBjb21wb25lbnQgbG9hZFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudXBkYXRlTWVzc2FnZXModGhpcy5tZXNzYWdlcyk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY29tcG9uZW50IGRpZCBsb2FkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGluaXQgc2ltcGxlIGJhciBzY3JvbGxiYXJcclxuICAgIGNvbnN0IG1lc3NhZ2VzQ29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQgPSB0aGlzLl9lbGVtZW50Py5xdWVyeVNlbGVjdG9yKCcubWVzc2FnZXMtY29udGFpbmVyJyk7XHJcbiAgICBpZiAobWVzc2FnZXNDb250YWluZXIpIHtcclxuICAgICAgdGhpcy5fc2ltcGxlQmFyID0gbmV3IFNpbXBsZUJhcihtZXNzYWdlc0NvbnRhaW5lcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY29tcG9uZW50IGRpZCByZW5kZXJcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgLy8tLS0gZml4IGZvciBzaW1wbGUgYmFyIGNvbXBvbmVudCB1cGRhdGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgIC8vLS0tIG1lc3NhZ2UtaXRlbSBpdGVtcyBhcmUgcmVyZW5kZXJlZCBvdXRzaWRlIG9mIHRoZSBzaW1wbGUgYmFyIGNvbnRhaW5lciBzbyB3ZSBuZWVkIHRvIG1vdmUgdGhlbSBpbnNpZGUgb2YgdGhlIHNjcm9sbCBjb250YWluZXIgLS1cclxuICAgIGNvbnN0IF9lbGVtZW50ID0gdGhpcy5fZWxlbWVudDtcclxuICAgIGNvbnN0IGJhckVsZW0gPSBfZWxlbWVudD8ucXVlcnlTZWxlY3RvcignLm1lc3NhZ2VzLWNvbnRhaW5lcicpO1xyXG5cclxuICAgIGlmICghYmFyRWxlbSl7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtc2dJdGVtcz0gX2VsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGwoXCIubWVzc2FnZXMtY29udGFpbmVyID4gLm1lc3NhZ2UtaXRlbVwiKTtcclxuICAgIGNvbnN0IGJhckNvbnRlbnQgPSBfZWxlbWVudD8ucXVlcnlTZWxlY3RvcihcIi5zaW1wbGViYXItY29udGVudFwiKTtcclxuXHJcbiAgICBpZiAoIWJhckNvbnRlbnQgfHwgIW1zZ0l0ZW1zKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5fc2ltcGxlQmFyKSB7XHJcbiAgICAgIHRoaXMuX3NpbXBsZUJhci5yZWNhbGN1bGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNsb3NlIHNpbmdsZSBtZXNzYWdlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9jbG9zZU1lc3NhZ2UoIGl0ZW06IE1lc3NhZ2VNb2RlbCwgcHJldmlldzogYm9vbGVhbiwgZXZlbnQ6IEV2ZW50IHwgdW5kZWZpbmVkICl7XHJcbiAgICBpZiAocHJldmlldykge1xyXG4gICAgICByZXR1cm4gdGhpcy5fY2xvc2VQcmV2aWV3TWVzc2FnZShpdGVtLmlkKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwiYmltcGx1c05vdGlmeURlbGV0ZU1lc3NhZ2VcIiwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNsb3NlIHByZXZpZXcgbWVzc2FnZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfY2xvc2VQcmV2aWV3TWVzc2FnZSggbXNnSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgY2xvc2VkQnlVc2VyID0gdHJ1ZSApe1xyXG4gICAgaWYgKCFtc2dJZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdCA9IHRoaXMuX3ByZXZpZXdNZXNzYWdlc0xpc3QuZmlsdGVyKCAobXNnKSA9PiBtc2cuaWQgIT09IG1zZ0lkICk7XHJcbiAgICB0aGlzLnN0b3JlTWVzc2FnZXNBc1JlYWQoW21zZ0lkXSk7XHJcbiAgICBpZiAoIGNsb3NlZEJ5VXNlciAmJiB0aGlzLl9wcmV2aWV3TWVzc2FnZXNMaXN0Lmxlbmd0aCA9PT0gMCApe1xyXG4gICAgICB0aGlzLl9hbGVydEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIGNsb3NlIGFsbCBtZXNzYWdlc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfZGVsZXRlQWxsTWVzc2FnZXMoKXtcclxuICAgIGZpcmVFdmVudCh0aGlzLCBcImJpbXBsdXNOb3RpZnlEZWxldGVBbGxNZXNzYWdlc1wiKTtcclxuICAgIHRoaXMuY2xlYXJBbGxMb2NhbFN0b3JhZ2VNZXNzYWdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIG1lc3NhZ2UgY2xpY2tlZFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfbWVzc2FnZUFjdGlvbiggaXRlbTogTWVzc2FnZU1vZGVsLCBpbmRleDogbnVtYmVyICl7XHJcbiAgICBpdGVtLmFjdGlvbklkID0gaW5kZXg7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJiaW1wbHVzTm90aWZ5TWVzc2FnZUFjdGlvblwiLCBKU09OLnN0cmluZ2lmeShpdGVtKSk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogdG9nZ2xlIG1lbnUgb3BlblxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfdG9nZ2xlT3BlbmVkKCl7XHJcbiAgICB0aGlzLl9tZW51T3BlbmVkID0gIXRoaXMuX21lbnVPcGVuZWQ7XHJcbiAgICB0aGlzLl9hbGVydEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fcHJldmlld01lc3NhZ2VzTGlzdCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgX21lc3NhZ2VOb3RSZWFkWWV0KG1lc3NhZ2U6IE1lc3NhZ2VNb2RlbCl7XHJcbiAgICBpZighbWVzc2FnZT8uaWQpe1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1lc3NhZ2VMaXN0U3RyaW5nID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTKTtcclxuICAgIGlmKCFtZXNzYWdlTGlzdFN0cmluZyl7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICFtZXNzYWdlTGlzdFN0cmluZy5pbmNsdWRlcyhtZXNzYWdlLmlkKTtcclxuICB9XHJcblxyXG4gIHN0b3JlTWVzc2FnZXNBc1JlYWQobWVzc2FnZUxpc3Q6IHN0cmluZ1tdKXtcclxuICAgIGlmKCFtZXNzYWdlTGlzdCB8fCBtZXNzYWdlTGlzdC5sZW5ndGggPDEpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgbWVzc2FnZUxpc3RTdHJpbmcgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oQklNUExVU19OT1RJRllfTUVTU0FHRVMpO1xyXG4gICAgaWYoIW1lc3NhZ2VMaXN0U3RyaW5nKXtcclxuICAgICAgbWVzc2FnZUxpc3RTdHJpbmcgPSBcIlwiO1xyXG4gICAgfVxyXG4gICAgbWVzc2FnZUxpc3QuZm9yRWFjaCgoaXRlbTogc3RyaW5nKT0+e1xyXG4gICAgICBpZighbWVzc2FnZUxpc3RTdHJpbmc/LmluY2x1ZGVzKGl0ZW0pKXtcclxuICAgICAgICBtZXNzYWdlTGlzdFN0cmluZys9KGl0ZW0rXCI7XCIpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKEJJTVBMVVNfTk9USUZZX01FU1NBR0VTLG1lc3NhZ2VMaXN0U3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGNsZWFyQWxsTG9jYWxTdG9yYWdlTWVzc2FnZXMoKXtcclxuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShCSU1QTFVTX05PVElGWV9NRVNTQUdFUyk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogZ2V0IGl0ZW0gbGluayB0aXRsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfZ2V0SXRlbUxpbmtUaXRsZSggaXRlbTogTWVzc2FnZU1vZGVsLCBpbmRleDogbnVtYmVyICl7XHJcbiAgICBsZXQgaXRlbUxpbmtzVGl0bGVzOiAoc3RyaW5nIHwgdW5kZWZpbmVkKVtdID0gW107XHJcbiAgICBpZiAoIGl0ZW0ubGlua1RleHQgJiYgKGl0ZW0ubGlua3MgfHwgaXRlbS5saW5rKSkge1xyXG4gICAgICBpdGVtTGlua3NUaXRsZXMgPSBBcnJheS5pc0FycmF5KGl0ZW0ubGlua3MpID8gaXRlbS5saW5rcyA6IFtpdGVtLmxpbmtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGl0ZW1MaW5rc1RpdGxlc1tpbmRleF0gPz8gJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIGNsYXNzPVwiZHJvcGRvd25cIlxyXG4gICAgW25nQ2xhc3NdPVwiX21lbnVPcGVuZWQgPyAnb3BlbicgOiAnJ1wiXHJcbiAgICAoY2xpY2spPVwiX3RvZ2dsZU9wZW5lZCgpXCJcclxuICAgIFt0aXRsZV09XCInX0JpbXBsdXNOb3RpZnlUaXRsZScgfCB0cmFuc2xhdGVcIlxyXG4+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tdG9nZ2xlXCIgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJtYWluLWljb25cIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCInaWNvbi1ub3RpZnknICsgKHRoaXMuX2FsZXJ0QWN0aXZlID8gJy1hbGVydCBub3RpZnknIDogJycpXCJcclxuICAgICAgICA+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJiaW1jb21wLWRyb3Bkb3duLW1lbnVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cIl9tZW51T3BlbmVkID8gJ29wZW4nIDogJydcIlxyXG4gICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RpZnktdGlja1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlcy10aXRsZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZXMtY291bnRcIj5cclxuICAgICAgICAgICAgICAgICh7e3RoaXMuX21lc3NhZ2VzTGlzdC5sZW5ndGh9fSlcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZXMtZGVsZXRlLWFsbFwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2RlbGV0ZUFsbE1lc3NhZ2VzKClcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7e1wiX05vdGlmeV9NYXJrX0FsbFwiIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICBAaWYgKF9tZXNzYWdlc0xpc3QubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX21lc3NhZ2VzTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCInbWVzc2FnZS1pdGVtLWljb24tJyArIGl0ZW0udHlwZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS10aXRsZS10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnY2FwaXRhbGl6ZSc6aXRlbS5jYXBpdGFsaXplZFRpdGxlfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1pY29uLWNsb3NlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJfY2xvc2VNZXNzYWdlKGl0ZW0sIGZhbHNlLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWJvZHktdGV4dFwiPnt7aXRlbS50ZXh0fX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlua1RleHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2YgKGl0ZW0ubGlua1RleHQuY29uc3RydWN0b3IgPT09IEFycmF5ID8gaXRlbS5saW5rVGV4dCA6IFtpdGVtLmxpbmtUZXh0XSk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tbGlua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiX2dldEl0ZW1MaW5rVGl0bGUoaXRlbSwgaSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tZXNzYWdlQWN0aW9uKGl0ZW0sIGkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPnt7bGlua319PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1lbXB0eVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tZW1wdHktaWNvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tZW1wdHktdGV4dFwiPnt7XCJfTm90aWZ5X05vX01lc3NhZ2VzXCIgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXZcclxuICAgIGNsYXNzPVwiYmltY29tcC1vdmVybGF5XCJcclxuICAgIFtuZ0NsYXNzXT1cIl9tZW51T3BlbmVkID8gJ29wZW4nIDogJydcIlxyXG4gICAgKGNsaWNrKT1cIl90b2dnbGVPcGVuZWQoKVwiXHJcbj48L2Rpdj5cclxuXHJcbjxkaXZcclxuICAgIGNsYXNzPVwiYmltY29tcC1tZXNzYWdlcy1wcmV2aWV3XCJcclxuICAgIFtuZ0NsYXNzXT1cIihzaG93TWVzc2FnZVByZXZpZXcgJiYgIV9tZW51T3BlbmVkICYmIF9wcmV2aWV3TWVzc2FnZXNMaXN0Lmxlbmd0aCA+IDApID8gJ3Zpc2libGUnIDogJydcIlxyXG4gICAgW3N0eWxlLnRvcF09XCJwcmV2aWV3TWVzc2FnZXNPZmZzZXRZXCJcclxuPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2VzLWNvbnRhaW5lci1wcmV2aWV3XCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfcHJldmlld01lc3NhZ2VzTGlzdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWl0ZW0tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ21lc3NhZ2UtaXRlbS1pY29uLScgKyBpdGVtLnR5cGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS10aXRsZS10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NhcGl0YWxpemUnOml0ZW0uY2FwaXRhbGl6ZWRUaXRsZX1cIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1lc3NhZ2UtaXRlbS1pY29uLWNsb3NlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiX2Nsb3NlTWVzc2FnZShpdGVtLCB0cnVlLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1pdGVtLWJvZHktdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAge3tpdGVtLnRleHR9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgQGlmIChpdGVtLmxpbmtUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2YgKGl0ZW0ubGlua1RleHQuY29uc3RydWN0b3IgPT09IEFycmF5ID8gaXRlbS5saW5rVGV4dCA6IFtpdGVtLmxpbmtUZXh0XSk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWVzc2FnZS1pdGVtLWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJfZ2V0SXRlbUxpbmtUaXRsZShpdGVtLCBpKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tZXNzYWdlQWN0aW9uKGl0ZW0sIGkpXCJcclxuICAgICAgICAgICAgICAgID57e2xpbmt9fTwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -42,7 +42,6 @@ export class BimplusProjectMenuComponent extends BimplusLocalizedWidgetComponent
|
|
|
42
42
|
{ action: "projectsettings", id: "portalBimProjectSettings", type: "", class: "bim-pm-icon-project-settings", textId: "_Project_settings_tooltip", textIdDisabled: "", disabledTitle: '', checkSubscription: false, devOrStageOnly: false, clickPolicy: "" },
|
|
43
43
|
{ action: "processes", id: "portalBimProcesses", type: "", class: "bim-pm-icon-processes", textId: "_Approvals", textIdDisabled: "", disabledTitle: '', checkSubscription: false, devOrStageOnly: false, clickPolicy: "" }
|
|
44
44
|
];
|
|
45
|
-
//this.prjImageStyle = "";
|
|
46
45
|
}
|
|
47
46
|
//prjImageOverlayStyle:{ [klass: string]: unknown; } | null | undefined;
|
|
48
47
|
//prjImageStyle : { [klass: string]: unknown; } | null | undefined;
|
|
@@ -172,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
172
171
|
type: Input,
|
|
173
172
|
args: [{ transform: booleanAttribute }]
|
|
174
173
|
}] } });
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1wcm9qZWN0LW1lbnUvYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1wcm9qZWN0LW1lbnUvYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFrQjlDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSwrQkFBK0I7SUFDOUUsWUFBWSxnQkFBbUM7UUFDN0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFLaEIsZ0JBQVcsR0FBWSxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxFQUFFLENBQUM7UUFDOUIsdUJBQWtCLEdBQVksRUFBRSxDQUFDO1FBQ2pDLHNCQUFpQixHQUFZLEVBQUUsQ0FBQztRQUNELDJCQUFzQixHQUFhLEtBQUssQ0FBQztRQUN6QyxtQkFBYyxHQUFhLEtBQUssQ0FBQztRQUNqQyxzQkFBaUIsR0FBYSxLQUFLLENB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QkFBcUI7c0JBQTVELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxnQkFBZ0I7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0Usc0JBQXNCO3NCQUE3RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFRSxXQUFXO3NCQUFsRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLFVBQVU7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHVCQUF1QjtzQkFBOUQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIElucHV0LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHtCaW1wbHVzTG9jYWxpemVkV2lkZ2V0Q29tcG9uZW50fSBmcm9tIFwiLi8uLi9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQvYmltcGx1cy1sb2NhbGl6ZWQtd2lkZ2V0LmNvbXBvbmVudFwiXHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHtNZW51TGlzdFR5cGV9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50QXR0cmlidXRlICB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjsgLy8gQWRkIGluZGV4IHNpZ25hdHVyZSBhbGxvd2luZyBzdHJpbmcgaW5kZXhpbmdcclxuICAgLy9PdGhlciBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLi4uXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtcHJvamVjdC1tZW51JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzIDogW1RyYW5zbGF0ZVNlcnZpY2VdLCAgXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtcHJvamVjdC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNQcm9qZWN0TWVudUNvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6ICBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXHJcbiAgICAvL3RoaXMucHJqSW1hZ2VTdHlsZSA9IFwiXCI7XHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgcHJvamVjdE5hbWUgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHByb2plY3RJbWFnZVVybCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHJvamVjdEV4cGxvcmVyVXJsIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwcm9qZWN0QWN0aXZlSXRlbSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RtZW1iZXJzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG1vZGVsc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdHNldHRpbmdzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2Nlc3Nlc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9qZWN0bWVtYmVyc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbW9kZWxzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RzZXR0aW5nc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvY2Vzc2VzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzTWluaU1vZGUgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVG91Y2ggOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhpZGVNZW51SWNvbnMgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dIb3Jpem9udGFsTWVudUljb25zIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIFxyXG4gIHByakxpc3RUaHVtYm5haWwgPSBbXTtcclxuICBwcmpMaXN0ID0gW107XHJcbiAgXHJcbiAgLy9wcmpJbWFnZU92ZXJsYXlTdHlsZTp7IFtrbGFzczogc3RyaW5nXTogdW5rbm93bjsgfSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgLy9wcmpJbWFnZVN0eWxlIDogeyBba2xhc3M6IHN0cmluZ106IHVua25vd247IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuXHJcbiAgZ2V0IHByakltZ1VybCgpeyBcclxuICAgIHJldHVybiAgdGhpcy5wcm9qZWN0SW1hZ2VVcmwgPyB0aGlzLnByb2plY3RJbWFnZVVybCA6IFwiLi9hc3NldHMvaW1hZ2VzL2JpbXBsdXNfQ29tcG9uZW50c19Qcm9qZWN0X1BpY19EZWZhdWx0LnBuZ1wiO1xyXG4gIH1cclxuICBnZXQgYmFja2dyb3VuZFZhbHVlKCl7XHJcbiAgICByZXR1cm4gIGBsaW5lYXItZ3JhZGllbnQocmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjgpLHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC41KSAyNSUsIDc1JSwgcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjgpKSwgdXJsKCR7dGhpcy5wcm9qZWN0SW1hZ2VVcmwgPyB0aGlzLnByb2plY3RJbWFnZVVybCA6ICcuL2Fzc2V0cy9pbWFnZXMvYmltcGx1c19Db21wb25lbnRzX1Byb2plY3RfUGljX0RlZmF1bHQucG5nJ30pYDtcclxuICB9XHJcblxyXG4gIGdldCBwcmpJbWFnZU92ZXJsYXlTdHlsZSAoKSB7XHJcbiAgICByZXR1cm4geydiYWNrZ3JvdW5kJzogYCR7dGhpcy5iYWNrZ3JvdW5kVmFsdWV9YH07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJqSW1hZ2VTdHlsZSgpe1xyXG4gICAgcmV0dXJuIHsnYmFja2dyb3VuZCc6IGB1cmwoJHt0aGlzLnByakltZ1VybH0pYH07XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogTGlzdCBvZiBtZW51IGl0ZW1zXHJcbiAgKiBOb3RlIDogYWN0aW9uIGlzIHVzZWQgdG8gaWRlbnRpZnkgYWN0aW9uIHdoaWNoIHNob3VsZCBiZSBleGVjdXRlZFxyXG4gICogYW5kIGFsc28gaXQgc2VydmVzIGFzIGluZm8gdG9waWMgaWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX21lbnVQcmpMaXN0ICA6IE1lbnVMaXN0VHlwZVtdID0gW1xyXG4gICAgeyBhY3Rpb246XCJwcm9qZWN0bWVtYmVyc1wiLCBpZDpcInBvcnRhbEJpbVVzZXJzXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tcG0taWNvbi11c2Vyc1wiLCB0ZXh0SWQ6IFwiX1Byb2plY3RfbWVtYmVyc190b29sdGlwXCIsIHRleHRJZERpc2FibGVkOiBcIl9JbnN1ZmZpY2llbnQgcmlnaHRzIHRpdGxlXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sICAgIFxyXG4gICAgeyBhY3Rpb246XCJtb2RlbHNcIiwgaWQ6XCJwb3J0YWxCaW1Nb2RlbHNcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1wbS1pY29uLW1vZGVsc1wiLCB0ZXh0SWQ6IFwiX01vZGVsc190b29sdGlwXCIsIHRleHRJZERpc2FibGVkOiBcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJkb2N1bWVudHNcIiwgaWQ6XCJwb3J0YWxCaW1Eb2N1bWVudHNcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1wbS1pY29uLWRvY3VtZW50c1wiLCB0ZXh0SWQ6IFwiX0RvY3VtZW50c190b29sdGlwXCIsIHRleHRJZERpc2FibGVkOiBcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJwcm9qZWN0c2V0dGluZ3NcIiwgaWQ6XCJwb3J0YWxCaW1Qcm9qZWN0U2V0dGluZ3NcIix0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1wbS1pY29uLXByb2plY3Qtc2V0dGluZ3NcIiwgdGV4dElkOiBcIl9Qcm9qZWN0X3NldHRpbmdzX3Rvb2x0aXBcIiwgdGV4dElkRGlzYWJsZWQ6IFwiXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcInByb2Nlc3Nlc1wiLCBpZDpcInBvcnRhbEJpbVByb2Nlc3Nlc1wiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLXBtLWljb24tcHJvY2Vzc2VzXCIsIHRleHRJZDogXCJfQXBwcm92YWxzXCIsIHRleHRJZERpc2FibGVkOiBcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9XHJcbiAgXTtcclxuIFxyXG4gIFxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgc3Vic2NyaWJlZC92aXNpYmxlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0hpZGRlbihpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogaXRlbS5pZH1WaXNpYmxlYDtcclxuICAgICAgXHJcbiAgICAgIHJldHVybiAhKCh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XSk7XHJcbiAgICB9ICAgXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIHN1YnNjcmliZWQvdmlzaWJsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfaXNEaXNhYmxlZChpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcbiAgICAgXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogaXRlbS5pZH1EaXNhYmxlZGA7XHJcbiAgICAgIHJldHVybiAhISh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIFxyXG4gIF9wcm9qZWN0TWVudUl0ZW1DbGlja2VkKGFjdGlvbjpzdHJpbmcscGFyYW06c3RyaW5nKXtcclxuICAgIGNvbnNvbGUubG9nKGFjdGlvbixwYXJhbSk7XHJcbiAgfVxyXG5cclxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiAgaXRlbSBjbGlja2VkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9tZW51SXRlbUNsaWNrZWQoIGl0ZW06TWVudUxpc3RUeXBlLCB0eXBlOiBzdHJpbmcsIGV2ZW50IDogRXZlbnQpe1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coaXRlbSwgdHlwZSwgZXZlbnQpO1xyXG5cclxuXHJcbiAgICBpZih0eXBlICE9IFwiaW5mb1wiKSB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0Rpc2FibGVkKGl0ZW0pKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGFjdGlvbiA9IGl0ZW0uYWN0aW9uO1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsXCJiaW1wbHVzUHJvamVjdE1lbnVDbGlja2VkXCIsIHthY3Rpb24sIHR5cGV9ICk7XHJcbiAgfVxyXG4gIFxyXG4gIF9tZW51SXRlbUlnbm9yZUFjdGlvbihldmVudCA6IEV2ZW50KXtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9nZXRQcmpJdGVtQ2xhc3NBdHRyaWJ1dGVzKGl0ZW06TWVudUxpc3RUeXBlLGlzVG91Y2g6Ym9vbGVhbil7XHJcbiAgICBjb25zdCByZXR2YWw6c3RyaW5nID0gYCR7dGhpcy5faXNEaXNhYmxlZChpdGVtKSA/ICdkaXNhYmxlZCcgOiAnJ30gJHtpc1RvdWNoPycnOidob3Zlci1zaG93LWluZm8nfWA7XHJcbiAgIHJldHVybiByZXR2YWw7XHJcbiAgfVxyXG5cclxuICBfZ2V0UHJqSWNvbkNsYXNzQXR0cmlidXRlcyhpdGVtOk1lbnVMaXN0VHlwZSl7XHJcbiAgICBjb25zdCByZXR2YWw6c3RyaW5nID0gYCR7aXRlbS5jbGFzc30gJHtpdGVtLmFjdGlvbiA9PT0gdGhpcy5wcm9qZWN0QWN0aXZlSXRlbSA/ICdhY3RpdmUgJyA6ICcnfSAke3RoaXMuX2lzRGlzYWJsZWQoaXRlbSkgPyAnZGlzYWJsZWQnIDogJyd9YDtcclxuICAgIHJldHVybiByZXR2YWw7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjcHJqTGlzdD5cclxuQGZvcihpdGVtIG9mIF9tZW51UHJqTGlzdDsgdHJhY2sgaXRlbS5pZCl7XHJcbiAgQGlmICghX2lzSGlkZGVuKGl0ZW0pKXtcclxuICAgIDwhLS0qIHByakxpc3QgKi0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbVwiXHJcbiAgICAgICAgW25nQ2xhc3NdID0gXCJfZ2V0UHJqSXRlbUNsYXNzQXR0cmlidXRlcyhpdGVtLGlzVG91Y2gpXCJcclxuICAgICAgICBbdGl0bGVdPVwiKChfaXNEaXNhYmxlZChpdGVtKSAmJiBpdGVtLnRleHRJZERpc2FibGVkKSA/IGl0ZW0udGV4dElkRGlzYWJsZWQgOiBpdGVtLnRleHRJZCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChkYmxjbGljayk9XCJfbWVudUl0ZW1JZ25vcmVBY3Rpb24oJGV2ZW50KVwiIFxyXG4gICAgICAgIChjbGljayk9XCJfbWVudUl0ZW1DbGlja2VkKGl0ZW0sICdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYmltLXBtLXByai1pY29uXCJcclxuICAgICAgICBbbmdDbGFzc10gPSBcIl9nZXRQcmpJY29uQ2xhc3NBdHRyaWJ1dGVzKGl0ZW0pXCJcclxuICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJpbS1wbS1hcHAtaXRlbS1pbmZvIGJpbS1wbS1pY29uIGJpbS1wbS1pY29uLWluZm9cIlxyXG4gICAgICAoY2xpY2spPVwiX21lbnVJdGVtQ2xpY2tlZChpdGVtLCAnaW5mbycsJGV2ZW50KVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxufVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwcmpMaXN0VGh1bWJuYWlsPlxyXG5AZm9yKGl0ZW0gb2YgX21lbnVQcmpMaXN0OyB0cmFjayBpdGVtLmlkKXtcclxuICBAaWYgKCFfaXNIaWRkZW4oaXRlbSkgJiYgKGlzQ29sbGFwc2VkIHx8IGl0ZW0uYWN0aW9uICE9PSAncHJvY2Vzc2VzJyApKXtcclxuICAgIDwhLS0qIHByakxpc3QgKi0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbVwiXHJcbiAgICAgICAgW25nQ2xhc3NdID0gXCJfZ2V0UHJqSXRlbUNsYXNzQXR0cmlidXRlcyhpdGVtLGlzVG91Y2gpXCJcclxuICAgICAgICBbdGl0bGVdPVwiKChfaXNEaXNhYmxlZChpdGVtKSAmJiBpdGVtLnRleHRJZERpc2FibGVkKSA/IGl0ZW0udGV4dElkRGlzYWJsZWQgOiBpdGVtLnRleHRJZCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChkYmxjbGljayk9XCJfbWVudUl0ZW1JZ25vcmVBY3Rpb24oJGV2ZW50KVwiIFxyXG4gICAgICAgIChjbGljayk9XCJfbWVudUl0ZW1DbGlja2VkKGl0ZW0sICdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYmltLXBtLXByai1pY29uXCJcclxuICAgICAgICBbbmdDbGFzc10gPSBcIl9nZXRQcmpJY29uQ2xhc3NBdHRyaWJ1dGVzKGl0ZW0pXCIgICAgICAgIFxyXG4gICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmltLXBtLWFwcC1pdGVtLWluZm8gYmltLXBtLWljb24gYmltLXBtLWljb24taW5mb1wiXHJcbiAgICAgIChjbGljayk9XCJfbWVudUl0ZW1DbGlja2VkKGl0ZW0sICdpbmZvJywkZXZlbnQpXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG59XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48ZGl2IGNsYXNzPVwiYmltLXBtLXByai1jb250YWluZXJcIlxyXG4gICAgIFtuZ0NsYXNzXSA9IFwiaXNDb2xsYXBzZWQgPyAnY29sbGFwc2VkJyA6ICcnXCJcclxuICAgICBbbmdDbGFzc10gPSBcImlzTWluaU1vZGUgPyAnbWluaS1tb2RlJyA6ICcnXCJcclxuICAgICBbbmdDbGFzc10gPSBcImlzVG91Y2ggPyAnaXMtdG91Y2gnIDogJydcIlxyXG4gPlxyXG4gIEBpZiAoaXNNaW5pTW9kZSAmJiAhaXNDb2xsYXBzZWQpIHtcclxuICA8ZGl2IGNsYXNzPVwiYmltLXBtLXByai1kZXRhaWxzLW1pbmlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLWltYWdlLWJrZy1taW5pXCIgXHJcbiAgICAgICAgIFtuZ1N0eWxlXT1cInByakltYWdlT3ZlcmxheVN0eWxlXCI+ICAgICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLWltYWdlLXRodW1ibmFpbFwiIFtuZ1N0eWxlXT1cInByakltYWdlU3R5bGVcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotbmFtZS1taW5pXCI+XHJcbiAgICAgIHt7cHJvamVjdE5hbWV9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbXMtaG9yaXpvbnRhbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPSBcInNob3dIb3Jpem9udGFsTWVudUljb25zID8gJycgOiAnaGlkZGVuJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbXMtbGlzdFwiPlxyXG4gICAgICBAaWYgKHNob3dIb3Jpem9udGFsTWVudUljb25zKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByakxpc3RcIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG4gIEBlbHNlICAge1xyXG4gIDxhIGhyZWY9e3twcm9qZWN0RXhwbG9yZXJVcmx9fSBjbGFzcz1cImJpbS1wbS1wcmotZGV0YWlsc1wiICAgICBcclxuICAgICAgIFtuZ1N0eWxlXT1cInByakltYWdlT3ZlcmxheVN0eWxlXCJcclxuICAgICAgIChkYmxjbGljayk9XCJfcHJvamVjdE1lbnVJdGVtQ2xpY2tlZCgncHJqaW1hZ2VkYmxjbGljaycsJ25vcm1hbCcpXCJcclxuICAgICAgIChjbGljayk9XCJfcHJvamVjdE1lbnVJdGVtQ2xpY2tlZCgncHJqaW1hZ2VjbGljaycsJ25vcm1hbCcpXCJcclxuICAgICAgIFt0aXRsZV09XCInX01vZGVsVGh1bWJuYWlsVG9vbHRpcCcgfCB0cmFuc2xhdGVcIj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaW1hZ2VcIiAgW25nU3R5bGVdPVwicHJqSW1hZ2VTdHlsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmltLXBtLXByai1pdGVtcy1vdmVybGF5XCIgW25nQ2xhc3NdID0gXCJoaWRlTWVudUljb25zIHx8IHNob3dIb3Jpem9udGFsTWVudUljb25zID8gJ2hpZGRlbicgOiAnJ1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBcclxuICAgICAgICBjbGFzcz1cImJpbS1wbS1wcmotaXRlbXMtbGlzdFwiIFxyXG4gICAgICAgIFtuZ0NsYXNzXSA9IFwiaGlkZU1lbnVJY29ucyB8fCBzaG93SG9yaXpvbnRhbE1lbnVJY29ucyAgPyAnaGlkZGVuJyA6ICcnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgQGlmICghaGlkZU1lbnVJY29ucyAmJiAhc2hvd0hvcml6b250YWxNZW51SWNvbnMpe1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByakxpc3RUaHVtYm5haWxcIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLW5hbWVcIiA+XHJcbiAgICAgICAge3twcm9qZWN0TmFtZX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hPlxyXG4gIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLWl0ZW1zLWhvcml6b250YWxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXSA9IFwic2hvd0hvcml6b250YWxNZW51SWNvbnMgPyAnJyA6ICdoaWRkZW4nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmltLXBtLXByai1pdGVtcy1saXN0XCI+XHJcbiAgICAgIEBpZiAoc2hvd0hvcml6b250YWxNZW51SWNvbnMpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJqTGlzdFwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4gICAgXHJcbn0iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1wcm9qZWN0LW1lbnUvYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1wcm9qZWN0LW1lbnUvYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxrRUFBa0UsQ0FBQTtBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFrQjlDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSwrQkFBK0I7SUFDOUUsWUFBWSxnQkFBbUM7UUFDN0MsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFJaEIsZ0JBQVcsR0FBWSxFQUFFLENBQUM7UUFDMUIsb0JBQWUsR0FBWSxFQUFFLENBQUM7UUFDOUIsdUJBQWtCLEdBQVksRUFBRSxDQUFDO1FBQ2pDLHNCQUFpQixHQUFZLEVBQUUsQ0FBQztRQUNELDJCQUFzQixHQUFhLEtBQUssQ0FBQztRQUN6QyxtQkFBYyxHQUFhLEtBQUssQ0FBQztRQUNqQyxzQkFBaUIsR0FBYSxLQUFLLENB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S0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxzQkFBc0I7c0JBQTdELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsVUFBVTtzQkFBakQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsdUJBQXVCO3NCQUE5RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVNb2R1bGV9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQge0JpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnR9IGZyb20gXCIuLy4uL2JpbXBsdXMtbG9jYWxpemVkLXdpZGdldC9iaW1wbHVzLWxvY2FsaXplZC13aWRnZXQuY29tcG9uZW50XCJcclxuaW1wb3J0IHsgZmlyZUV2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQge01lbnVMaXN0VHlwZX0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCaW1wbHVzUHJvamVjdE1lbnVDb21wb25lbnRBdHRyaWJ1dGUgIHtcclxuICBba2V5OiBzdHJpbmddOiB1bmtub3duOyAvLyBBZGQgaW5kZXggc2lnbmF0dXJlIGFsbG93aW5nIHN0cmluZyBpbmRleGluZ1xyXG4gICAvL090aGVyIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuLi5cclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1wcm9qZWN0LW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlXSxcclxuICBwcm92aWRlcnMgOiBbVHJhbnNsYXRlU2VydmljZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtcHJvamVjdC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1wcm9qZWN0LW1lbnUuY29tcG9uZW50Lmxlc3MnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEJpbXBsdXNQcm9qZWN0TWVudUNvbXBvbmVudCBleHRlbmRzIEJpbXBsdXNMb2NhbGl6ZWRXaWRnZXRDb21wb25lbnQge1xyXG4gIGNvbnN0cnVjdG9yKHRyYW5zbGF0ZVNlcnZpY2U6ICBUcmFuc2xhdGVTZXJ2aWNlKXtcclxuICAgIHN1cGVyKHRyYW5zbGF0ZVNlcnZpY2UpXHJcbiAgfVxyXG5cclxuXHJcbiAgQElucHV0KCkgcHJvamVjdE5hbWUgOiBzdHJpbmcgPSBcIlwiO1xyXG4gIEBJbnB1dCgpIHByb2plY3RJbWFnZVVybCA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KCkgcHJvamVjdEV4cGxvcmVyVXJsIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwcm9qZWN0QWN0aXZlSXRlbSA6IHN0cmluZyA9IFwiXCI7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RtZW1iZXJzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG1vZGVsc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNEaXNhYmxlZCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvamVjdHNldHRpbmdzRGlzYWJsZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2Nlc3Nlc0Rpc2FibGVkIDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIFxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcm9qZWN0bWVtYmVyc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbW9kZWxzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkb2N1bWVudHNWaXNpYmxlIDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHByb2plY3RzZXR0aW5nc1Zpc2libGUgOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJvY2Vzc2VzVmlzaWJsZSA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNDb2xsYXBzZWQgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzTWluaU1vZGUgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVG91Y2ggOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhpZGVNZW51SWNvbnMgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dIb3Jpem9udGFsTWVudUljb25zIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgcHJqTGlzdFRodW1ibmFpbCA9IFtdO1xyXG4gIHByakxpc3QgPSBbXTtcclxuXHJcbiAgLy9wcmpJbWFnZU92ZXJsYXlTdHlsZTp7IFtrbGFzczogc3RyaW5nXTogdW5rbm93bjsgfSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgLy9wcmpJbWFnZVN0eWxlIDogeyBba2xhc3M6IHN0cmluZ106IHVua25vd247IH0gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuXHJcbiAgZ2V0IHByakltZ1VybCgpeyBcclxuICAgIHJldHVybiAgdGhpcy5wcm9qZWN0SW1hZ2VVcmwgPyB0aGlzLnByb2plY3RJbWFnZVVybCA6IFwiLi9hc3NldHMvaW1hZ2VzL2JpbXBsdXNfQ29tcG9uZW50c19Qcm9qZWN0X1BpY19EZWZhdWx0LnBuZ1wiO1xyXG4gIH1cclxuICBnZXQgYmFja2dyb3VuZFZhbHVlKCl7XHJcbiAgICByZXR1cm4gIGBsaW5lYXItZ3JhZGllbnQocmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjgpLHJnYmEoMjQ1LCAyNDUsIDI0NSwgMC41KSAyNSUsIDc1JSwgcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjgpKSwgdXJsKCR7dGhpcy5wcm9qZWN0SW1hZ2VVcmwgPyB0aGlzLnByb2plY3RJbWFnZVVybCA6ICcuL2Fzc2V0cy9pbWFnZXMvYmltcGx1c19Db21wb25lbnRzX1Byb2plY3RfUGljX0RlZmF1bHQucG5nJ30pYDtcclxuICB9XHJcblxyXG4gIGdldCBwcmpJbWFnZU92ZXJsYXlTdHlsZSAoKSB7XHJcbiAgICByZXR1cm4geydiYWNrZ3JvdW5kJzogYCR7dGhpcy5iYWNrZ3JvdW5kVmFsdWV9YH07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJqSW1hZ2VTdHlsZSgpe1xyXG4gICAgcmV0dXJuIHsnYmFja2dyb3VuZCc6IGB1cmwoJHt0aGlzLnByakltZ1VybH0pYH07XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogTGlzdCBvZiBtZW51IGl0ZW1zXHJcbiAgKiBOb3RlIDogYWN0aW9uIGlzIHVzZWQgdG8gaWRlbnRpZnkgYWN0aW9uIHdoaWNoIHNob3VsZCBiZSBleGVjdXRlZFxyXG4gICogYW5kIGFsc28gaXQgc2VydmVzIGFzIGluZm8gdG9waWMgaWRcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgX21lbnVQcmpMaXN0ICA6IE1lbnVMaXN0VHlwZVtdID0gW1xyXG4gICAgeyBhY3Rpb246XCJwcm9qZWN0bWVtYmVyc1wiLCBpZDpcInBvcnRhbEJpbVVzZXJzXCIsIHR5cGU6XCJcIixjbGFzczogXCJiaW0tcG0taWNvbi11c2Vyc1wiLCB0ZXh0SWQ6IFwiX1Byb2plY3RfbWVtYmVyc190b29sdGlwXCIsIHRleHRJZERpc2FibGVkOiBcIl9JbnN1ZmZpY2llbnQgcmlnaHRzIHRpdGxlXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sICAgIFxyXG4gICAgeyBhY3Rpb246XCJtb2RlbHNcIiwgaWQ6XCJwb3J0YWxCaW1Nb2RlbHNcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1wbS1pY29uLW1vZGVsc1wiLCB0ZXh0SWQ6IFwiX01vZGVsc190b29sdGlwXCIsIHRleHRJZERpc2FibGVkOiBcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJkb2N1bWVudHNcIiwgaWQ6XCJwb3J0YWxCaW1Eb2N1bWVudHNcIiwgdHlwZTpcIlwiLGNsYXNzOiBcImJpbS1wbS1pY29uLWRvY3VtZW50c1wiLCB0ZXh0SWQ6IFwiX0RvY3VtZW50c190b29sdGlwXCIsIHRleHRJZERpc2FibGVkOiBcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9LFxyXG4gICAgeyBhY3Rpb246XCJwcm9qZWN0c2V0dGluZ3NcIiwgaWQ6XCJwb3J0YWxCaW1Qcm9qZWN0U2V0dGluZ3NcIix0eXBlOlwiXCIsIGNsYXNzOiBcImJpbS1wbS1pY29uLXByb2plY3Qtc2V0dGluZ3NcIiwgdGV4dElkOiBcIl9Qcm9qZWN0X3NldHRpbmdzX3Rvb2x0aXBcIiwgdGV4dElkRGlzYWJsZWQ6IFwiXCIsZGlzYWJsZWRUaXRsZTonJyxjaGVja1N1YnNjcmlwdGlvbjogZmFsc2UsZGV2T3JTdGFnZU9ubHkgOiBmYWxzZSxjbGlja1BvbGljeTogXCJcIn0sXHJcbiAgICB7IGFjdGlvbjpcInByb2Nlc3Nlc1wiLCBpZDpcInBvcnRhbEJpbVByb2Nlc3Nlc1wiLCB0eXBlOlwiXCIsY2xhc3M6IFwiYmltLXBtLWljb24tcHJvY2Vzc2VzXCIsIHRleHRJZDogXCJfQXBwcm92YWxzXCIsIHRleHRJZERpc2FibGVkOiBcIlwiLGRpc2FibGVkVGl0bGU6JycsY2hlY2tTdWJzY3JpcHRpb246IGZhbHNlLGRldk9yU3RhZ2VPbmx5IDogZmFsc2UsY2xpY2tQb2xpY3k6IFwiXCJ9XHJcbiAgXTtcclxuIFxyXG4gIFxyXG4gIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjaGVjayBpZiBhcHAgaXMgc3Vic2NyaWJlZC92aXNpYmxlXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9pc0hpZGRlbihpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogaXRlbS5pZH1WaXNpYmxlYDtcclxuICAgICAgXHJcbiAgICAgIHJldHVybiAhKCh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XSk7XHJcbiAgICB9ICAgXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2hlY2sgaWYgYXBwIGlzIHN1YnNjcmliZWQvdmlzaWJsZVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfaXNEaXNhYmxlZChpdGVtOk1lbnVMaXN0VHlwZSk6Ym9vbGVhbiB7XHJcbiAgICAgXHJcbiAgICBpZiAoaXRlbSkge1xyXG4gICAgICBjb25zdCBrZXkgPSBgJHtpdGVtLmFjdGlvbiA/IGl0ZW0uYWN0aW9uIDogaXRlbS5pZH1EaXNhYmxlZGA7XHJcbiAgICAgIHJldHVybiAhISh0aGlzIGFzIHVua25vd24gYXMgQmltcGx1c1Byb2plY3RNZW51Q29tcG9uZW50QXR0cmlidXRlIClba2V5XTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIFxyXG4gIF9wcm9qZWN0TWVudUl0ZW1DbGlja2VkKGFjdGlvbjpzdHJpbmcscGFyYW06c3RyaW5nKXtcclxuICAgIGNvbnNvbGUubG9nKGFjdGlvbixwYXJhbSk7XHJcbiAgfVxyXG5cclxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiAgaXRlbSBjbGlja2VkXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIF9tZW51SXRlbUNsaWNrZWQoIGl0ZW06TWVudUxpc3RUeXBlLCB0eXBlOiBzdHJpbmcsIGV2ZW50IDogRXZlbnQpe1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coaXRlbSwgdHlwZSwgZXZlbnQpO1xyXG5cclxuXHJcbiAgICBpZih0eXBlICE9IFwiaW5mb1wiKSB7XHJcbiAgICAgIGlmICh0aGlzLl9pc0Rpc2FibGVkKGl0ZW0pKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGFjdGlvbiA9IGl0ZW0uYWN0aW9uO1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsXCJiaW1wbHVzUHJvamVjdE1lbnVDbGlja2VkXCIsIHthY3Rpb24sIHR5cGV9ICk7XHJcbiAgfVxyXG4gIFxyXG4gIF9tZW51SXRlbUlnbm9yZUFjdGlvbihldmVudCA6IEV2ZW50KXtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIF9nZXRQcmpJdGVtQ2xhc3NBdHRyaWJ1dGVzKGl0ZW06TWVudUxpc3RUeXBlLGlzVG91Y2g6Ym9vbGVhbil7XHJcbiAgICBjb25zdCByZXR2YWw6c3RyaW5nID0gYCR7dGhpcy5faXNEaXNhYmxlZChpdGVtKSA/ICdkaXNhYmxlZCcgOiAnJ30gJHtpc1RvdWNoPycnOidob3Zlci1zaG93LWluZm8nfWA7XHJcbiAgIHJldHVybiByZXR2YWw7XHJcbiAgfVxyXG5cclxuICBfZ2V0UHJqSWNvbkNsYXNzQXR0cmlidXRlcyhpdGVtOk1lbnVMaXN0VHlwZSl7XHJcbiAgICBjb25zdCByZXR2YWw6c3RyaW5nID0gYCR7aXRlbS5jbGFzc30gJHtpdGVtLmFjdGlvbiA9PT0gdGhpcy5wcm9qZWN0QWN0aXZlSXRlbSA/ICdhY3RpdmUgJyA6ICcnfSAke3RoaXMuX2lzRGlzYWJsZWQoaXRlbSkgPyAnZGlzYWJsZWQnIDogJyd9YDtcclxuICAgIHJldHVybiByZXR2YWw7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjcHJqTGlzdD5cclxuQGZvcihpdGVtIG9mIF9tZW51UHJqTGlzdDsgdHJhY2sgaXRlbS5pZCl7XHJcbiAgQGlmICghX2lzSGlkZGVuKGl0ZW0pKXtcclxuICAgIDwhLS0qIHByakxpc3QgKi0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbVwiXHJcbiAgICAgICAgW25nQ2xhc3NdID0gXCJfZ2V0UHJqSXRlbUNsYXNzQXR0cmlidXRlcyhpdGVtLGlzVG91Y2gpXCJcclxuICAgICAgICBbdGl0bGVdPVwiKChfaXNEaXNhYmxlZChpdGVtKSAmJiBpdGVtLnRleHRJZERpc2FibGVkKSA/IGl0ZW0udGV4dElkRGlzYWJsZWQgOiBpdGVtLnRleHRJZCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChkYmxjbGljayk9XCJfbWVudUl0ZW1JZ25vcmVBY3Rpb24oJGV2ZW50KVwiIFxyXG4gICAgICAgIChjbGljayk9XCJfbWVudUl0ZW1DbGlja2VkKGl0ZW0sICdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYmltLXBtLXByai1pY29uXCJcclxuICAgICAgICBbbmdDbGFzc10gPSBcIl9nZXRQcmpJY29uQ2xhc3NBdHRyaWJ1dGVzKGl0ZW0pXCJcclxuICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJpbS1wbS1hcHAtaXRlbS1pbmZvIGJpbS1wbS1pY29uIGJpbS1wbS1pY29uLWluZm9cIlxyXG4gICAgICAoY2xpY2spPVwiX21lbnVJdGVtQ2xpY2tlZChpdGVtLCAnaW5mbycsJGV2ZW50KVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxufVxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwcmpMaXN0VGh1bWJuYWlsPlxyXG5AZm9yKGl0ZW0gb2YgX21lbnVQcmpMaXN0OyB0cmFjayBpdGVtLmlkKXtcclxuICBAaWYgKCFfaXNIaWRkZW4oaXRlbSkgJiYgKGlzQ29sbGFwc2VkIHx8IGl0ZW0uYWN0aW9uICE9PSAncHJvY2Vzc2VzJyApKXtcclxuICAgIDwhLS0qIHByakxpc3QgKi0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbVwiXHJcbiAgICAgICAgW25nQ2xhc3NdID0gXCJfZ2V0UHJqSXRlbUNsYXNzQXR0cmlidXRlcyhpdGVtLGlzVG91Y2gpXCJcclxuICAgICAgICBbdGl0bGVdPVwiKChfaXNEaXNhYmxlZChpdGVtKSAmJiBpdGVtLnRleHRJZERpc2FibGVkKSA/IGl0ZW0udGV4dElkRGlzYWJsZWQgOiBpdGVtLnRleHRJZCkgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChkYmxjbGljayk9XCJfbWVudUl0ZW1JZ25vcmVBY3Rpb24oJGV2ZW50KVwiIFxyXG4gICAgICAgIChjbGljayk9XCJfbWVudUl0ZW1DbGlja2VkKGl0ZW0sICdub3JtYWwnLCRldmVudClcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYmltLXBtLXByai1pY29uXCJcclxuICAgICAgICBbbmdDbGFzc10gPSBcIl9nZXRQcmpJY29uQ2xhc3NBdHRyaWJ1dGVzKGl0ZW0pXCIgICAgICAgIFxyXG4gICAgICA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmltLXBtLWFwcC1pdGVtLWluZm8gYmltLXBtLWljb24gYmltLXBtLWljb24taW5mb1wiXHJcbiAgICAgIChjbGljayk9XCJfbWVudUl0ZW1DbGlja2VkKGl0ZW0sICdpbmZvJywkZXZlbnQpXCI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG59XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48ZGl2IGNsYXNzPVwiYmltLXBtLXByai1jb250YWluZXJcIlxyXG4gICAgIFtuZ0NsYXNzXSA9IFwiaXNDb2xsYXBzZWQgPyAnY29sbGFwc2VkJyA6ICcnXCJcclxuICAgICBbbmdDbGFzc10gPSBcImlzTWluaU1vZGUgPyAnbWluaS1tb2RlJyA6ICcnXCJcclxuICAgICBbbmdDbGFzc10gPSBcImlzVG91Y2ggPyAnaXMtdG91Y2gnIDogJydcIlxyXG4gPlxyXG4gIEBpZiAoaXNNaW5pTW9kZSAmJiAhaXNDb2xsYXBzZWQpIHtcclxuICA8ZGl2IGNsYXNzPVwiYmltLXBtLXByai1kZXRhaWxzLW1pbmlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLWltYWdlLWJrZy1taW5pXCIgXHJcbiAgICAgICAgIFtuZ1N0eWxlXT1cInByakltYWdlT3ZlcmxheVN0eWxlXCI+ICAgICAgICAgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLWltYWdlLXRodW1ibmFpbFwiIFtuZ1N0eWxlXT1cInByakltYWdlU3R5bGVcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotbmFtZS1taW5pXCI+XHJcbiAgICAgIHt7cHJvamVjdE5hbWV9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbXMtaG9yaXpvbnRhbFwiXHJcbiAgICAgICAgW25nQ2xhc3NdPSBcInNob3dIb3Jpem9udGFsTWVudUljb25zID8gJycgOiAnaGlkZGVuJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaXRlbXMtbGlzdFwiPlxyXG4gICAgICBAaWYgKHNob3dIb3Jpem9udGFsTWVudUljb25zKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByakxpc3RcIj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgfVxyXG4gIEBlbHNlICAge1xyXG4gIDxhIGhyZWY9e3twcm9qZWN0RXhwbG9yZXJVcmx9fSBjbGFzcz1cImJpbS1wbS1wcmotZGV0YWlsc1wiICAgICBcclxuICAgICAgIFtuZ1N0eWxlXT1cInByakltYWdlT3ZlcmxheVN0eWxlXCJcclxuICAgICAgIChkYmxjbGljayk9XCJfcHJvamVjdE1lbnVJdGVtQ2xpY2tlZCgncHJqaW1hZ2VkYmxjbGljaycsJ25vcm1hbCcpXCJcclxuICAgICAgIChjbGljayk9XCJfcHJvamVjdE1lbnVJdGVtQ2xpY2tlZCgncHJqaW1hZ2VjbGljaycsJ25vcm1hbCcpXCJcclxuICAgICAgIFt0aXRsZV09XCInX01vZGVsVGh1bWJuYWlsVG9vbHRpcCcgfCB0cmFuc2xhdGVcIj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImJpbS1wbS1wcmotaW1hZ2VcIiAgW25nU3R5bGVdPVwicHJqSW1hZ2VTdHlsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmltLXBtLXByai1pdGVtcy1vdmVybGF5XCIgW25nQ2xhc3NdID0gXCJoaWRlTWVudUljb25zIHx8IHNob3dIb3Jpem9udGFsTWVudUljb25zID8gJ2hpZGRlbicgOiAnJ1wiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBcclxuICAgICAgICBjbGFzcz1cImJpbS1wbS1wcmotaXRlbXMtbGlzdFwiIFxyXG4gICAgICAgIFtuZ0NsYXNzXSA9IFwiaGlkZU1lbnVJY29ucyB8fCBzaG93SG9yaXpvbnRhbE1lbnVJY29ucyAgPyAnaGlkZGVuJyA6ICcnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgQGlmICghaGlkZU1lbnVJY29ucyAmJiAhc2hvd0hvcml6b250YWxNZW51SWNvbnMpe1xyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByakxpc3RUaHVtYm5haWxcIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLW5hbWVcIiA+XHJcbiAgICAgICAge3twcm9qZWN0TmFtZX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9hPlxyXG4gIDxkaXYgY2xhc3M9XCJiaW0tcG0tcHJqLWl0ZW1zLWhvcml6b250YWxcIlxyXG4gICAgICAgIFtuZ0NsYXNzXSA9IFwic2hvd0hvcml6b250YWxNZW51SWNvbnMgPyAnJyA6ICdoaWRkZW4nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmltLXBtLXByai1pdGVtcy1saXN0XCI+XHJcbiAgICAgIEBpZiAoc2hvd0hvcml6b250YWxNZW51SWNvbnMpIHtcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJqTGlzdFwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4gICAgXHJcbn0iXX0=
|