@skyux/tiles 10.42.0 → 10.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -549,12 +549,12 @@ export class SkyTileDashboardService {
549
549
  }
550
550
  }
551
551
  }
552
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
553
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardService }); }
552
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
553
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardService }); }
554
554
  }
555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardService, decorators: [{
555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardService, decorators: [{
556
556
  type: Injectable
557
557
  }], ctorParameters: () => [], propDecorators: { dashboardInitialized: [{
558
558
  type: Output
559
559
  }] } });
560
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBRU4sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEdBQ25CLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVN0QyxNQUFNLFlBQVksR0FBRyw2QkFBNkIsQ0FBQztBQUVuRCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFHbkIsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEMsUUFBUSxDQUF5RDtJQUNqRSxPQUFPLENBQXFDO0lBQzVDLGtCQUFrQixDQUEyQjtJQUM3QyxhQUFhLENBQThDO0lBQzNELFlBQVksQ0FBcUI7SUFDakMsZUFBZSxDQUFrQztJQUVqRCxlQUFlLENBQTBCO0lBQ3pDLHdCQUF3QixDQUFzQztJQUM5RCxXQUFXLENBQWdDO0lBQzNDLGdCQUFnQixDQUE4QjtJQUU5QztRQXZCQTs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFakU7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBU3ZELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLDZCQUF3QixHQUFHLE1BQU0sQ0FB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RSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELHlCQUF5QjtRQUN6QixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzs4R0E3c0JVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO3dEQWdCRixvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0YWJsZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24sXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICBTa3lNZWRpYUJyZWFrcG9pbnRzLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5VUlDb25maWdTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IERyYWd1bGFTZXJ2aWNlIH0gZnJvbSAnbmcyLWRyYWd1bGEnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZyB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWcnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbiB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LWNvbHVtbic7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ1RpbGUgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RpbGUvdGlsZS5jb21wb25lbnQnO1xuXG5jb25zdCBBVFRSX1RJTEVfSUQgPSAnX3NreS10aWxlLWRhc2hib2FyZC10aWxlLWlkJztcblxubGV0IGJhZ0lkSW5kZXggPSAwO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGlsZURhc2hib2FyZFNlcnZpY2Uge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lUaWxlRGFzaGJvYXJkQ29uZmlnPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0aWxlIGRhc2hib2FyZCdzIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkYXNoYm9hcmRJbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuICAjY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjbWVkaWFTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgI3NpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI3NldHRpbmdzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICN0aWxlQ29tcG9uZW50czogQ29tcG9uZW50UmVmPGFueT5bXSB8IHVuZGVmaW5lZDtcblxuICAjZHJhZ3VsYVNlcnZpY2UgPSBpbmplY3QoRHJhZ3VsYVNlcnZpY2UpO1xuICAjZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UpO1xuICAjbWVkaWFRdWVyeSA9IGluamVjdChTa3lNZWRpYVF1ZXJ5U2VydmljZSk7XG4gICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJhZ0lkID0gYHNreS10aWxlLWRhc2hib2FyZC1iYWctJHsrK2JhZ0lkSW5kZXh9YDtcblxuICAgIHRoaXMuI2luaXREcmFndWxhKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgaW5pdChcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1ucz86IFF1ZXJ5TGlzdDxTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50PixcbiAgICBzaW5nbGVDb2x1bW4/OiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50LFxuICAgIHNldHRpbmdzS2V5Pzogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc2V0dGluZ3NLZXkpIHtcbiAgICAgIC8vIENsb25lIHRoaXMgc28gY2hhbmdlcyB0byB0aGUgY29uZmlnIG9iamVjdCBvdXRzaWRlIG9mIHRoaXMgY2xhc3MgZG9uJ3QgbW9kaWZ5XG4gICAgICAvLyB0aGUgY29uZmlnIHVzZWQgaW5zaWRlIGFuZCB2aWNlIHZlcnNhLlxuICAgICAgdGhpcy4jY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnKSBhcyBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnO1xuXG4gICAgICB0aGlzLiNzZXR0aW5nc0tleSA9IHNldHRpbmdzS2V5O1xuXG4gICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyhzZXR0aW5nc0tleSwgY29uZmlnKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jY29uZmlnICYmIHZhbHVlLnBlcnNpc3RlZCkge1xuICAgICAgICAgICAgICB0aGlzLiNjb25maWcubGF5b3V0ID0gdmFsdWUubGF5b3V0O1xuICAgICAgICAgICAgICB0aGlzLiNjaGVja0Zvck5ld1RpbGVzKHZhbHVlLnRpbGVJZHMpO1xuICAgICAgICAgICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuI2NvbmZpZyk7XG5cbiAgICAgICAgICAgICAgdGhpcy4jY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgICAgICAgICAgIHRoaXMuI3NpbmdsZUNvbHVtbiA9IHNpbmdsZUNvbHVtbjtcbiAgICAgICAgICAgICAgdGhpcy4jY2hlY2tSZWFkeUFuZExvYWRUaWxlcygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gQmFkIGRhdGEsIG9yIGNvbmZpZyBpcyB0aGUgZGVmYXVsdCBjb25maWcuXG4gICAgICAgICAgICAgIHRoaXMuI2luaXRUb0RlZmF1bHRzKGNvbmZpZywgY29sdW1ucywgc2luZ2xlQ29sdW1uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyBDb25maWcgc2V0dGluZyBrZXkgZG9lc24ndCBleGlzdCBvciBvdGhlciBjb25maWcgc2VydmljZSBlcnJvclxuICAgICAgICAgICAgdGhpcy4jaW5pdFRvRGVmYXVsdHMoY29uZmlnLCBjb2x1bW5zLCBzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2luaXRUb0RlZmF1bHRzKGNvbmZpZywgY29sdW1ucywgc2luZ2xlQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0aWxlIHRvIHRoZSB0aWxlIGRhc2hib2FyZC5cbiAgICogQHBhcmFtIHRpbGUgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkVGlsZUNvbXBvbmVudChcbiAgICB0aWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiN0aWxlQ29tcG9uZW50cyA9IHRoaXMuI3RpbGVDb21wb25lbnRzIHx8IFtdO1xuXG4gICAgdGhpcy4jdGlsZUNvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuXG4gICAgY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCwgdGlsZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzcGVjaWZpZWQgdGlsZSBpcyBjb2xsYXBzZWQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgdGlsZUlzQ29sbGFwc2VkKHRpbGU6IFNreVRpbGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGlsZUNvbmZpZy5pc0NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFsbCB0aWxlcy5cbiAgICogQHBhcmFtIGlzQ29sbGFwc2VkIEluZGljYXRlcyB3aGV0aGVyIHRpbGVzIGFyZSBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsVGlsZXNDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHNwZWNpZmllZCB0aWxlLlxuICAgKiBAcGFyYW0gdGlsZSBTcGVjaWZpZXMgdGhlIHRpbGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gaXNDb2xsYXBzZWQgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpbGUgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIHNldFRpbGVDb2xsYXBzZWQoXG4gICAgdGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBpc0NvbGxhcHNlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdGlsZUNvbmZpZyA9IHRoaXMuI2ZpbmRUaWxlKHRoaXMuI2dldFRpbGVJZCh0aWxlKSk7XG5cbiAgICBpZiAodGlsZUNvbmZpZykge1xuICAgICAgdGlsZUNvbmZpZy5pc0NvbGxhcHNlZCA9IGlzQ29sbGFwc2VkO1xuXG4gICAgICBpZiAodGhpcy4jc2V0dGluZ3NLZXkpIHtcbiAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyh0aGlzLiNjb25maWcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnRUeXBlKFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlIHwgdW5kZWZpbmVkLFxuICApOiBhbnkge1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlLmNvbXBvbmVudFR5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNoYW5nZUNvbHVtbk1vZGUoaXNTaW5nbGVDb2x1bW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgaWYgKGlzU2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIHRoaXMuI21vdmVUaWxlc1RvU2luZ2xlQ29sdW1uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb011bHRpQ29sdW1uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnQodGlsZUlkOiBzdHJpbmcpOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuI3RpbGVDb21wb25lbnRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHRpbGVDb21wb25lbnQgb2YgdGhpcy4jdGlsZUNvbXBvbmVudHMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpbGVDb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKSA9PT1cbiAgICAgICAgICB0aWxlSWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRpbGVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jbWVkaWFTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI21lZGlhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG1vdmVUaWxlT25LZXlEb3duKFxuICAgIHRpbGVDbXA6IFNreVRpbGVDb21wb25lbnQsXG4gICAgZGlyZWN0aW9uOiBzdHJpbmcsXG4gICAgdGlsZURlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIGNvbnN0IGlzU2luZ2xlQ29sdW1uTW9kZSA9XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc207XG5cbiAgICAgIGNvbnN0IHRpbGVJZCA9IHRoaXMuI2dldFRpbGVJZCh0aWxlQ21wKTtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNmaW5kVGlsZSh0aWxlSWQpO1xuXG4gICAgICBsZXQgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uIHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IGNvbEluZGV4ID0gMDtcbiAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgY29sdW1uID0gdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gPSB0aGlzLiNmaW5kVGlsZUNvbHVtbih0aWxlSWQpO1xuICAgICAgICBjb2xJbmRleCA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZmluZEluZGV4KFxuICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbHVtbixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbHVtbiAmJiB0aWxlICYmIHRpbGVJZCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnIHx8IGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JykgJiZcbiAgICAgICAgICAhaXNTaW5nbGVDb2x1bW5Nb2RlXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgbmV3Q29sdW1uID1cbiAgICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW5bY29sSW5kZXggKyBvcGVyYXRvcl07XG5cbiAgICAgICAgICBpZiAobmV3Q29sdW1uKSB7XG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSB0aWxlIHRvIHRoZSBlbmQgb2YgdGhlIG5ldyBjb2x1bW5cbiAgICAgICAgICAgIG5ld0NvbHVtbi50aWxlcy5wdXNoKHRpbGUpO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzID0gY29sdW1uLnRpbGVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gdGlsZSk7XG4gICAgICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihcbiAgICAgICAgICAgICAgdGhpcy4jY29sdW1ucz8udG9BcnJheSgpW2NvbEluZGV4ICsgb3BlcmF0b3JdLFxuICAgICAgICAgICAgICBbdGlsZV0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBSZXBvcnQgdGhlIGNoYW5nZSBpbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBjb25zdCByZXBvcnRDb25maWcgPSB0aGlzLiNjb25maWc7XG4gICAgICAgICAgICByZXBvcnRDb25maWcubW92ZWRUaWxlID0ge1xuICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHRpbGUuaWQsXG4gICAgICAgICAgICAgIGNvbHVtbjogY29sSW5kZXggKyBvcGVyYXRvciArIDEsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBuZXdDb2x1bW4udGlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBkaXJlY3Rpb24gPT09ICd1cCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgY3VySW5kZXggPSBjb2x1bW4udGlsZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gdGlsZS5pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudCh0aWxlSWQpO1xuXG4gICAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSAmJiBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl07XG4gICAgICAgICAgICBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0gPSB0aWxlO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzW2N1ckluZGV4XSA9IHRlbXA7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgY29sdW1uIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCBjb2x1bW5FbDogRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNjb2x1bW5zPy50b0FycmF5KClbY29sSW5kZXhdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTW92ZSB0aGUgdGlsZSBlbGVtZW50IGluIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgaWYgKGN1ckluZGV4ICsgb3BlcmF0b3IgPT09IGNvbHVtbi50aWxlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGNvbHVtbkVsPy5hcHBlbmRDaGlsZChcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbHVtbkVsPy5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgICAgdGlsZUNvbXBvbmVudEluc3RhbmNlLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUaWxlQ29tcG9uZW50KGNvbHVtbi50aWxlc1tjdXJJbmRleCArIG9wZXJhdG9yICsgMV0uaWQpXG4gICAgICAgICAgICAgICAgICA/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlcG9ydCB0aGUgY2hhbmdlIGluIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIGNvbnN0IHJlcG9ydENvbmZpZyA9IHRoaXMuI2NvbmZpZztcbiAgICAgICAgICAgIHJlcG9ydENvbmZpZy5tb3ZlZFRpbGUgPSB7XG4gICAgICAgICAgICAgIHRpbGVEZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb24gfHwgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gdGlsZS5pZCxcbiAgICAgICAgICAgICAgY29sdW1uOiBpc1NpbmdsZUNvbHVtbk1vZGUgPyAxIDogY29sSW5kZXggKyAxLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogY3VySW5kZXggKyBvcGVyYXRvciArIDEsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdChyZXBvcnRDb25maWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnZXRUaWxlSWQodGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRpbGUpIHtcbiAgICAgIGxldCBlbCA9IHRpbGUuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgbGV0IHRpbGVJZDogc3RyaW5nO1xuXG4gICAgICB3aGlsZSAoZWwpIHtcbiAgICAgICAgdGlsZUlkID0gZWwuZ2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCk7XG5cbiAgICAgICAgaWYgKHRpbGVJZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlSWQ7XG4gICAgICAgIH1cblxuICAgICAgICBlbCA9IGVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnVGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBsYXlvdXQgdGlsZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsaXN0IG9mIHRpbGVzLCBpdCB3YXMgcmVtb3ZlZCBzaW5jZSBsYXN0IHRoZSB1c2VyIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMgPVxuICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIChlbGVtKSA9PiBlbGVtLmlkICE9PSBsYXlvdXRUaWxlLmlkLFxuICAgICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb25maWc/LmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgICB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgICAgICBlbGVtLnRpbGVzID0gZWxlbS50aWxlcy5maWx0ZXIoKHJlcykgPT4gcmVzLmlkICE9PSBsYXlvdXRUaWxlLmlkKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjY2hlY2tSZWFkeUFuZExvYWRUaWxlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY29uZmlnICYmIHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgIHRoaXMuI2xvYWRUaWxlcyh0aGlzLiNjb25maWcpO1xuICAgICAgdGhpcy4jaW5pdE1lZGlhUXVlcmllcygpO1xuICAgICAgdGhpcy5kYXNoYm9hcmRJbml0aWFsaXplZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRUaWxlcyhjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBsYXlvdXQgPSBjb25maWcubGF5b3V0O1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy4jbWVkaWFRdWVyeS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICApIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBsYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzKSB7XG4gICAgICAgIHRoaXMuI2xvYWRUaWxlSW50b0NvbHVtbih0aGlzLiNzaW5nbGVDb2x1bW4sIHRpbGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY29sdW1uczogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudFtdID0gW107XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jY29sdW1ucykge1xuICAgICAgICBjb2x1bW5zID0gdGhpcy4jY29sdW1ucz8udG9BcnJheSgpO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheW91dC5tdWx0aUNvbHVtbi5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tpXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgbGF5b3V0Lm11bHRpQ29sdW1uW2ldLnRpbGVzKSB7XG4gICAgICAgICAgdGhpcy4jbG9hZFRpbGVJbnRvQ29sdW1uKGNvbHVtbiwgdGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbG9hZFRpbGVJbnRvQ29sdW1uKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBsYXlvdXRUaWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKGNvbHVtbikge1xuICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2dldFRpbGVPclJlbW92ZUZyb21MYXlvdXQobGF5b3V0VGlsZSk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aWxlICYmIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aWxlLmNvbXBvbmVudFR5cGU7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVycyA9IHRpbGUucHJvdmlkZXJzIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICBjb21wb25lbnRUeXBlLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogY29sdW1uLmNvbnRlbnQsXG4gICAgICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBjb2x1bW4uaW5qZWN0b3IsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmFkZFRpbGVDb21wb25lbnQobGF5b3V0VGlsZSwgY29tcG9uZW50UmVmKTtcblxuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBpcyBtYXJrZWQgZm9yIGNoYW5nZXMgaW4gY2FzZSB0aGUgcGFyZW50IGNvbXBvbmVudCB1c2VzXG4gICAgICAgIC8vIHRoZSBPblB1c2ggY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneS5cbiAgICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNtb3ZlVGlsZXNUb1NpbmdsZUNvbHVtbigpOiB2b2lkIHtcbiAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihcbiAgICAgIHRoaXMuI3NpbmdsZUNvbHVtbixcbiAgICAgIHRoaXMuI2NvbmZpZz8ubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcyxcbiAgICApO1xuICB9XG5cbiAgI21vdmVUaWxlc1RvTXVsdGlDb2x1bW4oKTogdm9pZCB7XG4gICAgbGV0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICBsYXlvdXRDb2x1bW5zID0gdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgICB9XG4gICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29sdW1ucykge1xuICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheW91dENvbHVtbnMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihjb2x1bW5zW2ldLCBsYXlvdXRDb2x1bW5zW2ldLnRpbGVzKTtcbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkLFxuICAgIGxheW91dFRpbGVzOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoY29sdW1uICYmIGxheW91dFRpbGVzKSB7XG4gICAgICBjb25zdCBjb2x1bW5FbCA9IHRoaXMuI2dldENvbHVtbkVsKGNvbHVtbik7XG5cbiAgICAgIGZvciAoY29uc3QgbGF5b3V0VGlsZSBvZiBsYXlvdXRUaWxlcykge1xuICAgICAgICBjb25zdCB0aWxlQ29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLmdldFRpbGVDb21wb25lbnQobGF5b3V0VGlsZS5pZCk7XG5cbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGlsZUNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgY29sdW1uRWw/LmFwcGVuZENoaWxkKHRpbGVDb21wb25lbnRJbnN0YW5jZS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnZXRDb25maWdGb3JVSVN0YXRlKCk6IFNreVRpbGVEYXNoYm9hcmRDb25maWcgfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICB0aGlzLiNjb25maWcgPSB7XG4gICAgICAgIHRpbGVzOiB0aGlzLiNjb25maWcudGlsZXMsXG4gICAgICAgIGxheW91dDoge1xuICAgICAgICAgIHNpbmdsZUNvbHVtbjogdGhpcy4jZ2V0U2luZ2xlQ29sdW1uTGF5b3V0Rm9yVUlTdGF0ZSh0aGlzLiNjb25maWcpLFxuICAgICAgICAgIG11bHRpQ29sdW1uOiB0aGlzLiNnZXRNdWx0aUNvbHVtbkxheW91dEZvclVJU3RhdGUodGhpcy4jY29uZmlnKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2NvbmZpZztcbiAgfVxuXG4gICNnZXRTaW5nbGVDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKFxuICAgIGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyxcbiAgKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy4jbWVkaWFRdWVyeS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpbGVzOiB0aGlzLiNnZXRUaWxlc0luRWwodGhpcy4jZ2V0Q29sdW1uRWwodGhpcy4jc2luZ2xlQ29sdW1uKSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbjtcbiAgfVxuXG4gICNnZXRNdWx0aUNvbHVtbkxheW91dEZvclVJU3RhdGUoXG4gICAgY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10ge1xuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgY29sdW1ucykge1xuICAgICAgICBpZiAoY29sdW1uICE9PSB0aGlzLiNzaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgICBjb25zdCBsYXlvdXRDb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gPSB7XG4gICAgICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKGNvbHVtbikpLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBsYXlvdXRDb2x1bW5zLnB1c2gobGF5b3V0Q29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbGF5b3V0Q29sdW1ucztcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgfVxuXG4gICNnZXRUaWxlc0luRWwoZWw6IEVsZW1lbnQgfCB1bmRlZmluZWQpOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHtcbiAgICBjb25zdCB0aWxlRWxzID0gZWw/LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgQVRUUl9USUxFX0lEICsgJ10nKTtcbiAgICBjb25zdCBsYXlvdXRUaWxlczogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSA9IFtdO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aWxlRWxzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IHRpbGVFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRpbGVFbCA9IHRpbGVFbHNbaV07XG4gICAgICAgIGNvbnN0IHRpbGVJZCA9IHRpbGVFbC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKTtcbiAgICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2ZpbmRUaWxlKHRpbGVJZCk7XG5cbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGlsZSkge1xuICAgICAgICAgIGxheW91dFRpbGVzLnB1c2godGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGF5b3V0VGlsZXM7XG4gIH1cblxuICAjaW5pdE1lZGlhUXVlcmllcygpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLiNtZWRpYVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jbWVkaWFTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5LnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZUNvbHVtbk1vZGUoXG4gICAgICAgICAgICBhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8IGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI2luaXREcmFndWxhKCk6IHZvaWQge1xuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlLmNyZWF0ZUdyb3VwKHRoaXMuYmFnSWQsIHtcbiAgICAgIG1vdmVzOiAoZWwsIGNvbnRhaW5lciwgaGFuZGxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVsPy5xdWVyeVNlbGVjdG9yKCcuc2t5LXRpbGUtZ3JhYi1oYW5kbGUnKTtcbiAgICAgICAgcmV0dXJuICEhdGFyZ2V0ICYmIHRhcmdldC5jb250YWlucyhoYW5kbGUhKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNkcmFndWxhU2VydmljZS5kcm9wKHRoaXMuYmFnSWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLiNnZXRDb25maWdGb3JVSVN0YXRlKCk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdChjb25maWcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI2dldENvbHVtbkVsKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbj8uY29udGVudD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XG4gIH1cblxuICAjZmluZFRpbGUoXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcgJiYgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgY29sdW1uLnRpbGVzKSB7XG4gICAgICAgICAgICBpZiAodGlsZS5pZCA9PT0gdGlsZUlkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZmluZFRpbGVDb2x1bW4oXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnICYmIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uLmZpbmQoXG4gICAgICAgIChjb2wpID0+IGNvbC50aWxlcyAmJiAhIWNvbC50aWxlcy5maW5kKCh0aWxlKSA9PiB0aWxlLmlkID09PSB0aWxlSWQpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpbml0VG9EZWZhdWx0cyhcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkLFxuICAgIHNpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuI2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMuI3NpbmdsZUNvbHVtbiA9IHNpbmdsZUNvbHVtbjtcbiAgICB0aGlzLiNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk7XG4gIH1cblxuICAjc2V0VXNlckNvbmZpZyhjb25maWc/OiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZyAmJiB0aGlzLiNzZXR0aW5nc0tleSlcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuI3NldHRpbmdzS2V5LCB7XG4gICAgICAgICAgbGF5b3V0OiBjb25maWcubGF5b3V0LFxuICAgICAgICAgIHBlcnNpc3RlZDogdHJ1ZSxcbiAgICAgICAgICB0aWxlSWRzOiBjb25maWcudGlsZXMubWFwKChlbGVtKSA9PiBlbGVtLmlkKSxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSB0aWxlIGRhc2hib2FyZCBzZXR0aW5ncy4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gIH1cblxuICAjY2hlY2tGb3JOZXdUaWxlcyhvbGRVc2VyVGlsZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLy8gR2V0IGEgbGlzdCBvZiB0aWxlcyB0aGF0IGFyZSBpbiB0aGUgY29uZmlnJ3MgZGVmYXVsdCBsaXN0IGJ1dCBub3QgaW4gdGhlIHVzZXIncyBzZXR0aW5nc1xuICAgIGNvbnN0IG5ld1RpbGVzID0gdGhpcy4jY29uZmlnPy50aWxlcy5maWx0ZXIoKGVsZW0pID0+IHtcbiAgICAgIHJldHVybiBvbGRVc2VyVGlsZXMuaW5kZXhPZihlbGVtLmlkKSA9PT0gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtdWx0aUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0Lm11bHRpQ29sdW1uO1xuICAgIGNvbnN0IHNpbmdsZUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0LnNpbmdsZUNvbHVtbjtcblxuICAgIC8vIEFwcGVuZCBuZXcgdGlsZXMgdG8gdGhlIGVuZCBvZiB0aGUgbGF5b3V0c1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobmV3VGlsZXM/Lmxlbmd0aCkge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG11bHRpQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgbGV0IGxvY2F0aW9uVG9BZGQgPSAwO1xuICAgICAgICAgIGxldCBzbWFsbGVzdCA9IG11bHRpQ29sdW1uWzBdLnRpbGVzLmxlbmd0aDtcbiAgICAgICAgICBtdWx0aUNvbHVtbi5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udGlsZXMubGVuZ3RoIDwgc21hbGxlc3QpIHtcbiAgICAgICAgICAgICAgbG9jYXRpb25Ub0FkZCA9IGluZGV4O1xuICAgICAgICAgICAgICBzbWFsbGVzdCA9IGl0ZW0udGlsZXMubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG11bHRpQ29sdW1uW2xvY2F0aW9uVG9BZGRdLnRpbGVzLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGVsZW0uaWQsXG4gICAgICAgICAgICBpc0NvbGxhcHNlZDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgc2luZ2xlQ29sdW1uLnRpbGVzLnB1c2goeyBpZDogZWxlbS5pZCwgaXNDb2xsYXBzZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNpbmdsZUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KHRpbGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobXVsdGlDb2x1bW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gbXVsdGlDb2x1bW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBtdWx0aUNvbHVtbltpXS50aWxlcykge1xuICAgICAgICAgIHRoaXMuI2dldFRpbGVPclJlbW92ZUZyb21MYXlvdXQodGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
560
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEVBRU4sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDM0IsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEdBQ25CLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQVN0QyxNQUFNLFlBQVksR0FBRyw2QkFBNkIsQ0FBQztBQUVuRCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFHbkIsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEMsUUFBUSxDQUF5RDtJQUNqRSxPQUFPLENBQXFDO0lBQzVDLGtCQUFrQixDQUEyQjtJQUM3QyxhQUFhLENBQThDO0lBQzNELFlBQVksQ0FBcUI7SUFDakMsZUFBZSxDQUFrQztJQUVqRCxlQUFlLENBQTBCO0lBQ3pDLHdCQUF3QixDQUFzQztJQUM5RCxXQUFXLENBQWdDO0lBQzNDLGdCQUFnQixDQUE4QjtJQUU5QztRQXZCQTs7V0FFRztRQUNJLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFakU7O1dBRUc7UUFFSSx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBU3ZELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pDLDZCQUF3QixHQUFHLE1BQU0sQ0FB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RSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQseUJBQXlCO1FBQ3pCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLElBQUksSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3RDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELHlCQUF5QjtRQUN6QixJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0E3c0JVLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVO3dEQWdCRixvQkFBb0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0YWJsZSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24sXG4gIFNreUR5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICBTa3lNZWRpYUJyZWFrcG9pbnRzLFxuICBTa3lNZWRpYVF1ZXJ5U2VydmljZSxcbiAgU2t5VUlDb25maWdTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IERyYWd1bGFTZXJ2aWNlIH0gZnJvbSAnbmcyLWRyYWd1bGEnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZyB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWcnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbiB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LWNvbHVtbic7XG5pbXBvcnQgeyBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB9IGZyb20gJy4uL3RpbGUtZGFzaGJvYXJkLWNvbmZpZy90aWxlLWRhc2hib2FyZC1jb25maWctbGF5b3V0LXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbmZpZ1RpbGUgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC1jb25maWcvdGlsZS1kYXNoYm9hcmQtY29uZmlnLXRpbGUnO1xuaW1wb3J0IHsgU2t5VGlsZUNvbXBvbmVudCB9IGZyb20gJy4uL3RpbGUvdGlsZS5jb21wb25lbnQnO1xuXG5jb25zdCBBVFRSX1RJTEVfSUQgPSAnX3NreS10aWxlLWRhc2hib2FyZC10aWxlLWlkJztcblxubGV0IGJhZ0lkSW5kZXggPSAwO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5VGlsZURhc2hib2FyZFNlcnZpY2Uge1xuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgY29uZmlnQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lUaWxlRGFzaGJvYXJkQ29uZmlnPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSB0aWxlIGRhc2hib2FyZCdzIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkYXNoYm9hcmRJbml0aWFsaXplZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAjY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuICAjY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnIHwgdW5kZWZpbmVkO1xuICAjbWVkaWFTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgI3NpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI3NldHRpbmdzS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICN0aWxlQ29tcG9uZW50czogQ29tcG9uZW50UmVmPGFueT5bXSB8IHVuZGVmaW5lZDtcblxuICAjZHJhZ3VsYVNlcnZpY2UgPSBpbmplY3QoRHJhZ3VsYVNlcnZpY2UpO1xuICAjZHluYW1pY0NvbXBvbmVudFNlcnZpY2UgPSBpbmplY3QoU2t5RHluYW1pY0NvbXBvbmVudFNlcnZpY2UpO1xuICAjbWVkaWFRdWVyeSA9IGluamVjdChTa3lNZWRpYVF1ZXJ5U2VydmljZSk7XG4gICN1aUNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoU2t5VUlDb25maWdTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJhZ0lkID0gYHNreS10aWxlLWRhc2hib2FyZC1iYWctJHsrK2JhZ0lkSW5kZXh9YDtcblxuICAgIHRoaXMuI2luaXREcmFndWxhKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgaW5pdChcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1ucz86IFF1ZXJ5TGlzdDxTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50PixcbiAgICBzaW5nbGVDb2x1bW4/OiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50LFxuICAgIHNldHRpbmdzS2V5Pzogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBpZiAoc2V0dGluZ3NLZXkpIHtcbiAgICAgIC8vIENsb25lIHRoaXMgc28gY2hhbmdlcyB0byB0aGUgY29uZmlnIG9iamVjdCBvdXRzaWRlIG9mIHRoaXMgY2xhc3MgZG9uJ3QgbW9kaWZ5XG4gICAgICAvLyB0aGUgY29uZmlnIHVzZWQgaW5zaWRlIGFuZCB2aWNlIHZlcnNhLlxuICAgICAgdGhpcy4jY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgY29uZmlnKSBhcyBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnO1xuXG4gICAgICB0aGlzLiNzZXR0aW5nc0tleSA9IHNldHRpbmdzS2V5O1xuXG4gICAgICB0aGlzLiN1aUNvbmZpZ1NlcnZpY2VcbiAgICAgICAgLmdldENvbmZpZyhzZXR0aW5nc0tleSwgY29uZmlnKVxuICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy4jY29uZmlnICYmIHZhbHVlLnBlcnNpc3RlZCkge1xuICAgICAgICAgICAgICB0aGlzLiNjb25maWcubGF5b3V0ID0gdmFsdWUubGF5b3V0O1xuICAgICAgICAgICAgICB0aGlzLiNjaGVja0Zvck5ld1RpbGVzKHZhbHVlLnRpbGVJZHMpO1xuICAgICAgICAgICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuI2NvbmZpZyk7XG5cbiAgICAgICAgICAgICAgdGhpcy4jY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgICAgICAgICAgIHRoaXMuI3NpbmdsZUNvbHVtbiA9IHNpbmdsZUNvbHVtbjtcbiAgICAgICAgICAgICAgdGhpcy4jY2hlY2tSZWFkeUFuZExvYWRUaWxlcygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gQmFkIGRhdGEsIG9yIGNvbmZpZyBpcyB0aGUgZGVmYXVsdCBjb25maWcuXG4gICAgICAgICAgICAgIHRoaXMuI2luaXRUb0RlZmF1bHRzKGNvbmZpZywgY29sdW1ucywgc2luZ2xlQ29sdW1uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAvLyBDb25maWcgc2V0dGluZyBrZXkgZG9lc24ndCBleGlzdCBvciBvdGhlciBjb25maWcgc2VydmljZSBlcnJvclxuICAgICAgICAgICAgdGhpcy4jaW5pdFRvRGVmYXVsdHMoY29uZmlnLCBjb2x1bW5zLCBzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2luaXRUb0RlZmF1bHRzKGNvbmZpZywgY29sdW1ucywgc2luZ2xlQ29sdW1uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5ldyB0aWxlIHRvIHRoZSB0aWxlIGRhc2hib2FyZC5cbiAgICogQHBhcmFtIHRpbGUgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBwYXJhbSBjb21wb25lbnQgU3BlY2lmaWVzIHRoZSB0aWxlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkVGlsZUNvbXBvbmVudChcbiAgICB0aWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgICBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLiN0aWxlQ29tcG9uZW50cyA9IHRoaXMuI3RpbGVDb21wb25lbnRzIHx8IFtdO1xuXG4gICAgdGhpcy4jdGlsZUNvbXBvbmVudHMucHVzaChjb21wb25lbnQpO1xuXG4gICAgY29tcG9uZW50LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCwgdGlsZS5pZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgYSBzcGVjaWZpZWQgdGlsZSBpcyBjb2xsYXBzZWQuXG4gICAqIEBwYXJhbSB0aWxlIFNwZWNpZmllcyB0aGUgdGlsZSBjb21wb25lbnQgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgdGlsZUlzQ29sbGFwc2VkKHRpbGU6IFNreVRpbGVDb21wb25lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0aWxlQ29uZmlnID0gdGhpcy4jZmluZFRpbGUodGhpcy4jZ2V0VGlsZUlkKHRpbGUpKTtcblxuICAgIGlmICh0aWxlQ29uZmlnKSB7XG4gICAgICByZXR1cm4gdGlsZUNvbmZpZy5pc0NvbGxhcHNlZDtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGFwc2VkIHN0YXRlIG9mIGFsbCB0aWxlcy5cbiAgICogQHBhcmFtIGlzQ29sbGFwc2VkIEluZGljYXRlcyB3aGV0aGVyIHRpbGVzIGFyZSBjb2xsYXBzZWQuXG4gICAqL1xuICBwdWJsaWMgc2V0QWxsVGlsZXNDb2xsYXBzZWQoaXNDb2xsYXBzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZyAmJiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiB0aGlzLiNjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aWxlLmlzQ29sbGFwc2VkID0gaXNDb2xsYXBzZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICB0aGlzLiNzZXRVc2VyQ29uZmlnKHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuXG4gICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdCh0aGlzLiNjb25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxhcHNlZCBzdGF0ZSBvZiBhIHNwZWNpZmllZCB0aWxlLlxuICAgKiBAcGFyYW0gdGlsZSBTcGVjaWZpZXMgdGhlIHRpbGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gaXNDb2xsYXBzZWQgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHRpbGUgaXMgY29sbGFwc2VkLlxuICAgKi9cbiAgcHVibGljIHNldFRpbGVDb2xsYXBzZWQoXG4gICAgdGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBpc0NvbGxhcHNlZDogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgdGlsZUNvbmZpZyA9IHRoaXMuI2ZpbmRUaWxlKHRoaXMuI2dldFRpbGVJZCh0aWxlKSk7XG5cbiAgICBpZiAodGlsZUNvbmZpZykge1xuICAgICAgdGlsZUNvbmZpZy5pc0NvbGxhcHNlZCA9IGlzQ29sbGFwc2VkO1xuXG4gICAgICBpZiAodGhpcy4jc2V0dGluZ3NLZXkpIHtcbiAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyh0aGlzLiNjb25maWcpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNvbmZpZ0NoYW5nZS5lbWl0KHRoaXMuI2NvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnRUeXBlKFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlIHwgdW5kZWZpbmVkLFxuICApOiBhbnkge1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlLmNvbXBvbmVudFR5cGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGNoYW5nZUNvbHVtbk1vZGUoaXNTaW5nbGVDb2x1bW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbmZpZykge1xuICAgICAgaWYgKGlzU2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIHRoaXMuI21vdmVUaWxlc1RvU2luZ2xlQ29sdW1uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb011bHRpQ29sdW1uKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGdldFRpbGVDb21wb25lbnQodGlsZUlkOiBzdHJpbmcpOiBDb21wb25lbnRSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuI3RpbGVDb21wb25lbnRzKSB7XG4gICAgICBmb3IgKGNvbnN0IHRpbGVDb21wb25lbnQgb2YgdGhpcy4jdGlsZUNvbXBvbmVudHMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRpbGVDb21wb25lbnQubG9jYXRpb24ubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKSA9PT1cbiAgICAgICAgICB0aWxlSWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRpbGVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jbWVkaWFTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuI21lZGlhU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIG1vdmVUaWxlT25LZXlEb3duKFxuICAgIHRpbGVDbXA6IFNreVRpbGVDb21wb25lbnQsXG4gICAgZGlyZWN0aW9uOiBzdHJpbmcsXG4gICAgdGlsZURlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjb25maWcpIHtcbiAgICAgIGNvbnN0IGlzU2luZ2xlQ29sdW1uTW9kZSA9XG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc207XG5cbiAgICAgIGNvbnN0IHRpbGVJZCA9IHRoaXMuI2dldFRpbGVJZCh0aWxlQ21wKTtcbiAgICAgIGNvbnN0IHRpbGUgPSB0aGlzLiNmaW5kVGlsZSh0aWxlSWQpO1xuXG4gICAgICBsZXQgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uIHwgdW5kZWZpbmVkO1xuICAgICAgbGV0IGNvbEluZGV4ID0gMDtcbiAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgY29sdW1uID0gdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW47XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb2x1bW4gPSB0aGlzLiNmaW5kVGlsZUNvbHVtbih0aWxlSWQpO1xuICAgICAgICBjb2xJbmRleCA9IHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4uZmluZEluZGV4KFxuICAgICAgICAgICh2YWx1ZSkgPT4gdmFsdWUgPT09IGNvbHVtbixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbHVtbiAmJiB0aWxlICYmIHRpbGVJZCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnIHx8IGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JykgJiZcbiAgICAgICAgICAhaXNTaW5nbGVDb2x1bW5Nb2RlXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IG9wZXJhdG9yID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgbmV3Q29sdW1uID1cbiAgICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW5bY29sSW5kZXggKyBvcGVyYXRvcl07XG5cbiAgICAgICAgICBpZiAobmV3Q29sdW1uKSB7XG4gICAgICAgICAgICAvLyBNb3ZlIHRoZSB0aWxlIHRvIHRoZSBlbmQgb2YgdGhlIG5ldyBjb2x1bW5cbiAgICAgICAgICAgIG5ld0NvbHVtbi50aWxlcy5wdXNoKHRpbGUpO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzID0gY29sdW1uLnRpbGVzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPT0gdGlsZSk7XG4gICAgICAgICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihcbiAgICAgICAgICAgICAgdGhpcy4jY29sdW1ucz8udG9BcnJheSgpW2NvbEluZGV4ICsgb3BlcmF0b3JdLFxuICAgICAgICAgICAgICBbdGlsZV0sXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBSZXBvcnQgdGhlIGNoYW5nZSBpbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBjb25zdCByZXBvcnRDb25maWcgPSB0aGlzLiNjb25maWc7XG4gICAgICAgICAgICByZXBvcnRDb25maWcubW92ZWRUaWxlID0ge1xuICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgdGlsZURlc2NyaXB0aW9uIHx8IC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHRpbGUuaWQsXG4gICAgICAgICAgICAgIGNvbHVtbjogY29sSW5kZXggKyBvcGVyYXRvciArIDEsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBuZXdDb2x1bW4udGlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY29uZmlnQ2hhbmdlLmVtaXQocmVwb3J0Q29uZmlnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgb3BlcmF0b3IgPSBkaXJlY3Rpb24gPT09ICd1cCcgPyAtMSA6IDE7XG4gICAgICAgICAgY29uc3QgY3VySW5kZXggPSBjb2x1bW4udGlsZXMuZmluZEluZGV4KFxuICAgICAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZS5pZCA9PT0gdGlsZS5pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGNvbnN0IHRpbGVDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMuZ2V0VGlsZUNvbXBvbmVudCh0aWxlSWQpO1xuXG4gICAgICAgICAgaWYgKHRpbGVDb21wb25lbnRJbnN0YW5jZSAmJiBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0pIHtcbiAgICAgICAgICAgIGNvbnN0IHRlbXAgPSBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl07XG4gICAgICAgICAgICBjb2x1bW4udGlsZXNbY3VySW5kZXggKyBvcGVyYXRvcl0gPSB0aWxlO1xuICAgICAgICAgICAgY29sdW1uLnRpbGVzW2N1ckluZGV4XSA9IHRlbXA7XG5cbiAgICAgICAgICAgIC8vIEdldCB0aGUgY29sdW1uIGVsZW1lbnRcbiAgICAgICAgICAgIGxldCBjb2x1bW5FbDogRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChpc1NpbmdsZUNvbHVtbk1vZGUpIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNzaW5nbGVDb2x1bW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29sdW1uRWwgPSB0aGlzLiNnZXRDb2x1bW5FbCh0aGlzLiNjb2x1bW5zPy50b0FycmF5KClbY29sSW5kZXhdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gTW92ZSB0aGUgdGlsZSBlbGVtZW50IGluIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgaWYgKGN1ckluZGV4ICsgb3BlcmF0b3IgPT09IGNvbHVtbi50aWxlcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGNvbHVtbkVsPy5hcHBlbmRDaGlsZChcbiAgICAgICAgICAgICAgICB0aWxlQ29tcG9uZW50SW5zdGFuY2UubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbHVtbkVsPy5pbnNlcnRCZWZvcmUoXG4gICAgICAgICAgICAgICAgdGlsZUNvbXBvbmVudEluc3RhbmNlLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRUaWxlQ29tcG9uZW50KGNvbHVtbi50aWxlc1tjdXJJbmRleCArIG9wZXJhdG9yICsgMV0uaWQpXG4gICAgICAgICAgICAgICAgICA/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlcG9ydCB0aGUgY2hhbmdlIGluIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgICAgIGNvbnN0IHJlcG9ydENvbmZpZyA9IHRoaXMuI2NvbmZpZztcbiAgICAgICAgICAgIHJlcG9ydENvbmZpZy5tb3ZlZFRpbGUgPSB7XG4gICAgICAgICAgICAgIHRpbGVEZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgICB0aWxlRGVzY3JpcHRpb24gfHwgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gdGlsZS5pZCxcbiAgICAgICAgICAgICAgY29sdW1uOiBpc1NpbmdsZUNvbHVtbk1vZGUgPyAxIDogY29sSW5kZXggKyAxLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogY3VySW5kZXggKyBvcGVyYXRvciArIDEsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdChyZXBvcnRDb25maWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnZXRUaWxlSWQodGlsZTogU2t5VGlsZUNvbXBvbmVudCB8IHVuZGVmaW5lZCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRpbGUpIHtcbiAgICAgIGxldCBlbCA9IHRpbGUuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgbGV0IHRpbGVJZDogc3RyaW5nO1xuXG4gICAgICB3aGlsZSAoZWwpIHtcbiAgICAgICAgdGlsZUlkID0gZWwuZ2V0QXR0cmlidXRlKEFUVFJfVElMRV9JRCk7XG5cbiAgICAgICAgaWYgKHRpbGVJZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlSWQ7XG4gICAgICAgIH1cblxuICAgICAgICBlbCA9IGVsLnBhcmVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KFxuICAgIGxheW91dFRpbGU6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRUaWxlLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnVGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChsYXlvdXRUaWxlICYmIHRoaXMuI2NvbmZpZykge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHRoaXMuI2NvbmZpZy50aWxlcykge1xuICAgICAgICBpZiAodGlsZS5pZCA9PT0gbGF5b3V0VGlsZS5pZCkge1xuICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHRoZSBsYXlvdXQgdGlsZSB3YXMgbm90IGZvdW5kIGluIHRoZSBsaXN0IG9mIHRpbGVzLCBpdCB3YXMgcmVtb3ZlZCBzaW5jZSBsYXN0IHRoZSB1c2VyIHVwZGF0ZWQgc2V0dGluZ3NcbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb25maWc/LmxheW91dC5zaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgdGhpcy4jY29uZmlnLmxheW91dC5zaW5nbGVDb2x1bW4udGlsZXMgPVxuICAgICAgICAgIHRoaXMuI2NvbmZpZy5sYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIChlbGVtKSA9PiBlbGVtLmlkICE9PSBsYXlvdXRUaWxlLmlkLFxuICAgICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aGlzLiNjb25maWc/LmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgICB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uLmZvckVhY2goKGVsZW0pID0+IHtcbiAgICAgICAgICBlbGVtLnRpbGVzID0gZWxlbS50aWxlcy5maWx0ZXIoKHJlcykgPT4gcmVzLmlkICE9PSBsYXlvdXRUaWxlLmlkKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjY2hlY2tSZWFkeUFuZExvYWRUaWxlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jY29uZmlnICYmIHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgIHRoaXMuI2xvYWRUaWxlcyh0aGlzLiNjb25maWcpO1xuICAgICAgdGhpcy4jaW5pdE1lZGlhUXVlcmllcygpO1xuICAgICAgdGhpcy5kYXNoYm9hcmRJbml0aWFsaXplZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRUaWxlcyhjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBsYXlvdXQgPSBjb25maWcubGF5b3V0O1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy4jbWVkaWFRdWVyeS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICApIHtcbiAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBsYXlvdXQuc2luZ2xlQ29sdW1uLnRpbGVzKSB7XG4gICAgICAgIHRoaXMuI2xvYWRUaWxlSW50b0NvbHVtbih0aGlzLiNzaW5nbGVDb2x1bW4sIHRpbGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgY29sdW1uczogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudFtdID0gW107XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy4jY29sdW1ucykge1xuICAgICAgICBjb2x1bW5zID0gdGhpcy4jY29sdW1ucz8udG9BcnJheSgpO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheW91dC5tdWx0aUNvbHVtbi5sZW5ndGg7IGkgPCBuOyBpKyspIHtcbiAgICAgICAgY29uc3QgY29sdW1uID0gY29sdW1uc1tpXTtcblxuICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgbGF5b3V0Lm11bHRpQ29sdW1uW2ldLnRpbGVzKSB7XG4gICAgICAgICAgdGhpcy4jbG9hZFRpbGVJbnRvQ29sdW1uKGNvbHVtbiwgdGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbG9hZFRpbGVJbnRvQ29sdW1uKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgICBsYXlvdXRUaWxlOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKGNvbHVtbikge1xuICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2dldFRpbGVPclJlbW92ZUZyb21MYXlvdXQobGF5b3V0VGlsZSk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmICh0aWxlICYmIHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFR5cGUgPSB0aWxlLmNvbXBvbmVudFR5cGU7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVycyA9IHRpbGUucHJvdmlkZXJzIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIHx8IFtdO1xuXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuI2R5bmFtaWNDb21wb25lbnRTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICBjb21wb25lbnRUeXBlLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxvY2F0aW9uOiBTa3lEeW5hbWljQ29tcG9uZW50TG9jYXRpb24uRWxlbWVudEJvdHRvbSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogY29sdW1uLmNvbnRlbnQsXG4gICAgICAgICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBjb2x1bW4uaW5qZWN0b3IsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmFkZFRpbGVDb21wb25lbnQobGF5b3V0VGlsZSwgY29tcG9uZW50UmVmKTtcblxuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGNvbXBvbmVudCBpcyBtYXJrZWQgZm9yIGNoYW5nZXMgaW4gY2FzZSB0aGUgcGFyZW50IGNvbXBvbmVudCB1c2VzXG4gICAgICAgIC8vIHRoZSBPblB1c2ggY2hhbmdlIGRldGVjdGlvbiBzdHJhdGVneS5cbiAgICAgICAgY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNtb3ZlVGlsZXNUb1NpbmdsZUNvbHVtbigpOiB2b2lkIHtcbiAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihcbiAgICAgIHRoaXMuI3NpbmdsZUNvbHVtbixcbiAgICAgIHRoaXMuI2NvbmZpZz8ubGF5b3V0LnNpbmdsZUNvbHVtbi50aWxlcyxcbiAgICApO1xuICB9XG5cbiAgI21vdmVUaWxlc1RvTXVsdGlDb2x1bW4oKTogdm9pZCB7XG4gICAgbGV0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICBsYXlvdXRDb2x1bW5zID0gdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgICB9XG4gICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29sdW1ucykge1xuICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMCwgbiA9IGxheW91dENvbHVtbnMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICB0aGlzLiNtb3ZlVGlsZXNUb0NvbHVtbihjb2x1bW5zW2ldLCBsYXlvdXRDb2x1bW5zW2ldLnRpbGVzKTtcbiAgICB9XG4gIH1cblxuICAjbW92ZVRpbGVzVG9Db2x1bW4oXG4gICAgY29sdW1uOiBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50IHwgdW5kZWZpbmVkLFxuICAgIGxheW91dFRpbGVzOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHwgdW5kZWZpbmVkLFxuICApOiB2b2lkIHtcbiAgICBpZiAoY29sdW1uICYmIGxheW91dFRpbGVzKSB7XG4gICAgICBjb25zdCBjb2x1bW5FbCA9IHRoaXMuI2dldENvbHVtbkVsKGNvbHVtbik7XG5cbiAgICAgIGZvciAoY29uc3QgbGF5b3V0VGlsZSBvZiBsYXlvdXRUaWxlcykge1xuICAgICAgICBjb25zdCB0aWxlQ29tcG9uZW50SW5zdGFuY2UgPSB0aGlzLmdldFRpbGVDb21wb25lbnQobGF5b3V0VGlsZS5pZCk7XG5cbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGlsZUNvbXBvbmVudEluc3RhbmNlKSB7XG4gICAgICAgICAgY29sdW1uRWw/LmFwcGVuZENoaWxkKHRpbGVDb21wb25lbnRJbnN0YW5jZS5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnZXRDb25maWdGb3JVSVN0YXRlKCk6IFNreVRpbGVEYXNoYm9hcmRDb25maWcgfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnKSB7XG4gICAgICB0aGlzLiNjb25maWcgPSB7XG4gICAgICAgIHRpbGVzOiB0aGlzLiNjb25maWcudGlsZXMsXG4gICAgICAgIGxheW91dDoge1xuICAgICAgICAgIHNpbmdsZUNvbHVtbjogdGhpcy4jZ2V0U2luZ2xlQ29sdW1uTGF5b3V0Rm9yVUlTdGF0ZSh0aGlzLiNjb25maWcpLFxuICAgICAgICAgIG11bHRpQ29sdW1uOiB0aGlzLiNnZXRNdWx0aUNvbHVtbkxheW91dEZvclVJU3RhdGUodGhpcy4jY29uZmlnKSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuI2NvbmZpZztcbiAgfVxuXG4gICNnZXRTaW5nbGVDb2x1bW5MYXlvdXRGb3JVSVN0YXRlKFxuICAgIGNvbmZpZzogU2t5VGlsZURhc2hib2FyZENvbmZpZyxcbiAgKTogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dENvbHVtbiB7XG4gICAgaWYgKFxuICAgICAgdGhpcy4jbWVkaWFRdWVyeS5jdXJyZW50ID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8XG4gICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICApIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpbGVzOiB0aGlzLiNnZXRUaWxlc0luRWwodGhpcy4jZ2V0Q29sdW1uRWwodGhpcy4jc2luZ2xlQ29sdW1uKSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBjb25maWcubGF5b3V0LnNpbmdsZUNvbHVtbjtcbiAgfVxuXG4gICNnZXRNdWx0aUNvbHVtbkxheW91dEZvclVJU3RhdGUoXG4gICAgY29uZmlnOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0Q29sdW1uW10ge1xuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIHRoaXMuI21lZGlhUXVlcnkuY3VycmVudCA9PT0gU2t5TWVkaWFCcmVha3BvaW50cy54cyB8fFxuICAgICAgICB0aGlzLiNtZWRpYVF1ZXJ5LmN1cnJlbnQgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc21cbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IGxheW91dENvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW5bXSA9IFtdO1xuICAgICAgbGV0IGNvbHVtbnM6IFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRbXSA9IFtdO1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHRoaXMuI2NvbHVtbnMpIHtcbiAgICAgICAgY29sdW1ucyA9IHRoaXMuI2NvbHVtbnM/LnRvQXJyYXkoKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgY29sdW1ucykge1xuICAgICAgICBpZiAoY29sdW1uICE9PSB0aGlzLiNzaW5nbGVDb2x1bW4pIHtcbiAgICAgICAgICBjb25zdCBsYXlvdXRDb2x1bW46IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gPSB7XG4gICAgICAgICAgICB0aWxlczogdGhpcy4jZ2V0VGlsZXNJbkVsKHRoaXMuI2dldENvbHVtbkVsKGNvbHVtbikpLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBsYXlvdXRDb2x1bW5zLnB1c2gobGF5b3V0Q29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbGF5b3V0Q29sdW1ucztcbiAgICB9XG5cbiAgICByZXR1cm4gY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbjtcbiAgfVxuXG4gICNnZXRUaWxlc0luRWwoZWw6IEVsZW1lbnQgfCB1bmRlZmluZWQpOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZVtdIHtcbiAgICBjb25zdCB0aWxlRWxzID0gZWw/LnF1ZXJ5U2VsZWN0b3JBbGwoJ1snICsgQVRUUl9USUxFX0lEICsgJ10nKTtcbiAgICBjb25zdCBsYXlvdXRUaWxlczogU2t5VGlsZURhc2hib2FyZENvbmZpZ0xheW91dFRpbGVbXSA9IFtdO1xuXG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aWxlRWxzKSB7XG4gICAgICBmb3IgKGxldCBpID0gMCwgbiA9IHRpbGVFbHMubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRpbGVFbCA9IHRpbGVFbHNbaV07XG4gICAgICAgIGNvbnN0IHRpbGVJZCA9IHRpbGVFbC5nZXRBdHRyaWJ1dGUoQVRUUl9USUxFX0lEKTtcbiAgICAgICAgY29uc3QgdGlsZSA9IHRoaXMuI2ZpbmRUaWxlKHRpbGVJZCk7XG5cbiAgICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAodGlsZSkge1xuICAgICAgICAgIGxheW91dFRpbGVzLnB1c2godGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGF5b3V0VGlsZXM7XG4gIH1cblxuICAjaW5pdE1lZGlhUXVlcmllcygpOiB2b2lkIHtcbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKCF0aGlzLiNtZWRpYVN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy4jbWVkaWFTdWJzY3JpcHRpb24gPSB0aGlzLiNtZWRpYVF1ZXJ5LnN1YnNjcmliZShcbiAgICAgICAgKGFyZ3M6IFNreU1lZGlhQnJlYWtwb2ludHMpID0+IHtcbiAgICAgICAgICB0aGlzLmNoYW5nZUNvbHVtbk1vZGUoXG4gICAgICAgICAgICBhcmdzID09PSBTa3lNZWRpYUJyZWFrcG9pbnRzLnhzIHx8IGFyZ3MgPT09IFNreU1lZGlhQnJlYWtwb2ludHMuc20sXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgI2luaXREcmFndWxhKCk6IHZvaWQge1xuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlLmNyZWF0ZUdyb3VwKHRoaXMuYmFnSWQsIHtcbiAgICAgIG1vdmVzOiAoZWwsIGNvbnRhaW5lciwgaGFuZGxlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVsPy5xdWVyeVNlbGVjdG9yKCcuc2t5LXRpbGUtZ3JhYi1oYW5kbGUnKTtcbiAgICAgICAgcmV0dXJuICEhdGFyZ2V0ICYmIHRhcmdldC5jb250YWlucyhoYW5kbGUhKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLiNkcmFndWxhU2VydmljZS5kcm9wKHRoaXMuYmFnSWQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLiNnZXRDb25maWdGb3JVSVN0YXRlKCk7XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgaWYgKHRoaXMuI3NldHRpbmdzS2V5KSB7XG4gICAgICAgICAgdGhpcy4jc2V0VXNlckNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWdDaGFuZ2UuZW1pdChjb25maWcpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI2dldENvbHVtbkVsKFxuICAgIGNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGNvbHVtbj8uY29udGVudD8uZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudE5vZGU7XG4gIH1cblxuICAjZmluZFRpbGUoXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsLFxuICApOiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnTGF5b3V0VGlsZSB8IHVuZGVmaW5lZCB7XG4gICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNjb25maWcgJiYgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCBjb2x1bW4gb2YgdGhpcy4jY29uZmlnLmxheW91dC5tdWx0aUNvbHVtbikge1xuICAgICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChjb2x1bW4udGlsZXMpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHRpbGUgb2YgY29sdW1uLnRpbGVzKSB7XG4gICAgICAgICAgICBpZiAodGlsZS5pZCA9PT0gdGlsZUlkKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAjZmluZFRpbGVDb2x1bW4oXG4gICAgdGlsZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IFNreVRpbGVEYXNoYm9hcmRDb25maWdMYXlvdXRDb2x1bW4gfCB1bmRlZmluZWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY29uZmlnICYmIHRoaXMuI2NvbmZpZy5sYXlvdXQubXVsdGlDb2x1bW4pIHtcbiAgICAgIHJldHVybiB0aGlzLiNjb25maWcubGF5b3V0Lm11bHRpQ29sdW1uLmZpbmQoXG4gICAgICAgIChjb2wpID0+IGNvbC50aWxlcyAmJiAhIWNvbC50aWxlcy5maW5kKCh0aWxlKSA9PiB0aWxlLmlkID09PSB0aWxlSWQpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpbml0VG9EZWZhdWx0cyhcbiAgICBjb25maWc6IFNreVRpbGVEYXNoYm9hcmRDb25maWcsXG4gICAgY29sdW1uczogUXVlcnlMaXN0PFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQ+IHwgdW5kZWZpbmVkLFxuICAgIHNpbmdsZUNvbHVtbjogU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB8IHVuZGVmaW5lZCxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy4jY29uZmlnID0gY29uZmlnO1xuICAgIHRoaXMuI2NvbHVtbnMgPSBjb2x1bW5zO1xuICAgIHRoaXMuI3NpbmdsZUNvbHVtbiA9IHNpbmdsZUNvbHVtbjtcbiAgICB0aGlzLiNjaGVja1JlYWR5QW5kTG9hZFRpbGVzKCk7XG4gIH1cblxuICAjc2V0VXNlckNvbmZpZyhjb25maWc/OiBTa3lUaWxlRGFzaGJvYXJkQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKGNvbmZpZyAmJiB0aGlzLiNzZXR0aW5nc0tleSlcbiAgICAgIHRoaXMuI3VpQ29uZmlnU2VydmljZVxuICAgICAgICAuc2V0Q29uZmlnKHRoaXMuI3NldHRpbmdzS2V5LCB7XG4gICAgICAgICAgbGF5b3V0OiBjb25maWcubGF5b3V0LFxuICAgICAgICAgIHBlcnNpc3RlZDogdHJ1ZSxcbiAgICAgICAgICB0aWxlSWRzOiBjb25maWcudGlsZXMubWFwKChlbGVtKSA9PiBlbGVtLmlkKSxcbiAgICAgICAgfSlcbiAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc2F2ZSB0aWxlIGRhc2hib2FyZCBzZXR0aW5ncy4nKTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihlcnIpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gIH1cblxuICAjY2hlY2tGb3JOZXdUaWxlcyhvbGRVc2VyVGlsZXM6IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgLy8gR2V0IGEgbGlzdCBvZiB0aWxlcyB0aGF0IGFyZSBpbiB0aGUgY29uZmlnJ3MgZGVmYXVsdCBsaXN0IGJ1dCBub3QgaW4gdGhlIHVzZXIncyBzZXR0aW5nc1xuICAgIGNvbnN0IG5ld1RpbGVzID0gdGhpcy4jY29uZmlnPy50aWxlcy5maWx0ZXIoKGVsZW0pID0+IHtcbiAgICAgIHJldHVybiBvbGRVc2VyVGlsZXMuaW5kZXhPZihlbGVtLmlkKSA9PT0gLTE7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtdWx0aUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0Lm11bHRpQ29sdW1uO1xuICAgIGNvbnN0IHNpbmdsZUNvbHVtbiA9IHRoaXMuI2NvbmZpZz8ubGF5b3V0LnNpbmdsZUNvbHVtbjtcblxuICAgIC8vIEFwcGVuZCBuZXcgdGlsZXMgdG8gdGhlIGVuZCBvZiB0aGUgbGF5b3V0c1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobmV3VGlsZXM/Lmxlbmd0aCkge1xuICAgICAgLyppc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG11bHRpQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgbGV0IGxvY2F0aW9uVG9BZGQgPSAwO1xuICAgICAgICAgIGxldCBzbWFsbGVzdCA9IG11bHRpQ29sdW1uWzBdLnRpbGVzLmxlbmd0aDtcbiAgICAgICAgICBtdWx0aUNvbHVtbi5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaWYgKGl0ZW0udGlsZXMubGVuZ3RoIDwgc21hbGxlc3QpIHtcbiAgICAgICAgICAgICAgbG9jYXRpb25Ub0FkZCA9IGluZGV4O1xuICAgICAgICAgICAgICBzbWFsbGVzdCA9IGl0ZW0udGlsZXMubGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIG11bHRpQ29sdW1uW2xvY2F0aW9uVG9BZGRdLnRpbGVzLnB1c2goe1xuICAgICAgICAgICAgaWQ6IGVsZW0uaWQsXG4gICAgICAgICAgICBpc0NvbGxhcHNlZDogZmFsc2UsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoc2luZ2xlQ29sdW1uKSB7XG4gICAgICAgIG5ld1RpbGVzPy5mb3JFYWNoKChlbGVtKSA9PiB7XG4gICAgICAgICAgc2luZ2xlQ29sdW1uLnRpbGVzLnB1c2goeyBpZDogZWxlbS5pZCwgaXNDb2xsYXBzZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHNpbmdsZUNvbHVtbikge1xuICAgICAgZm9yIChjb25zdCB0aWxlIG9mIHNpbmdsZUNvbHVtbi50aWxlcykge1xuICAgICAgICB0aGlzLiNnZXRUaWxlT3JSZW1vdmVGcm9tTGF5b3V0KHRpbGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAobXVsdGlDb2x1bW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBuID0gbXVsdGlDb2x1bW4ubGVuZ3RoOyBpIDwgbjsgaSsrKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGlsZSBvZiBtdWx0aUNvbHVtbltpXS50aWxlcykge1xuICAgICAgICAgIHRoaXMuI2dldFRpbGVPclJlbW92ZUZyb21MYXlvdXQodGlsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -15,10 +15,10 @@ export class SkyTileDashboardColumnComponent {
15
15
  this.columnId = `tile-dashboard-column-${++columnIdIndex}`;
16
16
  this.bagId = this.#dashboardService.bagId;
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardColumnComponent, deps: [{ token: i0.EnvironmentInjector }, { token: i1.SkyTileDashboardService }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: SkyTileDashboardColumnComponent, isStandalone: true, selector: "sky-tile-dashboard-column", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"], dependencies: [{ kind: "ngmodule", type: DragulaModule }, { kind: "directive", type: i2.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardColumnComponent, deps: [{ token: i0.EnvironmentInjector }, { token: i1.SkyTileDashboardService }], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SkyTileDashboardColumnComponent, isStandalone: true, selector: "sky-tile-dashboard-column", viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"], dependencies: [{ kind: "ngmodule", type: DragulaModule }, { kind: "directive", type: i2.DragulaDirective, selector: "[dragula]", inputs: ["dragula", "dragulaModel"], outputs: ["dragulaModelChange"] }] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardColumnComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardColumnComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ standalone: true, selector: 'sky-tile-dashboard-column', imports: [DragulaModule], template: "<div class=\"sky-tile-dashboard-column\" [dragula]=\"bagId\">\n <div #content></div>\n</div>\n", styles: [":host{display:flex;flex-grow:1;overflow:hidden}:host{padding:0}:host-context(.sky-responsive-container-xs),:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0}@media (min-width: 768px){:host{padding:0 10px}}:host-context(.sky-responsive-container-sm),:host-context(.sky-responsive-container-md),:host-context(.sky-responsive-container-lg){padding:0 10px}.sky-tile-dashboard-column{min-height:100px;width:100%}@media (min-width: 768px){:host-context(.sky-theme-modern) :host{padding:0 15px}}:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-sm),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-md),:host-context(.sky-theme-modern) :host-context(.sky-responsive-container-lg){padding:0 15px}@media (min-width: 768px){.sky-theme-modern :host{padding:0 15px}}.sky-theme-modern :host-context(.sky-responsive-container-sm),.sky-theme-modern :host-context(.sky-responsive-container-md),.sky-theme-modern :host-context(.sky-responsive-container-lg){padding:0 15px}\n"] }]
24
24
  }], ctorParameters: () => [{ type: i0.EnvironmentInjector }, { type: i1.SkyTileDashboardService }], propDecorators: { content: [{
@@ -28,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
28
28
  static: false,
29
29
  }]
30
30
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFJNUMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBRXRCOztHQUVHO0FBUUgsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxpQkFBaUIsQ0FBMEI7SUFFM0MsWUFDUyxRQUE2QixFQUNwQyxnQkFBeUM7UUFEbEMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFHcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQzVDLENBQUM7OEdBdEJVLCtCQUErQjtrR0FBL0IsK0JBQStCLG9LQU1sQyxnQkFBZ0IsNkJDN0IxQixpR0FHQSxnb0NEa0JZLGFBQWE7OzJGQUVaLCtCQUErQjtrQkFQM0MsU0FBUztpQ0FDSSxJQUFJLFlBQ04sMkJBQTJCLFdBRzVCLENBQUMsYUFBYSxDQUFDOzhIQVdqQixPQUFPO3NCQUpiLFNBQVM7dUJBQUMsU0FBUyxFQUFFO3dCQUNwQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYU1vZHVsZSB9IGZyb20gJ25nMi1kcmFndWxhJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5zZXJ2aWNlJztcblxubGV0IGNvbHVtbklkSW5kZXggPSAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbRHJhZ3VsYU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQge1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICBwdWJsaWMgY29sdW1uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb250ZW50Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2Rhc2hib2FyZFNlcnZpY2U6IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBkYXNoYm9hcmRTZXJ2aWNlOiBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZSA9IGRhc2hib2FyZFNlcnZpY2U7XG5cbiAgICB0aGlzLmNvbHVtbklkID0gYHRpbGUtZGFzaGJvYXJkLWNvbHVtbi0keysrY29sdW1uSWRJbmRleH1gO1xuXG4gICAgdGhpcy5iYWdJZCA9IHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uXCIgW2RyYWd1bGFdPVwiYmFnSWRcIj5cbiAgPGRpdiAjY29udGVudD48L2Rpdj5cbjwvZGl2PlxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGlsZXMvc3JjL2xpYi9tb2R1bGVzL3RpbGVzL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxTQUFTLEVBQ1QsZ0JBQWdCLEdBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFJNUMsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0FBRXRCOztHQUVHO0FBUUgsTUFBTSxPQUFPLCtCQUErQjtJQVcxQyxpQkFBaUIsQ0FBMEI7SUFFM0MsWUFDUyxRQUE2QixFQUNwQyxnQkFBeUM7UUFEbEMsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFHcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBRTFDLElBQUksQ0FBQyxRQUFRLEdBQUcseUJBQXlCLEVBQUUsYUFBYSxFQUFFLENBQUM7UUFFM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDO0lBQzVDLENBQUM7K0dBdEJVLCtCQUErQjttR0FBL0IsK0JBQStCLG9LQU1sQyxnQkFBZ0IsNkJDN0IxQixpR0FHQSxnb0NEa0JZLGFBQWE7OzRGQUVaLCtCQUErQjtrQkFQM0MsU0FBUztpQ0FDSSxJQUFJLFlBQ04sMkJBQTJCLFdBRzVCLENBQUMsYUFBYSxDQUFDOzhIQVdqQixPQUFPO3NCQUpiLFNBQVM7dUJBQUMsU0FBUyxFQUFFO3dCQUNwQixJQUFJLEVBQUUsZ0JBQWdCO3dCQUN0QixNQUFNLEVBQUUsS0FBSztxQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRW52aXJvbm1lbnRJbmplY3RvcixcbiAgVmlld0NoaWxkLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRHJhZ3VsYU1vZHVsZSB9IGZyb20gJ25nMi1kcmFndWxhJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZFNlcnZpY2UgfSBmcm9tICcuLi90aWxlLWRhc2hib2FyZC90aWxlLWRhc2hib2FyZC5zZXJ2aWNlJztcblxubGV0IGNvbHVtbklkSW5kZXggPSAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi90aWxlLWRhc2hib2FyZC1jb2x1bW4uY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbRHJhZ3VsYU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnQge1xuICBwdWJsaWMgYmFnSWQ6IHN0cmluZztcblxuICBwdWJsaWMgY29sdW1uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb250ZW50Jywge1xuICAgIHJlYWQ6IFZpZXdDb250YWluZXJSZWYsXG4gICAgc3RhdGljOiBmYWxzZSxcbiAgfSlcbiAgcHVibGljIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQ7XG5cbiAgI2Rhc2hib2FyZFNlcnZpY2U6IFNreVRpbGVEYXNoYm9hcmRTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBpbmplY3RvcjogRW52aXJvbm1lbnRJbmplY3RvcixcbiAgICBkYXNoYm9hcmRTZXJ2aWNlOiBTa3lUaWxlRGFzaGJvYXJkU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jZGFzaGJvYXJkU2VydmljZSA9IGRhc2hib2FyZFNlcnZpY2U7XG5cbiAgICB0aGlzLmNvbHVtbklkID0gYHRpbGUtZGFzaGJvYXJkLWNvbHVtbi0keysrY29sdW1uSWRJbmRleH1gO1xuXG4gICAgdGhpcy5iYWdJZCA9IHRoaXMuI2Rhc2hib2FyZFNlcnZpY2UuYmFnSWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktdGlsZS1kYXNoYm9hcmQtY29sdW1uXCIgW2RyYWd1bGFdPVwiYmFnSWRcIj5cbiAgPGRpdiAjY29udGVudD48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
2
2
  import { SkyTileDashboardColumnComponent } from './tile-dashboard-column.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class SkyTileDashboardColumnModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardColumnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [SkyTileDashboardColumnComponent], exports: [SkyTileDashboardColumnComponent] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [SkyTileDashboardColumnComponent] }); }
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardColumnModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [SkyTileDashboardColumnComponent], exports: [SkyTileDashboardColumnComponent] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardColumnModule, imports: [SkyTileDashboardColumnComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTileDashboardColumnModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTileDashboardColumnModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  imports: [SkyTileDashboardColumnComponent],
13
13
  exports: [SkyTileDashboardColumnComponent],
14
14
  }]
