@energycap/components 0.39.30-ECAP-26487-data-rollup-icon-garnish.20241016-1132 → 0.39.31

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.
@@ -111,6 +111,7 @@ export class ValidationMessageService {
111
111
  translationObservables.push(this.translate.get('DomainValidationMessage_SC'));
112
112
  break;
113
113
  case 'invalidFile':
114
+ case 'invalidFormula':
114
115
  translationObservables.push(this.translate.get('is invalid'));
115
116
  break;
116
117
  default:
@@ -181,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
181
182
  providedIn: 'root'
182
183
  }]
183
184
  }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.DateDisplayPipe }]; } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFLNUM7O0dBRUc7QUFDSCxNQUFNLGlDQUFpQztDQU10QztBQUVEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUNZLFNBQTJCLEVBQzNCLGVBQWdDO1FBRGhDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN4QyxDQUFDO0lBR0w7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxNQUErQjtRQUVuRCwrREFBK0Q7UUFDL0QsSUFBSSxzQkFBc0IsR0FBRyxJQUFJLEtBQUssRUFBc0IsQ0FBQztRQUU3RCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFFakIsS0FBSyxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUU7Z0JBQ3pCLDBEQUEwRDtnQkFDMUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUU3QixRQUFRLFFBQVEsRUFBRTtvQkFDZCxLQUFLLE9BQU87d0JBQ1Isc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEYsTUFBTTtvQkFFVixLQUFLLFVBQVU7d0JBQ1gsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7d0JBQzdELE1BQU07b0JBQ1YsS0FBSyxnQkFB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QVMsRUFBRSxDQUFDLENBQUM7U0FDL0c7SUFDTCxDQUFDOztxSEF2TVUsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUZXh0Ym94VmFsaWRhdG9yUGFyYW1ldGVycyB9IGZyb20gJy4uL2NvbnRyb2xzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlRGlzcGxheVBpcGUgfSBmcm9tICcuLi9zaGFyZWQvZGlzcGxheS9waXBlcy9kYXRlLWRpc3BsYXkucGlwZSc7XHJcblxyXG4vKipcclxuICogXCJXZWFrIFR5cGVcIiBkZXNjcmliaW5nIGludGVycG9sYXRpb24gcGFyYW1ldGVycyBmb3IgTnVtZXJpY0JveFxyXG4gKi9cclxuY2xhc3MgTnVtZXJpY0JveEludGVycG9sYXRpb25QYXJhbWV0ZXJzIHtcclxuICAgIHB1YmxpYyBwcmVjaXNpb24/OiBudW1iZXI7XHJcbiAgICBwdWJsaWMgbWluVmFsdWU/OiBudW1iZXI7XHJcbiAgICBwdWJsaWMgbWF4VmFsdWU/OiBudW1iZXI7XHJcbiAgICBwdWJsaWMgbWluTWF4UmFuZ2U/OiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgbWF4UHJlY2lzaW9uRGlnaXRzPzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogU2VydmljZSB0byB0YWtlIHtAbGluayBWYWxpZGF0aW9uRXJyb3JzfSBhbmQgcmV0dXJuIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZXNcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBkYXRlRGlzcGxheVBpcGU6IERhdGVEaXNwbGF5UGlwZVxyXG4gICkgeyB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgbWVhbmluZ2Z1bCBlcnJvciBtZXNzYWdlcyBmcm9tIHtAbGluayBWYWxpZGF0aW9uRXJyb3JzfVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRFcnJvck1lc3NhZ2VzKGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwpOiBQcm9taXNlPEFycmF5PGFueT4+IHtcclxuXHJcbiAgICAgIC8qKiBBcnJheSBvZiBvYnNlcnZhYmxlcyByZXR1cm5lZCBmcm9tIHRoZSBUcmFuc2xhdGVTZXJ2aWNlLiAqL1xyXG4gICAgICBsZXQgdHJhbnNsYXRpb25PYnNlcnZhYmxlcyA9IG5ldyBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+KCk7XHJcblxyXG4gICAgICBpZiAoZXJyb3JzICE9PSBudWxsKSB7XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgZXJyb3JLZXkgaW4gZXJyb3JzKSB7XHJcbiAgICAgICAgICAgICAgLy8gaXQgd291bGQgYmUgbmljZSB0byBoYXZlIHR5cGluZyBvbiB0aGUgVmFsaWRhdGlvbkVycm9yc1xyXG4gICAgICAgICAgICAgIGxldCBlcnJvciA9IGVycm9yc1tlcnJvcktleV07XHJcblxyXG4gICAgICAgICAgICAgIHN3aXRjaCAoZXJyb3JLZXkpIHtcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnZW1haWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnSW52YWxpZEVtYWlsVmFsaWRhdGlvbk1lc3NhZ2VfTEMnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ2lzIHJlcXVpcmVkJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICBjYXNlICdyZXF1aXJlZFBsdXJhbCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ1JlcXVpcmVkUGx1cmFsVmFsaWRhdGlvbk1lc3NhZ2VfTEMnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ21pbmxlbmd0aCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdNaW5MZW5ndGhWYWxpZGF0aW9uTWVzc2FnZV9MQycsIHsgbWluTGVuZ3RoOiBlcnJvci5yZXF1aXJlZExlbmd0aCB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ21heGxlbmd0aCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KGBNYXhMZW5ndGhWYWxpZGF0aW9uTWVzc2FnZWAsIHsgbWF4TGVuZ3RoOiBlcnJvci5yZXF1aXJlZExlbmd0aCB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ3BhdHRlcm4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnSW5jb3JyZWN0Rm9ybWF0X0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtaW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnTWluVmFsdWVWYWxpZGF0aW9uTWVzc2FnZV9MQycsIHsgbWluVmFsdWU6IGVycm9yLm1pbiB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ21heCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdNYXhWYWx1ZVZhbGlkYXRpb25NZXNzYWdlX0xDJywgeyBtYXhWYWx1ZTogZXJyb3IubWF4IH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgY2FzZSAnemlwQ29kZUludmFsaWRGb3JtYXQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnbXVzdCBiZSA14oCTOSBudW1iZXJzJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdwb3N0YWxDb2RlSW52YWxpZEZvcm1hdCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdtdXN0IGJlIDYgY2hhcmFjdGVycywgYWx0ZXJuYXRpbmcgbGV0dGVycyBhbmQgbnVtYmVycycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgY2FzZSAnemlwQ29kZU5vdEZvdW5kJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ1ppcENvZGVOb3RGb3VuZFZhbGlkYXRpb25NZXNzYWdlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBDdXN0b20gdmFsaWRhdG9yIGZyb20gdGhlIE51bWVyaWNib3hDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnbnVtZXJpY2JveCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy5nZXROdW1lcmljQm94VmFsaWRhdGlvbk1lc3NhZ2VzKGVycm9yKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2FkZG5ldyc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdDb3VsZE5vdEJlQWRkZWRWYWxpZGF0aW9uTWVzc2FnZV9MQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgLy8gS2VuZG8gZGF0ZXBpY2tlciBtaW4gZXJyb3JcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnbWluRXJyb3InOlxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtaW5EYXRlJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZGF0ZURpc3BsYXlQaXBlLnRyYW5zZm9ybShlcnJvci5taW5WYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdNaW5WYWx1ZVZhbGlkYXRpb25NZXNzYWdlX0xDJywgeyBtaW5WYWx1ZTogdmFsdWUgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBLZW5kbyBkYXRlcGlja2VyIG1heCBlcnJvclxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtYXhFcnJvcic6XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ21heERhdGUnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5kYXRlRGlzcGxheVBpcGUudHJhbnNmb3JtKGVycm9yLm1heFZhbHVlLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ01heFZhbHVlVmFsaWRhdGlvbk1lc3NhZ2VfTEMnLCB7IG1heFZhbHVlOiB2YWx1ZSB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vIEN1c3RvbSB2YWxpZGF0b3IgZm9yIHRoZSBEYXRlUmFuZ2VDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnZGF0ZVJhbmdlJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ0RhdGVSYW5nZVZhbGlkYXRpb25NZXNzYWdlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdwYXNzd29yZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdQYXNzd29yZFZhbGlkYXRpb25NZXNzYWdlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBDdXN0b20gdmFsaWRhdG9yIGZyb20gdGhlIFRleHRib3hDb21wb25lbnRcclxuICAgICAgICAgICAgICAgICAgY2FzZSAndGV4dGJveCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy5nZXRUZXh0Qm94VmFsaWRhdGlvbk1lc3NhZ2VzKGVycm9yKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ25vdFVuaXF1ZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdNdXN0QmVVbmlxdWVfTEMnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2pzb24nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnSnNvblZhbGlkYXRpb25NZXNzYWdlX1NDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdwYXNzd29yZEludmFsaWQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnUGFzc3dvcmRJbnZhbGlkVmFsaWRhdGlvbk1lc3NhZ2VfTEMnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2RvbWFpbic6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdEb21haW5WYWxpZGF0aW9uTWVzc2FnZV9TQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICBjYXNlICdpbnZhbGlkRmlsZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdpcyBpbnZhbGlkJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgICAgICAgICAvLyBmb3JrSm9pbiByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGFsbCBpdHMgb2JzZXJ2YWJsZXMgY29tcGxldGUuXHJcbiAgICAgICAgICAgICAgLy8gV2hlbiBmb3Jram9pbiBlbWl0cywgaXQgZW1pdHMgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgbGFzdCB2YWx1ZSByZXR1cm5lZCBmcm9tXHJcbiAgICAgICAgICAgICAgLy8gZWFjaCBvZiBpdHMgb2JzZXJ2YWJsZXMuXHJcbiAgICAgICAgICAgICAgLy8gQHNlZSBodHRwczovL3d3dy5sZWFybnJ4anMuaW8vb3BlcmF0b3JzL2NvbWJpbmF0aW9uL2Zvcmtqb2luLmh0bWxcclxuICAgICAgICAgICAgICAvLyBXZSBjb252ZXJ0IHRoaXMgdG8gYSBwcm9taXNlIHNvIHRoZSBmb3JtIGNvbnRyb2xzIGNhbiBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlc1xyXG4gICAgICAgICAgICAgIC8vIGFzeW5jaHJvbm91c2x5LlxyXG4gICAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbih0cmFuc2xhdGlvbk9ic2VydmFibGVzKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQXJyYXk8c3RyaW5nPigpKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgcHJvcGVyIHZhbGlkYXRpb24gbWVzc2FnZSBmb3IgQHNlZSBOdW1lcmljQm94Q29tcG9uZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXROdW1lcmljQm94VmFsaWRhdGlvbk1lc3NhZ2VzKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICBsZXQgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnM6IE51bWVyaWNCb3hJbnRlcnBvbGF0aW9uUGFyYW1ldGVycyA9IHt9O1xyXG4gICAgICBsZXQgdHlwZTogc3RyaW5nID0gJ0ludGVnZXInO1xyXG5cclxuICAgICAgaWYgKGVycm9yLmRlY2ltYWxzKSB7XHJcbiAgICAgICAgICBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycy5wcmVjaXNpb24gPSBlcnJvci5kZWNpbWFscztcclxuICAgICAgICAgIHR5cGUgPSAnRGVjaW1hbCc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5taW4gIT09IHVuZGVmaW5lZCAmJiBlcnJvci5tYXggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMubWluVmFsdWUgPSBlcnJvci5taW47XHJcbiAgICAgICAgICBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycy5tYXhWYWx1ZSA9IGVycm9yLm1heDtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoYCR7dHlwZX1CZXR3ZWVuVmFsaWRhdGlvbk1lc3NhZ2VfTENgLCBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5taW4gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMubWluVmFsdWUgPSBlcnJvci5taW47XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGAke3R5cGV9TWluVmFsaWRhdGlvbk1lc3NhZ2VfTENgLCBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5tYXggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMubWF4VmFsdWUgPSBlcnJvci5tYXg7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGAke3R5cGV9TWF4VmFsaWRhdGlvbk1lc3NhZ2VfTENgLCBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5tYXhQcmVjaXNpb25EaWdpdHMpIHtcclxuICAgICAgICAgIGludGVycG9sYXRpb25QYXJhbWV0ZXJzLm1heFByZWNpc2lvbkRpZ2l0cyA9IGVycm9yLm1heFByZWNpc2lvbkRpZ2l0cztcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ01heFByZWNpc2lvbkRpZ2l0c1ZhbGlkYXRpb25NZXNzYWdlX0xDJywgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZXJyb3IuZGVjaW1hbHMpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0RlY2ltYWxWYWxpZGF0aW9uTWVzc2FnZV9MQycsIGludGVycG9sYXRpb25QYXJhbWV0ZXJzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldCgnSW5jb3JyZWN0Rm9ybWF0X0xDJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHaXZlbiB0aGUgYWR2YW5jZWQgdGV4dGJveCB2YWxpZGF0aW9uIHBhcmFtcyBjb25zdHJ1Y3QgdGhlIGVycm9yIG1lc3NhZ2VcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRleHRCb3hWYWxpZGF0aW9uTWVzc2FnZXMoZXJyb3I6IFRleHRib3hWYWxpZGF0b3JQYXJhbWV0ZXJzKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgaWYgKGVycm9yLnVuaXF1ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldCgnVGV4dGJveFJlcXVpcmVkQW5kVW5pcXVlX0xDJywgeyBtaW5MZW5ndGg6IGVycm9yLm1pbkxlbmd0aCwgbWF4TGVuZ3RoOiBlcnJvci5tYXhMZW5ndGggfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KCdUZXh0Ym94UmVxdWlyZWRfTEMnLCB7IG1pbkxlbmd0aDogZXJyb3IubWluTGVuZ3RoLCBtYXhMZW5ndGg6IGVycm9yLm1heExlbmd0aCB9KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7QUFLNUM7O0dBRUc7QUFDSCxNQUFNLGlDQUFpQztDQU10QztBQUVEOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdCQUF3QjtJQUVuQyxZQUNZLFNBQTJCLEVBQzNCLGVBQWdDO1FBRGhDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUN4QyxDQUFDO0lBR0w7O09BRUc7SUFDSSxnQkFBZ0IsQ0FBQyxNQUErQjtRQUVuRCwrREFBK0Q7UUFDL0QsSUFBSSxzQkFBc0IsR0FBRyxJQUFJLEtBQUssRUFBc0IsQ0FBQztRQUU3RCxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUU7WUFFakIsS0FBSyxJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUU7Z0JBQ3pCLDBEQUEwRDtnQkFDMUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUU3QixRQUFRLFFBQVEsRUFBRTtvQkFDZCxLQUFLLE9BQU87d0JBQ1Isc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEYsTUFBTTtvQkFFVixLQUFLLFVBQVU7d0JBQ1gsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7d0JBQzdELE1BQU07b0JBQ1YsS0FBSyxnQkFB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QUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1NBQy9HO0lBQ0wsQ0FBQzs7cUhBeE1VLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgVGV4dGJveFZhbGlkYXRvclBhcmFtZXRlcnMgfSBmcm9tICcuLi9jb250cm9scy90ZXh0Ym94L3RleHRib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZURpc3BsYXlQaXBlIH0gZnJvbSAnLi4vc2hhcmVkL2Rpc3BsYXkvcGlwZXMvZGF0ZS1kaXNwbGF5LnBpcGUnO1xyXG5cclxuLyoqXHJcbiAqIFwiV2VhayBUeXBlXCIgZGVzY3JpYmluZyBpbnRlcnBvbGF0aW9uIHBhcmFtZXRlcnMgZm9yIE51bWVyaWNCb3hcclxuICovXHJcbmNsYXNzIE51bWVyaWNCb3hJbnRlcnBvbGF0aW9uUGFyYW1ldGVycyB7XHJcbiAgICBwdWJsaWMgcHJlY2lzaW9uPzogbnVtYmVyO1xyXG4gICAgcHVibGljIG1pblZhbHVlPzogbnVtYmVyO1xyXG4gICAgcHVibGljIG1heFZhbHVlPzogbnVtYmVyO1xyXG4gICAgcHVibGljIG1pbk1heFJhbmdlPzogc3RyaW5nO1xyXG4gICAgcHVibGljIG1heFByZWNpc2lvbkRpZ2l0cz86IG51bWJlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgdG8gdGFrZSB7QGxpbmsgVmFsaWRhdGlvbkVycm9yc30gYW5kIHJldHVybiBtZWFuaW5nZnVsIGVycm9yIG1lc3NhZ2VzXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgZGF0ZURpc3BsYXlQaXBlOiBEYXRlRGlzcGxheVBpcGVcclxuICApIHsgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZXMgZnJvbSB7QGxpbmsgVmFsaWRhdGlvbkVycm9yc31cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0RXJyb3JNZXNzYWdlcyhlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKTogUHJvbWlzZTxBcnJheTxhbnk+PiB7XHJcblxyXG4gICAgICAvKiogQXJyYXkgb2Ygb2JzZXJ2YWJsZXMgcmV0dXJuZWQgZnJvbSB0aGUgVHJhbnNsYXRlU2VydmljZS4gKi9cclxuICAgICAgbGV0IHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMgPSBuZXcgQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PigpO1xyXG5cclxuICAgICAgaWYgKGVycm9ycyAhPT0gbnVsbCkge1xyXG5cclxuICAgICAgICAgIGZvciAodmFyIGVycm9yS2V5IGluIGVycm9ycykge1xyXG4gICAgICAgICAgICAgIC8vIGl0IHdvdWxkIGJlIG5pY2UgdG8gaGF2ZSB0eXBpbmcgb24gdGhlIFZhbGlkYXRpb25FcnJvcnNcclxuICAgICAgICAgICAgICBsZXQgZXJyb3IgPSBlcnJvcnNbZXJyb3JLZXldO1xyXG5cclxuICAgICAgICAgICAgICBzd2l0Y2ggKGVycm9yS2V5KSB7XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ0ludmFsaWRFbWFpbFZhbGlkYXRpb25NZXNzYWdlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdyZXF1aXJlZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdpcyByZXF1aXJlZCcpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAncmVxdWlyZWRQbHVyYWwnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdSZXF1aXJlZFBsdXJhbFZhbGlkYXRpb25NZXNzYWdlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtaW5sZW5ndGgnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnTWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2VfTEMnLCB7IG1pbkxlbmd0aDogZXJyb3IucmVxdWlyZWRMZW5ndGggfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtYXhsZW5ndGgnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgTWF4TGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2VgLCB7IG1heExlbmd0aDogZXJyb3IucmVxdWlyZWRMZW5ndGggfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdwYXR0ZXJuJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ0luY29ycmVjdEZvcm1hdF9MQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgY2FzZSAnbWluJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoJ01pblZhbHVlVmFsaWRhdGlvbk1lc3NhZ2VfTEMnLCB7IG1pblZhbHVlOiBlcnJvci5taW4gfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtYXgnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnTWF4VmFsdWVWYWxpZGF0aW9uTWVzc2FnZV9MQycsIHsgbWF4VmFsdWU6IGVycm9yLm1heCB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ3ppcENvZGVJbnZhbGlkRm9ybWF0JzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ211c3QgYmUgNeKAkzkgbnVtYmVycycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgY2FzZSAncG9zdGFsQ29kZUludmFsaWRGb3JtYXQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnbXVzdCBiZSA2IGNoYXJhY3RlcnMsIGFsdGVybmF0aW5nIGxldHRlcnMgYW5kIG51bWJlcnMnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ3ppcENvZGVOb3RGb3VuZCc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdaaXBDb2RlTm90Rm91bmRWYWxpZGF0aW9uTWVzc2FnZV9MQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgLy8gQ3VzdG9tIHZhbGlkYXRvciBmcm9tIHRoZSBOdW1lcmljYm94Q29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ251bWVyaWNib3gnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMuZ2V0TnVtZXJpY0JveFZhbGlkYXRpb25NZXNzYWdlcyhlcnJvcikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdhZGRuZXcnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnQ291bGROb3RCZUFkZGVkVmFsaWRhdGlvbk1lc3NhZ2VfTEMnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgICAgICAgIC8vIEtlbmRvIGRhdGVwaWNrZXIgbWluIGVycm9yXHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ21pbkVycm9yJzpcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnbWluRGF0ZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLmRhdGVEaXNwbGF5UGlwZS50cmFuc2Zvcm0oZXJyb3IubWluVmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldCgnTWluVmFsdWVWYWxpZGF0aW9uTWVzc2FnZV9MQycsIHsgbWluVmFsdWU6IHZhbHVlIH0pKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgLy8gS2VuZG8gZGF0ZXBpY2tlciBtYXggZXJyb3JcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnbWF4RXJyb3InOlxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdtYXhEYXRlJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuZGF0ZURpc3BsYXlQaXBlLnRyYW5zZm9ybShlcnJvci5tYXhWYWx1ZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KCdNYXhWYWx1ZVZhbGlkYXRpb25NZXNzYWdlX0xDJywgeyBtYXhWYWx1ZTogdmFsdWUgfSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICAvLyBDdXN0b20gdmFsaWRhdG9yIGZvciB0aGUgRGF0ZVJhbmdlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ2RhdGVSYW5nZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdEYXRlUmFuZ2VWYWxpZGF0aW9uTWVzc2FnZV9MQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgY2FzZSAncGFzc3dvcmQnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnUGFzc3dvcmRWYWxpZGF0aW9uTWVzc2FnZV9MQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgLy8gQ3VzdG9tIHZhbGlkYXRvciBmcm9tIHRoZSBUZXh0Ym94Q29tcG9uZW50XHJcbiAgICAgICAgICAgICAgICAgIGNhc2UgJ3RleHRib3gnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMuZ2V0VGV4dEJveFZhbGlkYXRpb25NZXNzYWdlcyhlcnJvcikpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdub3RVbmlxdWUnOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnTXVzdEJlVW5pcXVlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdqc29uJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ0pzb25WYWxpZGF0aW9uTWVzc2FnZV9TQycpKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgICAgICAgY2FzZSAncGFzc3dvcmRJbnZhbGlkJzpcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMucHVzaCh0aGlzLnRyYW5zbGF0ZS5nZXQoJ1Bhc3N3b3JkSW52YWxpZFZhbGlkYXRpb25NZXNzYWdlX0xDJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdkb21haW4nOlxyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PYnNlcnZhYmxlcy5wdXNoKHRoaXMudHJhbnNsYXRlLmdldCgnRG9tYWluVmFsaWRhdGlvbk1lc3NhZ2VfU0MnKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgY2FzZSAnaW52YWxpZEZpbGUnOlxyXG4gICAgICAgICAgICAgICAgICBjYXNlICdpbnZhbGlkRm9ybXVsYSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbk9ic2VydmFibGVzLnB1c2godGhpcy50cmFuc2xhdGUuZ2V0KCdpcyBpbnZhbGlkJykpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaWYgKHRyYW5zbGF0aW9uT2JzZXJ2YWJsZXMubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgICAgICAgICAvLyBmb3JrSm9pbiByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGFsbCBpdHMgb2JzZXJ2YWJsZXMgY29tcGxldGUuXHJcbiAgICAgICAgICAgICAgLy8gV2hlbiBmb3Jram9pbiBlbWl0cywgaXQgZW1pdHMgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgbGFzdCB2YWx1ZSByZXR1cm5lZCBmcm9tXHJcbiAgICAgICAgICAgICAgLy8gZWFjaCBvZiBpdHMgb2JzZXJ2YWJsZXMuXHJcbiAgICAgICAgICAgICAgLy8gQHNlZSBodHRwczovL3d3dy5sZWFybnJ4anMuaW8vb3BlcmF0b3JzL2NvbWJpbmF0aW9uL2Zvcmtqb2luLmh0bWxcclxuICAgICAgICAgICAgICAvLyBXZSBjb252ZXJ0IHRoaXMgdG8gYSBwcm9taXNlIHNvIHRoZSBmb3JtIGNvbnRyb2xzIGNhbiBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlc1xyXG4gICAgICAgICAgICAgIC8vIGFzeW5jaHJvbm91c2x5LlxyXG4gICAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbih0cmFuc2xhdGlvbk9ic2VydmFibGVzKS50b1Byb21pc2UoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShuZXcgQXJyYXk8c3RyaW5nPigpKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBHZXQgcHJvcGVyIHZhbGlkYXRpb24gbWVzc2FnZSBmb3IgQHNlZSBOdW1lcmljQm94Q29tcG9uZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXROdW1lcmljQm94VmFsaWRhdGlvbk1lc3NhZ2VzKGVycm9yOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICBsZXQgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnM6IE51bWVyaWNCb3hJbnRlcnBvbGF0aW9uUGFyYW1ldGVycyA9IHt9O1xyXG4gICAgICBsZXQgdHlwZTogc3RyaW5nID0gJ0ludGVnZXInO1xyXG5cclxuICAgICAgaWYgKGVycm9yLmRlY2ltYWxzKSB7XHJcbiAgICAgICAgICBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycy5wcmVjaXNpb24gPSBlcnJvci5kZWNpbWFscztcclxuICAgICAgICAgIHR5cGUgPSAnRGVjaW1hbCc7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5taW4gIT09IHVuZGVmaW5lZCAmJiBlcnJvci5tYXggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMubWluVmFsdWUgPSBlcnJvci5taW47XHJcbiAgICAgICAgICBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycy5tYXhWYWx1ZSA9IGVycm9yLm1heDtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoYCR7dHlwZX1CZXR3ZWVuVmFsaWRhdGlvbk1lc3NhZ2VfTENgLCBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5taW4gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMubWluVmFsdWUgPSBlcnJvci5taW47XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGAke3R5cGV9TWluVmFsaWRhdGlvbk1lc3NhZ2VfTENgLCBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5tYXggIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMubWF4VmFsdWUgPSBlcnJvci5tYXg7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KGAke3R5cGV9TWF4VmFsaWRhdGlvbk1lc3NhZ2VfTENgLCBpbnRlcnBvbGF0aW9uUGFyYW1ldGVycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChlcnJvci5tYXhQcmVjaXNpb25EaWdpdHMpIHtcclxuICAgICAgICAgIGludGVycG9sYXRpb25QYXJhbWV0ZXJzLm1heFByZWNpc2lvbkRpZ2l0cyA9IGVycm9yLm1heFByZWNpc2lvbkRpZ2l0cztcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ01heFByZWNpc2lvbkRpZ2l0c1ZhbGlkYXRpb25NZXNzYWdlX0xDJywgaW50ZXJwb2xhdGlvblBhcmFtZXRlcnMpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZXJyb3IuZGVjaW1hbHMpIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0RlY2ltYWxWYWxpZGF0aW9uTWVzc2FnZV9MQycsIGludGVycG9sYXRpb25QYXJhbWV0ZXJzKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldCgnSW5jb3JyZWN0Rm9ybWF0X0xDJyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHaXZlbiB0aGUgYWR2YW5jZWQgdGV4dGJveCB2YWxpZGF0aW9uIHBhcmFtcyBjb25zdHJ1Y3QgdGhlIGVycm9yIG1lc3NhZ2VcclxuICAgKi9cclxuICBwcml2YXRlIGdldFRleHRCb3hWYWxpZGF0aW9uTWVzc2FnZXMoZXJyb3I6IFRleHRib3hWYWxpZGF0b3JQYXJhbWV0ZXJzKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgaWYgKGVycm9yLnVuaXF1ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmdldCgnVGV4dGJveFJlcXVpcmVkQW5kVW5pcXVlX0xDJywgeyBtaW5MZW5ndGg6IGVycm9yLm1pbkxlbmd0aCwgbWF4TGVuZ3RoOiBlcnJvci5tYXhMZW5ndGggfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuZ2V0KCdUZXh0Ym94UmVxdWlyZWRfTEMnLCB7IG1pbkxlbmd0aDogZXJyb3IubWluTGVuZ3RoLCBtYXhMZW5ndGg6IGVycm9yLm1heExlbmd0aCB9KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -1,6 +1,8 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';
