@seniorsistemas/angular-components 17.7.5 → 17.7.6
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/bundles/seniorsistemas-angular-components.umd.js +10 -11
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/esm2015/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +2 -2
- package/esm2015/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +2 -2
- package/esm2015/components/tiered-menu/services/tiered-menu.service.js +2 -2
- package/esm2015/components/tiered-menu/tiered-menu.directive.js +9 -10
- package/esm5/components/tiered-menu/components/tiered-menu/tiered-menu.component.js +2 -2
- package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js +2 -2
- package/esm5/components/tiered-menu/services/tiered-menu.service.js +2 -2
- package/esm5/components/tiered-menu/tiered-menu.directive.js +8 -9
- package/fesm2015/seniorsistemas-angular-components.js +11 -12
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +10 -11
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -272,11 +272,11 @@ var TieredMenuComponent = /** @class */ (function () {
|
|
|
272
272
|
TieredMenuComponent = TieredMenuComponent_1 = __decorate([
|
|
273
273
|
Component({
|
|
274
274
|
selector: "s-tiered-menu",
|
|
275
|
-
template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
|
|
275
|
+
template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
|
|
276
276
|
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}"]
|
|
277
277
|
})
|
|
278
278
|
], TieredMenuComponent);
|
|
279
279
|
return TieredMenuComponent;
|
|
280
280
|
}());
|
|
281
281
|
export { TieredMenuComponent };
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osWUFBWSxFQUNaLFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU92RTtJQWFJLDZCQUNxQixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FBbUIsRUFDbkIsa0JBQXFDLEVBQ3RDLGlCQUFvQyxFQUNuQyx1QkFBK0M7UUFML0MsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNuRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBakI3RCxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULHFCQUFnQixHQUFzQixPQUFPLENBQUM7UUFFN0Msa0JB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LHdCQUF3QjtnQkFDeEMsUUFBUTtnQkFDQyxpQkFBaUI7Z0JBQ25CLGlCQUFpQjtnQkFDVixzQkFBc0I7O0lBUnBFO1FBREMsTUFBTSxFQUFFOytEQUMyQztJQVlwRDtRQURDLFlBQVksQ0FBQyxlQUFlLENBQUM7dURBRzdCO0lBR0Q7UUFEQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs4REFRMUM7SUFHRDtRQURDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOytEQXFDNUM7SUExRVEsbUJBQW1CO1FBTC9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLDRqQkFBMkM7O1NBRTlDLENBQUM7T0FDVyxtQkFBbUIsQ0FxUi9CO0lBQUQsMEJBQUM7Q0FBQSxBQXJSRCxJQXFSQztTQXJSWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RpZXJlZC1tZW51LmV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy10aWVyZWQtbWVudVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGllcmVkLW1lbnUuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGllcmVkLW1lbnUuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdO1xuICAgIHB1YmxpYyB0b3AgPSAwO1xuICAgIHB1YmxpYyBsZWZ0ID0gMDtcbiAgICBwdWJsaWMgbWVudVRyaWdnZXJFdmVudDogXCJjbGlja1wiIHwgXCJob3ZlclwiID0gXCJob3ZlclwiO1xuXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VGllcmVkTWVudUNvbXBvbmVudD4gPSBudWxsO1xuICAgIHByaXZhdGUgX21lbnVEaXZFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZXN0cm95UmVxdWVzdCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0aWVyZWRNZW51U2VydmljZTogVGllcmVkTWVudVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgIHB1YmxpYyBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBDbG9zaW5nIG1lbnUgd2hlbiBjbGlja2VkIG91dHNpZGUuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGFyZ2V0LmNsb3Nlc3QoXCJzLXRpZXJlZC1tZW51LWl0ZW1cIikgfHwgdGFyZ2V0LmNsb3Nlc3QoXCJzLXRpZXJlZC1tZW51LWRpdmlkZXJcIik7XG4gICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd0xlZnRcIjpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93UmlnaHRcIjpcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0uZGlzYWJsZWQgJiYgdGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50LmVtaXQodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtIHx8IHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5kZWNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSB8fCB0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuaW5jcmVtZW50Q3VycmVudEl0ZW1FdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAvLyBDaGVja2luZyBpZiBpdCBpcyB0aGUgY3VycmVudCBtZW51LlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSArIDE7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1cnJlbnRJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIENoZWNraW5nIGlmIGl0IGlzIHRoZSBjdXJyZW50IG1lbnUuXG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVNZW51KGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdLCBwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIGl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRpZXJlZE1lbnVDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgICAgICAgICAvLyBTZXR0aW5nIHRoZSBtZW51IGl0ZW1zLlxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zID0gaXRlbXM7XG5cbiAgICAgICAgICAgIC8vIFN1YnNjcmliZSBtZW51IGV2ZW50cy5cbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXN0cm95UmVxdWVzdC5zdWJzY3JpYmUoKHByb3BhZ2F0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3kocHJvcGFnYXRlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IGRvbUVsZW0ucXVlcnlTZWxlY3RvcihcIi5tZW51XCIpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kocHJvcGFnYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lSZXF1ZXN0LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbihwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IElURU1fSEVJR0hUID0gMzc7XG4gICAgICAgIGNvbnN0IERJVklERVJfSEVJR0hUID0gNTtcbiAgICAgICAgY29uc3QgUEFERElORyA9IDg7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHBvc2l0aW9uO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpdGVtLmRpdmlkZXIgPyBjb3VudCArIDEgOiBjb3VudDtcbiAgICAgICAgICAgIH0sIDApO1xuXG4gICAgICAgICAgICBjb25zdCBkaXZpZGVyc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZGl2aWRlciA/IGNvdW50ICsgMSA6IGNvdW50O1xuICAgICAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgICAgIC8vIEkgbmVlZCB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCBvZiB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIGludGVybmFsIGVsZW1lbnRzIGhhdmUgbm90IGJlZW4gY3JlYXRlZCB5ZXQuXG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gaXRlbXNDb3VudCAqIElURU1fSEVJR0hUICsgZGl2aWRlcnNDb3VudCAqIERJVklERVJfSEVJR0hUICsgUEFERElORyArIDg7XG4gICAgICAgICAgICBjb25zdCBtZW51V2lkdGggPSB0aGlzLl9tZW51RGl2RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICAgICAgY29uc3QgcmlnaHRGcmVlU3BhY2UgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHJpZ2h0O1xuICAgICAgICAgICAgY29uc3QgYm90dG9tRnJlZVNwYWNlID0gd2luZG93LmlubmVySGVpZ2h0IC0gYm90dG9tO1xuXG4gICAgICAgICAgICBpZiAocmlnaHRGcmVlU3BhY2UgPiBtZW51V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IHJpZ2h0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IGxlZnQgLSBtZW51V2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChib3R0b21GcmVlU3BhY2UgPD0gbWVudUhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHQgLSBtZW51SGVpZ2h0LCB3aW5kb3cuc2Nyb2xsWSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSB3aW5kb3cuc2Nyb2xsWSArIHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgLy8gSW5jcmVtZW50IGN1cnJlbnQgaXRlbSBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5pbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBEZWNyZW1lbnQgY3VycmVudCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmRlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFNlbGVjdCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5zdWJtZW51KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5vcGVuSXRlbU1lbnVFdmVudC5lbWl0KGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgaXRlbS5jb21tYW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBDbG9zZSBhbGwgbWVudXMgZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UubWFya0FsbEl0ZW1zQXNDbG9zZWQodGhpcy50aWVyZWRNZW51U2VydmljZS5pdGVtcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE9wZW4gaXRlbSBtZW51IGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50ID09PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2Uuc2VhcmNoVGhlSGllcmFyY2h5KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50LCBpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudC5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoY3VycmVudD8ucGFyZW50ICE9PSBpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUl0ZW1NZW51RXZlbnQuZW1pdChjdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpdGVtLnN1Ym1lbnUgJiYgIWl0ZW0uaXNPcGVuICYmIHRoaXMuaXRlbXMuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRvcCwgcmlnaHQsIGxlZnQsIGJvdHRvbSB9ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7aXRlbS5pZH1gKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHsgdG9wLCByaWdodCwgbGVmdCwgYm90dG9tIH07XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVNZW51KGl0ZW0uc3VibWVudSwgcG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbS5zdWJtZW51O1xuICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnN1Ym1lbnVbMF07XG4gICAgICAgICAgICAgICAgaXRlbS5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBDbG9zZSBpdGVtIG1lbnUgZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VJdGVtTWVudUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuc29tZSgoaSkgPT4gaS5pZCA9PT0gaXRlbS5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0ucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnBhcmVudC5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0/LnBhcmVudD8ucGFyZW50Py5zdWJtZW51IHx8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVxdWVzdC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvY29tcG9uZW50cy90aWVyZWQtbWVudS90aWVyZWQtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2QsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osWUFBWSxFQUNaLFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQU92RTtJQWFJLDZCQUNxQixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FBbUIsRUFDbkIsa0JBQXFDLEVBQ3RDLGlCQUFvQyxFQUNuQyx1QkFBK0M7UUFML0MsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNuRCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDdEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNuQyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXdCO1FBakI3RCxRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUNULHFCQUFnQixHQUFzQixPQUFPLENBQUM7UUFFN0Msa0JB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LHdCQUF3QjtnQkFDeEMsUUFBUTtnQkFDQyxpQkFBaUI7Z0JBQ25CLGlCQUFpQjtnQkFDVixzQkFBc0I7O0lBUnBFO1FBREMsTUFBTSxFQUFFOytEQUMyQztJQVlwRDtRQURDLFlBQVksQ0FBQyxlQUFlLENBQUM7dURBRzdCO0lBR0Q7UUFEQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQzs4REFRMUM7SUFHRDtRQURDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOytEQXFDNUM7SUExRVEsbUJBQW1CO1FBTC9CLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLDRrQkFBMkM7O1NBRTlDLENBQUM7T0FDVyxtQkFBbUIsQ0FxUi9CO0lBQUQsMEJBQUM7Q0FBQSxBQXJSRCxJQXFSQztTQXJSWSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFwcGxpY2F0aW9uUmVmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIEVtYmVkZGVkVmlld1JlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdG9yLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RpZXJlZC1tZW51LmV2ZW50LnNlcnZpY2VcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RpZXJlZC1tZW51LnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy10aWVyZWQtbWVudVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGllcmVkLW1lbnUuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZVVybHM6IFtcIi4vdGllcmVkLW1lbnUuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRpZXJlZE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdO1xuICAgIHB1YmxpYyB0b3AgPSAwO1xuICAgIHB1YmxpYyBsZWZ0ID0gMDtcbiAgICBwdWJsaWMgbWVudVRyaWdnZXJFdmVudDogXCJjbGlja1wiIHwgXCJob3ZlclwiID0gXCJob3ZlclwiO1xuXG4gICAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VGllcmVkTWVudUNvbXBvbmVudD4gPSBudWxsO1xuICAgIHByaXZhdGUgX21lbnVEaXZFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBkZXN0cm95UmVxdWVzdCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9hcHBSZWY6IEFwcGxpY2F0aW9uUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0aWVyZWRNZW51U2VydmljZTogVGllcmVkTWVudVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgIHB1YmxpYyBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICAvLyBDbG9zaW5nIG1lbnUgd2hlbiBjbGlja2VkIG91dHNpZGUuXG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gdGFyZ2V0LmNsb3Nlc3QoXCJzLXRpZXJlZC1tZW51LWl0ZW1cIikgfHwgdGFyZ2V0LmNsb3Nlc3QoXCJzLXRpZXJlZC1tZW51LWRpdmlkZXJcIik7XG4gICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcihcImRvY3VtZW50OmtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbktleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIiBcIjpcbiAgICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd0xlZnRcIjpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlSXRlbU1lbnVFdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93UmlnaHRcIjpcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0uZGlzYWJsZWQgJiYgdGhpcy5pdGVtcy5pbmNsdWRlcyh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50LmVtaXQodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtIHx8IHRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5kZWNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSB8fCB0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuaW5jcmVtZW50Q3VycmVudEl0ZW1FdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLml0ZW1zLmluY2x1ZGVzKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pKSB7XG4gICAgICAgICAgICAvLyBDaGVja2luZyBpZiBpdCBpcyB0aGUgY3VycmVudCBtZW51LlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VycmVudEluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSArIDE7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJbmRleCA8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zW2N1cnJlbnRJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIC8vIENoZWNraW5nIGlmIGl0IGlzIHRoZSBjdXJyZW50IG1lbnUuXG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuaXRlbXMuaW5jbHVkZXModGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVNZW51KGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdLCBwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIGl0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRpZXJlZE1lbnVDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuXG4gICAgICAgICAgICAvLyBTZXR0aW5nIHRoZSBtZW51IGl0ZW1zLlxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zID0gaXRlbXM7XG5cbiAgICAgICAgICAgIC8vIFN1YnNjcmliZSBtZW51IGV2ZW50cy5cbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXN0cm95UmVxdWVzdC5zdWJzY3JpYmUoKHByb3BhZ2F0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3kocHJvcGFnYXRlKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IGRvbUVsZW0ucXVlcnlTZWxlY3RvcihcIi5tZW51XCIpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKHBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kocHJvcGFnYXRlID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLl9tZW51RGl2RWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGFnYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lSZXF1ZXN0LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbihwb3NpdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IElURU1fSEVJR0hUID0gMzc7XG4gICAgICAgIGNvbnN0IERJVklERVJfSEVJR0hUID0gNTtcbiAgICAgICAgY29uc3QgUEFERElORyA9IDg7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3QgeyB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQgfSA9IHBvc2l0aW9uO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICFpdGVtLmRpdmlkZXIgPyBjb3VudCArIDEgOiBjb3VudDtcbiAgICAgICAgICAgIH0sIDApO1xuXG4gICAgICAgICAgICBjb25zdCBkaXZpZGVyc0NvdW50ID0gdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLml0ZW1zPy5yZWR1Y2UoKGNvdW50OiBudW1iZXIsIGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZGl2aWRlciA/IGNvdW50ICsgMSA6IGNvdW50O1xuICAgICAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgICAgIC8vIEkgbmVlZCB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCBvZiB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIGludGVybmFsIGVsZW1lbnRzIGhhdmUgbm90IGJlZW4gY3JlYXRlZCB5ZXQuXG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gaXRlbXNDb3VudCAqIElURU1fSEVJR0hUICsgZGl2aWRlcnNDb3VudCAqIERJVklERVJfSEVJR0hUICsgUEFERElORyArIDg7XG4gICAgICAgICAgICBjb25zdCBtZW51V2lkdGggPSB0aGlzLl9tZW51RGl2RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcblxuICAgICAgICAgICAgY29uc3QgcmlnaHRGcmVlU3BhY2UgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHJpZ2h0O1xuICAgICAgICAgICAgY29uc3QgYm90dG9tRnJlZVNwYWNlID0gd2luZG93LmlubmVySGVpZ2h0IC0gYm90dG9tO1xuXG4gICAgICAgICAgICBpZiAocmlnaHRGcmVlU3BhY2UgPiBtZW51V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IHJpZ2h0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IGxlZnQgLSBtZW51V2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChib3R0b21GcmVlU3BhY2UgPD0gbWVudUhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLm1heCh3aW5kb3cuaW5uZXJIZWlnaHQgLSBtZW51SGVpZ2h0LCB3aW5kb3cuc2Nyb2xsWSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSB3aW5kb3cuc2Nyb2xsWSArIHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgLy8gSW5jcmVtZW50IGN1cnJlbnQgaXRlbSBldmVudC5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5pbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBEZWNyZW1lbnQgY3VycmVudCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmRlY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2RlY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFNlbGVjdCBpdGVtIGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5zdWJtZW51KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5vcGVuSXRlbU1lbnVFdmVudC5lbWl0KGl0ZW0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgaXRlbS5jb21tYW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBDbG9zZSBhbGwgbWVudXMgZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UubWFya0FsbEl0ZW1zQXNDbG9zZWQodGhpcy50aWVyZWRNZW51U2VydmljZS5pdGVtcyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIE9wZW4gaXRlbSBtZW51IGV2ZW50LlxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50ID09PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2Uuc2VhcmNoVGhlSGllcmFyY2h5KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0ucGFyZW50LCBpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudC5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoY3VycmVudD8ucGFyZW50ICE9PSBpdGVtLnBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUl0ZW1NZW51RXZlbnQuZW1pdChjdXJyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpdGVtLnN1Ym1lbnUgJiYgIWl0ZW0uaXNPcGVuICYmIHRoaXMuaXRlbXMuaW5jbHVkZXMoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHRvcCwgcmlnaHQsIGxlZnQsIGJvdHRvbSB9ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7aXRlbS5pZH1gKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHsgdG9wLCByaWdodCwgbGVmdCwgYm90dG9tIH07XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9jcmVhdGVNZW51KGl0ZW0uc3VibWVudSwgcG9zaXRpb24pO1xuICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gaXRlbS5zdWJtZW51O1xuICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnN1Ym1lbnVbMF07XG4gICAgICAgICAgICAgICAgaXRlbS5pc09wZW4gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBDbG9zZSBpdGVtIG1lbnUgZXZlbnQuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VJdGVtTWVudUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXMuc29tZSgoaSkgPT4gaS5pZCA9PT0gaXRlbS5pZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0ucGFyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnBhcmVudC5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0/LnBhcmVudD8ucGFyZW50Py5zdWJtZW51IHx8IHRoaXMudGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSBpdGVtLnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZXN0cm95UmVxdWVzdC5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
package/esm5/components/tiered-menu/components/tiered-menu-nested/tiered-menu-nested.component.js
CHANGED
|
@@ -167,11 +167,11 @@ var TieredMenuNestedComponent = /** @class */ (function () {
|
|
|
167
167
|
], TieredMenuNestedComponent.prototype, "onKeydownHandler", null);
|
|
168
168
|
TieredMenuNestedComponent = __decorate([
|
|
169
169
|
Component({
|
|
170
|
-
template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'left': left + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
170
|
+
template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'left': left + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
171
171
|
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:absolute;z-index:9999;overflow:auto;width:calc(100vw - 8px)}.menu .submenu{margin-left:24px}"]
|
|
172
172
|
})
|
|
173
173
|
], TieredMenuNestedComponent);
|
|
174
174
|
return TieredMenuNestedComponent;
|
|
175
175
|
}());
|
|
176
176
|
export { TieredMenuNestedComponent };
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpZXJlZC1tZW51L2NvbXBvbmVudHMvdGllcmVkLW1lbnUtbmVzdGVkL3RpZXJlZC1tZW51LW5lc3RlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQztJQW1ESSxtQ0FDb0IsaUJBQW9DLEVBQ25DLHVCQUErQztRQURoRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFuRDdELFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBS1Isa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBOEN4QyxDQUFDO0lBM0NFLDRDQUFRLEdBQWY7UUFDSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUdNLG1EQUFlLEdBQXRCLFVBQXVCLEtBQWlCO1FBQ3BDLHFDQUFxQztRQUNyQyxJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBaUIsQ0FBQztRQUN2QyxJQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3RHLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFEO0lBQ0wsQ0FBQztJQUdNLG9EQUFnQixHQUF2QixVQUF3QixLQUFvQjtRQUN4QyxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDZixLQUFLLFFBQVE7Z0JBQ1QsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO2dCQUN2RCxNQUFNO1lBQ1YsS0FBSyxHQUFHLENBQUM7WUFDVCxLQUFLLE9BQU87Z0JBQ1IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0RixNQUFNO1lBQ1YsS0FBSyxXQUFXO2dCQUNaLHFHQUFxRztnQkFDckcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoRyxNQUFNO1lBQ1YsS0FBSyxZQUFZO2dCQUNiLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4RixNQUFNO1lBQ1YsS0FBSyxTQUFTO2dCQUNWLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDOUQsTUFBTTtZQUNWLEtBQUssV0FBVztnQkFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzlELE1BQU07U0FDYjtJQUNMLENBQUM7SUFPTSw0Q0FBUSxHQUFmO1FBQ0ksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSwrQ0FBVyxHQUFsQjtRQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU8scURBQWlCLEdBQXpCO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUU7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVFLE9BQU87U0FDVjtRQUVELElBQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckcsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDdkQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RGO2FBQU07WUFDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0U7UUFFRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQzVDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztJQUVPLHFEQUFpQixHQUF6QjtRQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1RSxPQUFPO1NBQ1Y7UUFFRCxJQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJHLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN0RjthQUFNO1lBQ0gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQzVIO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRTtZQUM1QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFTyw4Q0FBVSxHQUFsQixVQUFtQixJQUFnQzs7UUFDL0MsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVqQyxPQUFPLE9BQU8sSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1NBQzVCO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsR0FBRyxPQUFPLGFBQVAsT0FBTyxjQUFQLE9BQU8sR0FBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSwwQ0FBRSxPQUFPLEtBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztJQUNuRyxDQUFDO0lBRU8sNkNBQVMsR0FBakIsVUFBa0IsSUFBZ0M7UUFDOUMsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRW5ELHdEQUF3RDtZQUN4RCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4RDtZQUVELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUVPLG9EQUFnQixHQUF4QjtRQUFBLGlCQWdEQztRQS9DRyxJQUFJLENBQUMsdUJBQXVCLENBQUMseUJBQXlCO2FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQztZQUNQLEtBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLHVCQUF1QixDQUFDLHlCQUF5QjthQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUM7WUFDUCxLQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlO2FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25DLFNBQVMsQ0FBQyxVQUFDLElBQWdDO1lBQ3hDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsK0NBQStDO2dCQUMvQyxLQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDMUQ7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUI7YUFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLFVBQUMsSUFBZ0M7O1lBQ3hDLElBQUksQ0FBQyxLQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDckQsSUFBSSxPQUFPLEdBQUcsS0FBSSxDQUFDLGFBQWEsQ0FBQztnQkFFakMsYUFBTyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSwwQ0FBRSxNQUFNLEVBQUU7b0JBQzVCLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO2lCQUM1QjtnQkFFRCxLQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxPQUFDLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLE9BQU8sQ0FBQyxDQUFDO2FBQ25GO1lBRUQsS0FBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFFMUIsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0I7YUFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDbkMsU0FBUyxDQUFDLFVBQUMsSUFBZ0M7WUFDeEMsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6QjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7Z0JBaElzQyxpQkFBaUI7Z0JBQ1Ysc0JBQXNCOztJQTFDcEU7UUFEQyxZQUFZLENBQUMsZUFBZSxDQUFDOzZEQUc3QjtJQUdEO1FBREMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7b0VBUTFDO0lBR0Q7UUFEQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztxRUF3QjVDO0lBakRRLHlCQUF5QjtRQUpyQyxTQUFTLENBQUM7WUFDUCxzNUJBQWtEOztTQUVyRCxDQUFDO09BQ1cseUJBQXlCLENBcUxyQztJQUFELGdDQUFDO0NBQUEsQUFyTEQsSUFxTEM7U0FyTFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy90aWVyZWQtbWVudS1pdGVtLWludGVybmFsLWRhdGFcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuc2VydmljZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RpZXJlZC1tZW51LW5lc3RlZC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGllcmVkTWVudU5lc3RlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgaXRlbXM6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhW107XG4gICAgcHVibGljIHRvcCA9IDA7XG4gICAgcHVibGljIGxlZnQgPSAwO1xuICAgIC8vIHB1YmxpYyBtYXhIZWlnaHQgPSAwO1xuXG4gICAgLy8gU2F2ZXMgdGhlIGxhc3Qgb3BlbmVkIGl0ZW0gdG8gY2xvc2UgaXQgd2hlbiBhIG5ldyBvbmUgaXMgb3BlbmVkXG4gICAgcHJpdmF0ZSBfbGFzdE9wZW5JdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YTtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcbiAgICBwdWJsaWMgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xvc2luZyBtZW51IHdoZW4gY2xpY2tlZCBvdXRzaWRlLlxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRhcmdldC5jbG9zZXN0KFwicy10aWVyZWQtbWVudS1pdGVtXCIpIHx8IHRhcmdldC5jbG9zZXN0KFwicy10aWVyZWQtbWVudS1kaXZpZGVyXCIpO1xuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDprZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCIgXCI6XG4gICAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93TGVmdFwiOlxuICAgICAgICAgICAgICAgIC8vIFdoZW4gbmVzdGVkIEkgbmVlZCBhIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBpdGVtJ3MgcGFyZW50IGl0ZW0sIG90aGVyd2lzZSBqdXN0IHRoZSBjdXJyZW50IGl0ZW0uXG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLnBhcmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiQXJyb3dSaWdodFwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5kZWNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0aWVyZWRNZW51U2VydmljZTogVGllcmVkTWVudVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VySW5kZXggPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5pbmRleE9mKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pICsgMTtcblxuICAgICAgICBpZiAoY3VySW5kZXggPCB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jbG9zZUl0ZW0oaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpOiB2b2lkIHtcbiAgICAgICAgbGV0IGl0ZW1BdXggPSB0aGlzLl9sYXN0T3Blbkl0ZW07XG5cbiAgICAgICAgd2hpbGUgKGl0ZW1BdXggJiYgaXRlbUF1eCAhPSBpdGVtKSB7XG4gICAgICAgICAgICBpdGVtQXV4LmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbUF1eCA9IGl0ZW1BdXgucGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaXRlbS5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gaXRlbUF1eCA/PyB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zWzBdO1xuICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW1BdXg/LnBhcmVudD8uc3VibWVudSB8fCB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5JdGVtKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtPy5zdWJtZW51KSB7XG4gICAgICAgICAgICBpdGVtLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0uc3VibWVudTtcblxuICAgICAgICAgICAgLy8gT25seSBoYXMgZm9jdXMgaWYgdGhlcmUgaGFzIGFscmVhZHkgYmVlbiBpbnRlcmFjdGlvbi5cbiAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IGl0ZW0uc3VibWVudVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fbGFzdE9wZW5JdGVtID0gaXRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5pbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jb21tYW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIENsb3NlIGFsbCBtZW51cyBhZnRlciB0aGUgaXRlbSB3YXMgc2VsZWN0ZWQuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUF1eCA9IHRoaXMuX2xhc3RPcGVuSXRlbTtcblxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlbUF1eD8ucGFyZW50Py5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1BdXggPSBpdGVtQXV4LnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VJdGVtTWVudUV2ZW50LmVtaXQoaXRlbUF1eC5wYXJlbnQgPz8gaXRlbUF1eCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fbGFzdE9wZW5JdGVtID0gaXRlbTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX29wZW5JdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUl0ZW1NZW51RXZlbnRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbG9zZUl0ZW0oaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpZXJlZC1tZW51L2NvbXBvbmVudHMvdGllcmVkLW1lbnUtbmVzdGVkL3RpZXJlZC1tZW51LW5lc3RlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRy9CLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQztJQW1ESSxtQ0FDb0IsaUJBQW9DLEVBQ25DLHVCQUErQztRQURoRCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFuRDdELFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBS1Isa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBOEN4QyxDQUFDO0lBM0NFLDRDQUFRLEdBQWY7UUFDSSxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUdNLG1EQUFlLEdBQXRCLFVBQXVCLEtBQWlCO1FBQ3BDLHFDQUFxQztRQUNyQyxJQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBaUIsQ0FBQztRQUN2QyxJQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8s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QkFBaUI7Z0JBQ1Ysc0JBQXNCOztJQTFDcEU7UUFEQyxZQUFZLENBQUMsZUFBZSxDQUFDOzZEQUc3QjtJQUdEO1FBREMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7b0VBUTFDO0lBR0Q7UUFEQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztxRUF3QjVDO0lBakRRLHlCQUF5QjtRQUpyQyxTQUFTLENBQUM7WUFDUCxzNkJBQWtEOztTQUVyRCxDQUFDO09BQ1cseUJBQXlCLENBcUxyQztJQUFELGdDQUFDO0NBQUEsQUFyTEQsSUFxTEM7U0FyTFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhIH0gZnJvbSBcIi4uLy4uL21vZGVscy90aWVyZWQtbWVudS1pdGVtLWludGVybmFsLWRhdGFcIjtcbmltcG9ydCB7IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGllcmVkLW1lbnUuc2VydmljZVwiO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RpZXJlZC1tZW51LW5lc3RlZC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGllcmVkTWVudU5lc3RlZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgaXRlbXM6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhW107XG4gICAgcHVibGljIHRvcCA9IDA7XG4gICAgcHVibGljIGxlZnQgPSAwO1xuICAgIC8vIHB1YmxpYyBtYXhIZWlnaHQgPSAwO1xuXG4gICAgLy8gU2F2ZXMgdGhlIGxhc3Qgb3BlbmVkIGl0ZW0gdG8gY2xvc2UgaXQgd2hlbiBhIG5ldyBvbmUgaXMgb3BlbmVkXG4gICAgcHJpdmF0ZSBfbGFzdE9wZW5JdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YTtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcbiAgICBwdWJsaWMgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICAgIHB1YmxpYyBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xvc2luZyBtZW51IHdoZW4gY2xpY2tlZCBvdXRzaWRlLlxuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcbiAgICAgICAgY29uc3QgY2xpY2tlZEluc2lkZSA9IHRhcmdldC5jbG9zZXN0KFwicy10aWVyZWQtbWVudS1pdGVtXCIpIHx8IHRhcmdldC5jbG9zZXN0KFwicy10aWVyZWQtbWVudS1kaXZpZGVyXCIpO1xuICAgICAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDprZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgY2FzZSBcIkVzY2FwZVwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCIgXCI6XG4gICAgICAgICAgICBjYXNlIFwiRW50ZXJcIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudC5lbWl0KHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIkFycm93TGVmdFwiOlxuICAgICAgICAgICAgICAgIC8vIFdoZW4gbmVzdGVkIEkgbmVlZCBhIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBpdGVtJ3MgcGFyZW50IGl0ZW0sIG90aGVyd2lzZSBqdXN0IHRoZSBjdXJyZW50IGl0ZW0uXG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtLnBhcmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiQXJyb3dSaWdodFwiOlxuICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2Uub3Blbkl0ZW1NZW51RXZlbnQuZW1pdCh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd1VwXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5kZWNyZW1lbnRDdXJyZW50SXRlbUV2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJBcnJvd0Rvd25cIjpcbiAgICAgICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmluY3JlbWVudEN1cnJlbnRJdGVtRXZlbnQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyByZWFkb25seSB0aWVyZWRNZW51U2VydmljZTogVGllcmVkTWVudVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2luY3JlbWVudEN1ckl0ZW0oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zWzBdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3VySW5kZXggPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5pbmRleE9mKHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pICsgMTtcblxuICAgICAgICBpZiAoY3VySW5kZXggPCB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbMF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pbmNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZWNyZW1lbnRDdXJJdGVtKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1swXTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1ckluZGV4ID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMuaW5kZXhPZih0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSAtIDE7XG5cbiAgICAgICAgaWYgKGN1ckluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMudGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtc1tjdXJJbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXNbdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbS5kaXZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jbG9zZUl0ZW0oaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpOiB2b2lkIHtcbiAgICAgICAgbGV0IGl0ZW1BdXggPSB0aGlzLl9sYXN0T3Blbkl0ZW07XG5cbiAgICAgICAgd2hpbGUgKGl0ZW1BdXggJiYgaXRlbUF1eCAhPSBpdGVtKSB7XG4gICAgICAgICAgICBpdGVtQXV4LmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgaXRlbUF1eCA9IGl0ZW1BdXgucGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaXRlbS5pc09wZW4gPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gaXRlbUF1eCA/PyB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zWzBdO1xuICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW1BdXg/LnBhcmVudD8uc3VibWVudSB8fCB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgX29wZW5JdGVtKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKTogdm9pZCB7XG4gICAgICAgIGlmIChpdGVtPy5zdWJtZW51KSB7XG4gICAgICAgICAgICBpdGVtLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IGl0ZW0uc3VibWVudTtcblxuICAgICAgICAgICAgLy8gT25seSBoYXMgZm9jdXMgaWYgdGhlcmUgaGFzIGFscmVhZHkgYmVlbiBpbnRlcmFjdGlvbi5cbiAgICAgICAgICAgIGlmICh0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbSA9IGl0ZW0uc3VibWVudVswXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fbGFzdE9wZW5JdGVtID0gaXRlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5pbmNyZW1lbnRDdXJyZW50SXRlbUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2luY3JlbWVudEN1ckl0ZW0oKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuZGVjcmVtZW50Q3VycmVudEl0ZW1FdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9kZWNyZW1lbnRDdXJJdGVtKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLnNlbGVjdEl0ZW1FdmVudFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbW1hbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5jb21tYW5kKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIENsb3NlIGFsbCBtZW51cyBhZnRlciB0aGUgaXRlbSB3YXMgc2VsZWN0ZWQuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLm9wZW5JdGVtTWVudUV2ZW50XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGl0ZW06IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnRpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcy5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUF1eCA9IHRoaXMuX2xhc3RPcGVuSXRlbTtcblxuICAgICAgICAgICAgICAgICAgICB3aGlsZSAoaXRlbUF1eD8ucGFyZW50Py5wYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1BdXggPSBpdGVtQXV4LnBhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VJdGVtTWVudUV2ZW50LmVtaXQoaXRlbUF1eC5wYXJlbnQgPz8gaXRlbUF1eCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5fbGFzdE9wZW5JdGVtID0gaXRlbTtcblxuICAgICAgICAgICAgICAgIHRoaXMuX29wZW5JdGVtKGl0ZW0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUl0ZW1NZW51RXZlbnRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9jbG9zZUl0ZW0oaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -8,7 +8,7 @@ var TieredMenuService = /** @class */ (function () {
|
|
|
8
8
|
TieredMenuService.prototype.normalizeData = function (items, parent) {
|
|
9
9
|
var _this = this;
|
|
10
10
|
return items.map(function (i) {
|
|
11
|
-
var item = __assign({}, i);
|
|
11
|
+
var item = __assign({ visible: true }, i);
|
|
12
12
|
if (item.submenu) {
|
|
13
13
|
item.submenu = _this.normalizeData(item.submenu, item);
|
|
14
14
|
}
|
|
@@ -51,4 +51,4 @@ var TieredMenuService = /** @class */ (function () {
|
|
|
51
51
|
return TieredMenuService;
|
|
52
52
|
}());
|
|
53
53
|
export { TieredMenuService };
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RpZXJlZC1tZW51L3NlcnZpY2VzL3RpZXJlZC1tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0M7SUFBQTtRQUVXLGlCQUFZLEdBQWlDLEVBQUUsQ0FBQztRQUNoRCxVQUFLLEdBQWlDLEVBQUUsQ0FBQztJQStDcEQsQ0FBQztJQTdDVSx5Q0FBYSxHQUFwQixVQUFxQixLQUEyQixFQUFFLE1BQW1DO1FBQXJGLGlCQWNDO1FBYkcsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUMsQ0FBNkI7WUFDM0MsSUFBTSxJQUFJLGNBQ04sT0FBTyxFQUFFLElBQUksSUFDVixDQUFDLENBQ1AsQ0FBQztZQUNGLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQzthQUN6RDtZQUNELElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLGdEQUFvQixHQUEzQixVQUE0QixLQUFtQztRQUEvRCxpQkFTQztRQVJHLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFDLENBQTZCO1lBQzNDLElBQU0sSUFBSSxnQkFBTyxDQUFDLENBQUMsQ0FBQztZQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzFEO1lBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sOENBQWtCLEdBQXpCLFVBQTBCLEtBQWlDLEVBQUUsS0FBaUM7UUFDMUYsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLE9BQU0sSUFBSSxFQUFFO1lBQ1IsSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO2dCQUNoQixPQUFPLElBQUksQ0FBQzthQUNmO1lBQ0QsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDdEI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sc0NBQVUsR0FBakIsVUFBa0IsS0FBbUM7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRU8sdUNBQVcsR0FBbkI7UUFDSSxPQUFPLFFBQU0sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFHLENBQUE7SUFDekosQ0FBQztJQWpEUSxpQkFBaUI7UUFEN0IsVUFBVSxFQUFFO09BQ0EsaUJBQWlCLENBa0Q3QjtJQUFELHdCQUFDO0NBQUEsQUFsREQsSUFrREM7U0FsRFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IFRpZXJlZE1lbnVJdGVtRGF0YSB9IGZyb20gXCIuLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB9IGZyb20gXCIuLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1pbnRlcm5hbC1kYXRhXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaWVyZWRNZW51U2VydmljZSB7XG4gICAgcHVibGljIGN1cnJlbnRJdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YTtcbiAgICBwdWJsaWMgY3VycmVudEl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdID0gW107XG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdID0gW107XG5cbiAgICBwdWJsaWMgbm9ybWFsaXplRGF0YShpdGVtczogVGllcmVkTWVudUl0ZW1EYXRhW10sIHBhcmVudD86IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGFbXSB7XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoKGk6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpdGVtID0ge1xuICAgICAgICAgICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgLi4uaSxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAoaXRlbS5zdWJtZW51KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5zdWJtZW51ID0gdGhpcy5ub3JtYWxpemVEYXRhKGl0ZW0uc3VibWVudSwgaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtLmlkID0gdGhpcy5fZ2VuZXJhdGVJZCgpO1xuICAgICAgICAgICAgaXRlbS5wYXJlbnQgPSBwYXJlbnQ7XG4gICAgICAgICAgICBpdGVtLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXJrQWxsSXRlbXNBc0Nsb3NlZChpdGVtczogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGFbXSk6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhW10ge1xuICAgICAgICByZXR1cm4gaXRlbXMubWFwKChpOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXRlbSA9IHsuLi5pfTtcbiAgICAgICAgICAgIGlmIChpdGVtLnN1Ym1lbnUpIHtcbiAgICAgICAgICAgICAgICBpdGVtLnN1Ym1lbnUgPSB0aGlzLm1hcmtBbGxJdGVtc0FzQ2xvc2VkKGl0ZW0uc3VibWVudSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWFyY2hUaGVIaWVyYXJjaHkoaXRlbUE6IFRpZXJlZE1lbnVJdGVtSW50ZXJuYWxEYXRhLCBpdGVtQjogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpIHtcbiAgICAgICAgbGV0IGl0ZW0gPSBpdGVtQjtcbiAgICAgICAgd2hpbGUoaXRlbSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0gPT09IGl0ZW1BKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtID0gaXRlbS5wYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9uZUl0ZW1zKGl0ZW1zOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YVtdKTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGFbXSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl0ZW1zKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGlkLSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsIDkpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLCA5KX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwgOSl9YFxuICAgIH0gICAgXG59Il19
|
|
@@ -25,8 +25,7 @@ var TieredMenuDirective = /** @class */ (function () {
|
|
|
25
25
|
this._unsubscribe$ = new Subject();
|
|
26
26
|
}
|
|
27
27
|
TieredMenuDirective.prototype.onClick = function (event) {
|
|
28
|
-
|
|
29
|
-
if (this.triggerEvent === "click" && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && !this._isOpen) {
|
|
28
|
+
if (this.triggerEvent === "click" && !this._isOpen) {
|
|
30
29
|
this._lastActiveElement = document.activeElement;
|
|
31
30
|
this._createMenu();
|
|
32
31
|
event.preventDefault();
|
|
@@ -34,14 +33,12 @@ var TieredMenuDirective = /** @class */ (function () {
|
|
|
34
33
|
}
|
|
35
34
|
};
|
|
36
35
|
TieredMenuDirective.prototype.ngOnInit = function () {
|
|
37
|
-
this._updateServiceItems();
|
|
38
36
|
this._subscribeEvents();
|
|
39
37
|
};
|
|
40
38
|
TieredMenuDirective.prototype.ngDoCheck = function () {
|
|
41
39
|
if (!this.previousItems) {
|
|
42
40
|
this.previousItems = this._tieredMenuService.cloneItems(this.items);
|
|
43
41
|
}
|
|
44
|
-
;
|
|
45
42
|
var hasChanges = false;
|
|
46
43
|
if (this.items.length !== this.previousItems.length) {
|
|
47
44
|
hasChanges = true;
|
|
@@ -68,6 +65,7 @@ var TieredMenuDirective = /** @class */ (function () {
|
|
|
68
65
|
};
|
|
69
66
|
TieredMenuDirective.prototype._createMenu = function () {
|
|
70
67
|
var _a, _b, _c;
|
|
68
|
+
this._updateServiceItems();
|
|
71
69
|
if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
72
70
|
(_b = this._tieredMenuGlobalService.lastInstance) === null || _b === void 0 ? void 0 : _b._destroy();
|
|
73
71
|
this._tieredMenuGlobalService.lastInstance = this;
|
|
@@ -139,16 +137,17 @@ var TieredMenuDirective = /** @class */ (function () {
|
|
|
139
137
|
this._componentRef.instance.top = bottom;
|
|
140
138
|
this._componentRef.instance.left = left;
|
|
141
139
|
if (bottomFreeSpace <= menuHeight) {
|
|
142
|
-
this._componentRef.instance.top = Math.max(bottom - menuHeight, 0);
|
|
140
|
+
this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);
|
|
143
141
|
}
|
|
144
142
|
else {
|
|
145
|
-
|
|
143
|
+
console.log("Tem espaço abaixo");
|
|
144
|
+
this._componentRef.instance.top = window.scrollY + bottom + MARGIN;
|
|
146
145
|
}
|
|
147
146
|
if (rightFreeSpace > 176) {
|
|
148
|
-
this._componentRef.instance.left = left;
|
|
147
|
+
this._componentRef.instance.left = window.scrollX + left;
|
|
149
148
|
}
|
|
150
149
|
else {
|
|
151
|
-
this._componentRef.instance.left = right - ITEM_WIDTH;
|
|
150
|
+
this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;
|
|
152
151
|
}
|
|
153
152
|
if (this._isNested) {
|
|
154
153
|
this._componentRef.instance.left = MARGIN;
|
|
@@ -206,4 +205,4 @@ var TieredMenuDirective = /** @class */ (function () {
|
|
|
206
205
|
return TieredMenuDirective;
|
|
207
206
|
}());
|
|
208
207
|
export { TieredMenuDirective };
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGVBQWUsRUFDZixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXJGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBT25FO0lBeUJJLDZCQUNxQixXQUF1QixFQUN2QixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FBbUIsRUFDbkIsdUJBQStDLEVBQy9DLGtCQUFxQyxFQUNyQyx3QkFBaUQsRUFDakQsa0JBQXFDO1FBUHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDbkQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQiw0QkFB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QUM7O2dCQWpMaUMsVUFBVTtnQkFDZCxjQUFjO2dCQUNJLHdCQUF3QjtnQkFDeEMsUUFBUTtnQkFDTSxzQkFBc0I7Z0JBQzNCLGlCQUFpQjtnQkFDWCx1QkFBdUI7Z0JBQzdCLGlCQUFpQjs7SUEvQjFEO1FBREMsS0FBSyxFQUFFO3NEQUNnQztJQUd4QztRQURDLEtBQUssRUFBRTs2REFDeUM7SUFXakQ7UUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7c0RBUWpDO0lBdkJRLG1CQUFtQjtRQUovQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztTQUN6RCxDQUFDO09BQ1csbUJBQW1CLENBNE0vQjtJQUFELDBCQUFDO0NBQUEsQUE1TUQsSUE0TUM7U0E1TVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS1uZXN0ZWQvdGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbURhdGEgfSBmcm9tIFwiLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvdGllcmVkLW1lbnUuZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUdsb2JhbFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5nbG9iYWwuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJbc1RpZXJlZE1lbnVdXCIsXG4gICAgcHJvdmlkZXJzOiBbVGllcmVkTWVudUV2ZW50U2VydmljZSwgVGllcmVkTWVudVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUaWVyZWRNZW51RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbURhdGFbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHJpZ2dlckV2ZW50OiBcImNsaWNrXCIgfCBcImhvdmVyXCIgPSBcImNsaWNrXCI7XG5cbiAgICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gbnVsbDtcbiAgICBwcml2YXRlIF9zaG93VGltZW91dD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9pc05lc3RlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfbGFzdEFjdGl2ZUVsZW1lbnQ6IEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBwcmV2aW91c0l0ZW1zOiBUaWVyZWRNZW51SXRlbURhdGFbXTtcblxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSBcImNsaWNrXCIgJiYgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM/Lmxlbmd0aCA+IDAgJiYgIXRoaXMuX2lzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlTWVudSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUdsb2JhbFNlcnZpY2U6IFRpZXJlZE1lbnVHbG9iYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNlcnZpY2VJdGVtcygpO1xuICAgICAgICB0aGlzLl9zdWJzY3JpYmVFdmVudHMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucHJldmlvdXNJdGVtcykge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c0l0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY2xvbmVJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICAgICAgfTtcblxuICAgICAgICBsZXQgaGFzQ2hhbmdlcyA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCAhPT0gdGhpcy5wcmV2aW91c0l0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgaGFzQ2hhbmdlcyA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuaXRlbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2NvbXBhcmVJdGVtcyh0aGlzLml0ZW1zW2ldLCB0aGlzLnByZXZpb3VzSXRlbXNbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGFzQ2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5fdXBkYXRlU2VydmljZUl0ZW1zKCk7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB0aGlzLl9yZWJ1aWxkTWVudSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcmV2aW91c0l0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY2xvbmVJdGVtcyh0aGlzLml0ZW1zKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZiAmJiB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUdsb2JhbFNlcnZpY2UubGFzdEluc3RhbmNlPy5fZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudUdsb2JhbFNlcnZpY2UubGFzdEluc3RhbmNlID0gdGhpcztcblxuICAgICAgICAgICAgKHRoaXMuX2xhc3RBY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KT8uYmx1cigpO1xuICAgICAgICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuX2lzTmVzdGVkID0gZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCA8IDYwMDtcblxuICAgICAgICAgICAgdGhpcy5faXNOZXN0ZWQgPyB0aGlzLl9jcmVhdGVOZXN0ZWRNZW51KCkgOiB0aGlzLl9jcmVhdGVUaWVyZWRNZW51KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVUaWVyZWRNZW51KCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2NvbXBvbmVudFJlZiAmJiB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUaWVyZWRNZW51Q29tcG9uZW50KTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuX2luamVjdG9yKTtcblxuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudUNvbXBvbmVudFByb3BlcnRpZXMoKTtcblxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmRlc3Ryb3lSZXF1ZXN0LnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX3NldE1lbnVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlTmVzdGVkTWVudSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudU5lc3RlZENvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG4gICAgICAgICAgICB0aGlzLl9hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudVBvc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9kZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5fc2hvd1RpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmRldGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcblxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG5cbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtcyA9IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zO1xuICAgICAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW0gPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtc1swXTtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVFdmVudFNlcnZpY2UuY2xvc2VBbGxNZW51c0V2ZW50LmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldE1lbnVQb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgSVRFTV9IRUlHSFQgPSAzNztcbiAgICAgICAgY29uc3QgSVRFTV9XSURUSCA9IDE3NjtcbiAgICAgICAgY29uc3QgRElWSURFUl9IRUlHSFQgPSA1O1xuICAgICAgICBjb25zdCBQQURESU5HID0gODtcbiAgICAgICAgY29uc3QgTUFSR0lOID0gNDtcblxuICAgICAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UudG9wID0gODtcblxuICAgICAgICAgICAgY29uc3QgeyBib3R0b20sIGxlZnQsIHJpZ2h0IH0gPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zQ291bnQgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXM/LnJlZHVjZSgoY291bnQ6IG51bWJlciwgaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWl0ZW0uZGl2aWRlciA/IGNvdW50ICsgMSA6IGNvdW50O1xuICAgICAgICAgICAgfSwgMCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGRpdmlkZXJzQ291bnQgPSB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXM/LnJlZHVjZSgoY291bnQ6IG51bWJlciwgaXRlbTogVGllcmVkTWVudUl0ZW1JbnRlcm5hbERhdGEpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICB9LCAwKTtcblxuICAgICAgICAgICAgY29uc3QgbWVudUhlaWdodCA9IGl0ZW1zQ291bnQgKiBJVEVNX0hFSUdIVCArIGRpdmlkZXJzQ291bnQgKiBESVZJREVSX0hFSUdIVCArIFBBRERJTkcgKyBNQVJHSU47XG4gICAgICAgICAgICBjb25zdCByaWdodEZyZWVTcGFjZSA9IHdpbmRvdy5pbm5lcldpZHRoIC0gcmlnaHQ7XG4gICAgICAgICAgICBjb25zdCBib3R0b21GcmVlU3BhY2UgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBib3R0b207XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBib3R0b207XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IGxlZnQ7XG5cbiAgICAgICAgICAgIGlmIChib3R0b21GcmVlU3BhY2UgPD0gbWVudUhlaWdodCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50b3AgPSBNYXRoLm1heChib3R0b20gLSBtZW51SGVpZ2h0LCAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IGJvdHRvbSArIE1BUkdJTjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHJpZ2h0RnJlZVNwYWNlID4gMTc2KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBsZWZ0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IHJpZ2h0IC0gSVRFTV9XSURUSDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzTmVzdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNQVJHSU47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UubWFya0FsbEl0ZW1zQXNDbG9zZWQodGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlSXRlbXMoaXRlbTE6IFRpZXJlZE1lbnVJdGVtRGF0YSwgaXRlbTI6IFRpZXJlZE1lbnVJdGVtRGF0YSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoaXRlbTEpID09PSBKU09OLnN0cmluZ2lmeShpdGVtMik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVidWlsZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVTZXJ2aWNlSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2Uubm9ybWFsaXplRGF0YSh0aGlzLml0ZW1zKTtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXNbMF07XG4gICAgfVxufVxuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGllcmVkLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsY0FBYyxFQUNkLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLFNBQVMsRUFDVCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGVBQWUsRUFDZixZQUFZLEVBQ1osUUFBUSxFQUNSLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXJGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBT25FO0lBeUJJLDZCQUNxQixXQUF1QixFQUN2QixPQUF1QixFQUN2Qix5QkFBbUQsRUFDbkQsU0FBbUIsRUFDbkIsdUJBQStDLEVBQy9DLGtCQUFxQyxFQUNyQyx3QkFBaUQsRUFDakQsa0JBQXFDO1FBUHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDbkQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQiw0QkFB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a0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7O2dCQW5MaUMsVUFBVTtnQkFDZCxjQUFjO2dCQUNJLHdCQUF3QjtnQkFDeEMsUUFBUTtnQkFDTSxzQkFBc0I7Z0JBQzNCLGlCQUFpQjtnQkFDWCx1QkFBdUI7Z0JBQzdCLGlCQUFpQjs7SUEvQjFEO1FBREMsS0FBSyxFQUFFO3NEQUNnQztJQUd4QztRQURDLEtBQUssRUFBRTs2REFDeUM7SUFXakQ7UUFEQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7c0RBUWpDO0lBdkJRLG1CQUFtQjtRQUovQixTQUFTLENBQUM7WUFDUCxRQUFRLEVBQUUsZUFBZTtZQUN6QixTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQztTQUN6RCxDQUFDO09BQ1csbUJBQW1CLENBOE0vQjtJQUFELDBCQUFDO0NBQUEsQUE5TUQsSUE4TUM7U0E5TVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBcHBsaWNhdGlvblJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgQ29tcG9uZW50UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBUaWVyZWRNZW51TmVzdGVkQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy90aWVyZWQtbWVudS1uZXN0ZWQvdGllcmVkLW1lbnUtbmVzdGVkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGllcmVkLW1lbnUvdGllcmVkLW1lbnUuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbURhdGEgfSBmcm9tIFwiLi9tb2RlbHMvdGllcmVkLW1lbnUtaXRlbS1kYXRhXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51RXZlbnRTZXJ2aWNlIH0gZnJvbSBcIi4vc2VydmljZXMvdGllcmVkLW1lbnUuZXZlbnQuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudUdsb2JhbFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5nbG9iYWwuc2VydmljZVwiO1xuaW1wb3J0IHsgVGllcmVkTWVudVNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy90aWVyZWQtbWVudS5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSB9IGZyb20gXCIuL21vZGVsc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogXCJbc1RpZXJlZE1lbnVdXCIsXG4gICAgcHJvdmlkZXJzOiBbVGllcmVkTWVudUV2ZW50U2VydmljZSwgVGllcmVkTWVudVNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBUaWVyZWRNZW51RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW1zOiBUaWVyZWRNZW51SXRlbURhdGFbXSA9IFtdO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHJpZ2dlckV2ZW50OiBcImNsaWNrXCIgfCBcImhvdmVyXCIgPSBcImNsaWNrXCI7XG5cbiAgICBwcml2YXRlIF9jb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+ID0gbnVsbDtcbiAgICBwcml2YXRlIF9zaG93VGltZW91dD86IG51bWJlcjtcbiAgICBwcml2YXRlIF9pc05lc3RlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfbGFzdEFjdGl2ZUVsZW1lbnQ6IEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBwcmV2aW91c0l0ZW1zOiBUaWVyZWRNZW51SXRlbURhdGFbXTtcblxuICAgIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gICAgcHVibGljIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudHJpZ2dlckV2ZW50ID09PSBcImNsaWNrXCIgJiYgIXRoaXMuX2lzT3Blbikge1xuICAgICAgICAgICAgdGhpcy5fbGFzdEFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5fY3JlYXRlTWVudSgpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2FwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVFdmVudFNlcnZpY2U6IFRpZXJlZE1lbnVFdmVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RpZXJlZE1lbnVTZXJ2aWNlOiBUaWVyZWRNZW51U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdGllcmVkTWVudUdsb2JhbFNlcnZpY2U6IFRpZXJlZE1lbnVHbG9iYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmliZUV2ZW50cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wcmV2aW91c0l0ZW1zKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzSXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jbG9uZUl0ZW1zKHRoaXMuaXRlbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhhc0NoYW5nZXMgPSBmYWxzZTtcblxuICAgICAgICBpZiAodGhpcy5pdGVtcy5sZW5ndGggIT09IHRoaXMucHJldmlvdXNJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGhhc0NoYW5nZXMgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLml0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLl9jb21wYXJlSXRlbXModGhpcy5pdGVtc1tpXSwgdGhpcy5wcmV2aW91c0l0ZW1zW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICBoYXNDaGFuZ2VzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0NoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVNlcnZpY2VJdGVtcygpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgdGhpcy5fcmVidWlsZE1lbnUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXNJdGVtcyA9IHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmNsb25lSXRlbXModGhpcy5pdGVtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZSQuY29tcGxldGUoKTtcblxuICAgICAgICB0aGlzLl9kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2VydmljZUl0ZW1zKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVHbG9iYWxTZXJ2aWNlLmxhc3RJbnN0YW5jZT8uX2Rlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVHbG9iYWxTZXJ2aWNlLmxhc3RJbnN0YW5jZSA9IHRoaXM7XG5cbiAgICAgICAgICAgICh0aGlzLl9sYXN0QWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk/LmJsdXIoKTtcbiAgICAgICAgICAgIHRoaXMuX2lzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9pc05lc3RlZCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggPCA2MDA7XG5cbiAgICAgICAgICAgIHRoaXMuX2lzTmVzdGVkID8gdGhpcy5fY3JlYXRlTmVzdGVkTWVudSgpIDogdGhpcy5fY3JlYXRlVGllcmVkTWVudSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlVGllcmVkTWVudSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb21wb25lbnRSZWYgJiYgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoVGllcmVkTWVudUNvbXBvbmVudCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBjb21wb25lbnRGYWN0b3J5LmNyZWF0ZSh0aGlzLl9pbmplY3Rvcik7XG5cbiAgICAgICAgICAgIHRoaXMuX2FwcFJlZi5hdHRhY2hWaWV3KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgICAgICAgICBjb25zdCBkb21FbGVtID0gKHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgICAgIHRoaXMuX3NldE1lbnVDb21wb25lbnRQcm9wZXJ0aWVzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5kZXN0cm95UmVxdWVzdC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLl9zZXRNZW51UG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZU5lc3RlZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5fY29tcG9uZW50UmVmICYmIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFRpZXJlZE1lbnVOZXN0ZWRDb21wb25lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gY29tcG9uZW50RmFjdG9yeS5jcmVhdGUodGhpcy5faW5qZWN0b3IpO1xuICAgICAgICAgICAgdGhpcy5fYXBwUmVmLmF0dGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcbiAgICAgICAgICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICAgICAgdGhpcy5fc2V0TWVudUNvbXBvbmVudFByb3BlcnRpZXMoKTtcbiAgICAgICAgICAgIHRoaXMuX3NldE1lbnVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5faXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3Nob3dUaW1lb3V0KTtcbiAgICAgICAgICAgIHRoaXMuX2FwcFJlZi5kZXRhY2hWaWV3KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuXG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51U2VydmljZS5jdXJyZW50SXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXNbMF07XG4gICAgICAgICAgICB0aGlzLl90aWVyZWRNZW51RXZlbnRTZXJ2aWNlLmNsb3NlQWxsTWVudXNFdmVudC5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRNZW51UG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IElURU1fSEVJR0hUID0gMzc7XG4gICAgICAgIGNvbnN0IElURU1fV0lEVEggPSAxNzY7XG4gICAgICAgIGNvbnN0IERJVklERVJfSEVJR0hUID0gNTtcbiAgICAgICAgY29uc3QgUEFERElORyA9IDg7XG4gICAgICAgIGNvbnN0IE1BUkdJTiA9IDQ7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IDg7XG5cbiAgICAgICAgICAgIGxldCB7IGJvdHRvbSwgbGVmdCwgcmlnaHQgfSA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgY29uc3QgaXRlbXNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAhaXRlbS5kaXZpZGVyID8gY291bnQgKyAxIDogY291bnQ7XG4gICAgICAgICAgICB9LCAwKTtcblxuICAgICAgICAgICAgY29uc3QgZGl2aWRlcnNDb3VudCA9IHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5pdGVtcz8ucmVkdWNlKChjb3VudDogbnVtYmVyLCBpdGVtOiBUaWVyZWRNZW51SXRlbUludGVybmFsRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmRpdmlkZXIgPyBjb3VudCArIDEgOiBjb3VudDtcbiAgICAgICAgICAgIH0sIDApO1xuXG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gaXRlbXNDb3VudCAqIElURU1fSEVJR0hUICsgZGl2aWRlcnNDb3VudCAqIERJVklERVJfSEVJR0hUICsgUEFERElORyArIE1BUkdJTjtcbiAgICAgICAgICAgIGNvbnN0IHJpZ2h0RnJlZVNwYWNlID0gd2luZG93LmlubmVyV2lkdGggLSByaWdodDtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbUZyZWVTcGFjZSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGJvdHRvbTtcblxuICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IGJvdHRvbTtcbiAgICAgICAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5sZWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgaWYgKGJvdHRvbUZyZWVTcGFjZSA8PSBtZW51SGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IE1hdGgubWF4KHNjcm9sbFkgKyBib3R0b20gLSBtZW51SGVpZ2h0LCAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJUZW0gZXNwYcOnbyBhYmFpeG9cIik7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRvcCA9IHdpbmRvdy5zY3JvbGxZICsgYm90dG9tICsgTUFSR0lOO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAocmlnaHRGcmVlU3BhY2UgPiAxNzYpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UubGVmdCA9IHdpbmRvdy5zY3JvbGxYICsgbGVmdDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSB3aW5kb3cuc2Nyb2xsWCArIHJpZ2h0IC0gSVRFTV9XSURUSDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzTmVzdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmxlZnQgPSBNQVJHSU47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRNZW51Q29tcG9uZW50UHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXRlbXMgPSB0aGlzLl90aWVyZWRNZW51U2VydmljZS5pdGVtcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3N1YnNjcmliZUV2ZW50cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudUV2ZW50U2VydmljZS5jbG9zZUFsbE1lbnVzRXZlbnQucGlwZSh0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UubWFya0FsbEl0ZW1zQXNDbG9zZWQodGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5fZGVzdHJveSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlSXRlbXMoaXRlbTE6IFRpZXJlZE1lbnVJdGVtRGF0YSwgaXRlbTI6IFRpZXJlZE1lbnVJdGVtRGF0YSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoaXRlbTEpID09PSBKU09OLnN0cmluZ2lmeShpdGVtMik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVidWlsZE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF91cGRhdGVTZXJ2aWNlSXRlbXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLml0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2Uubm9ybWFsaXplRGF0YSh0aGlzLml0ZW1zKTtcbiAgICAgICAgdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuY3VycmVudEl0ZW1zID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXM7XG4gICAgICAgIHRoaXMuX3RpZXJlZE1lbnVTZXJ2aWNlLmN1cnJlbnRJdGVtID0gdGhpcy5fdGllcmVkTWVudVNlcnZpY2UuaXRlbXNbMF07XG4gICAgfVxufVxuIl19
|
|
@@ -14965,7 +14965,7 @@ let TieredMenuService = class TieredMenuService {
|
|
|
14965
14965
|
}
|
|
14966
14966
|
normalizeData(items, parent) {
|
|
14967
14967
|
return items.map((i) => {
|
|
14968
|
-
const item = Object.assign({}, i);
|
|
14968
|
+
const item = Object.assign({ visible: true }, i);
|
|
14969
14969
|
if (item.submenu) {
|
|
14970
14970
|
item.submenu = this.normalizeData(item.submenu, item);
|
|
14971
14971
|
}
|
|
@@ -15169,7 +15169,7 @@ __decorate([
|
|
|
15169
15169
|
], TieredMenuNestedComponent.prototype, "onKeydownHandler", null);
|
|
15170
15170
|
TieredMenuNestedComponent = __decorate([
|
|
15171
15171
|
Component({
|
|
15172
|
-
template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'left': left + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
15172
|
+
template: "<div\n class=\"menu menu--nested\"\n [ngStyle]=\"{\n 'top': top + 'px',\n 'left': left + 'px'\n }\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: items }\"></ng-container>\n</div>\n\n<ng-template #itemsTemplate let-items>\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [closeOnClick]=\"true\">\n </s-tiered-menu-item>\n\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n\n <div *ngIf=\"item.submenu && item.isOpen\">\n <div class=\"submenu\">\n <ng-container *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: item.submenu }\"></ng-container>\n </div>\n </div>\n </div>\n</ng-template>\n",
|
|
15173
15173
|
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;min-width:176px;padding:4px 0;position:absolute;z-index:9999;overflow:auto;width:calc(100vw - 8px)}.menu .submenu{margin-left:24px}"]
|
|
15174
15174
|
})
|
|
15175
15175
|
], TieredMenuNestedComponent);
|
|
@@ -15439,7 +15439,7 @@ __decorate([
|
|
|
15439
15439
|
TieredMenuComponent = TieredMenuComponent_1 = __decorate([
|
|
15440
15440
|
Component({
|
|
15441
15441
|
selector: "s-tiered-menu",
|
|
15442
|
-
template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"!item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
|
|
15442
|
+
template: "<div\n class=\"menu\"\n [ngStyle]=\"{\n 'left': left + 'px',\n 'top': top + 'px'\n }\">\n\n <div *ngFor=\"let item of items\">\n <s-tiered-menu-item\n *ngIf=\"item.visible && !item.divider\"\n [item]=\"item\"\n [focused]=\"item === tieredMenuService.currentItem\"\n [highlight]=\"item.isOpen\"\n triggerEvent=\"hover\"\n [closeOnClick]=\"false\">\n </s-tiered-menu-item>\n <s-tiered-menu-divider *ngIf=\"item.divider\"></s-tiered-menu-divider>\n </div>\n</div>",
|
|
15443
15443
|
styles: [".menu{background-color:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;max-height:100vh;min-width:176px;padding:4px 0;overflow-y:auto;position:absolute;z-index:9999}"]
|
|
15444
15444
|
})
|
|
15445
15445
|
], TieredMenuComponent);
|
|
@@ -15468,8 +15468,7 @@ let TieredMenuDirective = class TieredMenuDirective {
|
|
|
15468
15468
|
this._unsubscribe$ = new Subject();
|
|
15469
15469
|
}
|
|
15470
15470
|
onClick(event) {
|
|
15471
|
-
|
|
15472
|
-
if (this.triggerEvent === "click" && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && !this._isOpen) {
|
|
15471
|
+
if (this.triggerEvent === "click" && !this._isOpen) {
|
|
15473
15472
|
this._lastActiveElement = document.activeElement;
|
|
15474
15473
|
this._createMenu();
|
|
15475
15474
|
event.preventDefault();
|
|
@@ -15477,14 +15476,12 @@ let TieredMenuDirective = class TieredMenuDirective {
|
|
|
15477
15476
|
}
|
|
15478
15477
|
}
|
|
15479
15478
|
ngOnInit() {
|
|
15480
|
-
this._updateServiceItems();
|
|
15481
15479
|
this._subscribeEvents();
|
|
15482
15480
|
}
|
|
15483
15481
|
ngDoCheck() {
|
|
15484
15482
|
if (!this.previousItems) {
|
|
15485
15483
|
this.previousItems = this._tieredMenuService.cloneItems(this.items);
|
|
15486
15484
|
}
|
|
15487
|
-
;
|
|
15488
15485
|
let hasChanges = false;
|
|
15489
15486
|
if (this.items.length !== this.previousItems.length) {
|
|
15490
15487
|
hasChanges = true;
|
|
@@ -15511,6 +15508,7 @@ let TieredMenuDirective = class TieredMenuDirective {
|
|
|
15511
15508
|
}
|
|
15512
15509
|
_createMenu() {
|
|
15513
15510
|
var _a, _b, _c;
|
|
15511
|
+
this._updateServiceItems();
|
|
15514
15512
|
if (!this._componentRef && ((_a = this._tieredMenuService.items) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
15515
15513
|
(_b = this._tieredMenuGlobalService.lastInstance) === null || _b === void 0 ? void 0 : _b._destroy();
|
|
15516
15514
|
this._tieredMenuGlobalService.lastInstance = this;
|
|
@@ -15568,7 +15566,7 @@ let TieredMenuDirective = class TieredMenuDirective {
|
|
|
15568
15566
|
const MARGIN = 4;
|
|
15569
15567
|
if (this._componentRef !== null) {
|
|
15570
15568
|
this._componentRef.instance.top = 8;
|
|
15571
|
-
|
|
15569
|
+
let { bottom, left, right } = this._elementRef.nativeElement.getBoundingClientRect();
|
|
15572
15570
|
const itemsCount = (_a = this._componentRef.instance.items) === null || _a === void 0 ? void 0 : _a.reduce((count, item) => {
|
|
15573
15571
|
return !item.divider ? count + 1 : count;
|
|
15574
15572
|
}, 0);
|
|
@@ -15581,16 +15579,17 @@ let TieredMenuDirective = class TieredMenuDirective {
|
|
|
15581
15579
|
this._componentRef.instance.top = bottom;
|
|
15582
15580
|
this._componentRef.instance.left = left;
|
|
15583
15581
|
if (bottomFreeSpace <= menuHeight) {
|
|
15584
|
-
this._componentRef.instance.top = Math.max(bottom - menuHeight, 0);
|
|
15582
|
+
this._componentRef.instance.top = Math.max(scrollY + bottom - menuHeight, 0);
|
|
15585
15583
|
}
|
|
15586
15584
|
else {
|
|
15587
|
-
|
|
15585
|
+
console.log("Tem espaço abaixo");
|
|
15586
|
+
this._componentRef.instance.top = window.scrollY + bottom + MARGIN;
|
|
15588
15587
|
}
|
|
15589
15588
|
if (rightFreeSpace > 176) {
|
|
15590
|
-
this._componentRef.instance.left = left;
|
|
15589
|
+
this._componentRef.instance.left = window.scrollX + left;
|
|
15591
15590
|
}
|
|
15592
15591
|
else {
|
|
15593
|
-
this._componentRef.instance.left = right - ITEM_WIDTH;
|
|
15592
|
+
this._componentRef.instance.left = window.scrollX + right - ITEM_WIDTH;
|
|
15594
15593
|
}
|
|
15595
15594
|
if (this._isNested) {
|
|
15596
15595
|
this._componentRef.instance.left = MARGIN;
|