15
15
  }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFNcEYsTUFBTSxPQUFPLDRCQUE0Qjs4R0FBNUIsNEJBQTRCOytHQUE1Qiw0QkFBNEIsWUFIN0IsK0JBQStCLGFBQy9CLCtCQUErQjsrR0FFOUIsNEJBQTRCLFlBSDdCLCtCQUErQjs7MkZBRzlCLDRCQUE0QjtrQkFKeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlIHt9XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS1kYXNoYm9hcmQtY29sdW1uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90aWxlcy9zcmMvbGliL21vZHVsZXMvdGlsZXMvdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFNcEYsTUFBTSxPQUFPLDRCQUE0QjsrR0FBNUIsNEJBQTRCO2dIQUE1Qiw0QkFBNEIsWUFIN0IsK0JBQStCLGFBQy9CLCtCQUErQjtnSEFFOUIsNEJBQTRCLFlBSDdCLCtCQUErQjs7NEZBRzlCLDRCQUE0QjtrQkFKeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDMUMsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtTa3lUaWxlRGFzaGJvYXJkQ29sdW1uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW1NreVRpbGVEYXNoYm9hcmRDb2x1bW5Db21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlIHt9XG4iXX0=
@@ -5,17 +5,17 @@ import { SkyTileDashboardModule } from './tile-dashboard/tile-dashboard.module';
5
5
  import { SkyTileModule } from './tile/tile.module';