3
3
  import { Overlay } from '../view-overlay/view-overlay.component';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { Subject } from 'rxjs';
4
6
  import * as i0 from "@angular/core";
5
7
  import * as i1 from "@angular/common";
6
8
  import * as i2 from "@angular/forms";
@@ -8,7 +10,8 @@ import * as i3 from "../../controls/button/button.component";
8
10
  import * as i4 from "../../controls/textbox/textbox.component";
9
11
  import * as i5 from "../view-overlay/view-overlay.component";
10
12
  import * as i6 from "../../controls/banner/banner.component";
11
- import * as i7 from "@ngx-translate/core";
13
+ import * as i7 from "../../controls/checkbox/checkbox.component";
14
+ import * as i8 from "@ngx-translate/core";
12
15
  export class ConfirmDialogContext {
13
16
  constructor() {
14
17
  /** Id to distinguish between confirm component contexts emitted by the dialog service */
@@ -62,11 +65,15 @@ export class ConfirmComponent {
62
65
  /** Form Group to hold any form controls needed */
63
66
  this.formGroup = new UntypedFormGroup({});
64
67
  this.status = new Overlay('hasData');
68
+ this.showTextBox = true;
69
+ this.destroyed = new Subject();
65
70
  this.onDialogSave = new EventEmitter();
66
71
  this.onDialogCancel = new EventEmitter();
67
72
  }
68
73
  ngOnInit() {
69
74
  this.addFormControls();
75
+ this.setValidations();
76
+ this.listenCheckBox();
70
77
  }
71
78
  onSave(source) {
72
79
  this.formGroup.markAllAsTouched();
@@ -75,6 +82,9 @@ export class ConfirmComponent {
75
82
  if (formValues.textbox) {
76
83
  this.context.textboxValue = formValues.textbox;
77
84
  }
85
+ if (this.context.checkConfirm) {
86
+ this.context.checkboxValue = formValues.checkbox ? formValues.checkbox : false;
87
+ }
78
88
  this.context.saveSource = source;
79
89
  if (this.context.inlineConfirmAction) {
80
90
  this.doInlineConfirmAction();
@@ -90,6 +100,24 @@ export class ConfirmComponent {
90
100
  onCancel() {
91
101
  this.onDialogCancel.emit();
92
102
  }
103
+ ngOnDestroy() {
104
+ this.destroyed.next();
105
+ this.destroyed.complete();
106
+ }
107
+ listenCheckBox() {
108
+ this.formGroup.get('checkbox')?.valueChanges.pipe(takeUntil(this.destroyed)).subscribe(value => {
109
+ this.showTextBox = value;
110
+ this.setValidations();
111
+ });
112
+ }
113
+ setValidations() {
114
+ if (this.showTextBox) {
115
+ this.formGroup.controls['textbox']?.enable();
116
+ }
117
+ else {
118
+ this.formGroup.controls['textbox']?.disable();
119
+ }
120
+ }
93
121
  /**
94
122
  * Adds the textbox form control to our form group if its configured to be visible
95
123
  * Will also add the required validator if requested
@@ -105,6 +133,11 @@ export class ConfirmComponent {
105
133
  }
106
134
  this.formGroup.addControl('textbox', new UntypedFormControl('', validators));
107
135
  }
136
+ if (this.context.checkConfirm) {
137
+ this.showTextBox = false;
138
+ const checkboxControl = new UntypedFormControl('');
139
+ this.formGroup.addControl('checkbox', checkboxControl);
140
+ }
108
141
  }
109
142
  async doInlineConfirmAction() {
110
143
  this.status.setStatus('pending', this.context.inlineConfirmPendingMessage);
@@ -119,10 +152,10 @@ export class ConfirmComponent {
119
152
  }
120
153
  }
121
154
  ConfirmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- ConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ConfirmComponent, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"context?.textboxType\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button *ngIf=\"!context?.hideCancel\"\r\n id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i4.TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: i5.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i6.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
155
+ ConfirmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ConfirmComponent, selector: "ec-confirm", inputs: { context: "context" }, outputs: { onDialogSave: "onDialogSave", onDialogCancel: "onDialogCancel" }, ngImport: i0, template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n \r\n <ec-checkbox *ngIf=\"context?.checkConfirm\"\r\n [formModel]=\"formGroup.get('checkbox')\"\r\n name=\"confirmCheckbox\"\r\n [label]=\"context?.checkboxText\"\r\n [autofocus]=\"true\"\r\n ></ec-checkbox>\r\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button *ngIf=\"!context?.hideCancel\"\r\n id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.ButtonComponent, selector: "ec-button", inputs: ["id", "disabled", "icon", "label", "badge", "tabindex", "type", "pending", "pendingIcon", "customTemplate", "isSubmit", "autofocus"], outputs: ["clicked"] }, { kind: "component", type: i4.TextboxComponent, selector: "ec-textbox", inputs: ["autocomplete", "type", "placeholder", "maxlength", "minlength", "rows", "selectOnAutofocus", "upperCase"] }, { kind: "component", type: i5.ViewOverlayComponent, selector: "[ecOverlay]", inputs: ["status", "message", "action", "noDataTemplate", "displayAsMask", "overlayClassList"] }, { kind: "component", type: i6.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i7.CheckboxComponent, selector: "ec-checkbox", inputs: ["name", "dependentCheckboxesGroup", "ignoreDisabledDependents"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
123
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ConfirmComponent, decorators: [{
124
157
  type: Component,
125
- args: [{ selector: 'ec-confirm', template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"context?.textboxType\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button *ngIf=\"!context?.hideCancel\"\r\n id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
158
+ args: [{ selector: 'ec-confirm', template: "<section ecOverlay\r\n [status]=\"status?.status\"\r\n [message]=\"status?.message\"\r\n [action]=\"status?.action\"\r\n [noDataTemplate]=\"inlineConfirmResult\"\r\n overlayClassList=\"p-0\"\r\n class=\"bg-body flex-grow d-flex\">\r\n <form [formGroup]=\"formGroup\" class=\"flex-grow flex-column confirm-content text-body-1\">\r\n <section class=\"flex-grow\">\r\n <h2 class=\"font-weight-bold mb-3\" *ngIf=\"context?.title\">{{context?.title}}</h2>\r\n <ec-banner *ngIf=\"error\" [text]=\"error | translate\" bannerStyle=\"normal\" class=\"mb-3\"></ec-banner>\r\n <div *ngIf=\"context?.message\" [innerHtml]=\"context?.message | translate\" class=\"mb-3\"></div>\r\n \r\n <ec-checkbox *ngIf=\"context?.checkConfirm\"\r\n [formModel]=\"formGroup.get('checkbox')\"\r\n name=\"confirmCheckbox\"\r\n [label]=\"context?.checkboxText\"\r\n [autofocus]=\"true\"\r\n ></ec-checkbox>\r\n <div *ngIf=\"showTextBox\" [innerHtml]=\"context.confirmLabel\" class=\"mb-3\"></div>\r\n <ec-textbox id=\"confirmTextbox\"\r\n *ngIf=\"(context?.textboxType && !context?.checkConfirm) || showTextBox\"\r\n [autofocus]=\"true\"\r\n [formModel]=\"formGroup.get('textbox')\"\r\n [required]=\"context?.textboxRequired\"\r\n [label]=\"context?.textboxLabel\"\r\n [type]=\"context?.textboxType\"\r\n [rows]=\"context?.textareaRows\"\r\n [placeholder]=\"context?.textboxPlaceholder\"\r\n [upperCase]=\"context?.textboxUppercase\">\r\n </ec-textbox>\r\n </section>\r\n <footer class=\"mt-auto flex-shrink d-flex py-2 flex-row-reverse\">\r\n <ec-button id=\"saveConfirmButton\"\r\n class=\"ml-2\"\r\n [type]=\"context?.saveButtonType ? context?.saveButtonType : 'primary'\"\r\n [label]=\"context?.saveLabel ? context?.saveLabel : 'Save'\"\r\n [autofocus]=\"!context?.textboxType\"\r\n [isSubmit]=\"context?.saveOnEnter\"\r\n (clicked)=\"onSave('primary')\">\r\n </ec-button>\r\n <ec-button id=\"alternateSaveConfirmButton\"\r\n *ngIf=\"context?.alternateSaveLabel\"\r\n class=\"ml-2\"\r\n [type]=\"context?.alternateSaveButtonType ? context?.alternateSaveButtonType : 'primary'\"\r\n [label]=\"context?.alternateSaveLabel\"\r\n (clicked)=\"onSave('alternate')\">\r\n </ec-button>\r\n <ec-button *ngIf=\"!context?.hideCancel\"\r\n id=\"cancelConfirmButton\"\r\n class=\"ml-auto\"\r\n type=\"secondary\"\r\n [label]=\"context?.cancelLabel ? context?.cancelLabel : 'Cancel'\"\r\n (clicked)=\"onCancel()\">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class=\"flex-grow align-self-stretch confirm-content text-body-1\">\r\n <div class=\"d-flex\">\r\n <i class=\"ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon\"></i>\r\n <div [innerHTML]=\"status?.message | translate\"></div>\r\n </div>\r\n <div class=\"d-flex pt-2 mt-auto\">\r\n <ec-button id=\"inlineConfirmClose\"\r\n label=\"Close\"\r\n type=\"secondary\"\r\n class=\"ml-auto\"\r\n (clicked)=\"status?.action?.onClick!()\"\r\n [autofocus]=\"true\">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>", styles: [":host{width:100%;display:flex}.confirm-content{padding:1.5rem;display:flex;flex-direction:column}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}\n"] }]
126
159
  }], ctorParameters: function () { return []; }, propDecorators: { context: [{
127
160
  type: Input
128
161
  }], onDialogSave: [{
@@ -130,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
130
163
  }], onDialogCancel: [{
131
164
  type: Output
132
165
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSy9GLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7O0FBU2pFLE1BQU0sT0FBTyxvQkFBb0I7SUFBakM7UUFDRSx5RkFBeUY7UUFDbEYsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQWlCdkI7OztXQUdHO1FBQ0ksb0JBQWUsR0FBYSxLQUFLLENBQUM7UUFLekMsNkNBQTZDO1FBQ3RDLHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUUxQzs7OztXQUlHO1FBQ0ksaUJBQVksR0FBWSxDQUFDLENBQUM7UUFXakMsaUNBQWlDO1FBQzFCLGNBQVMsR0FBWSxNQUFNLENBQUMsQ0FBQyxPQUFPO1FBRTNDLGdDQUFnQztRQUN6QixtQkFBYyxHQUFnQixTQUFTLENBQUM7UUFFL0MsbUNBQW1DO1FBQzVCLGdCQUFXLEdBQVksUUFBUSxDQUFDLENBQUMsT0FBTztRQUUvQyw2REFBNkQ7UUFDdEQsZUFBVSxHQUFhLEtBQUssQ0FBQztRQUVwQywyRkFBMkY7UUFDcEYsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFFckMsMkNBQTJDO1FBQ3BDLHVCQUFrQixHQUFZLFNBQVMsQ0FB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QixDQUFDLENBQUM7UUFFM0UsSUFBSSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFvQixFQUFFLENBQUM7UUFFdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDOUMsRUFBRSxFQUFFLG9CQUFvQjtZQUN4QixLQUFLLEVBQUUsT0FBTztZQUNkLElBQUksRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsWUFBWTtZQUMzRCxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLGtCQUFrQjtZQUN2RSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFBLENBQUMsQ0FBQztTQUN4RyxDQUFDLENBQUM7SUFDTCxDQUFDOzs2R0ExRlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsK0pDMUc3Qiw0eEdBbUVjOzJGRHVDRCxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsWUFBWTswRUFpQk4sT0FBTztzQkFBdEIsS0FBSztnQkFFVyxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0Ym94VHlwZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uL3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50JztcclxuXHJcbnR5cGUgU2F2ZVNvdXJjZSA9ICdwcmltYXJ5J3wnYWx0ZXJuYXRlJztcclxuXHJcbmV4cG9ydCB0eXBlIEN1c3RvbUFjdGlvblJlc3VsdCA9IHtcclxuICBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgaXNTdWNjZXNzOiBib29sZWFuO1xyXG59O1xyXG5cclxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dDb250ZXh0IHtcclxuICAvKiogSWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBjb25maXJtIGNvbXBvbmVudCBjb250ZXh0cyBlbWl0dGVkIGJ5IHRoZSBkaWFsb2cgc2VydmljZSAqL1xyXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCB0aXRsZSBvZiB0aGUgY29uZmlybSAqL1xyXG4gIHB1YmxpYyB0aXRsZT86IHN0cmluZztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgbWVzc2FnZT86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgdGV4dGJveCB0eXBlLCB0aGlzIHdpbGwgZGV0ZXJtaW5lIHdoZXRoZXJcclxuICAgKiBhbiBpbnB1dCBpcyB2aXNpYmxlIG9yIG5vdFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94VHlwZT86IFRleHRib3hUeXBlO1xyXG5cclxuICAvKiogT3B0aW9uYWwgdGV4dGJveCBsYWJlbCAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94TGFiZWw/OiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHJlcXVpcmVkIGZsYWcgZm9yIHRoZSB0ZXh0Ym94LCB3aWxsIHNldFxyXG4gICAqIGEgdmFsaWRhdG9yIG9uIHRoZSBpbnB1dCBpZiB0cnVlXHJcbiAgICovXHJcbiAgcHVibGljIHRleHRib3hSZXF1aXJlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGFycmF5IG9mIHZhbGlkYXRvcnMgdG8gYWRkIHRvIHRoZSB0ZXh0Ym94IGZvcm0gY29udHJvbC4gKi9cclxuICBwdWJsaWMgdGV4dGJveFZhbGlkYXRvcnM/OiBWYWxpZGF0b3JGbltdO1xyXG5cclxuICAvKiogU2V0cyB0aGUgdGV4dGJveCdzIHVwcGVyY2FzZSBwYXJhbWV0ZXIgKi9cclxuICBwdWJsaWMgdGV4dGJveFVwcGVyY2FzZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogT3B0aW9uYWwgdGV4dGJveCBoZWlnaHQgKGluIHJvd3MpLlxyXG4gICAqIE9ubHkgYXBwbGllcyB0byBtdWx0aS1saW5lIHR5cGUuXHJcbiAgICogRGVmYXVsdCAzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZXh0YXJlYVJvd3M/OiBudW1iZXIgPSAzO1xyXG5cclxuICAvKiogT3B0aW9uYWwgdGV4dGJveCBwbGFjZWhvbGRlciB0ZXh0ICovXHJcbiAgcHVibGljIHRleHRib3hQbGFjZWhvbGRlcj86IHN0cmluZztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRleHRib3ggKi9cclxuICBwdWJsaWMgdmFsaWRhdGlvbkVycm9yTWVzc2FnZT86IHN0cmluZztcclxuXHJcbiAgLyoqIFZhbHVlIHJldHVybmVkIGZyb20gdGhlIGlucHV0IGlmIGVuYWJsZWQgKi9cclxuICBwdWJsaWMgdGV4dGJveFZhbHVlPzogc3RyaW5nO1xyXG5cclxuICAvKiogT3B0aW9uYWwgc2F2ZSBidXR0b24gbGFiZWwgKi9cclxuICBwdWJsaWMgc2F2ZUxhYmVsPzogc3RyaW5nID0gJ1NhdmUnOyAvLyBMT0NPXHJcblxyXG4gIC8qKiBPcHRpb25hbCBzYXZlIGJ1dHRvbiB0eXBlICovXHJcbiAgcHVibGljIHNhdmVCdXR0b25UeXBlPzogQnV0dG9uVHlwZSA9ICdwcmltYXJ5JztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGNhbmNlbCBidXR0b24gbGFiZWwgKi9cclxuICBwdWJsaWMgY2FuY2VsTGFiZWw/OiBzdHJpbmcgPSAnQ2FuY2VsJzsgLy8gTE9DT1xyXG5cclxuICAvKiogT3B0aW9uYWwgZmxhZyBmb3IgaGlkaW5nIHRoZSBjYW5jZWwgKHNlY29uZGFyeSkgYnV0dG9uICovXHJcbiAgcHVibGljIGhpZGVDYW5jZWw/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBXaGVuIHRydWUsIGFkZHMgdGhlIHN1Ym1pdCB0YWcgdG8gdGhlIHNhdmUgYnV0dG9uIHNvIGhpdHRpbmcgZW50ZXIgdHJpZ2dlcnMgdGhlIHNhdmUgKi9cclxuICBwdWJsaWMgc2F2ZU9uRW50ZXI/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBhbHRlcm5hdGUgc2F2ZSBidXR0b24gbGFiZWwgKi9cclxuICBwdWJsaWMgYWx0ZXJuYXRlU2F2ZUxhYmVsPzogc3RyaW5nID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKiogT3B0aW9uYWwgYWx0ZXJuYXRlIHNhdmUgYnV0dG9uIHR5cGUgKi9cclxuICBwdWJsaWMgYWx0ZXJuYXRlU2F2ZUJ1dHRvblR5cGU/OiBCdXR0b25UeXBlID0gdW5kZWZpbmVkO1xyXG5cclxuICAvKipcclxuICAgKiBVc2VkIHRvIGtub3cgd2hpY2ggc2F2ZSBidXR0b24gd2FzIHNlbGVjdGVkIGluIGNhc2UgdGhlIGNhbGxpbmcgY29tcG9uZW50XHJcbiAgICogaXMgdXRpbGl6aW5nIHRoZSBhbHRlcm5hdGUgc2F2ZSBidXR0b25cclxuICAgKi9cclxuICBwdWJsaWMgc2F2ZVNvdXJjZT86IFNhdmVTb3VyY2UgPSAncHJpbWFyeSc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gcHJvdmlkZWQsIHRoZSBjb25maXJtIHdpbGwgc2hvdyBhIHBlbmRpbmcgc3RhdGUgYW5kIGNhbGwgdGhpcywgdGhlbiB1cG9uXHJcbiAgICogY29tcGxldGlvbiBkaXNwbGF5IHRoZSByZXN1bHQgbWVzc2FnZSBhbmQgYSBjbG9zZSBidXR0b24uIElmIHRoZSBwcm9taXNlIGlzIHJlc29sdmVkXHJcbiAgICogc3VjY2Vzc2Z1bGx5LCB0aGUgY2xvc2UgYnV0dG9uIHdpbGwgZW1pdCBvbkRpYWxvZ1NhdmUuIElmIHRoZSBwcm9taXNlIGlzIHJlamVjdGVkLFxyXG4gICAqIHRoZSBjbG9zZSBidXR0b24gd2lsbCBlbWl0IG9uRGlhbG9nQ2FuY2VsLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBpbmxpbmVDb25maXJtQWN0aW9uPzogKCkgPT4gUHJvbWlzZTxDdXN0b21BY3Rpb25SZXN1bHQ+O1xyXG5cclxuICAvKiogVGhlIG1lc3NhZ2UgdG8gYmUgZGlzcGxheWVkIHdoaWxlIGlubGluZUNvbmZpcm1BY3Rpb24gaXMgcGVuZGluZy4gKi9cclxuICBwdWJsaWMgaW5saW5lQ29uZmlybVBlbmRpbmdNZXNzYWdlPzogc3RyaW5nID0gJyc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtY29uZmlybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmZpcm0uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgRGlhbG9nQ29udGVudDxDb25maXJtRGlhbG9nQ29udGV4dD57XHJcblxyXG4gIHB1YmxpYyBkaWFsb2dJZDogc3RyaW5nID0gJ0NvbmZpcm0nO1xyXG5cclxuICAvKiogRm9ybSBHcm91cCB0byBob2xkIGFueSBmb3JtIGNvbnRyb2xzIG5lZWRlZCAqL1xyXG4gIHB1YmxpYyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIHB1YmxpYyBzdGF0dXMgPSBuZXcgT3ZlcmxheSgnaGFzRGF0YScpO1xyXG5cclxuICAvKipcclxuICAgKiBQcm92aWRlZCBieSB0aGUgY2FsbGluZyBjb21wb25lbnQgdG8gdGVsbCB0aGUgY29uZmlybSB3aGF0IHRvIHNob3dcclxuICAgKiBhbmQgaXMgdXNlZCBvbiBzYXZlIHRvIHNlbmQgYmFjayBhbnkgZW50ZXJlZCB2YWx1ZXMgZnJvbSB0aGUgdXNlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjb250ZXh0ITogQ29uZmlybURpYWxvZ0NvbnRleHQ7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25EaWFsb2dTYXZlOiBFdmVudEVtaXR0ZXI8Q29uZmlybURpYWxvZ0NvbnRleHQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb25maXJtRGlhbG9nQ29udGV4dD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG9uRGlhbG9nQ2FuY2VsOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBvbk9wZW4ob3BlbkNvbnRleHQ/OiBDb25maXJtRGlhbG9nQ29udGV4dCk6IHZvaWQge1xyXG4gICAgdGhpcy5jb250ZXh0ID0gb3BlbkNvbnRleHQhO1xyXG4gICAgdGhpcy5kaWFsb2dJZCA9IG9wZW5Db250ZXh0IS5pZDtcclxuXHJcbiAgICBpZiAodGhpcy5jb250ZXh0LmFsdGVybmF0ZVNhdmVMYWJlbCkge1xyXG4gICAgICB0aGlzLmNvbnRleHQuc2F2ZU9uRW50ZXIgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBFcnJvciB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGVycm9yIGJhbm5lciAqL1xyXG4gIHB1YmxpYyBlcnJvcj86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRGb3JtQ29udHJvbHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNhdmUoc291cmNlOiBTYXZlU291cmNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLnZhbGlkKSB7XHJcbiAgICAgIGxldCBmb3JtVmFsdWVzID0gdGhpcy5mb3JtR3JvdXAuZ2V0UmF3VmFsdWUoKTtcclxuICAgICAgaWYgKGZvcm1WYWx1ZXMudGV4dGJveCkge1xyXG4gICAgICAgIHRoaXMuY29udGV4dC50ZXh0Ym94VmFsdWUgPSBmb3JtVmFsdWVzLnRleHRib3g7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY29udGV4dC5zYXZlU291cmNlID0gc291cmNlO1xyXG5cclxuICAgICAgaWYgKHRoaXMuY29udGV4dC5pbmxpbmVDb25maXJtQWN0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5kb0lubGluZUNvbmZpcm1BY3Rpb24oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm9uRGlhbG9nU2F2ZS5lbWl0KHRoaXMuY29udGV4dCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb250ZXh0LnZhbGlkYXRpb25FcnJvck1lc3NhZ2UpIHtcclxuICAgICAgdGhpcy5lcnJvciA9IHRoaXMuY29udGV4dC52YWxpZGF0aW9uRXJyb3JNZXNzYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkRpYWxvZ0NhbmNlbC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIHRoZSB0ZXh0Ym94IGZvcm0gY29udHJvbCB0byBvdXIgZm9ybSBncm91cCBpZiBpdHMgY29uZmlndXJlZCB0byBiZSB2aXNpYmxlXHJcbiAgICogV2lsbCBhbHNvIGFkZCB0aGUgcmVxdWlyZWQgdmFsaWRhdG9yIGlmIHJlcXVlc3RlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkRm9ybUNvbnRyb2xzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94VHlwZSkge1xyXG4gICAgICBsZXQgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xyXG4gICAgICBpZiAodGhpcy5jb250ZXh0LnRleHRib3hSZXF1aXJlZCkge1xyXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5jb250ZXh0LnRleHRib3hWYWxpZGF0b3JzKSB7XHJcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKC4uLnRoaXMuY29udGV4dC50ZXh0Ym94VmFsaWRhdG9ycyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5mb3JtR3JvdXAuYWRkQ29udHJvbCgndGV4dGJveCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIHZhbGlkYXRvcnMpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZG9JbmxpbmVDb25maXJtQWN0aW9uKCkge1xyXG4gICAgdGhpcy5zdGF0dXMuc2V0U3RhdHVzKCdwZW5kaW5nJywgdGhpcy5jb250ZXh0LmlubGluZUNvbmZpcm1QZW5kaW5nTWVzc2FnZSk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29udGV4dC5pbmxpbmVDb25maXJtQWN0aW9uISgpO1xyXG5cclxuICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cygnbm9EYXRhJywgcmVzdWx0Lm1lc3NhZ2UsIHtcclxuICAgICAgaWQ6ICdpbmxpbmVDb25maXJtQ2xvc2UnLFxyXG4gICAgICBsYWJlbDogJ0Nsb3NlJyxcclxuICAgICAgaWNvbjogcmVzdWx0LmlzU3VjY2VzcyA/ICdpY29uLWNoZWNrLWNpcmNsZScgOiAnaWNvbi1lcnJvcicsXHJcbiAgICAgIGNsYXNzbGlzdDogcmVzdWx0LmlzU3VjY2VzcyA/ICdmb250LWNvbG9yLXN1Y2Nlc3MnIDogJ2ZvbnQtY29sb3ItZXJyb3InLFxyXG4gICAgICBvbkNsaWNrOiAoKSA9PiB7IHJlc3VsdC5pc1N1Y2Nlc3MgPyB0aGlzLm9uRGlhbG9nU2F2ZS5lbWl0KHRoaXMuY29udGV4dCkgOiB0aGlzLm9uRGlhbG9nQ2FuY2VsLmVtaXQoKSB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gZWNPdmVybGF5XHJcbiAgICAgICAgIFtzdGF0dXNdPVwic3RhdHVzPy5zdGF0dXNcIlxyXG4gICAgICAgICBbbWVzc2FnZV09XCJzdGF0dXM/Lm1lc3NhZ2VcIlxyXG4gICAgICAgICBbYWN0aW9uXT1cInN0YXR1cz8uYWN0aW9uXCJcclxuICAgICAgICAgW25vRGF0YVRlbXBsYXRlXT1cImlubGluZUNvbmZpcm1SZXN1bHRcIlxyXG4gICAgICAgICBvdmVybGF5Q2xhc3NMaXN0PVwicC0wXCJcclxuICAgICAgICAgY2xhc3M9XCJiZy1ib2R5IGZsZXgtZ3JvdyBkLWZsZXhcIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwiZmxleC1ncm93IGZsZXgtY29sdW1uIGNvbmZpcm0tY29udGVudCB0ZXh0LWJvZHktMVwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmbGV4LWdyb3dcIj5cclxuICAgICAgPGgyIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtYi0zXCIgKm5nSWY9XCJjb250ZXh0Py50aXRsZVwiPnt7Y29udGV4dD8udGl0bGV9fTwvaDI+XHJcbiAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCJlcnJvclwiIFt0ZXh0XT1cImVycm9yIHwgdHJhbnNsYXRlXCIgYmFubmVyU3R5bGU9XCJub3JtYWxcIiBjbGFzcz1cIm1iLTNcIj48L2VjLWJhbm5lcj5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbnRleHQ/Lm1lc3NhZ2VcIiBbaW5uZXJIdG1sXT1cImNvbnRleHQ/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIiBjbGFzcz1cIm1iLTNcIj48L2Rpdj5cclxuICAgICAgPGVjLXRleHRib3ggaWQ9XCJjb25maXJtVGV4dGJveFwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGV4dD8udGV4dGJveFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybU1vZGVsXT1cImZvcm1Hcm91cC5nZXQoJ3RleHRib3gnKVwiXHJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJjb250ZXh0Py50ZXh0Ym94UmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8udGV4dGJveExhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29udGV4dD8udGV4dGJveFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICBbcm93c109XCJjb250ZXh0Py50ZXh0YXJlYVJvd3NcIlxyXG4gICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiY29udGV4dD8udGV4dGJveFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgW3VwcGVyQ2FzZV09XCJjb250ZXh0Py50ZXh0Ym94VXBwZXJjYXNlXCI+XHJcbiAgICAgIDwvZWMtdGV4dGJveD5cclxuICAgIDwvc2VjdGlvbj5cclxuICAgIDxmb290ZXIgY2xhc3M9XCJtdC1hdXRvIGZsZXgtc2hyaW5rIGQtZmxleCBweS0yIGZsZXgtcm93LXJldmVyc2VcIj5cclxuICAgICAgPGVjLWJ1dHRvbiBpZD1cInNhdmVDb25maXJtQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0yXCJcclxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29udGV4dD8uc2F2ZUJ1dHRvblR5cGUgPyBjb250ZXh0Py5zYXZlQnV0dG9uVHlwZSA6ICdwcmltYXJ5J1wiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py5zYXZlTGFiZWwgPyBjb250ZXh0Py5zYXZlTGFiZWwgOiAnU2F2ZSdcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cIiFjb250ZXh0Py50ZXh0Ym94VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtpc1N1Ym1pdF09XCJjb250ZXh0Py5zYXZlT25FbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGlja2VkKT1cIm9uU2F2ZSgncHJpbWFyeScpXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgICA8ZWMtYnV0dG9uIGlkPVwiYWx0ZXJuYXRlU2F2ZUNvbmZpcm1CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImNvbnRleHQ/LmFsdGVybmF0ZVNhdmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMlwiXHJcbiAgICAgICAgICAgICAgICAgIFt0eXBlXT1cImNvbnRleHQ/LmFsdGVybmF0ZVNhdmVCdXR0b25UeXBlID8gY29udGV4dD8uYWx0ZXJuYXRlU2F2ZUJ1dHRvblR5cGUgOiAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8uYWx0ZXJuYXRlU2F2ZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25TYXZlKCdhbHRlcm5hdGUnKVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgICAgPGVjLWJ1dHRvbiAgKm5nSWY9XCIhY29udGV4dD8uaGlkZUNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICAgIGlkPVwiY2FuY2VsQ29uZmlybUJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8uY2FuY2VsTGFiZWwgPyBjb250ZXh0Py5jYW5jZWxMYWJlbCA6ICdDYW5jZWwnXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25DYW5jZWwoKVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgIDwvZm9vdGVyPlxyXG4gIDwvZm9ybT5cclxuPC9zZWN0aW9uPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpbmxpbmVDb25maXJtUmVzdWx0PlxyXG4gIDxzZWN0aW9uIGNsYXNzPVwiZmxleC1ncm93IGFsaWduLXNlbGYtc3RyZXRjaCBjb25maXJtLWNvbnRlbnQgdGV4dC1ib2R5LTFcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIHt7c3RhdHVzPy5hY3Rpb24/Lmljb259fSB7e3N0YXR1cz8uYWN0aW9uPy5jbGFzc2xpc3R9fSBpbmxpbmUtY29uZmlybS1yZXN1bHQtaWNvblwiPjwvaT5cclxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInN0YXR1cz8ubWVzc2FnZSB8IHRyYW5zbGF0ZVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IHB0LTIgbXQtYXV0b1wiPlxyXG4gICAgICA8ZWMtYnV0dG9uIGlkPVwiaW5saW5lQ29uZmlybUNsb3NlXCJcclxuICAgICAgICAgICAgICAgICBsYWJlbD1cIkNsb3NlXCJcclxuICAgICAgICAgICAgICAgICB0eXBlPVwic2Vjb25kYXJ5XCJcclxuICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLWF1dG9cIlxyXG4gICAgICAgICAgICAgICAgIChjbGlja2VkKT1cInN0YXR1cz8uYWN0aW9uPy5vbkNsaWNrISgpXCJcclxuICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cInRydWVcIj5cclxuICAgICAgPC9lYy1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L3NlY3Rpb24+XHJcbjwvbmctdGVtcGxhdGU+Il19
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvY29uZmlybS9jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUsvRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTL0IsTUFBTSxPQUFPLG9CQUFvQjtJQUFqQztRQUNFLHlGQUF5RjtRQUNsRixPQUFFLEdBQVcsRUFBRSxDQUFDO1FBK0J2Qjs7O1dBR0c7UUFDSSxvQkFBZSxHQUFhLEtBQUssQ0FBQztRQUt6Qyw2Q0FBNkM7UUFDdEMscUJBQWdCLEdBQWEsS0FBSyxDQUFDO1FBRTFDOzs7O1dBSUc7UUFDSSxpQkFBWSxHQUFZLENBQUMsQ0FBQztRQWFqQyxpQ0FBaUM7UUFDMUIsY0FBUyxHQUFZLE1BQU0sQ0FBQyxDQUFDLE9BQU87UUFFM0MsZ0NBQWdDO1FBQ3pCLG1CQUFjLEdBQWdCLFNBQVMsQ0FBQztRQUUvQyxtQ0FBbUM7UUFDNUIsZ0JBQVcsR0FBWSxRQUFRLENBQUMsQ0FBQyxPQUFPO1FBRS9DLDZEQUE2RDtRQUN0RCxlQUFVLEdBQWEsS0FB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bnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0Ym94VHlwZSB9IGZyb20gJy4uLy4uL2NvbnRyb2xzL3RleHRib3gvdGV4dGJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb250ZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1jb250ZW50JztcclxuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJy4uL3ZpZXctb3ZlcmxheS92aWV3LW92ZXJsYXkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG50eXBlIFNhdmVTb3VyY2UgPSAncHJpbWFyeSd8J2FsdGVybmF0ZSc7XHJcblxyXG5leHBvcnQgdHlwZSBDdXN0b21BY3Rpb25SZXN1bHQgPSB7XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIGlzU3VjY2VzczogYm9vbGVhbjtcclxufTtcclxuXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtRGlhbG9nQ29udGV4dCB7XHJcbiAgLyoqIElkIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gY29uZmlybSBjb21wb25lbnQgY29udGV4dHMgZW1pdHRlZCBieSB0aGUgZGlhbG9nIHNlcnZpY2UgKi9cclxuICBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKiogT3B0aW9uYWwgdGl0bGUgb2YgdGhlIGNvbmZpcm0gKi9cclxuICBwdWJsaWMgdGl0bGU/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBtZXNzYWdlICovXHJcbiAgcHVibGljIG1lc3NhZ2U/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBjaGVja0NvbmZpcm1cclxuICAgKiB0aGlzIHdpbGwgZGV0ZXJtaW5lIGlmIGVjLWNoZWNrYm94IGlzIGF2YWlsYWJsZSBvciBub1xyXG4gICAqIGluIG9yZGVyIHRvIGRlbGV0ZSBvciBtb3ZlIHRvIG5vIHBhcmVudCB0aGUgZW50aXR5XHJcbiAgICovXHJcbiAgcHVibGljIGNoZWNrQ29uZmlybT86Ym9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogY2hlY2tib3hDb250ZW50XHJcbiAgICogRGV0ZXJtaW5lIHRoZSBsYWJlbCBuZXh0IHRvIHRoZSBjaGVja2JveFxyXG4gICAqIGlmIGNoZWNrQ29uZmlybSBpcyB0cnVlIG90aGVyd2lzZSBpcyBub3QgdmlzaWJsZVxyXG4gICAqL1xyXG5cclxuICBwdWJsaWMgY2hlY2tib3hUZXh0PzpzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHRleHRib3ggdHlwZSwgdGhpcyB3aWxsIGRldGVybWluZSB3aGV0aGVyXHJcbiAgICogYW4gaW5wdXQgaXMgdmlzaWJsZSBvciBub3RcclxuICAgKi9cclxuICBwdWJsaWMgdGV4dGJveFR5cGU/OiBUZXh0Ym94VHlwZTtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIHRleHRib3ggbGFiZWwgKi9cclxuICBwdWJsaWMgdGV4dGJveExhYmVsPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBPcHRpb25hbCByZXF1aXJlZCBmbGFnIGZvciB0aGUgdGV4dGJveCwgd2lsbCBzZXRcclxuICAgKiBhIHZhbGlkYXRvciBvbiB0aGUgaW5wdXQgaWYgdHJ1ZVxyXG4gICAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94UmVxdWlyZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBhcnJheSBvZiB2YWxpZGF0b3JzIHRvIGFkZCB0byB0aGUgdGV4dGJveCBmb3JtIGNvbnRyb2wuICovXHJcbiAgcHVibGljIHRleHRib3hWYWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcclxuXHJcbiAgLyoqIFNldHMgdGhlIHRleHRib3gncyB1cHBlcmNhc2UgcGFyYW1ldGVyICovXHJcbiAgcHVibGljIHRleHRib3hVcHBlcmNhc2U/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wdGlvbmFsIHRleHRib3ggaGVpZ2h0IChpbiByb3dzKS5cclxuICAgKiBPbmx5IGFwcGxpZXMgdG8gbXVsdGktbGluZSB0eXBlLlxyXG4gICAqIERlZmF1bHQgMy5cclxuICAgKi9cclxuICBwdWJsaWMgdGV4dGFyZWFSb3dzPzogbnVtYmVyID0gMztcclxuXHJcbiAgLyoqIE9wdGlvbmFsIHRleHRib3ggcGxhY2Vob2xkZXIgdGV4dCAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94UGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiB0ZXh0Ym94ICovXHJcbiAgcHVibGljIHZhbGlkYXRpb25FcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBWYWx1ZSByZXR1cm5lZCBmcm9tIHRoZSBpbnB1dCBpZiBlbmFibGVkICovXHJcbiAgcHVibGljIHRleHRib3hWYWx1ZT86IHN0cmluZztcclxuICBwdWJsaWMgY2hlY2tib3hWYWx1ZT86Ym9vbGVhbjtcclxuICBwdWJsaWMgY29uZmlybUxhYmVsPzpzdHJpbmc7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBzYXZlIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBzYXZlTGFiZWw/OiBzdHJpbmcgPSAnU2F2ZSc7IC8vIExPQ09cclxuXHJcbiAgLyoqIE9wdGlvbmFsIHNhdmUgYnV0dG9uIHR5cGUgKi9cclxuICBwdWJsaWMgc2F2ZUJ1dHRvblR5cGU/OiBCdXR0b25UeXBlID0gJ3ByaW1hcnknO1xyXG5cclxuICAvKiogT3B0aW9uYWwgY2FuY2VsIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBjYW5jZWxMYWJlbD86IHN0cmluZyA9ICdDYW5jZWwnOyAvLyBMT0NPXHJcblxyXG4gIC8qKiBPcHRpb25hbCBmbGFnIGZvciBoaWRpbmcgdGhlIGNhbmNlbCAoc2Vjb25kYXJ5KSBidXR0b24gKi9cclxuICBwdWJsaWMgaGlkZUNhbmNlbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFdoZW4gdHJ1ZSwgYWRkcyB0aGUgc3VibWl0IHRhZyB0byB0aGUgc2F2ZSBidXR0b24gc28gaGl0dGluZyBlbnRlciB0cmlnZ2VycyB0aGUgc2F2ZSAqL1xyXG4gIHB1YmxpYyBzYXZlT25FbnRlcj86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIGFsdGVybmF0ZSBzYXZlIGJ1dHRvbiBsYWJlbCAqL1xyXG4gIHB1YmxpYyBhbHRlcm5hdGVTYXZlTGFiZWw/OiBzdHJpbmcgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKiBPcHRpb25hbCBhbHRlcm5hdGUgc2F2ZSBidXR0b24gdHlwZSAqL1xyXG4gIHB1YmxpYyBhbHRlcm5hdGVTYXZlQnV0dG9uVHlwZT86IEJ1dHRvblR5cGUgPSB1bmRlZmluZWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFVzZWQgdG8ga25vdyB3aGljaCBzYXZlIGJ1dHRvbiB3YXMgc2VsZWN0ZWQgaW4gY2FzZSB0aGUgY2FsbGluZyBjb21wb25lbnRcclxuICAgKiBpcyB1dGlsaXppbmcgdGhlIGFsdGVybmF0ZSBzYXZlIGJ1dHRvblxyXG4gICAqL1xyXG4gIHB1YmxpYyBzYXZlU291cmNlPzogU2F2ZVNvdXJjZSA9ICdwcmltYXJ5JztcclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBwcm92aWRlZCwgdGhlIGNvbmZpcm0gd2lsbCBzaG93IGEgcGVuZGluZyBzdGF0ZSBhbmQgY2FsbCB0aGlzLCB0aGVuIHVwb25cclxuICAgKiBjb21wbGV0aW9uIGRpc3BsYXkgdGhlIHJlc3VsdCBtZXNzYWdlIGFuZCBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIHByb21pc2UgaXMgcmVzb2x2ZWRcclxuICAgKiBzdWNjZXNzZnVsbHksIHRoZSBjbG9zZSBidXR0b24gd2lsbCBlbWl0IG9uRGlhbG9nU2F2ZS4gSWYgdGhlIHByb21pc2UgaXMgcmVqZWN0ZWQsXHJcbiAgICogdGhlIGNsb3NlIGJ1dHRvbiB3aWxsIGVtaXQgb25EaWFsb2dDYW5jZWwuXHJcbiAgICovXHJcbiAgcHVibGljIGlubGluZUNvbmZpcm1BY3Rpb24/OiAoKSA9PiBQcm9taXNlPEN1c3RvbUFjdGlvblJlc3VsdD47XHJcblxyXG4gIC8qKiBUaGUgbWVzc2FnZSB0byBiZSBkaXNwbGF5ZWQgd2hpbGUgaW5saW5lQ29uZmlybUFjdGlvbiBpcyBwZW5kaW5nLiAqL1xyXG4gIHB1YmxpYyBpbmxpbmVDb25maXJtUGVuZGluZ01lc3NhZ2U/OiBzdHJpbmcgPSAnJztcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdlYy1jb25maXJtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBEaWFsb2dDb250ZW50PENvbmZpcm1EaWFsb2dDb250ZXh0PiwgT25EZXN0cm95e1xyXG5cclxuICBwdWJsaWMgZGlhbG9nSWQ6IHN0cmluZyA9ICdDb25maXJtJztcclxuXHJcbiAgLyoqIEZvcm0gR3JvdXAgdG8gaG9sZCBhbnkgZm9ybSBjb250cm9scyBuZWVkZWQgKi9cclxuICBwdWJsaWMgZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe30pO1xyXG5cclxuICBwdWJsaWMgc3RhdHVzID0gbmV3IE92ZXJsYXkoJ2hhc0RhdGEnKTtcclxuXHJcbiAgcHVibGljIHNob3dUZXh0Qm94OmJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFByb3ZpZGVkIGJ5IHRoZSBjYWxsaW5nIGNvbXBvbmVudCB0byB0ZWxsIHRoZSBjb25maXJtIHdoYXQgdG8gc2hvd1xyXG4gICAqIGFuZCBpcyB1c2VkIG9uIHNhdmUgdG8gc2VuZCBiYWNrIGFueSBlbnRlcmVkIHZhbHVlcyBmcm9tIHRoZSB1c2VyXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGNvbnRleHQhOiBDb25maXJtRGlhbG9nQ29udGV4dDtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBvbkRpYWxvZ1NhdmU6IEV2ZW50RW1pdHRlcjxDb25maXJtRGlhbG9nQ29udGV4dD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvbmZpcm1EaWFsb2dDb250ZXh0PigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgb25EaWFsb2dDYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIG9uT3BlbihvcGVuQ29udGV4dD86IENvbmZpcm1EaWFsb2dDb250ZXh0KTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRleHQgPSBvcGVuQ29udGV4dCE7XHJcbiAgICB0aGlzLmRpYWxvZ0lkID0gb3BlbkNvbnRleHQhLmlkO1xyXG5cclxuICAgIGlmICh0aGlzLmNvbnRleHQuYWx0ZXJuYXRlU2F2ZUxhYmVsKSB7XHJcbiAgICAgIHRoaXMuY29udGV4dC5zYXZlT25FbnRlciA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIEVycm9yIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgZXJyb3IgYmFubmVyICovXHJcbiAgcHVibGljIGVycm9yPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEZvcm1Db250cm9scygpO1xyXG4gICAgdGhpcy5zZXRWYWxpZGF0aW9ucygpO1xyXG4gICAgdGhpcy5saXN0ZW5DaGVja0JveCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2F2ZShzb3VyY2U6IFNhdmVTb3VyY2UpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKTtcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgbGV0IGZvcm1WYWx1ZXMgPSB0aGlzLmZvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgICBpZiAoZm9ybVZhbHVlcy50ZXh0Ym94KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LnRleHRib3hWYWx1ZSA9IGZvcm1WYWx1ZXMudGV4dGJveDtcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLmNvbnRleHQuY2hlY2tDb25maXJtKSB7XHJcbiAgICAgICAgdGhpcy5jb250ZXh0LmNoZWNrYm94VmFsdWUgPSBmb3JtVmFsdWVzLmNoZWNrYm94ID8gZm9ybVZhbHVlcy5jaGVja2JveCA6IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmNvbnRleHQuc2F2ZVNvdXJjZSA9IHNvdXJjZTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmNvbnRleHQuaW5saW5lQ29uZmlybUFjdGlvbikge1xyXG4gICAgICAgIHRoaXMuZG9JbmxpbmVDb25maXJtQWN0aW9uKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vbkRpYWxvZ1NhdmUuZW1pdCh0aGlzLmNvbnRleHQpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGV4dC52YWxpZGF0aW9uRXJyb3JNZXNzYWdlKSB7XHJcbiAgICAgIHRoaXMuZXJyb3IgPSB0aGlzLmNvbnRleHQudmFsaWRhdGlvbkVycm9yTWVzc2FnZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkNhbmNlbCgpOiB2b2lkIHtcclxuICAgIHRoaXMub25EaWFsb2dDYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsaXN0ZW5DaGVja0JveCgpOnZvaWQge1xyXG4gICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjaGVja2JveCcpPy52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLnNob3dUZXh0Qm94ID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbnMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWxpZGF0aW9ucygpOnZvaWQge1xyXG4gICAgaWYodGhpcy5zaG93VGV4dEJveCl7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzWyd0ZXh0Ym94J10/LmVuYWJsZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHNbJ3RleHRib3gnXT8uZGlzYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyB0aGUgdGV4dGJveCBmb3JtIGNvbnRyb2wgdG8gb3VyIGZvcm0gZ3JvdXAgaWYgaXRzIGNvbmZpZ3VyZWQgdG8gYmUgdmlzaWJsZVxyXG4gICAqIFdpbGwgYWxzbyBhZGQgdGhlIHJlcXVpcmVkIHZhbGlkYXRvciBpZiByZXF1ZXN0ZWRcclxuICAgKi9cclxuICBwcml2YXRlIGFkZEZvcm1Db250cm9scygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbnRleHQudGV4dGJveFR5cGUpIHtcclxuICAgICAgbGV0IHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10gPSBbXTtcclxuICAgICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94UmVxdWlyZWQpIHtcclxuICAgICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuY29udGV4dC50ZXh0Ym94VmFsaWRhdG9ycykge1xyXG4gICAgICAgIHZhbGlkYXRvcnMucHVzaCguLi50aGlzLmNvbnRleHQudGV4dGJveFZhbGlkYXRvcnMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ3RleHRib3gnLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLCB2YWxpZGF0b3JzKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5jb250ZXh0LmNoZWNrQ29uZmlybSl7XHJcbiAgICAgIHRoaXMuc2hvd1RleHRCb3ggPSBmYWxzZTtcclxuICAgICAgY29uc3QgY2hlY2tib3hDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2woJ2NoZWNrYm94JywgY2hlY2tib3hDb250cm9sKTsgICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgZG9JbmxpbmVDb25maXJtQWN0aW9uKCkge1xyXG4gICAgdGhpcy5zdGF0dXMuc2V0U3RhdHVzKCdwZW5kaW5nJywgdGhpcy5jb250ZXh0LmlubGluZUNvbmZpcm1QZW5kaW5nTWVzc2FnZSk7XHJcblxyXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29udGV4dC5pbmxpbmVDb25maXJtQWN0aW9uISgpO1xyXG5cclxuICAgIHRoaXMuc3RhdHVzLnNldFN0YXR1cygnbm9EYXRhJywgcmVzdWx0Lm1lc3NhZ2UsIHtcclxuICAgICAgaWQ6ICdpbmxpbmVDb25maXJtQ2xvc2UnLFxyXG4gICAgICBsYWJlbDogJ0Nsb3NlJyxcclxuICAgICAgaWNvbjogcmVzdWx0LmlzU3VjY2VzcyA/ICdpY29uLWNoZWNrLWNpcmNsZScgOiAnaWNvbi1lcnJvcicsXHJcbiAgICAgIGNsYXNzbGlzdDogcmVzdWx0LmlzU3VjY2VzcyA/ICdmb250LWNvbG9yLXN1Y2Nlc3MnIDogJ2ZvbnQtY29sb3ItZXJyb3InLFxyXG4gICAgICBvbkNsaWNrOiAoKSA9PiB7IHJlc3VsdC5pc1N1Y2Nlc3MgPyB0aGlzLm9uRGlhbG9nU2F2ZS5lbWl0KHRoaXMuY29udGV4dCkgOiB0aGlzLm9uRGlhbG9nQ2FuY2VsLmVtaXQoKSB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPHNlY3Rpb24gZWNPdmVybGF5XHJcbiAgICAgICAgIFtzdGF0dXNdPVwic3RhdHVzPy5zdGF0dXNcIlxyXG4gICAgICAgICBbbWVzc2FnZV09XCJzdGF0dXM/Lm1lc3NhZ2VcIlxyXG4gICAgICAgICBbYWN0aW9uXT1cInN0YXR1cz8uYWN0aW9uXCJcclxuICAgICAgICAgW25vRGF0YVRlbXBsYXRlXT1cImlubGluZUNvbmZpcm1SZXN1bHRcIlxyXG4gICAgICAgICBvdmVybGF5Q2xhc3NMaXN0PVwicC0wXCJcclxuICAgICAgICAgY2xhc3M9XCJiZy1ib2R5IGZsZXgtZ3JvdyBkLWZsZXhcIj5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwiZmxleC1ncm93IGZsZXgtY29sdW1uIGNvbmZpcm0tY29udGVudCB0ZXh0LWJvZHktMVwiPlxyXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJmbGV4LWdyb3dcIj5cclxuICAgICAgPGgyIGNsYXNzPVwiZm9udC13ZWlnaHQtYm9sZCBtYi0zXCIgKm5nSWY9XCJjb250ZXh0Py50aXRsZVwiPnt7Y29udGV4dD8udGl0bGV9fTwvaDI+XHJcbiAgICAgIDxlYy1iYW5uZXIgKm5nSWY9XCJlcnJvclwiIFt0ZXh0XT1cImVycm9yIHwgdHJhbnNsYXRlXCIgYmFubmVyU3R5bGU9XCJub3JtYWxcIiBjbGFzcz1cIm1iLTNcIj48L2VjLWJhbm5lcj5cclxuICAgICAgPGRpdiAqbmdJZj1cImNvbnRleHQ/Lm1lc3NhZ2VcIiBbaW5uZXJIdG1sXT1cImNvbnRleHQ/Lm1lc3NhZ2UgfCB0cmFuc2xhdGVcIiBjbGFzcz1cIm1iLTNcIj48L2Rpdj5cclxuICAgICAgXHJcbiAgICAgIDxlYy1jaGVja2JveCAqbmdJZj1cImNvbnRleHQ/LmNoZWNrQ29uZmlybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJmb3JtR3JvdXAuZ2V0KCdjaGVja2JveCcpXCJcclxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY29uZmlybUNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiY29udGV4dD8uY2hlY2tib3hUZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b2ZvY3VzXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2VjLWNoZWNrYm94PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd1RleHRCb3hcIiBbaW5uZXJIdG1sXT1cImNvbnRleHQuY29uZmlybUxhYmVsXCIgY2xhc3M9XCJtYi0zXCI+PC9kaXY+XHJcbiAgICAgIDxlYy10ZXh0Ym94IGlkPVwiY29uZmlybVRleHRib3hcIlxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIihjb250ZXh0Py50ZXh0Ym94VHlwZSAmJiAhY29udGV4dD8uY2hlY2tDb25maXJtKSB8fCBzaG93VGV4dEJveFwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtTW9kZWxdPVwiZm9ybUdyb3VwLmdldCgndGV4dGJveCcpXCJcclxuICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cImNvbnRleHQ/LnRleHRib3hSZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py50ZXh0Ym94TGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJjb250ZXh0Py50ZXh0Ym94VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtyb3dzXT1cImNvbnRleHQ/LnRleHRhcmVhUm93c1wiXHJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJjb250ZXh0Py50ZXh0Ym94UGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICBbdXBwZXJDYXNlXT1cImNvbnRleHQ/LnRleHRib3hVcHBlcmNhc2VcIj5cclxuICAgICAgPC9lYy10ZXh0Ym94PlxyXG4gICAgPC9zZWN0aW9uPlxyXG4gICAgPGZvb3RlciBjbGFzcz1cIm10LWF1dG8gZmxleC1zaHJpbmsgZC1mbGV4IHB5LTIgZmxleC1yb3ctcmV2ZXJzZVwiPlxyXG4gICAgICA8ZWMtYnV0dG9uIGlkPVwic2F2ZUNvbmZpcm1CdXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm1sLTJcIlxyXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJjb250ZXh0Py5zYXZlQnV0dG9uVHlwZSA/IGNvbnRleHQ/LnNhdmVCdXR0b25UeXBlIDogJ3ByaW1hcnknXCJcclxuICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImNvbnRleHQ/LnNhdmVMYWJlbCA/IGNvbnRleHQ/LnNhdmVMYWJlbCA6ICdTYXZlJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiIWNvbnRleHQ/LnRleHRib3hUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgW2lzU3VibWl0XT1cImNvbnRleHQ/LnNhdmVPbkVudGVyXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwib25TYXZlKCdwcmltYXJ5JylcIj5cclxuICAgICAgPC9lYy1idXR0b24+XHJcbiAgICAgIDxlYy1idXR0b24gaWQ9XCJhbHRlcm5hdGVTYXZlQ29uZmlybUJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29udGV4dD8uYWx0ZXJuYXRlU2F2ZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0yXCJcclxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiY29udGV4dD8uYWx0ZXJuYXRlU2F2ZUJ1dHRvblR5cGUgPyBjb250ZXh0Py5hbHRlcm5hdGVTYXZlQnV0dG9uVHlwZSA6ICdwcmltYXJ5J1wiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py5hbHRlcm5hdGVTYXZlTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvblNhdmUoJ2FsdGVybmF0ZScpXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgICA8ZWMtYnV0dG9uICAqbmdJZj1cIiFjb250ZXh0Py5oaWRlQ2FuY2VsXCJcclxuICAgICAgICAgICAgICAgICAgaWQ9XCJjYW5jZWxDb25maXJtQnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC1hdXRvXCJcclxuICAgICAgICAgICAgICAgICAgdHlwZT1cInNlY29uZGFyeVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJjb250ZXh0Py5jYW5jZWxMYWJlbCA/IGNvbnRleHQ/LmNhbmNlbExhYmVsIDogJ0NhbmNlbCdcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJvbkNhbmNlbCgpXCI+XHJcbiAgICAgIDwvZWMtYnV0dG9uPlxyXG4gICAgPC9mb290ZXI+XHJcbiAgPC9mb3JtPlxyXG48L3NlY3Rpb24+XHJcblxyXG48bmctdGVtcGxhdGUgI2lubGluZUNvbmZpcm1SZXN1bHQ+XHJcbiAgPHNlY3Rpb24gY2xhc3M9XCJmbGV4LWdyb3cgYWxpZ24tc2VsZi1zdHJldGNoIGNvbmZpcm0tY29udGVudCB0ZXh0LWJvZHktMVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8aSBjbGFzcz1cImVjLWljb24ge3tzdGF0dXM/LmFjdGlvbj8uaWNvbn19IHt7c3RhdHVzPy5hY3Rpb24/LmNsYXNzbGlzdH19IGlubGluZS1jb25maXJtLXJlc3VsdC1pY29uXCI+PC9pPlxyXG4gICAgICA8ZGl2IFtpbm5lckhUTUxdPVwic3RhdHVzPy5tZXNzYWdlIHwgdHJhbnNsYXRlXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggcHQtMiBtdC1hdXRvXCI+XHJcbiAgICAgIDxlYy1idXR0b24gaWQ9XCJpbmxpbmVDb25maXJtQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgIGxhYmVsPVwiQ2xvc2VcIlxyXG4gICAgICAgICAgICAgICAgIHR5cGU9XCJzZWNvbmRhcnlcIlxyXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtYXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwic3RhdHVzPy5hY3Rpb24/Lm9uQ2xpY2shKClcIlxyXG4gICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwidHJ1ZVwiPlxyXG4gICAgICA8L2VjLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvc2VjdGlvbj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -108,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
108
108
  }], itemToggled: [{
109
109
  type: Output
110
110
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9oaWVyYXJjaHkvaGllcmFyY2h5LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXRILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0UsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUVoQixvQ0FBb0M7UUFDcEMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQVFuQix5RUFBeUU7UUFDekUsVUFBSyxHQUFXLENBQUMsQ0FBQztRQVVsQix5RUFBeUU7UUFDekUsWUFBTyxHQUF1QyxTQUFTLENBQUM7UUFFeEQsb0RBQW9EO1FBQ3BELGVBQVUsR0FBYSxLQUFLLENBQUM7UUFFN0I7O1dBRUc7UUFDSCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3Qiw0Q0FBNEM7UUFDNUMsYUFBUSxHQUF5QixFQUFFLENBQUM7UUFFcEMscURBQXFEO1FBQ3JELGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0IsK0NBQStDO1FBQy9DLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0IsbURBQW1EO1FBQ25ELGVBQVUsR0FBYSxLQUFLLENBQUM7UUFFN0IsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUUzQjs7V0FFRztRQUNILFdBQU0sR0FBZ0IsU0FBUyxDQUFDO1FBRWhDLG9GQUFvRjtRQUNwRixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBRTNCOzs7V0FHRztRQUNILHVCQUFrQixHQUFhLElBQUksQ0FBQztJQVl0QyxDQUFDO0NBQUE7QUFXRCxNQUFNLE9BQWdCLGFBQWE7SUFlakMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBSUQsWUFBWSxRQUFrQjtRQWhCOUIseURBQXlEO1FBQ3hDLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRWxHLDZDQUE2QztRQUM1QixnQkFBVyxHQUF1QyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUU1Rzs7VUFFRTtRQUNNLGVBQVUsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQVFwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUNoRTs7Y0FFRTtZQUNGLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O01BRUU7SUFDSyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0NBQW9DO0lBQzdCLGlCQUFpQixDQUFDLElBQW1CLEVBQUUsUUFBaUI7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUNuRCxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ3hELFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQ7T0FDRztJQUNJLGVBQWUsQ0FBQyxVQUF5QixFQUFFLEtBQTJCO1FBQzNFLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzVCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7TUFFRTtJQUNLLFlBQVksQ0FBQyxVQUF5QjtRQUMzQyxVQUFVLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUM5QixDQUFDOzswR0F4RW1CLGFBQWE7OEZBQWIsYUFBYTsyRkFBYixhQUFhO2tCQURsQyxTQUFTOytGQUlRLFFBQVE7c0JBQXZCLEtBQUs7Z0JBR1csZUFBZTtzQkFBL0IsTUFBTTtnQkFHVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpbmtJdGVtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9saW5rLWl0ZW0nO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFZpZXdTdGF0dXMgfSBmcm9tICcuLi8uLi9zaGFyZWQvZGlzcGxheSc7XHJcblxyXG5leHBvcnQgY2xhc3MgSGllcmFyY2h5SXRlbSBpbXBsZW1lbnRzIExpbmtJdGVtIHtcclxuICBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBMYWJlbCB0byBkaXNwbGF5IGZvciB0aGUgaXRlbSAqL1xyXG4gIGxhYmVsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFRleHQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBpdGVtJ3MgdG9vbHRpcC4gV2hlbiBub3QgcHJvdmlkZWQsIHRoZSBsYWJlbCB3aWxsIGJlIGRpc3BsYXllZC4gKi9cclxuICB0b29sdGlwPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGV4dCB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGl0ZW0ncyBpY29uIHRvb2x0aXAuICovXHJcbiAgaWNvblRvb2x0aXA/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBJbmRpY2F0ZXMgaG93IG1hbnkgbGV2ZWxzIGRlZXAgdGhlIGl0ZW0gaXMgaW4gdGhlIHBhcmVudCBzdHJ1Y3R1cmUgKi9cclxuICBsZXZlbDogbnVtYmVyID0gMDtcclxuXHJcbiAgdXJsPzogc3RyaW5nO1xyXG5cclxuICBxdWVyeVBhcmFtcz86IFBhcmFtcyB8IG51bGw7XHJcblxyXG4gIHF1ZXJ5UGFyYW1zSGFuZGxpbmc/OiBRdWVyeVBhcmFtc0hhbmRsaW5nO1xyXG5cclxuICBpY29uPzogc3RyaW5nO1xyXG5cclxuICAvKiogRGlzcGxheSBpdGVtIGFzIGEgbGluaywgYSBoZWFkaW5nLCBvciB3aXRoIGEgZGl2aWRlciBsaW5lIGJlbG93IGl0ICovXHJcbiAgZGlzcGxheT86ICdkZWZhdWx0JyB8ICdoZWFkaW5nJyB8ICdkaXZpZGVyJyA9ICdkZWZhdWx0JztcclxuXHJcbiAgLyoqIFNldCB0byBoaWRlIHRvZ2dsZSwgZXZlbiBpZiBpdGVtIGhhcyBjaGlsZHJlbiAqL1xyXG4gIGhpZGVUb2dnbGU/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBGbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIGl0ZW0gaGFzIGNoaWxkcmVuIG9yIG5vdCwgbW9zdGx5IGRyaXZlc1xyXG4gICAqICB3aGV0aGVyIHlvdSBnZXQgdGhlIGV4cGFuZC9jb2xsYXBzZSBidXR0b25cclxuICAgKi9cclxuICBoYXNDaGlsZHJlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogQXJyYXkgb2YgY2hpbGRyZW4gaWYgYW55IGZvciB0aGUgaXRlbSAqL1xyXG4gIGNoaWxkcmVuOiBBcnJheTxIaWVyYXJjaHlJdGVtPiA9IFtdO1xyXG5cclxuICAvKiogRmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgaXRlbSBoYXMgYmVlbiBleHBhbmRlZCAqL1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogRmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgaXRlbSBpcyBzZWxlY3RlZCAqL1xyXG4gIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogRmxhZyB0byBpbmRpY2F0ZSBpZiB0aGUgaXRlbSBjYW4gYmUgc2VsZWN0ZWQgKi9cclxuICBzZWxlY3RhYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICByZWFkb25seT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIFN0YXR1cyBvZiBlYWNoIGl0ZW0gdG8gaW5kaWNhdGUgd2hldGhlciBjaGlsZHJlbiBsb29rdXAgaXMgcGVuZGluZyBvclxyXG4gICAqICBpZiBhbiBlcnJvciBvY2N1cnJlZCByZXRyaWV2aW5nIGRhdGFcclxuICAgKi9cclxuICBzdGF0dXM/OiBWaWV3U3RhdHVzID0gXCJoYXNEYXRhXCI7XHJcblxyXG4gIC8qKiBJbmRpY2F0ZXMgaWYgdGhlIGl0ZW0gaXMgYSB0b3AgbGV2ZWwgZW50aXR5LCBlLmcuIE9yZ2FuaXphdGlvbiBvciBDb3N0IENlbnRlciAqL1xyXG4gIHRvcExldmVsPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBXaGVuIGNoZWNraW5nIHRoZSB1cmwgZm9yIGFjdGl2ZW5lc3MsIHRoZSB1cmwgbXVzdCBtYXRjaCBleGFjdGx5IG9yIHBhcnRpYWxseVxyXG4gICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL3JvdXRlciNhY3RpdmUtcm91dGVyLWxpbmtzXHJcbiAgICovXHJcbiAgaXNBY3RpdmVFeGFjdE1hdGNoPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGl0ZW0uIFVzZWZ1bCBpZiB5b3UgbmVlZCB0byB3YWxrIHRoZSB0cmVlIGluIHJldmVyc2UuIEFuIGV4YW1wbGUgdXNhZ2VcclxuICAgKiB3b3VsZCBiZSB0byBleHBhbmQgYWxsIHBhcmVudCBpdGVtcyBhYm92ZSBhIG5vZGUgdGhhdCBpcyB0aGUgY3VycmVudCBzZWxlY3Rpb24uXHJcbiAgICovXHJcbiAgcGFyZW50SXRlbT86IEhpZXJhcmNoeUl0ZW07XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0byBoYXZlIG5vIGxldmVsIGluZGVudGF0aW9uIGZvciB0aGUgaXRlbS4gVXNlZnVsIGZvciB0b3AgbGV2ZWwgaXRlbXMgaW4gYSB0cmVlIHRoYXQgaXMgbm90IGhpZXJhcmNoaWNhbFxyXG4gICAqL1xyXG4gIG5vSW5kZW50PzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBIaWVyYXJjaHlJdGVtIHRoYXQgaGFzIGJlZW4gY2xpY2tlZCB0byB0b2dnbGUgaXRzIGV4cGFuc2lvbiBzdGF0ZS5cclxuICovXHJcbmV4cG9ydCB0eXBlIFRvZ2dsZWRIaWVyYXJjaHlJdGVtID0ge1xyXG4gIGl0ZW06IEhpZXJhcmNoeUl0ZW07XHJcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEhpZXJhcmNoeUJhc2UgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcblxyXG4gIC8qKiBGaXJzdCBpdGVtIHRvIHN0YXJ0IHRoZSBoaWVyYXJjaHkgc3RydWN0dXJlICovXHJcbiAgQElucHV0KCkgcHVibGljIHJvb3ROb2RlITogSGllcmFyY2h5SXRlbTtcclxuXHJcbiAgLyoqIEV2ZW50IGVtaXR0ZXIgdG8gcmVxdWVzdCBjaGlsZHJlbiBmb3IgYSBnaXZlbiBpdGVtICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBnZXRJdGVtQ2hpbGRyZW46IEV2ZW50RW1pdHRlcjxIaWVyYXJjaHlJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8SGllcmFyY2h5SXRlbT4oKTtcclxuXHJcbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBpdGVtIGlzIHRvZ2dsZWQuICovXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBpdGVtVG9nZ2xlZDogRXZlbnRFbWl0dGVyPFRvZ2dsZWRIaWVyYXJjaHlJdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8VG9nZ2xlZEhpZXJhcmNoeUl0ZW0+KCk7XHJcblxyXG4gIC8qKlxyXG4gICogVXNlZCB0byB1bnN1YnNjcmliZSBmcm9tIG9ic2VydmFibGVzXHJcbiAgKi9cclxuICBwcml2YXRlIF9kZXN0cm95ZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBwdWJsaWMgZ2V0IGRlc3Ryb3llZCgpOiBTdWJqZWN0PGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rlc3Ryb3llZDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0ZWxlbWV0cnlTZXJ2aWNlOiBUZWxlbWV0cnlTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZSA9IGluamVjdG9yLmdldChUZWxlbWV0cnlTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcyAmJiBjaGFuZ2VzLnJvb3ROb2RlICYmIGNoYW5nZXMucm9vdE5vZGUuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIC8qKiBJZiB0aGUgcm9vdE5vZGUgaGFzIGNoaWxkcmVuIGFuZCB3ZSBkb24ndCBrbm93IGFib3V0IHRoZW0geWV0IHdlIG11c3QgYmUgbG9hZGluZ1xyXG4gICAgICAqICB0aGUgdmlldyB3aXRob3V0IHRoZSBuZXcgaGllcmFyY2h5IGFwaVxyXG4gICAgICAqL1xyXG4gICAgICBpZiAodGhpcy5yb290Tm9kZS5oYXNDaGlsZHJlbiAmJiB0aGlzLnJvb3ROb2RlLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZ2V0SXRlbUNoaWxkcmVuLmVtaXQodGhpcy5yb290Tm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogRnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWRcclxuICAqL1xyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveWVkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKiogSGFuZGxlciBmb3IgdGhlIHRvZ2dsZSBidXR0b24gKi9cclxuICBwdWJsaWMgdG9nZ2xlSXRlbUNsaWNrZWQoaXRlbTogSGllcmFyY2h5SXRlbSwgZXhwYW5kZWQ6IGJvb2xlYW4pIHtcclxuICAgIGl0ZW0uZXhwYW5kZWQgPSBleHBhbmRlZDtcclxuICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50cmFja0V2ZW50KCd0b2dnbGUtdHJlZS1ub2RlJywge1xyXG4gICAgICBuZXdFeHBhbmRTdGF0ZTogaXRlbS5leHBhbmRlZCA/ICdleHBhbmRlZCcgOiAnY29sbGFwc2VkJyxcclxuICAgICAgaXRlbURlcHRoOiBgJHtpdGVtLmxldmVsfWAsXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLml0ZW1Ub2dnbGVkLmVtaXQoeyBpdGVtLCBleHBhbmRlZCB9KTtcclxuXHJcbiAgICBpZiAoaXRlbS5leHBhbmRlZCAmJiBpdGVtLmhhc0NoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIGl0ZW0uc3RhdHVzID0gXCJwZW5kaW5nXCI7XHJcbiAgICAgIHRoaXMuZ2V0SXRlbUNoaWxkcmVuLmVtaXQoaXRlbSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogTWV0aG9kIGV4cG9zZWQgdG8gdGhlIHBhcmVudCBjb21wb25lbnQgdG8gc2V0IHRoZSBpdGVtcyBjaGlsZHJlbiBvbmNlIHRoZXkgYXJlIGF2YWlsYWJsZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZXRJdGVtQ2hpbGRyZW4ocGFyZW50SXRlbTogSGllcmFyY2h5SXRlbSwgaXRlbXM6IEFycmF5PEhpZXJhcmNoeUl0ZW0+KTogdm9pZCB7XHJcbiAgICBwYXJlbnRJdGVtLmNoaWxkcmVuID0gaXRlbXM7XHJcbiAgICBwYXJlbnRJdGVtLnN0YXR1cyA9IFwiaGFzRGF0YVwiO1xyXG4gIH1cclxuXHJcbiAgLyoqIE1ldGhvZCBleHBvc2VkIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50IHRvIGluZGljYXRlIHRoYXQgc29tZXRoaW5nIGhhcHBlbmVkIG9uIHRoZVxyXG4gICAqICBpdGVtIHRoYXQgY2F1c2VkIGFuIGVycm9yLCBjb3VsZCBiZSByZXRyaWV2aW5nIGNoaWxkcmVuXHJcbiAgKi9cclxuICBwdWJsaWMgc2V0SXRlbUVycm9yKHBhcmVudEl0ZW06IEhpZXJhcmNoeUl0ZW0pOiB2b2lkIHtcclxuICAgIHBhcmVudEl0ZW0uc3RhdHVzID0gXCJlcnJvclwiO1xyXG4gIH1cclxufVxyXG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS9oaWVyYXJjaHkvaGllcmFyY2h5LWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVksS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXRILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxhQUFhO0lBQTFCO1FBQ0UsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQUVoQixvQ0FBb0M7UUFDcEMsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUtuQix5RUFBeUU7UUFDekUsVUFBSyxHQUFXLENBQUMsQ0FBQztRQVVsQix5RUFBeUU7UUFDekUsWUFBTyxHQUF1QyxTQUFTLENBQUM7UUFFeEQsb0RBQW9EO1FBQ3BELGVBQVUsR0FBYSxLQUFLLENBQUM7UUFFN0I7O1dBRUc7UUFDSCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3Qiw0Q0FBNEM7UUFDNUMsYUFBUSxHQUF5QixFQUFFLENBQUM7UUFFcEMscURBQXFEO1FBQ3JELGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0IsK0NBQStDO1FBQy9DLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFFM0IsbURBQW1EO1FBQ25ELGVBQVUsR0FBYSxLQUFLLENBQUM7UUFFN0IsYUFBUSxHQUFhLEtBQUssQ0FBQztRQUUzQjs7V0FFRztRQUNILFdBQU0sR0FBZ0IsU0FBUyxDQUFDO1FBRWhDLG9GQUFvRjtRQUNwRixhQUFRLEdBQWEsS0FBSyxDQUFDO1FBRTNCOzs7V0FHRztRQUNILHVCQUFrQixHQUFhLElBQUksQ0FBQztJQVl0QyxDQUFDO0NBQUE7QUFXRCxNQUFNLE9BQWdCLGFBQWE7SUFlakMsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBSUQsWUFBWSxRQUFrQjtRQWhCOUIseURBQXlEO1FBQ3hDLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBRWxHLDZDQUE2QztRQUM1QixnQkFBVyxHQUF1QyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUU1Rzs7VUFFRTtRQUNNLGVBQVUsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQVFwRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDdkMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtZQUNoRTs7Y0FFRTtZQUNGLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7O01BRUU7SUFDSyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0NBQW9DO0lBQzdCLGlCQUFpQixDQUFDLElBQW1CLEVBQUUsUUFBaUI7UUFDN0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRTtZQUNuRCxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ3hELFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUUxQyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkUsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQ7T0FDRztJQUNJLGVBQWUsQ0FBQyxVQUF5QixFQUFFLEtBQTJCO1FBQzNFLFVBQVUsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQzVCLFVBQVUsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7TUFFRTtJQUNLLFlBQVksQ0FBQyxVQUF5QjtRQUMzQyxVQUFVLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztJQUM5QixDQUFDOzswR0F4RW1CLGFBQWE7OEZBQWIsYUFBYTsyRkFBYixhQUFhO2tCQURsQyxTQUFTOytGQUlRLFFBQVE7c0JBQXZCLEtBQUs7Z0JBR1csZUFBZTtzQkFBL0IsTUFBTTtnQkFHVSxXQUFXO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQYXJhbXMsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpbmtJdGVtIH0gZnJvbSAnLi4vLi4vY29udHJvbHMvbmF2aWdhdGlvbi9saW5rLWl0ZW0nO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFZpZXdTdGF0dXMgfSBmcm9tICcuLi8uLi9zaGFyZWQvZGlzcGxheSc7XHJcblxyXG5leHBvcnQgY2xhc3MgSGllcmFyY2h5SXRlbSBpbXBsZW1lbnRzIExpbmtJdGVtIHtcclxuICBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKiBMYWJlbCB0byBkaXNwbGF5IGZvciB0aGUgaXRlbSAqL1xyXG4gIGxhYmVsOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFRleHQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBpdGVtJ3MgdG9vbHRpcC4gV2hlbiBub3QgcHJvdmlkZWQsIHRoZSBsYWJlbCB3aWxsIGJlIGRpc3BsYXllZC4gKi9cclxuICB0b29sdGlwPzogc3RyaW5nO1xyXG5cclxuICAvKiogSW5kaWNhdGVzIGhvdyBtYW55IGxldmVscyBkZWVwIHRoZSBpdGVtIGlzIGluIHRoZSBwYXJlbnQgc3RydWN0dXJlICovXHJcbiAgbGV2ZWw6IG51bWJlciA9IDA7XHJcblxyXG4gIHVybD86IHN0cmluZztcclxuXHJcbiAgcXVlcnlQYXJhbXM/OiBQYXJhbXMgfCBudWxsO1xyXG5cclxuICBxdWVyeVBhcmFtc0hhbmRsaW5nPzogUXVlcnlQYXJhbXNIYW5kbGluZztcclxuXHJcbiAgaWNvbj86IHN0cmluZztcclxuXHJcbiAgLyoqIERpc3BsYXkgaXRlbSBhcyBhIGxpbmssIGEgaGVhZGluZywgb3Igd2l0aCBhIGRpdmlkZXIgbGluZSBiZWxvdyBpdCAqL1xyXG4gIGRpc3BsYXk/OiAnZGVmYXVsdCcgfCAnaGVhZGluZycgfCAnZGl2aWRlcicgPSAnZGVmYXVsdCc7XHJcblxyXG4gIC8qKiBTZXQgdG8gaGlkZSB0b2dnbGUsIGV2ZW4gaWYgaXRlbSBoYXMgY2hpbGRyZW4gKi9cclxuICBoaWRlVG9nZ2xlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKiogRmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBpdGVtIGhhcyBjaGlsZHJlbiBvciBub3QsIG1vc3RseSBkcml2ZXNcclxuICAgKiAgd2hldGhlciB5b3UgZ2V0IHRoZSBleHBhbmQvY29sbGFwc2UgYnV0dG9uXHJcbiAgICovXHJcbiAgaGFzQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEFycmF5IG9mIGNoaWxkcmVuIGlmIGFueSBmb3IgdGhlIGl0ZW0gKi9cclxuICBjaGlsZHJlbjogQXJyYXk8SGllcmFyY2h5SXRlbT4gPSBbXTtcclxuXHJcbiAgLyoqIEZsYWcgdG8gaW5kaWNhdGUgaWYgdGhlIGl0ZW0gaGFzIGJlZW4gZXhwYW5kZWQgKi9cclxuICBleHBhbmRlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEZsYWcgdG8gaW5kaWNhdGUgaWYgdGhlIGl0ZW0gaXMgc2VsZWN0ZWQgKi9cclxuICBzZWxlY3RlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqIEZsYWcgdG8gaW5kaWNhdGUgaWYgdGhlIGl0ZW0gY2FuIGJlIHNlbGVjdGVkICovXHJcbiAgc2VsZWN0YWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcmVhZG9ubHk/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBTdGF0dXMgb2YgZWFjaCBpdGVtIHRvIGluZGljYXRlIHdoZXRoZXIgY2hpbGRyZW4gbG9va3VwIGlzIHBlbmRpbmcgb3JcclxuICAgKiAgaWYgYW4gZXJyb3Igb2NjdXJyZWQgcmV0cmlldmluZyBkYXRhXHJcbiAgICovXHJcbiAgc3RhdHVzPzogVmlld1N0YXR1cyA9IFwiaGFzRGF0YVwiO1xyXG5cclxuICAvKiogSW5kaWNhdGVzIGlmIHRoZSBpdGVtIGlzIGEgdG9wIGxldmVsIGVudGl0eSwgZS5nLiBPcmdhbml6YXRpb24gb3IgQ29zdCBDZW50ZXIgKi9cclxuICB0b3BMZXZlbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiBjaGVja2luZyB0aGUgdXJsIGZvciBhY3RpdmVuZXNzLCB0aGUgdXJsIG11c3QgbWF0Y2ggZXhhY3RseSBvciBwYXJ0aWFsbHlcclxuICAgKiBAc2VlIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9yb3V0ZXIjYWN0aXZlLXJvdXRlci1saW5rc1xyXG4gICAqL1xyXG4gIGlzQWN0aXZlRXhhY3RNYXRjaD86IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBpdGVtLiBVc2VmdWwgaWYgeW91IG5lZWQgdG8gd2FsayB0aGUgdHJlZSBpbiByZXZlcnNlLiBBbiBleGFtcGxlIHVzYWdlXHJcbiAgICogd291bGQgYmUgdG8gZXhwYW5kIGFsbCBwYXJlbnQgaXRlbXMgYWJvdmUgYSBub2RlIHRoYXQgaXMgdGhlIGN1cnJlbnQgc2VsZWN0aW9uLlxyXG4gICAqL1xyXG4gIHBhcmVudEl0ZW0/OiBIaWVyYXJjaHlJdGVtO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgdG8gaGF2ZSBubyBsZXZlbCBpbmRlbnRhdGlvbiBmb3IgdGhlIGl0ZW0uIFVzZWZ1bCBmb3IgdG9wIGxldmVsIGl0ZW1zIGluIGEgdHJlZSB0aGF0IGlzIG5vdCBoaWVyYXJjaGljYWxcclxuICAgKi9cclxuICBub0luZGVudD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGEgSGllcmFyY2h5SXRlbSB0aGF0IGhhcyBiZWVuIGNsaWNrZWQgdG8gdG9nZ2xlIGl0cyBleHBhbnNpb24gc3RhdGUuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBUb2dnbGVkSGllcmFyY2h5SXRlbSA9IHtcclxuICBpdGVtOiBIaWVyYXJjaHlJdGVtO1xyXG4gIGV4cGFuZGVkOiBib29sZWFuO1xyXG59O1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIaWVyYXJjaHlCYXNlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG5cclxuICAvKiogRmlyc3QgaXRlbSB0byBzdGFydCB0aGUgaGllcmFyY2h5IHN0cnVjdHVyZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByb290Tm9kZSE6IEhpZXJhcmNoeUl0ZW07XHJcblxyXG4gIC8qKiBFdmVudCBlbWl0dGVyIHRvIHJlcXVlc3QgY2hpbGRyZW4gZm9yIGEgZ2l2ZW4gaXRlbSAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgZ2V0SXRlbUNoaWxkcmVuOiBFdmVudEVtaXR0ZXI8SGllcmFyY2h5SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEhpZXJhcmNoeUl0ZW0+KCk7XHJcblxyXG4gIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gYW4gaXRlbSBpcyB0b2dnbGVkLiAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaXRlbVRvZ2dsZWQ6IEV2ZW50RW1pdHRlcjxUb2dnbGVkSGllcmFyY2h5SXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRvZ2dsZWRIaWVyYXJjaHlJdGVtPigpO1xyXG5cclxuICAvKipcclxuICAqIFVzZWQgdG8gdW5zdWJzY3JpYmUgZnJvbSBvYnNlcnZhYmxlc1xyXG4gICovXHJcbiAgcHJpdmF0ZSBfZGVzdHJveWVkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgcHVibGljIGdldCBkZXN0cm95ZWQoKTogU3ViamVjdDxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9kZXN0cm95ZWQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdGVsZW1ldHJ5U2VydmljZTogVGVsZW1ldHJ5U2VydmljZTtcclxuXHJcbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLnRlbGVtZXRyeVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoVGVsZW1ldHJ5U2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXMgJiYgY2hhbmdlcy5yb290Tm9kZSAmJiBjaGFuZ2VzLnJvb3ROb2RlLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICAvKiogSWYgdGhlIHJvb3ROb2RlIGhhcyBjaGlsZHJlbiBhbmQgd2UgZG9uJ3Qga25vdyBhYm91dCB0aGVtIHlldCB3ZSBtdXN0IGJlIGxvYWRpbmdcclxuICAgICAgKiAgdGhlIHZpZXcgd2l0aG91dCB0aGUgbmV3IGhpZXJhcmNoeSBhcGlcclxuICAgICAgKi9cclxuICAgICAgaWYgKHRoaXMucm9vdE5vZGUuaGFzQ2hpbGRyZW4gJiYgdGhpcy5yb290Tm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmdldEl0ZW1DaGlsZHJlbi5lbWl0KHRoaXMucm9vdE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEZ1bmN0aW9uIGNhbGxlZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkXHJcbiAgKi9cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEhhbmRsZXIgZm9yIHRoZSB0b2dnbGUgYnV0dG9uICovXHJcbiAgcHVibGljIHRvZ2dsZUl0ZW1DbGlja2VkKGl0ZW06IEhpZXJhcmNoeUl0ZW0sIGV4cGFuZGVkOiBib29sZWFuKSB7XHJcbiAgICBpdGVtLmV4cGFuZGVkID0gZXhwYW5kZWQ7XHJcbiAgICB0aGlzLnRlbGVtZXRyeVNlcnZpY2UudHJhY2tFdmVudCgndG9nZ2xlLXRyZWUtbm9kZScsIHtcclxuICAgICAgbmV3RXhwYW5kU3RhdGU6IGl0ZW0uZXhwYW5kZWQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCcsXHJcbiAgICAgIGl0ZW1EZXB0aDogYCR7aXRlbS5sZXZlbH1gLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5pdGVtVG9nZ2xlZC5lbWl0KHsgaXRlbSwgZXhwYW5kZWQgfSk7XHJcblxyXG4gICAgaWYgKGl0ZW0uZXhwYW5kZWQgJiYgaXRlbS5oYXNDaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBpdGVtLnN0YXR1cyA9IFwicGVuZGluZ1wiO1xyXG4gICAgICB0aGlzLmdldEl0ZW1DaGlsZHJlbi5lbWl0KGl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIE1ldGhvZCBleHBvc2VkIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50IHRvIHNldCB0aGUgaXRlbXMgY2hpbGRyZW4gb25jZSB0aGV5IGFyZSBhdmFpbGFibGVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0SXRlbUNoaWxkcmVuKHBhcmVudEl0ZW06IEhpZXJhcmNoeUl0ZW0sIGl0ZW1zOiBBcnJheTxIaWVyYXJjaHlJdGVtPik6IHZvaWQge1xyXG4gICAgcGFyZW50SXRlbS5jaGlsZHJlbiA9IGl0ZW1zO1xyXG4gICAgcGFyZW50SXRlbS5zdGF0dXMgPSBcImhhc0RhdGFcIjtcclxuICB9XHJcblxyXG4gIC8qKiBNZXRob2QgZXhwb3NlZCB0byB0aGUgcGFyZW50IGNvbXBvbmVudCB0byBpbmRpY2F0ZSB0aGF0IHNvbWV0aGluZyBoYXBwZW5lZCBvbiB0aGVcclxuICAgKiAgaXRlbSB0aGF0IGNhdXNlZCBhbiBlcnJvciwgY291bGQgYmUgcmV0cmlldmluZyBjaGlsZHJlblxyXG4gICovXHJcbiAgcHVibGljIHNldEl0ZW1FcnJvcihwYXJlbnRJdGVtOiBIaWVyYXJjaHlJdGVtKTogdm9pZCB7XHJcbiAgICBwYXJlbnRJdGVtLnN0YXR1cyA9IFwiZXJyb3JcIjtcclxuICB9XHJcbn1cclxuIl19
@@ -45,10 +45,10 @@ export class HierarchyTreeComponent extends HierarchyBase {
45
45
  }
46
46
  }
47
47
  HierarchyTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HierarchyTreeComponent, deps: [{ token: i1.ScrollService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
48
- HierarchyTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: { id: "id", hideRootNode: "hideRootNode", customItemTemplate: "customItemTemplate" }, outputs: { itemSelected: "itemSelected" }, usesInheritance: true, ngImport: i0, template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n <li *ngFor=\"let item of items; index as index; first as isFirst\"\r\n [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n [attr.title]=\"item.iconTooltip\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: i5.CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }] });
48
+ HierarchyTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HierarchyTreeComponent, selector: "ec-hierarchy-tree", inputs: { id: "id", hideRootNode: "hideRootNode", customItemTemplate: "customItemTemplate" }, outputs: { itemSelected: "itemSelected" }, usesInheritance: true, ngImport: i0, template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n <li *ngFor=\"let item of items; index as index; first as isFirst\"\r\n [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.NavItemActiveDirective, selector: "[ecNavItemActive]", inputs: ["ecNavItemActive", "ecNavItemActiveExactMatch", "ecNavItemActiveQueryParams", "ecNavItemActiveUrl"], outputs: ["routerLinkActivated"] }, { kind: "component", type: i5.CollapsibleToggleComponent, selector: "ec-collapsible-toggle", inputs: ["id", "expanded", "tabindex"], outputs: ["expandedChange"] }] });
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HierarchyTreeComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n <li *ngFor=\"let item of items; index as index; first as isFirst\"\r\n [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n [attr.title]=\"item.iconTooltip\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"] }]
51
+ args: [{ selector: 'ec-hierarchy-tree', template: "<ul id=\"{{scrollContainerId}}\"\r\n class=\"flex-grow scroll-y py-1\">\r\n\r\n <li *ngIf=\"!hideRootNode && rootNode\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{rootNode?.tooltip ?? rootNode?.label}}\"\r\n [ngClass]=\"{'is-heading': rootNode?.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"rootNode?.url\"\r\n [ecNavItemActiveExactMatch]='rootNode?.isActiveExactMatch'>\r\n <a id=\"rootNode_{{rootNode?.id}}_link\"\r\n class=\"item flex-grow d-flex align-items-center\"\r\n routerLink=\"{{rootNode?.url}}\"\r\n [queryParams]=\"rootNode?.queryParams\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: rootNode }\"></ng-container>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n <li *ngFor=\"let item of items; index as index; first as isFirst\"\r\n [ngClass]=\"{'divider': item.display === 'divider'}\"\r\n id=\"treeItem_{{item.id}}\">\r\n <div class=\"item-wrapper\"\r\n title=\"{{item.tooltip ?? item.label}}\"\r\n [ngClass]=\"{'is-heading': item.display === 'heading'}\"\r\n ecNavItemActive=\"is-selected\"\r\n [ecNavItemActiveUrl]=\"item.url\"\r\n [ecNavItemActiveExactMatch]=\"item.isActiveExactMatch\"\r\n [ecNavItemActiveQueryParams]=\"item.queryParams\">\r\n\r\n <!-- This element provides the indentation for each level -->\r\n <span id=\"indent_{{item.id}}\"\r\n *ngIf=\"!item.noIndent\"\r\n class=\"d-block h-100\"\r\n [style.width.px]=\"(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)\">\r\n </span>\r\n\r\n <!-- Toggle the button icon to be a spinner when item.status is pending -->\r\n <ec-collapsible-toggle id=\"toggle_{{item.id}}\"\r\n class=\"flex-shrink\"\r\n [style.width.px]=\"indent\"\r\n *ngIf=\"item.hasChildren && !item.hideToggle\"\r\n [hidden]=\"item.status === 'pending'\"\r\n [expanded]=\"item.expanded\"\r\n (expandedChange)=\"toggleItemClicked(item, $event)\">\r\n </ec-collapsible-toggle>\r\n\r\n <i class=\"ec-icon icon-loading my-1\"\r\n [hidden]=\"item.status !== 'pending'\"></i>\r\n\r\n <a id=\"treeItem_{{item.id}}_link\"\r\n class=\"item\"\r\n *ngIf=\"item.url\"\r\n (click)=\"selectItem(item)\"\r\n [routerLink]=\"item.url\"\r\n [queryParams]=\"item.queryParams\"\r\n [queryParamsHandling]=\"item.queryParamsHandling || ''\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </a>\r\n <div id=\"treeItem_{{item.id}}_heading\"\r\n class=\"item\"\r\n *ngIf=\"!item.url\"\r\n (click)=\"selectItem(item)\">\r\n <ng-container *ngTemplateOutlet=\"customItemTemplate || defaultItemTemplate; context: { $implicit: item }\"></ng-container>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf=\"item.children.length > 0 && item.expanded\">\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: item.children }\"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet=\"hierarchyView; context:{ $implicit: rootNode?.children }\"></ng-container>\r\n</ul>\r\n\r\n<ng-template #defaultItemTemplate\r\n let-item>\r\n <i class=\"ec-icon {{item.icon}} mx-1 flex-shrink\"\r\n *ngIf=\"item.icon\"></i>\r\n <span class=\"mx-1 text-truncate\">{{item.label}}</span>\r\n</ng-template>", styles: [":host{display:block;font-size:var(--ec-menu-font-size, var(--ec-font-size-action));background-color:var(--ec-menu-background-color, var(--ec-background-color))}ul{padding:0;margin:0;list-style:none;overflow-x:hidden}ul li{white-space:nowrap;padding:0}ul li.divider{border-bottom:1px solid var(--ec-border-color);padding-bottom:.25rem;margin-bottom:.25rem}ul .item-wrapper{display:flex;align-items:center;padding:0 .25rem;margin:0 .25rem;height:1.75rem;border-radius:var(--ec-border-radius)}ul .item-wrapper.is-heading{cursor:pointer;color:var(--ec-color-hint-dark);text-transform:uppercase;font-weight:var(--ec-font-weight-bold);font-size:var(--ec-font-size-label)}ul .item-wrapper:hover{background-color:var(--ec-background-color-hover)}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{color:inherit;display:flex;align-items:center;flex:1 1;min-height:0;min-width:0}\n"] }]
52
52
  }], ctorParameters: function () { return [{ type: i1.ScrollService }, { type: i0.Injector }]; }, propDecorators: { id: [{
53
53
  type: Input
54
54
  }], hideRootNode: [{
@@ -58,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
58
58
  }], itemSelected: [{
59
59
  type: Output
60
60
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvaGllcmFyY2h5L2hpZXJhcmNoeS10cmVlL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2hpZXJhcmNoeS9oaWVyYXJjaHktdHJlZS9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBb0J2RCxZQUNVLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZWLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkJ0QywrRkFBK0Y7UUFDL0UsT0FBRSxHQUFXLGVBQWUsQ0FBQztRQVE3QyxpRUFBaUU7UUFDaEQsaUJBQVksR0FBMkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV0RSw0R0FBNEc7UUFDckcsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVuQix1SEFBdUg7UUFDaEgsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0lBS1QsQ0FBQztJQUVmLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQjtRQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7bUhBakRVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlOQ1ZuQyx3NkhBcUZjOzJGRDNFRCxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1COzJIQU9iLEVBQUU7c0JBQWpCLEtBQUs7Z0JBR1UsWUFBWTtzQkFBM0IsS0FBSztnQkFHVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBR1csWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zY3JvbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpZXJhcmNoeUJhc2UsIEhpZXJhcmNoeUl0ZW0gfSBmcm9tICcuLi9oaWVyYXJjaHktYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLWhpZXJhcmNoeS10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGllcmFyY2h5LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZXJhcmNoeVRyZWVDb21wb25lbnQgZXh0ZW5kcyBIaWVyYXJjaHlCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgaWQgYXR0cmlidXRlIG9mIHRoZSB0cmVlJ3Mgcm9vdCBIVE1MVUxpc3RFbGVtZW50LCBzdWZmaXhlZCB3aXRoICdfcm9vdCcgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZyA9ICdIaWVyYXJjaHlUcmVlJztcclxuXHJcbiAgLyoqIEhpZGUgdGhlIHJvb3Qgbm9kZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlUm9vdE5vZGU/OiBib29sZWFuO1xyXG5cclxuICAvKiogQ3VzdG9tIGl0ZW0gdGVtcGxhdGUgdG8gdXNlIGluIHBsYWNlIG9mIHRoZSBkZWZhdWx0IG9uZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21JdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKiogRW1pdHMgYSBIaWVyYXJjaHlJdGVtIHdoZW5ldmVyIG9uZSBpcyBzZWxlY3RlZCBieSBjbGlja2luZyAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaXRlbVNlbGVjdGVkOiBTdWJqZWN0PEhpZXJhcmNoeUl0ZW0+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgc3BhY2luZyBiZWZvcmUgYSB0cmVlIG5vZGUsIG11bHRpcGxlZCBieSBhIEhpZXJhcmNoeUl0ZW0ncyBsZXZlbC4gVmFsdWUgaXMgaW4gcGl4ZWxzICovXHJcbiAgcHVibGljIGluZGVudCA9IDE2O1xyXG5cclxuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBpZCBhdHRyaWJ1dGUgb2YgdGhlIHRyZWUncyBzY3JvbGwgY29udGFpbmVyIGVsZW1lbnQsIHVzZWQgdG8gc2Nyb2xsIGEgc2VsZWN0ZWQgaXRlbSBpbnRvIHZpZXcuICAqL1xyXG4gIHB1YmxpYyBzY3JvbGxDb250YWluZXJJZCA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2Nyb2xsU2VydmljZTogU2Nyb2xsU2VydmljZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHsgc3VwZXIoaW5qZWN0b3IpOyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVySWQgPSBgJHt0aGlzLmlkfV9yb290YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNjcm9sbCB0byB0aGUgaXRlbSBjdXJyZW50bHkgbWFya2VkIGFzIGlzLXNlbGVjdGVkLiBXYWl0IGEgdGljayBmb3IgdGhlXHJcbiAgICogTmF2SXRlbUFjdGl2ZURpcmVjdGl2ZSB0byB1cGRhdGUgdGhlIHNlbGVjdGVkIGNsYXNzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzY3JvbGxUb1NlbGVjdGVkSXRlbSgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgbGlua1NlbGVjdG9yID0gYC5pdGVtLXdyYXBwZXIuaXMtc2VsZWN0ZWRgO1xyXG4gICAgICB0aGlzLnNjcm9sbFNlcnZpY2Uuc2Nyb2xsVG9JdGVtKGAjJHt0aGlzLnNjcm9sbENvbnRhaW5lcklkfWAsIGxpbmtTZWxlY3Rvcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBIaWVyYXJjaHlJdGVtIGlzIHNlbGVjdGVkLCB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmVVcmwgcHJvcGVydHkgd2l0aCB0aGUgdmFsdWVcclxuICAgKiBvZiB0aGF0IGl0ZW0ncyB1cmwgcHJvcGVydHkgYW5kIGVtaXQgdGhlIGl0ZW0gdG8gYW55IHN1YnNjcmliZXJzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RJdGVtKGl0ZW06IEhpZXJhcmNoeUl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbVNlbGVjdGVkLm5leHQoaXRlbSk7XHJcbiAgICBpZiAoaXRlbS5kaXNwbGF5ID09PSAnaGVhZGluZycgJiYgIWl0ZW0uaGlkZVRvZ2dsZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUl0ZW1DbGlja2VkKGl0ZW0sICFpdGVtLmV4cGFuZGVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHVsIGlkPVwie3tzY3JvbGxDb250YWluZXJJZH19XCJcclxuICAgIGNsYXNzPVwiZmxleC1ncm93IHNjcm9sbC15IHB5LTFcIj5cclxuXHJcbiAgPGxpICpuZ0lmPVwiIWhpZGVSb290Tm9kZSAmJiByb290Tm9kZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIml0ZW0td3JhcHBlclwiXHJcbiAgICAgICAgIHRpdGxlPVwie3tyb290Tm9kZT8udG9vbHRpcCA/PyByb290Tm9kZT8ubGFiZWx9fVwiXHJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaGVhZGluZyc6IHJvb3ROb2RlPy5kaXNwbGF5ID09PSAnaGVhZGluZyd9XCJcclxuICAgICAgICAgZWNOYXZJdGVtQWN0aXZlPVwiaXMtc2VsZWN0ZWRcIlxyXG4gICAgICAgICBbZWNOYXZJdGVtQWN0aXZlVXJsXT1cInJvb3ROb2RlPy51cmxcIlxyXG4gICAgICAgICBbZWNOYXZJdGVtQWN0aXZlRXhhY3RNYXRjaF09J3Jvb3ROb2RlPy5pc0FjdGl2ZUV4YWN0TWF0Y2gnPlxyXG4gICAgICA8YSBpZD1cInJvb3ROb2RlX3t7cm9vdE5vZGU/LmlkfX1fbGlua1wiXHJcbiAgICAgICAgIGNsYXNzPVwiaXRlbSBmbGV4LWdyb3cgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgIHJvdXRlckxpbms9XCJ7e3Jvb3ROb2RlPy51cmx9fVwiXHJcbiAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb290Tm9kZT8ucXVlcnlQYXJhbXNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb290Tm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbGk+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjaGllcmFyY2h5Vmlld1xyXG4gICAgICAgICAgICAgICBsZXQtaXRlbXM+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGluZGV4IGFzIGluZGV4OyBmaXJzdCBhcyBpc0ZpcnN0XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2RpdmlkZXInOiBpdGVtLmRpc3BsYXkgPT09ICdkaXZpZGVyJ31cIlxyXG4gICAgICAgIGlkPVwidHJlZUl0ZW1fe3tpdGVtLmlkfX1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIml0ZW0td3JhcHBlclwiXHJcbiAgICAgICAgICAgdGl0bGU9XCJ7e2l0ZW0udG9vbHRpcCA/PyBpdGVtLmxhYmVsfX1cIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaGVhZGluZyc6IGl0ZW0uZGlzcGxheSA9PT0gJ2hlYWRpbmcnfVwiXHJcbiAgICAgICAgICAgZWNOYXZJdGVtQWN0aXZlPVwiaXMtc2VsZWN0ZWRcIlxyXG4gICAgICAgICAgIFtlY05hdkl0ZW1BY3RpdmVVcmxdPVwiaXRlbS51cmxcIlxyXG4gICAgICAgICAgIFtlY05hdkl0ZW1BY3RpdmVFeGFjdE1hdGNoXT1cIml0ZW0uaXNBY3RpdmVFeGFjdE1hdGNoXCJcclxuICAgICAgICAgICBbZWNOYXZJdGVtQWN0aXZlUXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiPlxyXG5cclxuICAgICAgICA8IS0tIFRoaXMgZWxlbWVudCBwcm92aWRlcyB0aGUgaW5kZW50YXRpb24gZm9yIGVhY2ggbGV2ZWwgLS0+XHJcbiAgICAgICAgPHNwYW4gaWQ9XCJpbmRlbnRfe3tpdGVtLmlkfX1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0ubm9JbmRlbnRcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZC1ibG9jayBoLTEwMFwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIihpbmRlbnQpICogKGl0ZW0ubGV2ZWwgLSAxKSArIChpdGVtLmxldmVsICogNCkgKyAoaXRlbS5oYXNDaGlsZHJlbiA/IDAgOiBpbmRlbnQpXCI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8IS0tIFRvZ2dsZSB0aGUgYnV0dG9uIGljb24gdG8gYmUgYSBzcGlubmVyIHdoZW4gaXRlbS5zdGF0dXMgaXMgcGVuZGluZyAtLT5cclxuICAgICAgICA8ZWMtY29sbGFwc2libGUtdG9nZ2xlIGlkPVwidG9nZ2xlX3t7aXRlbS5pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleC1zaHJpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImluZGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW4gJiYgIWl0ZW0uaGlkZVRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uc3RhdHVzID09PSAncGVuZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZGVkQ2hhbmdlKT1cInRvZ2dsZUl0ZW1DbGlja2VkKGl0ZW0sICRldmVudClcIj5cclxuICAgICAgICA8L2VjLWNvbGxhcHNpYmxlLXRvZ2dsZT5cclxuXHJcbiAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24tbG9hZGluZyBteS0xXCJcclxuICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uc3RhdHVzICE9PSAncGVuZGluZydcIj48L2k+XHJcblxyXG4gICAgICAgIDxhIGlkPVwidHJlZUl0ZW1fe3tpdGVtLmlkfX1fbGlua1wiXHJcbiAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAgICAqbmdJZj1cIml0ZW0udXJsXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiXHJcbiAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmxcIlxyXG4gICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcclxuICAgICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJpdGVtLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgfHwgJydcIj5cclxuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPGRpdiBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19X2hlYWRpbmdcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udXJsXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPHVsICpuZ0lmPVwiaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwICYmIGl0ZW0uZXhwYW5kZWRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGllcmFyY2h5VmlldzsgY29udGV4dDp7ICRpbXBsaWNpdDogaXRlbS5jaGlsZHJlbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2xpPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoaWVyYXJjaHlWaWV3OyBjb250ZXh0OnsgJGltcGxpY2l0OiByb290Tm9kZT8uY2hpbGRyZW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG48L3VsPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbVRlbXBsYXRlXHJcbiAgICAgICAgICAgICBsZXQtaXRlbT5cclxuICA8aSBjbGFzcz1cImVjLWljb24ge3tpdGVtLmljb259fSBteC0xIGZsZXgtc2hyaW5rXCJcclxuICAgICBbYXR0ci50aXRsZV09XCJpdGVtLmljb25Ub29sdGlwXCJcclxuICAgICAqbmdJZj1cIml0ZW0uaWNvblwiPjwvaT5cclxuICA8c3BhbiBjbGFzcz1cIm14LTEgdGV4dC10cnVuY2F0ZVwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGllcmFyY2h5LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvaGllcmFyY2h5L2hpZXJhcmNoeS10cmVlL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9kaXNwbGF5L2hpZXJhcmNoeS9oaWVyYXJjaHktdHJlZS9oaWVyYXJjaHktdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFZLEtBQUssRUFBVSxNQUFNLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBT2pFLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBb0J2RCxZQUNVLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZWLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBbkJ0QywrRkFBK0Y7UUFDL0UsT0FBRSxHQUFXLGVBQWUsQ0FBQztRQVE3QyxpRUFBaUU7UUFDaEQsaUJBQVksR0FBMkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUV0RSw0R0FBNEc7UUFDckcsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUVuQix1SEFBdUg7UUFDaEgsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO0lBS1QsQ0FBQztJQUVmLFFBQVE7UUFDYixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQjtRQUN6QixNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNyQixNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQztZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFVBQVUsQ0FBQyxJQUFtQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQzs7bUhBakRVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlOQ1ZuQyw4M0hBb0ZjOzJGRDFFRCxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsbUJBQW1COzJIQU9iLEVBQUU7c0JBQWpCLEtBQUs7Z0JBR1UsWUFBWTtzQkFBM0IsS0FBSztnQkFHVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBR1csWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zY3JvbGwuc2VydmljZSc7XHJcbmltcG9ydCB7IEhpZXJhcmNoeUJhc2UsIEhpZXJhcmNoeUl0ZW0gfSBmcm9tICcuLi9oaWVyYXJjaHktYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLWhpZXJhcmNoeS10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGllcmFyY2h5LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpZXJhcmNoeS10cmVlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhpZXJhcmNoeVRyZWVDb21wb25lbnQgZXh0ZW5kcyBIaWVyYXJjaHlCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgaWQgYXR0cmlidXRlIG9mIHRoZSB0cmVlJ3Mgcm9vdCBIVE1MVUxpc3RFbGVtZW50LCBzdWZmaXhlZCB3aXRoICdfcm9vdCcgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZyA9ICdIaWVyYXJjaHlUcmVlJztcclxuXHJcbiAgLyoqIEhpZGUgdGhlIHJvb3Qgbm9kZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlUm9vdE5vZGU/OiBib29sZWFuO1xyXG5cclxuICAvKiogQ3VzdG9tIGl0ZW0gdGVtcGxhdGUgdG8gdXNlIGluIHBsYWNlIG9mIHRoZSBkZWZhdWx0IG9uZSAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21JdGVtVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAvKiogRW1pdHMgYSBIaWVyYXJjaHlJdGVtIHdoZW5ldmVyIG9uZSBpcyBzZWxlY3RlZCBieSBjbGlja2luZyAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgaXRlbVNlbGVjdGVkOiBTdWJqZWN0PEhpZXJhcmNoeUl0ZW0+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgLyoqIFRoZSB3aWR0aCBvZiB0aGUgc3BhY2luZyBiZWZvcmUgYSB0cmVlIG5vZGUsIG11bHRpcGxlZCBieSBhIEhpZXJhcmNoeUl0ZW0ncyBsZXZlbC4gVmFsdWUgaXMgaW4gcGl4ZWxzICovXHJcbiAgcHVibGljIGluZGVudCA9IDE2O1xyXG5cclxuICAvKiogVGhlIHZhbHVlIG9mIHRoZSBpZCBhdHRyaWJ1dGUgb2YgdGhlIHRyZWUncyBzY3JvbGwgY29udGFpbmVyIGVsZW1lbnQsIHVzZWQgdG8gc2Nyb2xsIGEgc2VsZWN0ZWQgaXRlbSBpbnRvIHZpZXcuICAqL1xyXG4gIHB1YmxpYyBzY3JvbGxDb250YWluZXJJZCA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2Nyb2xsU2VydmljZTogU2Nyb2xsU2VydmljZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHsgc3VwZXIoaW5qZWN0b3IpOyB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2Nyb2xsQ29udGFpbmVySWQgPSBgJHt0aGlzLmlkfV9yb290YDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNjcm9sbCB0byB0aGUgaXRlbSBjdXJyZW50bHkgbWFya2VkIGFzIGlzLXNlbGVjdGVkLiBXYWl0IGEgdGljayBmb3IgdGhlXHJcbiAgICogTmF2SXRlbUFjdGl2ZURpcmVjdGl2ZSB0byB1cGRhdGUgdGhlIHNlbGVjdGVkIGNsYXNzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzY3JvbGxUb1NlbGVjdGVkSXRlbSgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgbGlua1NlbGVjdG9yID0gYC5pdGVtLXdyYXBwZXIuaXMtc2VsZWN0ZWRgO1xyXG4gICAgICB0aGlzLnNjcm9sbFNlcnZpY2Uuc2Nyb2xsVG9JdGVtKGAjJHt0aGlzLnNjcm9sbENvbnRhaW5lcklkfWAsIGxpbmtTZWxlY3Rvcik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFdoZW4gYSBIaWVyYXJjaHlJdGVtIGlzIHNlbGVjdGVkLCB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZSBhY3RpdmVVcmwgcHJvcGVydHkgd2l0aCB0aGUgdmFsdWVcclxuICAgKiBvZiB0aGF0IGl0ZW0ncyB1cmwgcHJvcGVydHkgYW5kIGVtaXQgdGhlIGl0ZW0gdG8gYW55IHN1YnNjcmliZXJzLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBzZWxlY3RJdGVtKGl0ZW06IEhpZXJhcmNoeUl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuaXRlbVNlbGVjdGVkLm5leHQoaXRlbSk7XHJcbiAgICBpZiAoaXRlbS5kaXNwbGF5ID09PSAnaGVhZGluZycgJiYgIWl0ZW0uaGlkZVRvZ2dsZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUl0ZW1DbGlja2VkKGl0ZW0sICFpdGVtLmV4cGFuZGVkKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPHVsIGlkPVwie3tzY3JvbGxDb250YWluZXJJZH19XCJcclxuICAgIGNsYXNzPVwiZmxleC1ncm93IHNjcm9sbC15IHB5LTFcIj5cclxuXHJcbiAgPGxpICpuZ0lmPVwiIWhpZGVSb290Tm9kZSAmJiByb290Tm9kZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIml0ZW0td3JhcHBlclwiXHJcbiAgICAgICAgIHRpdGxlPVwie3tyb290Tm9kZT8udG9vbHRpcCA/PyByb290Tm9kZT8ubGFiZWx9fVwiXHJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaGVhZGluZyc6IHJvb3ROb2RlPy5kaXNwbGF5ID09PSAnaGVhZGluZyd9XCJcclxuICAgICAgICAgZWNOYXZJdGVtQWN0aXZlPVwiaXMtc2VsZWN0ZWRcIlxyXG4gICAgICAgICBbZWNOYXZJdGVtQWN0aXZlVXJsXT1cInJvb3ROb2RlPy51cmxcIlxyXG4gICAgICAgICBbZWNOYXZJdGVtQWN0aXZlRXhhY3RNYXRjaF09J3Jvb3ROb2RlPy5pc0FjdGl2ZUV4YWN0TWF0Y2gnPlxyXG4gICAgICA8YSBpZD1cInJvb3ROb2RlX3t7cm9vdE5vZGU/LmlkfX1fbGlua1wiXHJcbiAgICAgICAgIGNsYXNzPVwiaXRlbSBmbGV4LWdyb3cgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXHJcbiAgICAgICAgIHJvdXRlckxpbms9XCJ7e3Jvb3ROb2RlPy51cmx9fVwiXHJcbiAgICAgICAgIFtxdWVyeVBhcmFtc109XCJyb290Tm9kZT8ucXVlcnlQYXJhbXNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb290Tm9kZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvYT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbGk+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjaGllcmFyY2h5Vmlld1xyXG4gICAgICAgICAgICAgICBsZXQtaXRlbXM+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGluZGV4IGFzIGluZGV4OyBmaXJzdCBhcyBpc0ZpcnN0XCJcclxuICAgICAgICBbbmdDbGFzc109XCJ7J2RpdmlkZXInOiBpdGVtLmRpc3BsYXkgPT09ICdkaXZpZGVyJ31cIlxyXG4gICAgICAgIGlkPVwidHJlZUl0ZW1fe3tpdGVtLmlkfX1cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIml0ZW0td3JhcHBlclwiXHJcbiAgICAgICAgICAgdGl0bGU9XCJ7e2l0ZW0udG9vbHRpcCA/PyBpdGVtLmxhYmVsfX1cIlxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaXMtaGVhZGluZyc6IGl0ZW0uZGlzcGxheSA9PT0gJ2hlYWRpbmcnfVwiXHJcbiAgICAgICAgICAgZWNOYXZJdGVtQWN0aXZlPVwiaXMtc2VsZWN0ZWRcIlxyXG4gICAgICAgICAgIFtlY05hdkl0ZW1BY3RpdmVVcmxdPVwiaXRlbS51cmxcIlxyXG4gICAgICAgICAgIFtlY05hdkl0ZW1BY3RpdmVFeGFjdE1hdGNoXT1cIml0ZW0uaXNBY3RpdmVFeGFjdE1hdGNoXCJcclxuICAgICAgICAgICBbZWNOYXZJdGVtQWN0aXZlUXVlcnlQYXJhbXNdPVwiaXRlbS5xdWVyeVBhcmFtc1wiPlxyXG5cclxuICAgICAgICA8IS0tIFRoaXMgZWxlbWVudCBwcm92aWRlcyB0aGUgaW5kZW50YXRpb24gZm9yIGVhY2ggbGV2ZWwgLS0+XHJcbiAgICAgICAgPHNwYW4gaWQ9XCJpbmRlbnRfe3tpdGVtLmlkfX1cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0ubm9JbmRlbnRcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZC1ibG9jayBoLTEwMFwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIihpbmRlbnQpICogKGl0ZW0ubGV2ZWwgLSAxKSArIChpdGVtLmxldmVsICogNCkgKyAoaXRlbS5oYXNDaGlsZHJlbiA/IDAgOiBpbmRlbnQpXCI+XHJcbiAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICA8IS0tIFRvZ2dsZSB0aGUgYnV0dG9uIGljb24gdG8gYmUgYSBzcGlubmVyIHdoZW4gaXRlbS5zdGF0dXMgaXMgcGVuZGluZyAtLT5cclxuICAgICAgICA8ZWMtY29sbGFwc2libGUtdG9nZ2xlIGlkPVwidG9nZ2xlX3t7aXRlbS5pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleC1zaHJpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cImluZGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaGFzQ2hpbGRyZW4gJiYgIWl0ZW0uaGlkZVRvZ2dsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uc3RhdHVzID09PSAncGVuZGluZydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2V4cGFuZGVkXT1cIml0ZW0uZXhwYW5kZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZGVkQ2hhbmdlKT1cInRvZ2dsZUl0ZW1DbGlja2VkKGl0ZW0sICRldmVudClcIj5cclxuICAgICAgICA8L2VjLWNvbGxhcHNpYmxlLXRvZ2dsZT5cclxuXHJcbiAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGljb24tbG9hZGluZyBteS0xXCJcclxuICAgICAgICAgICBbaGlkZGVuXT1cIml0ZW0uc3RhdHVzICE9PSAncGVuZGluZydcIj48L2k+XHJcblxyXG4gICAgICAgIDxhIGlkPVwidHJlZUl0ZW1fe3tpdGVtLmlkfX1fbGlua1wiXHJcbiAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAgICAqbmdJZj1cIml0ZW0udXJsXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiXHJcbiAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS51cmxcIlxyXG4gICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtLnF1ZXJ5UGFyYW1zXCJcclxuICAgICAgICAgICBbcXVlcnlQYXJhbXNIYW5kbGluZ109XCJpdGVtLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgfHwgJydcIj5cclxuICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2E+XHJcbiAgICAgICAgPGRpdiBpZD1cInRyZWVJdGVtX3t7aXRlbS5pZH19X2hlYWRpbmdcIlxyXG4gICAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0udXJsXCJcclxuICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY3VzdG9tSXRlbVRlbXBsYXRlIHx8IGRlZmF1bHRJdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgPHVsICpuZ0lmPVwiaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwICYmIGl0ZW0uZXhwYW5kZWRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGllcmFyY2h5VmlldzsgY29udGV4dDp7ICRpbXBsaWNpdDogaXRlbS5jaGlsZHJlbiB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2xpPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoaWVyYXJjaHlWaWV3OyBjb250ZXh0OnsgJGltcGxpY2l0OiByb290Tm9kZT8uY2hpbGRyZW4gfVwiPjwvbmctY29udGFpbmVyPlxyXG48L3VsPlxyXG5cclxuPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbVRlbXBsYXRlXHJcbiAgICAgICAgICAgICBsZXQtaXRlbT5cclxuICA8aSBjbGFzcz1cImVjLWljb24ge3tpdGVtLmljb259fSBteC0xIGZsZXgtc2hyaW5rXCJcclxuICAgICAqbmdJZj1cIml0ZW0uaWNvblwiPjwvaT5cclxuICA8c3BhbiBjbGFzcz1cIm14LTEgdGV4dC10cnVuY2F0ZVwiPnt7aXRlbS5sYWJlbH19PC9zcGFuPlxyXG48L25nLXRlbXBsYXRlPiJdfQ==