@skyux/ag-grid 11.22.0 → 11.23.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.
@@ -216,7 +216,6 @@ export class SkyAgGridWrapperComponent {
216
216
  this.#adapterService.setFocusedElementById(this.#elementRef.nativeElement, idToFocus);
217
217
  }
218
218
  }
219
- // eslint-disable-next-line complexity
220
219
  onAnchorFocus(event) {
221
220
  const relatedTarget = event.relatedTarget;
222
221
  const previousWasGrid = relatedTarget && this.#elementRef.nativeElement.contains(relatedTarget);
@@ -292,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
292
291
  type: Input,
293
292
  args: [{ transform: booleanAttribute }]
294
293
  }] } });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUNMLGVBQWUsR0FHaEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFLTCxXQUFXLEVBQ1gsY0FBYyxHQUNmLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBQ2IsT0FBTyxFQUNQLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsRUFBRSxFQUNGLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBRWhELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQU9oQixNQUFNLE9BQU8seUJBQXlCO0lBV3BDOzs7T0FHRztJQUNILElBQ1csT0FBTyxDQUFDLEtBQWM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQU9ELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLGlCQUFpQixDQUFDLEtBQWU7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDeEUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO2dCQUN2QixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7aUJBQU0sSUFDTCxjQUFjLENBQUMsY0FBYyxDQUMzQixXQUFXLENBQUMsb0JBQW9CLEVBQ2hDLHFCQUFxQixDQUN0QixFQUNELENBQUM7Z0JBQ0QsK0VBQStFO2dCQUMvRSxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsVUFBMEIsRUFBRSxFQUFFO29CQUNuRSxJQUFJLFVBQVUsRUFBRSxHQUFHLElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ25FLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3RCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxZQUFZLENBQUM7WUFDdEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxtQkFBbUIsQ0FBZ0I7SUFDMUIsY0FBYyxDQUF1QjtJQUNyQyxTQUFTLENBRWY7SUFDTSxlQUFlLENBRXJCO0lBQ00sZUFBZSxDQUFtQztJQUNsRCxlQUFlLENBQTZCO0lBQzVDLHFCQUFxQixDQUczQjtJQUNNLFdBQVcsQ0FBbUM7SUFDOUMsU0FBUyxDQUFvQjtJQUM3Qix3QkFBd0IsQ0FBc0M7SUFDOUQsVUFBVSxDQUF1QztJQUNqRCxpQkFBaUIsQ0FBaUM7SUFFM0Q7UUF0RU8sbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFrRDlCLHdCQUFtQixHQUFhLEVBQUUsQ0FBQztRQUMxQixtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDckMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUU7WUFDM0MsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFDTSxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFXO1lBQ3ZELGdDQUFnQztTQUNqQyxDQUFDLENBQUM7UUFDTSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xELG9CQUFlLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsMEJBQXFCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQ3pELFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFDTSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBQzlDLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsNkJBQXdCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pELHNCQUFpQixHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBR3pELE9BQU8sRUFBRSxDQUFDO1FBQ1YsSUFBSSxDQUFDLGFBQWEsR0FBRywrQkFBK0IsR0FBRyxPQUFPLENBQUM7UUFDL0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxnQ0FBZ0MsR0FBRyxPQUFPLENBQUM7UUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxjQUFjLEdBQUcsT0FBTyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztZQUNyRCxJQUFJLFNBQVMsS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLENBQUM7b0JBQ3RELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQ3pCLFlBQVksRUFDWiw0QkFBNEIsQ0FDN0IsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDNUMsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2dCQUMzQixJQUFJLENBQUMscUJBQXFCLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUztpQkFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjtpQkFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3BDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWM7aUJBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQy9CLENBQUMsQ0FBQyxDQUFDO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0I7aUJBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2lCQUNwQyxTQUFTLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7Z0JBQzdDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDdkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDN0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTt3QkFDcEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDekIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FDMUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLDRCQUE0QixDQUFDLEVBQUUsQ0FDdkMsQ0FBQztvQkFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQzt3QkFDeEIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRTt3QkFDbEMsR0FBRyxVQUFVO3FCQUNkLENBQUMsQ0FBQztvQkFDSCxJQUNFLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQzt3QkFDcEMsTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQ3hCLENBQUM7d0JBQ0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNsRSxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCO2lCQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztpQkFDcEMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDdkIsSUFBSSxDQUFDLGVBQWU7cUJBQ2pCLFFBQVEsRUFBRTtxQkFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQzdELENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVztpQkFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBRXBDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO29CQUMzQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7b0JBQ3hCLE1BQU0sRUFDSixPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssUUFBUTt3QkFDOUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO3dCQUMxQixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO2lCQUN4QixDQUFDO2dCQUVGLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMvQyxDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYTtpQkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ3BDLFNBQVMsQ0FBQyxDQUFDLEtBQXlCLEVBQUUsRUFBRTtnQkFDdkMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBRXBDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO29CQUMzQixRQUFRLEVBQUUsSUFBSTtvQkFDZCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxXQUFXO3dCQUMvQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7d0JBQzVCLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUU7aUJBQ3RCLENBQUM7Z0JBRUYsS0FBSyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxRQUFRO1FBQ2IsYUFBYSxDQUF5RDtZQUNwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxFQUFFLGNBQWMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO1NBQ2hELENBQUM7YUFDQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUNwQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxnQkFBZ0IsQ0FDbkIsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxRQUFRLEVBQUUsZUFBZSxDQUMxQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sZUFBZTtRQUNwQixNQUFNLGFBQWEsR0FDakIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEUsTUFBTSxRQUFRLEdBQUcsR0FBUyxFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQ3pCLENBQUMsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUM1RCxDQUFDO1FBQ0osQ0FBQyxDQUFDO1FBQ0YsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixNQUFNLG1CQUFtQixHQUN2QixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7Z0JBQ3pDLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUM7YUFDM0IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDL0MsbUJBQW1CLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbkMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsUUFBUSxFQUFFLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsTUFBYTtRQUNoQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRO2dCQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWM7Z0JBQ3JCLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUM5QixTQUFTLENBQ1YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsc0NBQXNDO0lBQy9CLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBd0MsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FDbkIsYUFBYSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUxRSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWE7aUJBQzNCLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDaEQsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsZUFBZSxDQUFDO1FBQ25FLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pELE1BQU0sY0FBYyxHQUFHLElBQUksRUFBRSxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLEVBQUUsYUFBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDcEUsSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLGNBQWMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNsRCxJQUNFLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDdEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FDOUIsdUNBQXVDLENBQ3hDLEVBQ0QsQ0FBQztnQkFDRCxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDekIsdUNBQXVDLEVBQ3ZDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUN2QixDQUFDO1lBQ0osQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDckUsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN6RCxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNoQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7aUJBQU0sSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN6RCxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNoQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUNkLGdCQUF5QixFQUN6QixTQUFrQixFQUNsQixhQUFnQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEQsSUFBSSxLQUFLLEdBQUc7WUFDVixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUMxRCxPQUFPO1NBQ1IsQ0FBQztRQUNGLE1BQU0sa0JBQWtCLEdBQUcsNEJBQTRCLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQzdDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssa0JBQWtCLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsZ0JBQXlCO1FBQ3pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUM7WUFDL0QsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQzs4R0E5VFUseUJBQXlCO2tHQUF6Qix5QkFBeUIsNkVBZWhCLGdCQUFnQixxSkFadEIsYUFBYSw4REMzRDdCLDZvQkE2QkE7OzJGRDJCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUVkLHVCQUF1QixDQUFDLE1BQU07d0RBUXhDLE1BQU07c0JBSFosWUFBWTt1QkFBQyxhQUFhLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxJQUFJO3FCQUNiO2dCQUlNLGNBQWM7c0JBRHBCLFdBQVc7dUJBQUMsaUNBQWlDO2dCQVFuQyxPQUFPO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5VGhlbWVTZXJ2aWNlLFxuICBTa3lUaGVtZVNldHRpbmdzLFxuICBTa3lUaGVtZVNldHRpbmdzQ2hhbmdlLFxufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7XG4gIENlbGxFZGl0aW5nU3RhcnRlZEV2ZW50LFxuICBDZWxsRm9jdXNlZEV2ZW50LFxuICBEZXRhaWxHcmlkSW5mbyxcbiAgSGVhZGVyRm9jdXNlZEV2ZW50LFxuICBNb2R1bGVOYW1lcyxcbiAgTW9kdWxlUmVnaXN0cnksXG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgT2JzZXJ2YWJsZSxcbiAgUmVwbGF5U3ViamVjdCxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIG9mLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBhZ0dyaWRUaGVtZSB9IGZyb20gJy4uLy4uL3N0eWxlcy9hZy1ncmlkLXRoZW1lJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUNlbGxUeXBlIH0gZnJvbSAnLi90eXBlcy9jZWxsLXR5cGUnO1xuXG5sZXQgaWRJbmRleCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hZy1ncmlkLXdyYXBwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFdyYXBwZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICBAQ29udGVudENoaWxkKEFnR3JpZEFuZ3VsYXIsIHtcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBhZ0dyaWQ6IEFnR3JpZEFuZ3VsYXIgfCB1bmRlZmluZWQ7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5za3ktYWctZ3JpZC1sYXlvdXQtbm9ybWFsJylcbiAgcHVibGljIGlzTm9ybWFsTGF5b3V0ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBhIGNvbXBhY3QgbGF5b3V0IGZvciB0aGUgZ3JpZCB3aGVuIHVzaW5nIG1vZGVybiB0aGVtZS4gQ29tcGFjdCBsYXlvdXQgdXNlc1xuICAgKiBhIHNtYWxsZXIgZm9udCBzaXplIGFuZCByb3cgaGVpZ2h0IHRvIGRpc3BsYXkgbW9yZSBkYXRhIGluIGEgc21hbGxlciBzcGFjZS5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgc2V0IGNvbXBhY3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLiNpc0NvbXBhY3QubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgYWZ0ZXJBbmNob3JJZDogc3RyaW5nO1xuICBwdWJsaWMgYmVmb3JlQW5jaG9ySWQ6IHN0cmluZztcbiAgcHVibGljIGdyaWRJZDogc3RyaW5nO1xuICBwdWJsaWMgd3JhcHBlckNsYXNzZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBwdWJsaWMgZ2V0IHZpZXdrZWVwZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZpZXdrZWVwZXJDbGFzc2VzO1xuICB9XG5cbiAgcHVibGljIHNldCB2aWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLiNfdmlld2tlZXBlckNsYXNzZXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCAjaXNJbkVkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFnR3JpZCAmJiB0aGlzLmFnR3JpZC5hcGkpIHtcbiAgICAgIGNvbnN0IHByaW1hcnlHcmlkRWRpdGluZyA9IHRoaXMuYWdHcmlkLmFwaS5nZXRFZGl0aW5nQ2VsbHMoKS5sZW5ndGggPiAwO1xuICAgICAgaWYgKHByaW1hcnlHcmlkRWRpdGluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIE1vZHVsZVJlZ2lzdHJ5Ll9faXNSZWdpc3RlcmVkKFxuICAgICAgICAgIE1vZHVsZU5hbWVzLkVudGVycHJpc2VDb3JlTW9kdWxlLFxuICAgICAgICAgICdza3ktYWctZ3JpZC13cmFwcGVyJyxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIC8vIEFHIEdyaWQgMzIrIHRocm93cyBhbiBlcnJvciBmb3IgY2FsbGluZyB0aGlzIEFQSSB3aXRob3V0IGVudGVycHJpc2UgbW9kdWxlcy5cbiAgICAgICAgbGV0IGlubmVyRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFnR3JpZC5hcGkuZm9yRWFjaERldGFpbEdyaWRJbmZvKChkZXRhaWxHcmlkOiBEZXRhaWxHcmlkSW5mbykgPT4ge1xuICAgICAgICAgIGlmIChkZXRhaWxHcmlkPy5hcGkgJiYgZGV0YWlsR3JpZC5hcGkuZ2V0RWRpdGluZ0NlbGxzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaW5uZXJFZGl0aW5nID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbm5lckVkaXRpbmc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gICNfdmlld2tlZXBlckNsYXNzZXM6IHN0cmluZ1tdID0gW107XG4gIHJlYWRvbmx5ICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcmVhZG9ubHkgI3RoZW1lU3ZjID0gaW5qZWN0KFNreVRoZW1lU2VydmljZSwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcbiAgcmVhZG9ubHkgI3dyYXBwZXJDbGFzc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW1xuICAgIGBhZy10aGVtZS1za3ktZGF0YS1ncmlkLWRlZmF1bHRgLFxuICBdKTtcbiAgcmVhZG9ubHkgI2FkYXB0ZXJTZXJ2aWNlID0gaW5qZWN0KFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcmVhZG9ubHkgI3BhcmVudENoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2tpcFNlbGY6IHRydWUsXG4gIH0pO1xuICByZWFkb25seSAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG4gIHJlYWRvbmx5ICNkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHJlYWRvbmx5ICNtdXRhdGlvbk9ic2VydmVyU2VydmljZSA9IGluamVjdChTa3lNdXRhdGlvbk9ic2VydmVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNpc0NvbXBhY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgI2hhc0VkaXRhYmxlQ2xhc3MgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZEluZGV4Kys7XG4gICAgdGhpcy5hZnRlckFuY2hvcklkID0gJ3NreS1hZy1ncmlkLW5hdi1hbmNob3ItYWZ0ZXItJyArIGlkSW5kZXg7XG4gICAgdGhpcy5iZWZvcmVBbmNob3JJZCA9ICdza3ktYWctZ3JpZC1uYXYtYW5jaG9yLWJlZm9yZS0nICsgaWRJbmRleDtcbiAgICB0aGlzLmdyaWRJZCA9ICdza3ktYWctZ3JpZC0nICsgaWRJbmRleDtcbiAgICB0aGlzLndyYXBwZXJDbGFzc2VzJCA9IHRoaXMuI3dyYXBwZXJDbGFzc2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQpIHtcbiAgICAgIGNvbnN0IGRvbUxheW91dCA9IHRoaXMuYWdHcmlkLmdyaWRPcHRpb25zPy5kb21MYXlvdXQ7XG4gICAgICBpZiAoZG9tTGF5b3V0ID09PSAnYXV0b0hlaWdodCcpIHtcbiAgICAgICAgaWYgKHRoaXMuYWdHcmlkLmdyaWRPcHRpb25zPy5jb250ZXh0Py5lbmFibGVUb3BTY3JvbGwpIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goXG4gICAgICAgICAgICAnLmFnLWhlYWRlcicsXG4gICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWV3a2VlcGVyQ2xhc3Nlcy5wdXNoKCcuYWctaGVhZGVyJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZG9tTGF5b3V0ID09PSAnbm9ybWFsJykge1xuICAgICAgICB0aGlzLmlzTm9ybWFsTGF5b3V0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy4jcGFyZW50Q2hhbmdlRGV0ZWN0b3I/LmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWdHcmlkLmdyaWRSZWFkeVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQuZmlyc3REYXRhUmVuZGVyZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNtb3ZlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLnJvd0RhdGFVcGRhdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbW92ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5jZWxsRWRpdGluZ1N0YXJ0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChwYXJhbXM6IENlbGxFZGl0aW5nU3RhcnRlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHBhcmFtcy5jb2xEZWYudHlwZSkge1xuICAgICAgICAgICAgY29uc3QgdHlwZXMgPSBBcnJheS5pc0FycmF5KHBhcmFtcy5jb2xEZWYudHlwZSlcbiAgICAgICAgICAgICAgPyBwYXJhbXMuY29sRGVmLnR5cGVcbiAgICAgICAgICAgICAgOiBbcGFyYW1zLmNvbERlZi50eXBlXTtcbiAgICAgICAgICAgIGNvbnN0IGFkZENsYXNzZXMgPSB0eXBlcy5tYXAoXG4gICAgICAgICAgICAgICh0KSA9PiBgc2t5LWFnLWdyaWQtY2VsbC1lZGl0aW5nLSR7dH1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuI3dyYXBwZXJDbGFzc2VzLm5leHQoW1xuICAgICAgICAgICAgICAuLi50aGlzLiN3cmFwcGVyQ2xhc3Nlcy5nZXRWYWx1ZSgpLFxuICAgICAgICAgICAgICAuLi5hZGRDbGFzc2VzLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHR5cGVzLmluY2x1ZGVzKFNreUNlbGxUeXBlLlRlbXBsYXRlKSAmJlxuICAgICAgICAgICAgICBwYXJhbXMucm93SW5kZXggIT09IG51bGxcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLmFnR3JpZD8uYXBpLnNldEZvY3VzZWRDZWxsKHBhcmFtcy5yb3dJbmRleCwgcGFyYW1zLmNvbHVtbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLmNlbGxFZGl0aW5nU3RvcHBlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3dyYXBwZXJDbGFzc2VzLm5leHQoXG4gICAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlc1xuICAgICAgICAgICAgICAuZ2V0VmFsdWUoKVxuICAgICAgICAgICAgICAuZmlsdGVyKChjKSA9PiAhYy5zdGFydHNXaXRoKCdza3ktYWctZ3JpZC1jZWxsLWVkaXRpbmctJykpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQuY2VsbEZvY3VzZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogQ2VsbEZvY3VzZWRFdmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSBldmVudC5jb250ZXh0IHx8IHt9O1xuXG4gICAgICAgICAgY29udGV4dFsnbGFzdEZvY3VzZWRDZWxsJ10gPSB7XG4gICAgICAgICAgICByb3dJbmRleDogZXZlbnQucm93SW5kZXgsXG4gICAgICAgICAgICBjb2x1bW46XG4gICAgICAgICAgICAgIHR5cGVvZiBldmVudC5jb2x1bW4gPT09ICdvYmplY3QnXG4gICAgICAgICAgICAgICAgPyBldmVudC5jb2x1bW4/LmdldENvbElkKClcbiAgICAgICAgICAgICAgICA6IGAke2V2ZW50LmNvbHVtbn1gLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBldmVudC5hcGk/LnNldEdyaWRPcHRpb24oJ2NvbnRleHQnLCBjb250ZXh0KTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWdHcmlkLmhlYWRlckZvY3VzZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogSGVhZGVyRm9jdXNlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IGV2ZW50LmNvbnRleHQgfHwge307XG5cbiAgICAgICAgICBjb250ZXh0WydsYXN0Rm9jdXNlZENlbGwnXSA9IHtcbiAgICAgICAgICAgIHJvd0luZGV4OiBudWxsLFxuICAgICAgICAgICAgY29sdW1uOiBldmVudC5jb2x1bW4/LmdldFVuaXF1ZUlkXG4gICAgICAgICAgICAgID8gZXZlbnQuY29sdW1uLmdldFVuaXF1ZUlkKClcbiAgICAgICAgICAgICAgOiBgJHtldmVudC5jb2x1bW59YCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgZXZlbnQuYXBpPy5zZXRHcmlkT3B0aW9uKCdjb250ZXh0JywgY29udGV4dCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jaGFzRWRpdGFibGVDbGFzcy5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2lzQ29tcGFjdC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3dyYXBwZXJDbGFzc2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdDxbYm9vbGVhbiwgYm9vbGVhbiwgU2t5VGhlbWVTZXR0aW5nc0NoYW5nZSB8IHVuZGVmaW5lZF0+KFtcbiAgICAgIHRoaXMuI2hhc0VkaXRhYmxlQ2xhc3MucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKSxcbiAgICAgIHRoaXMuI2lzQ29tcGFjdC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgdGhpcy4jdGhlbWVTdmM/LnNldHRpbmdzQ2hhbmdlID8/IG9mKHVuZGVmaW5lZCksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtoYXNFZGl0YWJsZUNsYXNzLCBpc0NvbXBhY3QsIHNldHRpbmdzXSkgPT4ge1xuICAgICAgICB0aGlzLiN1cGRhdGVHcmlkVGhlbWUoXG4gICAgICAgICAgaGFzRWRpdGFibGVDbGFzcyxcbiAgICAgICAgICBpc0NvbXBhY3QsXG4gICAgICAgICAgc2V0dGluZ3M/LmN1cnJlbnRTZXR0aW5ncyxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWRFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCA9XG4gICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYWctZ3JpZC1hbmd1bGFyJyk7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoKTogdm9pZCA9PiB7XG4gICAgICB0aGlzLiNoYXNFZGl0YWJsZUNsYXNzLm5leHQoXG4gICAgICAgICEhYWdHcmlkRWxlbWVudD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdza3ktYWctZ3JpZC1lZGl0YWJsZScpLFxuICAgICAgKTtcbiAgICB9O1xuICAgIGlmIChhZ0dyaWRFbGVtZW50KSB7XG4gICAgICBjb25zdCBhZ0dyaWRDbGFzc09ic2VydmVyID1cbiAgICAgICAgdGhpcy4jbXV0YXRpb25PYnNlcnZlclNlcnZpY2UuY3JlYXRlKGNhbGxiYWNrKTtcbiAgICAgIGFnR3JpZENsYXNzT2JzZXJ2ZXIub2JzZXJ2ZShhZ0dyaWRFbGVtZW50LCB7XG4gICAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICAgIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddLFxuICAgICAgfSk7XG4gICAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgYWdHcmlkQ2xhc3NPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgY2FsbGJhY2soKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGNsb3NpbmcgYSBtb2RhbCB3aGVuIGZvY3VzZWQgaW4gQUcgR3JpZC5cbiAgICovXG4gIHB1YmxpYyBvbktleVVwRXNjYXBlKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5hZ0dyaWQ/LmFwaS5zdG9wRWRpdGluZyh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyaWRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmICF0aGlzLiNpc0luRWRpdE1vZGUgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgY29uc3QgaWRUb0ZvY3VzID0gZXZlbnQuc2hpZnRLZXlcbiAgICAgICAgPyB0aGlzLmJlZm9yZUFuY2hvcklkXG4gICAgICAgIDogdGhpcy5hZnRlckFuY2hvcklkO1xuICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0Rm9jdXNlZEVsZW1lbnRCeUlkKFxuICAgICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGlkVG9Gb2N1cyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbXBsZXhpdHlcbiAgcHVibGljIG9uQW5jaG9yRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gZXZlbnQucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBwcmV2aW91c1dhc0dyaWQgPVxuICAgICAgcmVsYXRlZFRhcmdldCAmJiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMocmVsYXRlZFRhcmdldCk7XG5cbiAgICBpZiAodGhpcy5hZ0dyaWQgJiYgIXByZXZpb3VzV2FzR3JpZCkge1xuICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgIC5xdWVyeVNlbGVjdG9yKCcuYWctdGFiLWd1YXJkLmFnLXRhYi1ndWFyZC10b3AnKVxuICAgICAgICA/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk6IHZvaWQge1xuICAgIGNvbnN0IHRvVG9wID0gISF0aGlzLmFnR3JpZD8uZ3JpZE9wdGlvbnM/LmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbDtcbiAgICBjb25zdCByb290ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hZy1yb290Jyk7XG4gICAgY29uc3QgaGVhZGVyID0gcm9vdD8ucXVlcnlTZWxlY3RvcignLmFnLWhlYWRlcicpO1xuICAgIGNvbnN0IGZsb2F0aW5nQm90dG9tID0gcm9vdD8ucXVlcnlTZWxlY3RvcignLmFnLWZsb2F0aW5nLWJvdHRvbScpO1xuICAgIGNvbnN0IHNjcm9sbGJhciA9IHJvb3Q/LnF1ZXJ5U2VsZWN0b3IoJy5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsJyk7XG4gICAgaWYgKHJvb3QgJiYgaGVhZGVyICYmIGZsb2F0aW5nQm90dG9tICYmIHNjcm9sbGJhcikge1xuICAgICAgaWYgKFxuICAgICAgICBzY3JvbGxiYXIuc3R5bGUuaGVpZ2h0ICE9PVxuICAgICAgICBzY3JvbGxiYXIuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgICAnLS1za3ktYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC13aWR0aCcsXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICBzY3JvbGxiYXIuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgJy0tc2t5LWFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtd2lkdGgnLFxuICAgICAgICAgIHNjcm9sbGJhci5zdHlsZS5oZWlnaHQsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCBpc1RvcCA9IHJvb3QuY2hpbGRyZW5bMV0ubWF0Y2hlcygnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnKTtcbiAgICAgIGlmICh0b1RvcCAmJiAhaXNUb3ApIHtcbiAgICAgICAgY29uc3QgZnJhZ21lbnQgPSB0aGlzLiNkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHNjcm9sbGJhcik7XG4gICAgICAgIGhlYWRlci5hZnRlcihmcmFnbWVudCk7XG4gICAgICB9IGVsc2UgaWYgKCF0b1RvcCAmJiBpc1RvcCkge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoc2Nyb2xsYmFyKTtcbiAgICAgICAgZmxvYXRpbmdCb3R0b20uYWZ0ZXIoZnJhZ21lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVHcmlkVGhlbWUoXG4gICAgaGFzRWRpdGFibGVDbGFzczogYm9vbGVhbixcbiAgICBpc0NvbXBhY3Q6IGJvb2xlYW4sXG4gICAgdGhlbWVTZXR0aW5ncz86IFNreVRoZW1lU2V0dGluZ3MsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGFnVGhlbWUgPSBhZ0dyaWRUaGVtZShoYXNFZGl0YWJsZUNsYXNzLCB0aGVtZVNldHRpbmdzLCBpc0NvbXBhY3QpO1xuICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5nZXRWYWx1ZSgpO1xuICAgIGxldCB2YWx1ZSA9IFtcbiAgICAgIC4uLnByZXZpb3VzVmFsdWUuZmlsdGVyKChjKSA9PiAhYy5zdGFydHNXaXRoKCdhZy10aGVtZS0nKSksXG4gICAgICBhZ1RoZW1lLFxuICAgIF07XG4gICAgY29uc3QgdGV4dFNlbGVjdGlvbkNsYXNzID0gJ3NreS1hZy1ncmlkLXRleHQtc2VsZWN0aW9uJztcbiAgICBpZiAodGhpcy4jZ2V0VGV4dFNlbGVjdGlvbihoYXNFZGl0YWJsZUNsYXNzKSkge1xuICAgICAgdmFsdWUucHVzaCh0ZXh0U2VsZWN0aW9uQ2xhc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLmZpbHRlcigoYykgPT4gYyAhPT0gdGV4dFNlbGVjdGlvbkNsYXNzKTtcbiAgICB9XG4gICAgdGhpcy4jd3JhcHBlckNsYXNzZXMubmV4dChbLi4ubmV3IFNldCh2YWx1ZSldKTtcbiAgfVxuXG4gICNnZXRUZXh0U2VsZWN0aW9uKGhhc0VkaXRhYmxlQ2xhc3M6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQ/LmdyaWRPcHRpb25zPy5jb250ZXh0Py5lbmFibGVDZWxsVGV4dFNlbGVjdGlvbikge1xuICAgICAgcmV0dXJuICFoYXNFZGl0YWJsZUNsYXNzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8c3BhblxuICBjbGFzcz1cIm5hdi1hbmNob3JcIlxuICB0YWJpbmRleD1cIjBcIlxuICBbaWRdPVwiYmVmb3JlQW5jaG9ySWRcIlxuICAoZm9jdXNpbik9XCJvbkFuY2hvckZvY3VzKCRldmVudClcIlxuPlxuPC9zcGFuPlxuPGRpdlxuICBjbGFzcz1cInNreS1hZy1ncmlkXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2NsYXNzLnNreS1hZy1ncmlkLXRvcC1zY3JvbGxiYXJdPVwiXG4gICAgYWdHcmlkPy5ncmlkT3B0aW9ucz8uY29udGV4dCAmJlxuICAgIGFnR3JpZD8uZ3JpZE9wdGlvbnM/LmNvbnRleHRbJ2VuYWJsZVRvcFNjcm9sbCddXG4gIFwiXG4gIFtuZ0NsYXNzXT1cIndyYXBwZXJDbGFzc2VzJCB8IGFzeW5jXCJcbiAgW2lkXT1cImdyaWRJZFwiXG4gIFtza3lWaWV3a2VlcGVyXT1cInZpZXdrZWVwZXJDbGFzc2VzXCJcbiAgKGtleWRvd24pPVwib25HcmlkS2V5ZG93bigkZXZlbnQpXCJcbiAgKGtleXVwLmVzY2FwZSk9XCJvbktleVVwRXNjYXBlKCRldmVudClcIlxuPlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG48c3BhblxuICB0YWJpbmRleD1cIjBcIlxuICBjbGFzcz1cIm5hdi1hbmNob3JcIlxuICBbaWRdPVwiYWZ0ZXJBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG4iXX0=
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsZ0JBQWdCLEVBQ2hCLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUNMLGVBQWUsR0FHaEIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFLTCxXQUFXLEVBQ1gsY0FBYyxHQUNmLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLGVBQWUsRUFFZixhQUFhLEVBQ2IsT0FBTyxFQUNQLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsRUFBRSxFQUNGLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFekQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFt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WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDOzhHQTdUVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2RUFlaEIsZ0JBQWdCLHFKQVp0QixhQUFhLDhEQzNEN0IsNm9CQTZCQTs7MkZEMkJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTt3REFReEMsTUFBTTtzQkFIWixZQUFZO3VCQUFDLGFBQWEsRUFBRTt3QkFDM0IsTUFBTSxFQUFFLElBQUk7cUJBQ2I7Z0JBSU0sY0FBYztzQkFEcEIsV0FBVzt1QkFBQyxpQ0FBaUM7Z0JBUW5DLE9BQU87c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQge1xuICBTa3lUaGVtZVNlcnZpY2UsXG4gIFNreVRoZW1lU2V0dGluZ3MsXG4gIFNreVRoZW1lU2V0dGluZ3NDaGFuZ2UsXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgQ2VsbEVkaXRpbmdTdGFydGVkRXZlbnQsXG4gIENlbGxGb2N1c2VkRXZlbnQsXG4gIERldGFpbEdyaWRJbmZvLFxuICBIZWFkZXJGb2N1c2VkRXZlbnQsXG4gIE1vZHVsZU5hbWVzLFxuICBNb2R1bGVSZWdpc3RyeSxcbn0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBPYnNlcnZhYmxlLFxuICBSZXBsYXlTdWJqZWN0LFxuICBTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgb2YsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGFnR3JpZFRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL2FnLWdyaWQtdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSB9IGZyb20gJy4vYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5Q2VsbFR5cGUgfSBmcm9tICcuL3R5cGVzL2NlbGwtdHlwZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFnLWdyaWQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIEBDb250ZW50Q2hpbGQoQWdHcmlkQW5ndWxhciwge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNreS1hZy1ncmlkLWxheW91dC1ub3JtYWwnKVxuICBwdWJsaWMgaXNOb3JtYWxMYXlvdXQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRW5hYmxlIGEgY29tcGFjdCBsYXlvdXQgZm9yIHRoZSBncmlkIHdoZW4gdXNpbmcgbW9kZXJuIHRoZW1lLiBDb21wYWN0IGxheW91dCB1c2VzXG4gICAqIGEgc21hbGxlciBmb250IHNpemUgYW5kIHJvdyBoZWlnaHQgdG8gZGlzcGxheSBtb3JlIGRhdGEgaW4gYSBzbWFsbGVyIHNwYWNlLlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBzZXQgY29tcGFjdCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuI2lzQ29tcGFjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhZnRlckFuY2hvcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBiZWZvcmVBbmNob3JJZDogc3RyaW5nO1xuICBwdWJsaWMgZ3JpZElkOiBzdHJpbmc7XG4gIHB1YmxpYyB3cmFwcGVyQ2xhc3NlcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuXG4gIHB1YmxpYyBnZXQgdmlld2tlZXBlckNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLiNfdmlld2tlZXBlckNsYXNzZXM7XG4gIH1cblxuICBwdWJsaWMgc2V0IHZpZXdrZWVwZXJDbGFzc2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuI192aWV3a2VlcGVyQ2xhc3NlcyA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0ICNpc0luRWRpdE1vZGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgcHJpbWFyeUdyaWRFZGl0aW5nID0gdGhpcy5hZ0dyaWQuYXBpLmdldEVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDA7XG4gICAgICBpZiAocHJpbWFyeUdyaWRFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgTW9kdWxlUmVnaXN0cnkuX19pc1JlZ2lzdGVyZWQoXG4gICAgICAgICAgTW9kdWxlTmFtZXMuRW50ZXJwcmlzZUNvcmVNb2R1bGUsXG4gICAgICAgICAgJ3NreS1hZy1ncmlkLXdyYXBwZXInLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgLy8gQUcgR3JpZCAzMisgdGhyb3dzIGFuIGVycm9yIGZvciBjYWxsaW5nIHRoaXMgQVBJIHdpdGhvdXQgZW50ZXJwcmlzZSBtb2R1bGVzLlxuICAgICAgICBsZXQgaW5uZXJFZGl0aW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWdHcmlkLmFwaS5mb3JFYWNoRGV0YWlsR3JpZEluZm8oKGRldGFpbEdyaWQ6IERldGFpbEdyaWRJbmZvKSA9PiB7XG4gICAgICAgICAgaWYgKGRldGFpbEdyaWQ/LmFwaSAmJiBkZXRhaWxHcmlkLmFwaS5nZXRFZGl0aW5nQ2VsbHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBpbm5lckVkaXRpbmcgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGlubmVyRWRpdGluZztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgI192aWV3a2VlcGVyQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcbiAgcmVhZG9ubHkgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICByZWFkb25seSAjdGhlbWVTdmMgPSBpbmplY3QoU2t5VGhlbWVTZXJ2aWNlLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuICByZWFkb25seSAjd3JhcHBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXG4gICAgYGFnLXRoZW1lLXNreS1kYXRhLWdyaWQtZGVmYXVsdGAsXG4gIF0pO1xuICByZWFkb25seSAjYWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UpO1xuICByZWFkb25seSAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICByZWFkb25seSAjcGFyZW50Q2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBza2lwU2VsZjogdHJ1ZSxcbiAgfSk7XG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcbiAgcmVhZG9ubHkgI2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcmVhZG9ubHkgI211dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlID0gaW5qZWN0KFNreU11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgI2lzQ29tcGFjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSAjaGFzRWRpdGFibGVDbGFzcyA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlkSW5kZXgrKztcbiAgICB0aGlzLmFmdGVyQW5jaG9ySWQgPSAnc2t5LWFnLWdyaWQtbmF2LWFuY2hvci1hZnRlci0nICsgaWRJbmRleDtcbiAgICB0aGlzLmJlZm9yZUFuY2hvcklkID0gJ3NreS1hZy1ncmlkLW5hdi1hbmNob3ItYmVmb3JlLScgKyBpZEluZGV4O1xuICAgIHRoaXMuZ3JpZElkID0gJ3NreS1hZy1ncmlkLScgKyBpZEluZGV4O1xuICAgIHRoaXMud3JhcHBlckNsYXNzZXMkID0gdGhpcy4jd3JhcHBlckNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZCkge1xuICAgICAgY29uc3QgZG9tTGF5b3V0ID0gdGhpcy5hZ0dyaWQuZ3JpZE9wdGlvbnM/LmRvbUxheW91dDtcbiAgICAgIGlmIChkb21MYXlvdXQgPT09ICdhdXRvSGVpZ2h0Jykge1xuICAgICAgICBpZiAodGhpcy5hZ0dyaWQuZ3JpZE9wdGlvbnM/LmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbCkge1xuICAgICAgICAgIHRoaXMudmlld2tlZXBlckNsYXNzZXMucHVzaChcbiAgICAgICAgICAgICcuYWctaGVhZGVyJyxcbiAgICAgICAgICAgICcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCcsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goJy5hZy1oZWFkZXInKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkb21MYXlvdXQgPT09ICdub3JtYWwnKSB7XG4gICAgICAgIHRoaXMuaXNOb3JtYWxMYXlvdXQgPSB0cnVlO1xuICAgICAgICB0aGlzLiNwYXJlbnRDaGFuZ2VEZXRlY3Rvcj8uZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfVxuICAgICAgdGhpcy5hZ0dyaWQuZ3JpZFJlYWR5XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbW92ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5maXJzdERhdGFSZW5kZXJlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQucm93RGF0YVVwZGF0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNtb3ZlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLmNlbGxFZGl0aW5nU3RhcnRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogQ2VsbEVkaXRpbmdTdGFydGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocGFyYW1zLmNvbERlZi50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IEFycmF5LmlzQXJyYXkocGFyYW1zLmNvbERlZi50eXBlKVxuICAgICAgICAgICAgICA/IHBhcmFtcy5jb2xEZWYudHlwZVxuICAgICAgICAgICAgICA6IFtwYXJhbXMuY29sRGVmLnR5cGVdO1xuICAgICAgICAgICAgY29uc3QgYWRkQ2xhc3NlcyA9IHR5cGVzLm1hcChcbiAgICAgICAgICAgICAgKHQpID0+IGBza3ktYWctZ3JpZC1jZWxsLWVkaXRpbmctJHt0fWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXMubmV4dChbXG4gICAgICAgICAgICAgIC4uLnRoaXMuI3dyYXBwZXJDbGFzc2VzLmdldFZhbHVlKCksXG4gICAgICAgICAgICAgIC4uLmFkZENsYXNzZXMsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdHlwZXMuaW5jbHVkZXMoU2t5Q2VsbFR5cGUuVGVtcGxhdGUpICYmXG4gICAgICAgICAgICAgIHBhcmFtcy5yb3dJbmRleCAhPT0gbnVsbFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWdHcmlkPy5hcGkuc2V0Rm9jdXNlZENlbGwocGFyYW1zLnJvd0luZGV4LCBwYXJhbXMuY29sdW1uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQuY2VsbEVkaXRpbmdTdG9wcGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXMubmV4dChcbiAgICAgICAgICAgIHRoaXMuI3dyYXBwZXJDbGFzc2VzXG4gICAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLnN0YXJ0c1dpdGgoJ3NreS1hZy1ncmlkLWNlbGwtZWRpdGluZy0nKSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5jZWxsRm9jdXNlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBDZWxsRm9jdXNlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGV4dCA9IGV2ZW50LmNvbnRleHQgfHwge307XG5cbiAgICAgICAgICBjb250ZXh0WydsYXN0Rm9jdXNlZENlbGwnXSA9IHtcbiAgICAgICAgICAgIHJvd0luZGV4OiBldmVudC5yb3dJbmRleCxcbiAgICAgICAgICAgIGNvbHVtbjpcbiAgICAgICAgICAgICAgdHlwZW9mIGV2ZW50LmNvbHVtbiA9PT0gJ29iamVjdCdcbiAgICAgICAgICAgICAgICA/IGV2ZW50LmNvbHVtbj8uZ2V0Q29sSWQoKVxuICAgICAgICAgICAgICAgIDogYCR7ZXZlbnQuY29sdW1ufWAsXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGV2ZW50LmFwaT8uc2V0R3JpZE9wdGlvbignY29udGV4dCcsIGNvbnRleHQpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZ0dyaWQuaGVhZGVyRm9jdXNlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBIZWFkZXJGb2N1c2VkRXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gZXZlbnQuY29udGV4dCB8fCB7fTtcblxuICAgICAgICAgIGNvbnRleHRbJ2xhc3RGb2N1c2VkQ2VsbCddID0ge1xuICAgICAgICAgICAgcm93SW5kZXg6IG51bGwsXG4gICAgICAgICAgICBjb2x1bW46IGV2ZW50LmNvbHVtbj8uZ2V0VW5pcXVlSWRcbiAgICAgICAgICAgICAgPyBldmVudC5jb2x1bW4uZ2V0VW5pcXVlSWQoKVxuICAgICAgICAgICAgICA6IGAke2V2ZW50LmNvbHVtbn1gLFxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBldmVudC5hcGk/LnNldEdyaWRPcHRpb24oJ2NvbnRleHQnLCBjb250ZXh0KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgICB0aGlzLiNoYXNFZGl0YWJsZUNsYXNzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jaXNDb21wYWN0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jd3JhcHBlckNsYXNzZXMuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb21iaW5lTGF0ZXN0PFtib29sZWFuLCBib29sZWFuLCBTa3lUaGVtZVNldHRpbmdzQ2hhbmdlIHwgdW5kZWZpbmVkXT4oW1xuICAgICAgdGhpcy4jaGFzRWRpdGFibGVDbGFzcy5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgdGhpcy4jaXNDb21wYWN0LnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksXG4gICAgICB0aGlzLiN0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2UgPz8gb2YodW5kZWZpbmVkKSxcbiAgICBdKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoW2hhc0VkaXRhYmxlQ2xhc3MsIGlzQ29tcGFjdCwgc2V0dGluZ3NdKSA9PiB7XG4gICAgICAgIHRoaXMuI3VwZGF0ZUdyaWRUaGVtZShcbiAgICAgICAgICBoYXNFZGl0YWJsZUNsYXNzLFxuICAgICAgICAgIGlzQ29tcGFjdCxcbiAgICAgICAgICBzZXR0aW5ncz8uY3VycmVudFNldHRpbmdzLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGFnR3JpZEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkID1cbiAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdhZy1ncmlkLWFuZ3VsYXInKTtcbiAgICBjb25zdCBjYWxsYmFjayA9ICgpOiB2b2lkID0+IHtcbiAgICAgIHRoaXMuI2hhc0VkaXRhYmxlQ2xhc3MubmV4dChcbiAgICAgICAgISFhZ0dyaWRFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoJ3NreS1hZy1ncmlkLWVkaXRhYmxlJyksXG4gICAgICApO1xuICAgIH07XG4gICAgaWYgKGFnR3JpZEVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGFnR3JpZENsYXNzT2JzZXJ2ZXIgPVxuICAgICAgICB0aGlzLiNtdXRhdGlvbk9ic2VydmVyU2VydmljZS5jcmVhdGUoY2FsbGJhY2spO1xuICAgICAgYWdHcmlkQ2xhc3NPYnNlcnZlci5vYnNlcnZlKGFnR3JpZEVsZW1lbnQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJ10sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuI25nVW5zdWJzY3JpYmUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBhZ0dyaWRDbGFzc09ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjYWxsYmFjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgY2xvc2luZyBhIG1vZGFsIHdoZW4gZm9jdXNlZCBpbiBBRyBHcmlkLlxuICAgKi9cbiAgcHVibGljIG9uS2V5VXBFc2NhcGUoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFnR3JpZD8uYXBpLnN0b3BFZGl0aW5nKHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uR3JpZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQgJiYgIXRoaXMuI2lzSW5FZGl0TW9kZSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICBjb25zdCBpZFRvRm9jdXMgPSBldmVudC5zaGlmdEtleVxuICAgICAgICA/IHRoaXMuYmVmb3JlQW5jaG9ySWRcbiAgICAgICAgOiB0aGlzLmFmdGVyQW5jaG9ySWQ7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRGb2N1c2VkRWxlbWVudEJ5SWQoXG4gICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgaWRUb0ZvY3VzLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25BbmNob3JGb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlbGF0ZWRUYXJnZXQgPSBldmVudC5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByZXZpb3VzV2FzR3JpZCA9XG4gICAgICByZWxhdGVkVGFyZ2V0ICYmIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KTtcblxuICAgIGlmICh0aGlzLmFnR3JpZCAmJiAhcHJldmlvdXNXYXNHcmlkKSB7XG4gICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgLnF1ZXJ5U2VsZWN0b3IoJy5hZy10YWItZ3VhcmQuYWctdGFiLWd1YXJkLXRvcCcpXG4gICAgICAgID8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAjbW92ZUhvcml6b250YWxTY3JvbGwoKTogdm9pZCB7XG4gICAgY29uc3QgdG9Ub3AgPSAhIXRoaXMuYWdHcmlkPy5ncmlkT3B0aW9ucz8uY29udGV4dD8uZW5hYmxlVG9wU2Nyb2xsO1xuICAgIGNvbnN0IHJvb3QgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmFnLXJvb3QnKTtcbiAgICBjb25zdCBoZWFkZXIgPSByb290Py5xdWVyeVNlbGVjdG9yKCcuYWctaGVhZGVyJyk7XG4gICAgY29uc3QgZmxvYXRpbmdCb3R0b20gPSByb290Py5xdWVyeVNlbGVjdG9yKCcuYWctZmxvYXRpbmctYm90dG9tJyk7XG4gICAgY29uc3Qgc2Nyb2xsYmFyID0gcm9vdD8ucXVlcnlTZWxlY3RvcignLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnKTtcbiAgICBpZiAocm9vdCAmJiBoZWFkZXIgJiYgZmxvYXRpbmdCb3R0b20gJiYgc2Nyb2xsYmFyKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHNjcm9sbGJhci5zdHlsZS5oZWlnaHQgIT09XG4gICAgICAgIHNjcm9sbGJhci5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFxuICAgICAgICAgICctLXNreS1hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXdpZHRoJyxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHNjcm9sbGJhci5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAnLS1za3ktYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC13aWR0aCcsXG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlzVG9wID0gcm9vdC5jaGlsZHJlblsxXS5tYXRjaGVzKCcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCcpO1xuICAgICAgaWYgKHRvVG9wICYmICFpc1RvcCkge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoc2Nyb2xsYmFyKTtcbiAgICAgICAgaGVhZGVyLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoIXRvVG9wICYmIGlzVG9wKSB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy4jZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzY3JvbGxiYXIpO1xuICAgICAgICBmbG9hdGluZ0JvdHRvbS5hZnRlcihmcmFnbWVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUdyaWRUaGVtZShcbiAgICBoYXNFZGl0YWJsZUNsYXNzOiBib29sZWFuLFxuICAgIGlzQ29tcGFjdDogYm9vbGVhbixcbiAgICB0aGVtZVNldHRpbmdzPzogU2t5VGhlbWVTZXR0aW5ncyxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgYWdUaGVtZSA9IGFnR3JpZFRoZW1lKGhhc0VkaXRhYmxlQ2xhc3MsIHRoZW1lU2V0dGluZ3MsIGlzQ29tcGFjdCk7XG4gICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMuI3dyYXBwZXJDbGFzc2VzLmdldFZhbHVlKCk7XG4gICAgbGV0IHZhbHVlID0gW1xuICAgICAgLi4ucHJldmlvdXNWYWx1ZS5maWx0ZXIoKGMpID0+ICFjLnN0YXJ0c1dpdGgoJ2FnLXRoZW1lLScpKSxcbiAgICAgIGFnVGhlbWUsXG4gICAgXTtcbiAgICBjb25zdCB0ZXh0U2VsZWN0aW9uQ2xhc3MgPSAnc2t5LWFnLWdyaWQtdGV4dC1zZWxlY3Rpb24nO1xuICAgIGlmICh0aGlzLiNnZXRUZXh0U2VsZWN0aW9uKGhhc0VkaXRhYmxlQ2xhc3MpKSB7XG4gICAgICB2YWx1ZS5wdXNoKHRleHRTZWxlY3Rpb25DbGFzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbHVlID0gdmFsdWUuZmlsdGVyKChjKSA9PiBjICE9PSB0ZXh0U2VsZWN0aW9uQ2xhc3MpO1xuICAgIH1cbiAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFsuLi5uZXcgU2V0KHZhbHVlKV0pO1xuICB9XG5cbiAgI2dldFRleHRTZWxlY3Rpb24oaGFzRWRpdGFibGVDbGFzczogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmFnR3JpZD8uZ3JpZE9wdGlvbnM/LmNvbnRleHQ/LmVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uKSB7XG4gICAgICByZXR1cm4gIWhhc0VkaXRhYmxlQ2xhc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwibmF2LWFuY2hvclwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFtpZF09XCJiZWZvcmVBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG48ZGl2XG4gIGNsYXNzPVwic2t5LWFnLWdyaWRcIlxuICB0YWJpbmRleD1cIjBcIlxuICBbY2xhc3Muc2t5LWFnLWdyaWQtdG9wLXNjcm9sbGJhcl09XCJcbiAgICBhZ0dyaWQ/LmdyaWRPcHRpb25zPy5jb250ZXh0ICYmXG4gICAgYWdHcmlkPy5ncmlkT3B0aW9ucz8uY29udGV4dFsnZW5hYmxlVG9wU2Nyb2xsJ11cbiAgXCJcbiAgW25nQ2xhc3NdPVwid3JhcHBlckNsYXNzZXMkIHwgYXN5bmNcIlxuICBbaWRdPVwiZ3JpZElkXCJcbiAgW3NreVZpZXdrZWVwZXJdPVwidmlld2tlZXBlckNsYXNzZXNcIlxuICAoa2V5ZG93bik9XCJvbkdyaWRLZXlkb3duKCRldmVudClcIlxuICAoa2V5dXAuZXNjYXBlKT1cIm9uS2V5VXBFc2NhcGUoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbjxzcGFuXG4gIHRhYmluZGV4PVwiMFwiXG4gIGNsYXNzPVwibmF2LWFuY2hvclwiXG4gIFtpZF09XCJhZnRlckFuY2hvcklkXCJcbiAgKGZvY3VzaW4pPVwib25BbmNob3JGb2N1cygkZXZlbnQpXCJcbj5cbjwvc3Bhbj5cbiJdfQ==
@@ -484,7 +484,6 @@ class SkyAgGridWrapperComponent {
484
484
  this.#adapterService.setFocusedElementById(this.#elementRef.nativeElement, idToFocus);
485
485
  }
486
486
  }
487
- // eslint-disable-next-line complexity
488
487
  onAnchorFocus(event) {
489
488
  const relatedTarget = event.relatedTarget;
490
489
  const previousWasGrid = relatedTarget && this.#elementRef.nativeElement.contains(relatedTarget);