6
6
  import * as i0 from "@angular/core";
7
7
  export class SkyTilesModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.4", ngImport: i0, type: SkyTilesModule, exports: [SkyTileContentModule,
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SkyTilesModule, exports: [SkyTileContentModule,
10
10
  SkyTileModule,
11
11
  SkyTileDashboardColumnModule,
12
12
  SkyTileDashboardModule] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTilesModule, imports: [SkyTileContentModule,
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTilesModule, imports: [SkyTileContentModule,
14
14
  SkyTileModule,
15
15
  SkyTileDashboardColumnModule,
16
16
  SkyTileDashboardModule] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: SkyTilesModule, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SkyTilesModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  exports: [
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
26
26
  ],
27
27
  }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVW5ELE1BQU0sT0FBTyxjQUFjOzhHQUFkLGNBQWM7K0dBQWQsY0FBYyxZQU52QixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLDRCQUE0QjtZQUM1QixzQkFBc0I7K0dBR2IsY0FBYyxZQU52QixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLDRCQUE0QjtZQUM1QixzQkFBc0I7OzJGQUdiLGNBQWM7a0JBUjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYiw0QkFBNEI7d0JBQzVCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaWxlQ29udGVudE1vZHVsZSB9IGZyb20gJy4vdGlsZS1jb250ZW50L3RpbGUtY29udGVudC5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZE1vZHVsZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQubW9kdWxlJztcbmltcG9ydCB7IFNreVRpbGVNb2R1bGUgfSBmcm9tICcuL3RpbGUvdGlsZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbXG4gICAgU2t5VGlsZUNvbnRlbnRNb2R1bGUsXG4gICAgU2t5VGlsZU1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVzTW9kdWxlIHt9XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RpbGVzL3NyYy9saWIvbW9kdWxlcy90aWxlcy90aWxlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBVW5ELE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxZQU52QixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLDRCQUE0QjtZQUM1QixzQkFBc0I7Z0hBR2IsY0FBYyxZQU52QixvQkFBb0I7WUFDcEIsYUFBYTtZQUNiLDRCQUE0QjtZQUM1QixzQkFBc0I7OzRGQUdiLGNBQWM7a0JBUjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYiw0QkFBNEI7d0JBQzVCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lUaWxlQ29udGVudE1vZHVsZSB9IGZyb20gJy4vdGlsZS1jb250ZW50L3RpbGUtY29udGVudC5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZENvbHVtbk1vZHVsZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQtY29sdW1uL3RpbGUtZGFzaGJvYXJkLWNvbHVtbi5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5VGlsZURhc2hib2FyZE1vZHVsZSB9IGZyb20gJy4vdGlsZS1kYXNoYm9hcmQvdGlsZS1kYXNoYm9hcmQubW9kdWxlJztcbmltcG9ydCB7IFNreVRpbGVNb2R1bGUgfSBmcm9tICcuL3RpbGUvdGlsZS5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbXG4gICAgU2t5VGlsZUNvbnRlbnRNb2R1bGUsXG4gICAgU2t5VGlsZU1vZHVsZSxcbiAgICBTa3lUaWxlRGFzaGJvYXJkQ29sdW1uTW9kdWxlLFxuICAgIFNreVRpbGVEYXNoYm9hcmRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVRpbGVzTW9kdWxlIHt9XG4iXX0=