axidio-styleguide-library1-v2 0.1.73 → 0.1.74

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.
@@ -207,10 +207,12 @@ export class DropdownComponent {
207
207
  }
208
208
  handleShowOrHideChildList(parentName, event) {
209
209
  event.stopPropagation();
210
- if (!this.childDropdownListVisible.includes(parentName))
211
- this.childDropdownListVisible.push(parentName);
212
- else
213
- this.childDropdownListVisible = this.childDropdownListVisible.filter((item) => item != parentName);
210
+ if (this.childDropdownListVisible.includes(parentName)) {
211
+ this.childDropdownListVisible = [];
212
+ }
213
+ else {
214
+ this.childDropdownListVisible = [parentName];
215
+ }
214
216
  sessionStorage.setItem('childDropdownListVisible', JSON.stringify(this.childDropdownListVisible));
215
217
  }
216
218
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -235,4 +237,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
235
237
  type: HostListener,
236
238
  args: ['document:click', ['$event']]
237
239
  }] } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXhpZGlvLXN0eWxlZ3VpZGUtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F4aWRpby1zdHlsZWd1aWRlLWxpYnJhcnkvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQVF2QixNQUFNLE9BQU8saUJBQWlCO0lBVTVCO1FBVFMsdUJBQWtCLEdBQVcsWUFBWSxDQUFDO1FBQzFDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUV0QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFFakMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6RCw2QkFBd0IsR0FBUSxFQUFFLENBQUM7UUFFakMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxXQUFXO1FBQ1QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEUsSUFBSSxjQUFjLEVBQUUsQ0FB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QUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDOztZQUUvQyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FDbEUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxVQUFVLENBQzdCLENBQUM7UUFDSixjQUFjLENBQUMsT0FBTyxDQUNwQiwwQkFBMEIsRUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FDOUMsQ0FBQztJQUNKLENBQUM7K0dBOVBVLGlCQUFpQjttR0FBakIsaUJBQWlCLHlYQ2xCOUIsb25GQTBEQTs7NEZEeENhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLGlCQUdULGlCQUFpQixDQUFDLElBQUk7d0RBRzVCLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQXdFUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQubGVzcycsICcuLi9jb21tb24tc3R5bGVzLmxlc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgZHJvcGRvd25IZWFkZXJOYW1lOiBzdHJpbmcgPSAnQ29tcGFyZSBieSc7XHJcbiAgQElucHV0KCkgaXNEcm9wZG93bk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWxlY3RlZENvbXBhcmVCeTogb2JqZWN0ID0ge307XHJcbiAgQElucHV0KCkgZHJvcGRvd25EYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgaXNDaGVja2JveFZpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBAT3V0cHV0KCkgZGRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRnJvbURyb3Bkb3duID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlOiBhbnkgPSBbXTtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzdG9yYWdlJywgdGhpcy5vblN0b3JhZ2VDaGFuZ2UuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCB0aGlzLm9uU3RvcmFnZUNoYW5nZSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGxldCB2YWx1ZUZyb21TdG9yZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NoaWxkRHJvcGRvd25MaXN0VmlzaWJsZScpO1xyXG4gICAgaWYgKHZhbHVlRnJvbVN0b3JlKSB7XHJcbiAgICAgIHRoaXMuY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlID0gSlNPTi5wYXJzZSh2YWx1ZUZyb21TdG9yZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWxlY3RlZENvbXBhcmVCeUZyb21TdG90YWdlID1cclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnc2VsZWN0ZWRDb21wYXJlQnknKTtcclxuICAgIGlmIChcclxuICAgICAgc2VsZWN0ZWRDb21wYXJlQnlGcm9tU3RvdGFnZSAmJlxyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9PSAnQ29tcGFyZSBieSdcclxuICAgICkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkgPSBKU09OLnBhcnNlKHNlbGVjdGVkQ29tcGFyZUJ5RnJvbVN0b3RhZ2UpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIHBhcnNpbmcgc2VsZWN0ZWRDb21wYXJlQnkgZnJvbSBzZXNzaW9uU3RvcmFnZTonLCBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3Qgc2VsZWN0ZWRDb21wYXJlMkJ5RnJvbVN0b3RhZ2UgPVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzZWxlY3RlZENvbXBhcmUyQnknKTtcclxuICAgIGlmIChcclxuICAgICAgc2VsZWN0ZWRDb21wYXJlMkJ5RnJvbVN0b3RhZ2UgJiZcclxuICAgICAgdGhpcy5kcm9wZG93bkhlYWRlck5hbWUgIT0gJ0NvbXBhcmUgYnknXHJcbiAgICApIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5ID0gSlNPTi5wYXJzZShzZWxlY3RlZENvbXBhcmUyQnlGcm9tU3RvdGFnZSk7XHJcbiAgICAgICAgdGhpcy5kcm9wZG93bkhlYWRlck5hbWUgPVxyXG4gICAgICAgICAgT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZENvbXBhcmVCeSkgJiZcclxuICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpLmxlbmd0aCA+IDBcclxuICAgICAgICAgICAgPyBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KVswXVxyXG4gICAgICAgICAgICA6ICcnO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0Vycm9yIHBhcnNpbmcgc2VsZWN0ZWRDb21wYXJlQnkgZnJvbSBzZXNzaW9uU3RvcmFnZTonLCBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duJykgJiZcclxuICAgICAgdGhpcy5kcm9wZG93bkhlYWRlck5hbWUgPT0gJ0NvbXBhcmUgYnknXHJcbiAgICApXHJcbiAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPVxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NoYXJ0SGVhZGVyRHJvcGRvd24nKSA9PSAndHJ1ZSc7XHJcbiAgfVxyXG4gIGhlYWRlckNsaWNrZWQoZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5kZENsaWNrZWQuZW1pdCh0cnVlKTtcclxuICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSAhdGhpcy5pc0Ryb3Bkb3duT3BlbjtcclxuICAgIGlmICh0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9PSAnQ29tcGFyZSBieScpIHRoaXMuc2V0RHJvcERvd25TdGF0dXMoKTtcclxuICAgIGVsc2UgdGhpcy5zZXREcm9wRG93bjJTdGF0dXMoKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2lzUGVyZm9ybWFuY2VDbG9zZWQnLCAndHJ1ZScpO1xyXG4gIH1cclxuICBzZXREcm9wRG93blN0YXR1cygpIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICdjaGFydEhlYWRlckRyb3Bkb3duJyxcclxuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3Blbi50b1N0cmluZygpXHJcbiAgICApO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY2hhcnRIZWFkZXJEcm9wZG93bjInLCAnZmFsc2UnKTtcclxuICB9XHJcbiAgc2V0RHJvcERvd24yU3RhdHVzKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY2hhcnRIZWFkZXJEcm9wZG93bicsICdmYWxzZScpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgJ2NoYXJ0SGVhZGVyRHJvcGRvd24yJyxcclxuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3Blbi50b1N0cmluZygpXHJcbiAgICApO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgY2xpY2tvdXQoKSB7XHJcbiAgICBpZiAodGhpcy5pc0Ryb3Bkb3duT3Blbikge1xyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlID0gW107XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2NoaWxkRHJvcGRvd25MaXN0VmlzaWJsZScsIEpTT04uc3RyaW5naWZ5KFtdKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kcm9wZG93bkhlYWRlck5hbWUgIT0gJ0NvbXBhcmUgYnknKVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duMicsICdmYWxzZScpO1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID09ICdDb21wYXJlIGJ5JykgdGhpcy5zZXREcm9wRG93blN0YXR1cygpO1xyXG4gIH1cclxuICBoYW5kbGVMaXN0SGVhZGVyQ2xpY2soZXZlbnQsIGRhdGEsIGVudGlyZUxpc3QpIHtcclxuICAgIHRoaXMuaGFuZGxlTGlzdFBhbmVsQ2xpY2soZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lICE9ICdDb21wYXJlIEJ5JyAmJiAhZGF0YS5jaGlsZHJlbikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9IGRhdGEubmFtZTtcclxuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kcm9wZG93bkhlYWRlck5hbWUgPT0gJ0NvbXBhcmUgYnknKSB0aGlzLnNldERyb3BEb3duU3RhdHVzKCk7XHJcbiAgICAgIGVsc2Ugc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY2hhcnRIZWFkZXJEcm9wZG93bjInLCAnZmFsc2UnKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZENvbXBhcmVCeSA9IHt9O1xyXG4gICAgfVxyXG4gICAgbGV0IGtleXNBcnJheSA9IE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpO1xyXG4gICAgaWYgKCFrZXlzQXJyYXkubGVuZ3RoIHx8ICFrZXlzQXJyYXkuaW5jbHVkZXMoZGF0YS5uYW1lKSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W2RhdGEubmFtZV0gPSBkYXRhLmNoaWxkcmVuID8gZGF0YS5jaGlsZHJlbiA6IGRhdGE7XHJcbiAgICB9IGVsc2UgaWYgKGRhdGEuY2hpbGRyZW4pIHtcclxuICAgICAgZGVsZXRlIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbZGF0YS5uYW1lXTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgdGhpcy5kcm9wZG93bkhlYWRlck5hbWUgIT0gJ0NvbXBhcmUgYnknICYmXHJcbiAgICAgICgoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnc2VsZWN0ZWRDb21wYXJlMkJ5JykgJiZcclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzZWxlY3RlZENvbXBhcmUyQnknKSAhPSAne30nICYmXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZENvbXBhcmVCeSkgPT1cclxuICAgICAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3NlbGVjdGVkQ29tcGFyZTJCeScpKSB8fFxyXG4gICAgICAgICghc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnc2VsZWN0ZWRDb21wYXJlMkJ5JykgJiZcclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpXHJcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICAgICAgICAgIC5pbmNsdWRlcyh0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZS50b0xvd2VyQ2FzZSgpKSkpXHJcbiAgICApIHtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcm9tRHJvcGRvd24uZW1pdCh7XHJcbiAgICAgICAgY29tcGFyZUJ5RmlsdGVyczogdGhpcy5zZWxlY3RlZENvbXBhcmVCeSxcclxuICAgICAgICBlbnRpcmVMaXN0OiBlbnRpcmVMaXN0LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9PSAnQ29tcGFyZSBieScgJiYgZGF0YS5jaGlsZHJlbilcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAnc2VsZWN0ZWRDb21wYXJlQnknLFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpXHJcbiAgICAgICk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAnc2VsZWN0ZWRDb21wYXJlMkJ5JyxcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVMaXN0Q2hpbGRyZW5DbGljayhldmVudCwgcGFyZW50LCBjaGlsZCkge1xyXG4gICAgdGhpcy5oYW5kbGVMaXN0UGFuZWxDbGljayhldmVudCk7XHJcbiAgICBsZXQga2V5c0FycmF5ID0gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZENvbXBhcmVCeSk7XHJcbiAgICBpZiAoIWtleXNBcnJheS5sZW5ndGggfHwgIWtleXNBcnJheS5pbmNsdWRlcyhwYXJlbnQubmFtZSkpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtwYXJlbnQubmFtZV0gPSBbY2hpbGRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLyoqIGNoZWNrIGlmIHRoZSBjaGlsZCBpcyBhbHJlYWR5IHByZXNlbnQgKi9cclxuICAgICAgbGV0IGNoaWxkT2JqRm91bmQgPSB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W3BhcmVudC5uYW1lXS5maW5kKFxyXG4gICAgICAgIChjaGlsZE9iaikgPT4gY2hpbGRPYmoubmFtZSA9PT0gY2hpbGQubmFtZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoIWNoaWxkT2JqRm91bmQpIHtcclxuICAgICAgICAvKipjaGlsZCBub3QgZm91bmQgKi9cclxuICAgICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W3BhcmVudC5uYW1lXS5wdXNoKGNoaWxkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvKipjaGlsZCBhbHJlYWR5IHNlbGVjdGVkIC0gaGVuY2UgZGVsZXRlIHRoYXQgY2hpbGQqL1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdID0gdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtcclxuICAgICAgICAgIHBhcmVudC5uYW1lXHJcbiAgICAgICAgXS5maWx0ZXIoKGNoaWxkT2JqKSA9PiBjaGlsZE9iai5uYW1lICE9PSBjaGlsZC5uYW1lKTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W3BhcmVudC5uYW1lXSAmJlxyXG4gICAgICAgICAgIXRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdLmxlbmd0aFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZGVsZXRlIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZEZyb21Ecm9wZG93bi5lbWl0KHtcclxuICAgICAgY29tcGFyZUJ5RmlsdGVyczogdGhpcy5zZWxlY3RlZENvbXBhcmVCeSxcclxuICAgICAgZW50aXJlTGlzdDogcGFyZW50Py5jaGlsZHJlbixcclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID09ICdDb21wYXJlIGJ5JyAmJiBwYXJlbnQuY2hpbGRyZW4pXHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgJ3NlbGVjdGVkQ29tcGFyZUJ5JyxcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KVxyXG4gICAgICApO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICAgJ3NlbGVjdGVkQ29tcGFyZTJCeScsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZENvbXBhcmVCeSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGFuZGxlSWZQcmVzZW50KGRhdGEpIHtcclxuICAgIGxldCBwYXJlbnRPYmogPSB0aGlzLmRyb3Bkb3duRGF0YS5maW5kKChvYmopID0+IG9iai5uYW1lID09PSBkYXRhLm5hbWUpO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W2RhdGEubmFtZV0gJiZcclxuICAgICAgcGFyZW50T2JqLmNoaWxkcmVuICYmXHJcbiAgICAgIHBhcmVudE9iai5jaGlsZHJlbi5sZW5ndGggPT0gdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtkYXRhLm5hbWVdPy5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W2RhdGEubmFtZV0gJiYgIXBhcmVudE9iai5jaGlsZHJlbikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgaGFuZGxlSWZDaGlsZFByZXNlbnQocGFyZW50LCBjaGlsZCkge1xyXG4gICAgaWYgKCFPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KS5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgbGV0IGNoaWxkT2JqRm91bmQgPVxyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W3BhcmVudC5uYW1lXSAmJlxyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W3BhcmVudC5uYW1lXS5maW5kKFxyXG4gICAgICAgIChjaGlsZE9iaikgPT4gY2hpbGRPYmoubmFtZSA9PT0gY2hpbGQubmFtZVxyXG4gICAgICApO1xyXG4gICAgaWYgKGNoaWxkT2JqRm91bmQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGhhbmRsZUxpc3RQYW5lbENsaWNrKGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZ2V0RHJvcGRvd25IZWFkZXJOYW1lKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSAhPSAnQ29tcGFyZSBieScgJiZcclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnb25Ib3ZlcmVkRWxlbWVudENsaWNrZWQnKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IHJlcVN0cmluZyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ29uSG92ZXJlZEVsZW1lbnRDbGlja2VkJyk7XHJcbiAgICAgIGlmIChyZXFTdHJpbmcpIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID0gcmVxU3RyaW5nLnJlcGxhY2UoL1wiL2csICcnKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lO1xyXG4gIH1cclxuICBnZXREcm9wZG93blZpc2liaWxpdHlTdGF0dXMoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NoYXJ0SGVhZGVyRHJvcGRvd24nKSAmJlxyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9PSAnQ29tcGFyZSBieSdcclxuICAgIClcclxuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY2hhcnRIZWFkZXJEcm9wZG93bicpID09ICd0cnVlJztcclxuICAgIGVsc2UgaWYgKFxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duMicpICYmXHJcbiAgICAgIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lICE9ICdDb21wYXJlIGJ5J1xyXG4gICAgKVxyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID1cclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duMicpID09ICd0cnVlJztcclxuICAgIHJldHVybiB0aGlzLmlzRHJvcGRvd25PcGVuO1xyXG4gIH1cclxuICBwcml2YXRlIG9uU3RvcmFnZUNoYW5nZShldmVudDogU3RvcmFnZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50LnN0b3JhZ2VBcmVhID09PSBzZXNzaW9uU3RvcmFnZSAmJlxyXG4gICAgICAoZXZlbnQua2V5ID09PSAnY2hhcnRIZWFkZXJEcm9wZG93bicgfHxcclxuICAgICAgICBldmVudC5rZXkgPT0gJ2NoYXJ0SGVhZGVyRHJvcGRvd24yJylcclxuICAgICkge1xyXG4gICAgICB0aGlzLmdldERyb3Bkb3duVmlzaWJpbGl0eVN0YXR1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVTaG93T3JIaWRlQ2hpbGRMaXN0KHBhcmVudE5hbWUsIGV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICghdGhpcy5jaGlsZERyb3Bkb3duTGlzdFZpc2libGUuaW5jbHVkZXMocGFyZW50TmFtZSkpXHJcbiAgICAgIHRoaXMuY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlLnB1c2gocGFyZW50TmFtZSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlID0gdGhpcy5jaGlsZERyb3Bkb3duTGlzdFZpc2libGUuZmlsdGVyKFxyXG4gICAgICAgIChpdGVtKSA9PiBpdGVtICE9IHBhcmVudE5hbWVcclxuICAgICAgKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXHJcbiAgICAgICdjaGlsZERyb3Bkb3duTGlzdFZpc2libGUnLFxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLmNoaWxkRHJvcGRvd25MaXN0VmlzaWJsZSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250YWluZXJcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwid2Vla2x5Y2hhcnRzX193ZWVrYnV0dG9uIHRleHQtYWxpZ24tbGVmdFwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiaGVhZGVyQ2xpY2tlZCgkZXZlbnQpXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgJ3dlZWtseWNoYXJ0c19fYm9yZGVybm9ybWFsJzogIWlzRHJvcGRvd25PcGVuIH1cIj5cclxuICAgIHt7IGdldERyb3Bkb3duSGVhZGVyTmFtZSgpIH19XHJcbiAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLXNlbGVjdC1jYXJldFwiPlxyXG4gICAgICA8aSBjbGFzcz1cImJpXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgJ2JpLWNhcmV0LWRvd24tZmlsbCc6ICFpc0Ryb3Bkb3duT3BlbixcclxuICAgICAgICAgICdiaS1jYXJldC11cC1maWxsJzogaXNEcm9wZG93bk9wZW5cclxuICAgICAgICB9XCI+PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9idXR0b24+XHJcblxyXG4gIDx1bCBjbGFzcz1cImRyb3Bkb3duX19saXN0XCIgKm5nSWY9XCJnZXREcm9wZG93blZpc2liaWxpdHlTdGF0dXMoKVwiIChjbGljayk9XCJoYW5kbGVMaXN0UGFuZWxDbGljaygkZXZlbnQpXCI+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGRhdGEgb2YgZHJvcGRvd25EYXRhXCIgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZVwiIFxyXG4gICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgJ3dlZWtseWNoYXJ0cy1hY3RpdmUnOiBkYXRhLm5hbWUgPT09IGRyb3Bkb3duSGVhZGVyTmFtZSxcclxuICAgICAgICAnd2Vla2x5Y2hhcnRzLWluYWN0aXZlJzogZGF0YS5uYW1lICE9PSBkcm9wZG93bkhlYWRlck5hbWVcclxuICAgICAgfVwiPlxyXG5cclxuICAgICAgPCEtLSBQYXJlbnQgSXRlbSAtLT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXNwbGF5LWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGN1cnNvci1wb2ludGVyIGdhcC0yXCIgKGNsaWNrKT1cImhhbmRsZUxpc3RIZWFkZXJDbGljaygkZXZlbnQsIGRhdGEsIGRyb3Bkb3duRGF0YSlcIj5cclxuICAgICAgICA8aSBjbGFzcz1cImZhXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICdmYS1jaGVjay1zcXVhcmUnOiBoYW5kbGVJZlByZXNlbnQoZGF0YSksXHJcbiAgICAgICAgICAgICAgJ2ZhLXNxdWFyZS1vJzogIWhhbmRsZUlmUHJlc2VudChkYXRhKVxyXG4gICAgICAgICAgICB9XCIgKm5nSWY9XCJpc0NoZWNrYm94VmlzaWJsZVwiPjwvaT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImxpc3QtdGV4dCBmb250LXNpemUtM1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmb250LXdlaWdodC02MDAnOiBkYXRhLm5hbWUgPT09IGRyb3Bkb3duSGVhZGVyTmFtZSB9XCI+XHJcbiAgICAgICAgICB7eyBkYXRhLm5hbWUgfX1cclxuICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgIDwhLS0gRXhwYW5kL0NvbGxhcHNlIEljb24gLS0+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWJsaXN0LWFycm93IGxpYi1kaXNwbGF5LWZsZXhcIiAqbmdJZj1cImRhdGEuY2hpbGRyZW5cIiBcclxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTaG93T3JIaWRlQ2hpbGRMaXN0KGRhdGEubmFtZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYSBmb250LXNpemUtMSBmb250LXdlaWdodC02MDBcIiBcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICdmYS1hbmdsZS1yaWdodCc6ICFjaGlsZERyb3Bkb3duTGlzdFZpc2libGUuaW5jbHVkZXMoZGF0YS5uYW1lKSxcclxuICAgICAgICAgICAgICAnZmEtYW5nbGUtZG93bic6IGNoaWxkRHJvcGRvd25MaXN0VmlzaWJsZS5pbmNsdWRlcyhkYXRhLm5hbWUpXHJcbiAgICAgICAgICAgIH1cIj48L2k+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L3NwYW4+XHJcblxyXG4gICAgICA8IS0tIENoaWxkcmVuIExpc3QgLS0+XHJcbiAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLXN1Ymxpc3QgbGliLW1sLTIwIGxpYi1saXN0LWNoaWxkcmVuXCJcclxuICAgICAgICAqbmdJZj1cImRhdGEuY2hpbGRyZW4gJiYgY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlLmluY2x1ZGVzKGRhdGEubmFtZSlcIj5cclxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGNoaWxkIG9mIGRhdGEuY2hpbGRyZW5cIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJkaXNwbGF5LWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGN1cnNvci1wb2ludGVyIGdhcC0yXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUxpc3RDaGlsZHJlbkNsaWNrKCRldmVudCwgZGF0YSwgY2hpbGQpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICdmYS1jaGVjay1zcXVhcmUnOiBoYW5kbGVJZkNoaWxkUHJlc2VudChkYXRhLCBjaGlsZCksXHJcbiAgICAgICAgICAgICAgJ2ZhLXNxdWFyZS1vJzogIWhhbmRsZUlmQ2hpbGRQcmVzZW50KGRhdGEsIGNoaWxkKVxyXG4gICAgICAgICAgICB9XCI+PC9pPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC10ZXh0LXN0eWxlc1wiPnt7IGNoaWxkLm5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuXHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvZGl2PlxyXG4iXX0=
240
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXhpZGlvLXN0eWxlZ3VpZGUtbGlicmFyeS9zcmMvbGliL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2F4aWRpby1zdHlsZWd1aWRlLWxpYnJhcnkvc3JjL2xpYi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQVF2QixNQUFNLE9BQU8saUJBQWlCO0lBVTVCO1FBVFMsdUJBQWtCLEdBQVcsWUFBWSxDQUFDO1FBQzFDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUV0QixzQkFBaUIsR0FBWSxJQUFJLENBQUM7UUFFakMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6RCw2QkFBd0IsR0FBUSxFQUFFLENBQUM7UUFFakMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFDRCxXQUFXO1FBQ1QsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLGNBQWMsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDeEUsSUFBSSxjQUFjLEVBQUUsQ0FB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QUN2RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLHdCQUF3QixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUVELGNBQWMsQ0FBQyxPQUFPLENBQ3BCLDBCQUEwQixFQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUM5QyxDQUFDO0lBQ0osQ0FBQzsrR0EvUFUsaUJBQWlCO21HQUFqQixpQkFBaUIseVhDbEI5QixvbkZBMERBOzs0RkR4Q2EsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSTt3REFHNUIsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBd0VQLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWRyb3Bkb3duJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Ryb3Bkb3duLmNvbXBvbmVudC5sZXNzJywgJy4uL2NvbW1vbi1zdHlsZXMubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkcm9wZG93bkhlYWRlck5hbWU6IHN0cmluZyA9ICdDb21wYXJlIGJ5JztcclxuICBASW5wdXQoKSBpc0Ryb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkQ29tcGFyZUJ5OiBvYmplY3QgPSB7fTtcclxuICBASW5wdXQoKSBkcm9wZG93bkRhdGE6IGFueTtcclxuICBASW5wdXQoKSBpc0NoZWNrYm94VmlzaWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKSBkZENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRGcm9tRHJvcGRvd24gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBjaGlsZERyb3Bkb3duTGlzdFZpc2libGU6IGFueSA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCB0aGlzLm9uU3RvcmFnZUNoYW5nZS5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIHRoaXMub25TdG9yYWdlQ2hhbmdlKTtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgbGV0IHZhbHVlRnJvbVN0b3JlID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlJyk7XHJcbiAgICBpZiAodmFsdWVGcm9tU3RvcmUpIHtcclxuICAgICAgdGhpcy5jaGlsZERyb3Bkb3duTGlzdFZpc2libGUgPSBKU09OLnBhcnNlKHZhbHVlRnJvbVN0b3JlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHNlbGVjdGVkQ29tcGFyZUJ5RnJvbVN0b3RhZ2UgPVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzZWxlY3RlZENvbXBhcmVCeScpO1xyXG4gICAgaWYgKFxyXG4gICAgICBzZWxlY3RlZENvbXBhcmVCeUZyb21TdG90YWdlICYmXHJcbiAgICAgIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID09ICdDb21wYXJlIGJ5J1xyXG4gICAgKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbXBhcmVCeSA9IEpTT04ucGFyc2Uoc2VsZWN0ZWRDb21wYXJlQnlGcm9tU3RvdGFnZSk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgcGFyc2luZyBzZWxlY3RlZENvbXBhcmVCeSBmcm9tIHNlc3Npb25TdG9yYWdlOicsIGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWxlY3RlZENvbXBhcmUyQnlGcm9tU3RvdGFnZSA9XHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3NlbGVjdGVkQ29tcGFyZTJCeScpO1xyXG4gICAgaWYgKFxyXG4gICAgICBzZWxlY3RlZENvbXBhcmUyQnlGcm9tU3RvdGFnZSAmJlxyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSAhPSAnQ29tcGFyZSBieSdcclxuICAgICkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkgPSBKU09OLnBhcnNlKHNlbGVjdGVkQ29tcGFyZTJCeUZyb21TdG90YWdlKTtcclxuICAgICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9XHJcbiAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KSAmJlxyXG4gICAgICAgICAgT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZENvbXBhcmVCeSkubGVuZ3RoID4gMFxyXG4gICAgICAgICAgICA/IE9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpWzBdXHJcbiAgICAgICAgICAgIDogJyc7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnRXJyb3IgcGFyc2luZyBzZWxlY3RlZENvbXBhcmVCeSBmcm9tIHNlc3Npb25TdG9yYWdlOicsIGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NoYXJ0SGVhZGVyRHJvcGRvd24nKSAmJlxyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9PSAnQ29tcGFyZSBieSdcclxuICAgIClcclxuICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9XHJcbiAgICAgICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY2hhcnRIZWFkZXJEcm9wZG93bicpID09ICd0cnVlJztcclxuICB9XHJcbiAgaGVhZGVyQ2xpY2tlZChldmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRkQ2xpY2tlZC5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9ICF0aGlzLmlzRHJvcGRvd25PcGVuO1xyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID09ICdDb21wYXJlIGJ5JykgdGhpcy5zZXREcm9wRG93blN0YXR1cygpO1xyXG4gICAgZWxzZSB0aGlzLnNldERyb3BEb3duMlN0YXR1cygpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnaXNQZXJmb3JtYW5jZUNsb3NlZCcsICd0cnVlJyk7XHJcbiAgfVxyXG4gIHNldERyb3BEb3duU3RhdHVzKCkge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgJ2NoYXJ0SGVhZGVyRHJvcGRvd24nLFxyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuLnRvU3RyaW5nKClcclxuICAgICk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duMicsICdmYWxzZScpO1xyXG4gIH1cclxuICBzZXREcm9wRG93bjJTdGF0dXMoKSB7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duJywgJ2ZhbHNlJyk7XHJcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAnY2hhcnRIZWFkZXJEcm9wZG93bjInLFxyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuLnRvU3RyaW5nKClcclxuICAgICk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBjbGlja291dCgpIHtcclxuICAgIGlmICh0aGlzLmlzRHJvcGRvd25PcGVuKSB7XHJcbiAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5jaGlsZERyb3Bkb3duTGlzdFZpc2libGUgPSBbXTtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlJywgSlNPTi5zdHJpbmdpZnkoW10pKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSAhPSAnQ29tcGFyZSBieScpXHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ2NoYXJ0SGVhZGVyRHJvcGRvd24yJywgJ2ZhbHNlJyk7XHJcbiAgICBpZiAodGhpcy5kcm9wZG93bkhlYWRlck5hbWUgPT0gJ0NvbXBhcmUgYnknKSB0aGlzLnNldERyb3BEb3duU3RhdHVzKCk7XHJcbiAgfVxyXG4gIGhhbmRsZUxpc3RIZWFkZXJDbGljayhldmVudCwgZGF0YSwgZW50aXJlTGlzdCkge1xyXG4gICAgdGhpcy5oYW5kbGVMaXN0UGFuZWxDbGljayhldmVudCk7XHJcbiAgICBpZiAodGhpcy5kcm9wZG93bkhlYWRlck5hbWUgIT0gJ0NvbXBhcmUgQnknICYmICFkYXRhLmNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID0gZGF0YS5uYW1lO1xyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSA9PSAnQ29tcGFyZSBieScpIHRoaXMuc2V0RHJvcERvd25TdGF0dXMoKTtcclxuICAgICAgZWxzZSBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duMicsICdmYWxzZScpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5ID0ge307XHJcbiAgICB9XHJcbiAgICBsZXQga2V5c0FycmF5ID0gT2JqZWN0LmtleXModGhpcy5zZWxlY3RlZENvbXBhcmVCeSk7XHJcbiAgICBpZiAoIWtleXNBcnJheS5sZW5ndGggfHwgIWtleXNBcnJheS5pbmNsdWRlcyhkYXRhLm5hbWUpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbZGF0YS5uYW1lXSA9IGRhdGEuY2hpbGRyZW4gPyBkYXRhLmNoaWxkcmVuIDogZGF0YTtcclxuICAgIH0gZWxzZSBpZiAoZGF0YS5jaGlsZHJlbikge1xyXG4gICAgICBkZWxldGUgdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtkYXRhLm5hbWVdO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmRyb3Bkb3duSGVhZGVyTmFtZSAhPSAnQ29tcGFyZSBieScgJiZcclxuICAgICAgKChzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzZWxlY3RlZENvbXBhcmUyQnknKSAmJlxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3NlbGVjdGVkQ29tcGFyZTJCeScpICE9ICd7fScgJiZcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KSA9PVxyXG4gICAgICAgICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnc2VsZWN0ZWRDb21wYXJlMkJ5JykpIHx8XHJcbiAgICAgICAgKCFzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzZWxlY3RlZENvbXBhcmUyQnknKSAmJlxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZENvbXBhcmVCeSlcclxuICAgICAgICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgICAgICAgLmluY2x1ZGVzKHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCkpKSlcclxuICAgICkge1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZyb21Ecm9wZG93bi5lbWl0KHtcclxuICAgICAgICBjb21wYXJlQnlGaWx0ZXJzOiB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5LFxyXG4gICAgICAgIGVudGlyZUxpc3Q6IGVudGlyZUxpc3QsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID09ICdDb21wYXJlIGJ5JyAmJiBkYXRhLmNoaWxkcmVuKVxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICdzZWxlY3RlZENvbXBhcmVCeScsXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5zZWxlY3RlZENvbXBhcmVCeSlcclxuICAgICAgKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgICdzZWxlY3RlZENvbXBhcmUyQnknLFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhhbmRsZUxpc3RDaGlsZHJlbkNsaWNrKGV2ZW50LCBwYXJlbnQsIGNoaWxkKSB7XHJcbiAgICB0aGlzLmhhbmRsZUxpc3RQYW5lbENsaWNrKGV2ZW50KTtcclxuICAgIGxldCBrZXlzQXJyYXkgPSBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KTtcclxuICAgIGlmICgha2V5c0FycmF5Lmxlbmd0aCB8fCAha2V5c0FycmF5LmluY2x1ZGVzKHBhcmVudC5uYW1lKSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W3BhcmVudC5uYW1lXSA9IFtjaGlsZF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvKiogY2hlY2sgaWYgdGhlIGNoaWxkIGlzIGFscmVhZHkgcHJlc2VudCAqL1xyXG4gICAgICBsZXQgY2hpbGRPYmpGb3VuZCA9IHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdLmZpbmQoXHJcbiAgICAgICAgKGNoaWxkT2JqKSA9PiBjaGlsZE9iai5uYW1lID09PSBjaGlsZC5uYW1lXHJcbiAgICAgICk7XHJcbiAgICAgIGlmICghY2hpbGRPYmpGb3VuZCkge1xyXG4gICAgICAgIC8qKmNoaWxkIG5vdCBmb3VuZCAqL1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdLnB1c2goY2hpbGQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8qKmNoaWxkIGFscmVhZHkgc2VsZWN0ZWQgLSBoZW5jZSBkZWxldGUgdGhhdCBjaGlsZCovXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtwYXJlbnQubmFtZV0gPSB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W1xyXG4gICAgICAgICAgcGFyZW50Lm5hbWVcclxuICAgICAgICBdLmZpbHRlcigoY2hpbGRPYmopID0+IGNoaWxkT2JqLm5hbWUgIT09IGNoaWxkLm5hbWUpO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdICYmXHJcbiAgICAgICAgICAhdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtwYXJlbnQubmFtZV0ubGVuZ3RoXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBkZWxldGUgdGhpcy5zZWxlY3RlZENvbXBhcmVCeVtwYXJlbnQubmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRnJvbURyb3Bkb3duLmVtaXQoe1xyXG4gICAgICBjb21wYXJlQnlGaWx0ZXJzOiB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5LFxyXG4gICAgICBlbnRpcmVMaXN0OiBwYXJlbnQ/LmNoaWxkcmVuLFxyXG4gICAgfSk7XHJcbiAgICBpZiAodGhpcy5kcm9wZG93bkhlYWRlck5hbWUgPT0gJ0NvbXBhcmUgYnknICYmIHBhcmVudC5jaGlsZHJlbilcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAnc2VsZWN0ZWRDb21wYXJlQnknLFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpXHJcbiAgICAgICk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgICAnc2VsZWN0ZWRDb21wYXJlMkJ5JyxcclxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBoYW5kbGVJZlByZXNlbnQoZGF0YSkge1xyXG4gICAgbGV0IHBhcmVudE9iaiA9IHRoaXMuZHJvcGRvd25EYXRhLmZpbmQoKG9iaikgPT4gb2JqLm5hbWUgPT09IGRhdGEubmFtZSk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbZGF0YS5uYW1lXSAmJlxyXG4gICAgICBwYXJlbnRPYmouY2hpbGRyZW4gJiZcclxuICAgICAgcGFyZW50T2JqLmNoaWxkcmVuLmxlbmd0aCA9PSB0aGlzLnNlbGVjdGVkQ29tcGFyZUJ5W2RhdGEubmFtZV0/Lmxlbmd0aFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbZGF0YS5uYW1lXSAmJiAhcGFyZW50T2JqLmNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBoYW5kbGVJZkNoaWxkUHJlc2VudChwYXJlbnQsIGNoaWxkKSB7XHJcbiAgICBpZiAoIU9iamVjdC5rZXlzKHRoaXMuc2VsZWN0ZWRDb21wYXJlQnkpLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBsZXQgY2hpbGRPYmpGb3VuZCA9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYXJlQnlbcGFyZW50Lm5hbWVdLmZpbmQoXHJcbiAgICAgICAgKGNoaWxkT2JqKSA9PiBjaGlsZE9iai5uYW1lID09PSBjaGlsZC5uYW1lXHJcbiAgICAgICk7XHJcbiAgICBpZiAoY2hpbGRPYmpGb3VuZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgaGFuZGxlTGlzdFBhbmVsQ2xpY2soZXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICBnZXREcm9wZG93bkhlYWRlck5hbWUoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lICE9ICdDb21wYXJlIGJ5JyAmJlxyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdvbkhvdmVyZWRFbGVtZW50Q2xpY2tlZCcpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgcmVxU3RyaW5nID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnb25Ib3ZlcmVkRWxlbWVudENsaWNrZWQnKTtcclxuICAgICAgaWYgKHJlcVN0cmluZykgdGhpcy5kcm9wZG93bkhlYWRlck5hbWUgPSByZXFTdHJpbmcucmVwbGFjZSgvXCIvZywgJycpO1xyXG4gICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkhlYWRlck5hbWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kcm9wZG93bkhlYWRlck5hbWU7XHJcbiAgfVxyXG4gIGdldERyb3Bkb3duVmlzaWJpbGl0eVN0YXR1cygpIHtcclxuICAgIGlmIChcclxuICAgICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnY2hhcnRIZWFkZXJEcm9wZG93bicpICYmXHJcbiAgICAgIHRoaXMuZHJvcGRvd25IZWFkZXJOYW1lID09ICdDb21wYXJlIGJ5J1xyXG4gICAgKVxyXG4gICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID1cclxuICAgICAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjaGFydEhlYWRlckRyb3Bkb3duJykgPT0gJ3RydWUnO1xyXG4gICAgZWxzZSBpZiAoXHJcbiAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NoYXJ0SGVhZGVyRHJvcGRvd24yJykgJiZcclxuICAgICAgdGhpcy5kcm9wZG93bkhlYWRlck5hbWUgIT0gJ0NvbXBhcmUgYnknXHJcbiAgICApXHJcbiAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPVxyXG4gICAgICAgIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2NoYXJ0SGVhZGVyRHJvcGRvd24yJykgPT0gJ3RydWUnO1xyXG4gICAgcmV0dXJuIHRoaXMuaXNEcm9wZG93bk9wZW47XHJcbiAgfVxyXG4gIHByaXZhdGUgb25TdG9yYWdlQ2hhbmdlKGV2ZW50OiBTdG9yYWdlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgZXZlbnQuc3RvcmFnZUFyZWEgPT09IHNlc3Npb25TdG9yYWdlICYmXHJcbiAgICAgIChldmVudC5rZXkgPT09ICdjaGFydEhlYWRlckRyb3Bkb3duJyB8fFxyXG4gICAgICAgIGV2ZW50LmtleSA9PSAnY2hhcnRIZWFkZXJEcm9wZG93bjInKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuZ2V0RHJvcGRvd25WaXNpYmlsaXR5U3RhdHVzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGhhbmRsZVNob3dPckhpZGVDaGlsZExpc3QocGFyZW50TmFtZTogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmNoaWxkRHJvcGRvd25MaXN0VmlzaWJsZS5pbmNsdWRlcyhwYXJlbnROYW1lKSkge1xyXG4gICAgICB0aGlzLmNoaWxkRHJvcGRvd25MaXN0VmlzaWJsZSA9IFtdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jaGlsZERyb3Bkb3duTGlzdFZpc2libGUgPSBbcGFyZW50TmFtZV07XHJcbiAgICB9XHJcblxyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShcclxuICAgICAgJ2NoaWxkRHJvcGRvd25MaXN0VmlzaWJsZScsXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMuY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRyb3Bkb3duLWNvbnRhaW5lclwiPlxyXG4gIDxidXR0b24gY2xhc3M9XCJ3ZWVrbHljaGFydHNfX3dlZWtidXR0b24gdGV4dC1hbGlnbi1sZWZ0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJoZWFkZXJDbGlja2VkKCRldmVudClcIlxyXG4gICAgW25nQ2xhc3NdPVwieyAnd2Vla2x5Y2hhcnRzX19ib3JkZXJub3JtYWwnOiAhaXNEcm9wZG93bk9wZW4gfVwiPlxyXG4gICAge3sgZ2V0RHJvcGRvd25IZWFkZXJOYW1lKCkgfX1cclxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tc2VsZWN0LWNhcmV0XCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiYmlcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAnYmktY2FyZXQtZG93bi1maWxsJzogIWlzRHJvcGRvd25PcGVuLFxyXG4gICAgICAgICAgJ2JpLWNhcmV0LXVwLWZpbGwnOiBpc0Ryb3Bkb3duT3BlblxyXG4gICAgICAgIH1cIj48L2k+XHJcbiAgICA8L2Rpdj5cclxuICA8L2J1dHRvbj5cclxuXHJcbiAgPHVsIGNsYXNzPVwiZHJvcGRvd25fX2xpc3RcIiAqbmdJZj1cImdldERyb3Bkb3duVmlzaWJpbGl0eVN0YXR1cygpXCIgKGNsaWNrKT1cImhhbmRsZUxpc3RQYW5lbENsaWNrKCRldmVudClcIj5cclxuICAgIDxsaSAqbmdGb3I9XCJsZXQgZGF0YSBvZiBkcm9wZG93bkRhdGFcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCIgXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAnd2Vla2x5Y2hhcnRzLWFjdGl2ZSc6IGRhdGEubmFtZSA9PT0gZHJvcGRvd25IZWFkZXJOYW1lLFxyXG4gICAgICAgICd3ZWVrbHljaGFydHMtaW5hY3RpdmUnOiBkYXRhLm5hbWUgIT09IGRyb3Bkb3duSGVhZGVyTmFtZVxyXG4gICAgICB9XCI+XHJcblxyXG4gICAgICA8IS0tIFBhcmVudCBJdGVtIC0tPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpc3BsYXktZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXIgZ2FwLTJcIiAoY2xpY2spPVwiaGFuZGxlTGlzdEhlYWRlckNsaWNrKCRldmVudCwgZGF0YSwgZHJvcGRvd25EYXRhKVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiZmFcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgJ2ZhLWNoZWNrLXNxdWFyZSc6IGhhbmRsZUlmUHJlc2VudChkYXRhKSxcclxuICAgICAgICAgICAgICAnZmEtc3F1YXJlLW8nOiAhaGFuZGxlSWZQcmVzZW50KGRhdGEpXHJcbiAgICAgICAgICAgIH1cIiAqbmdJZj1cImlzQ2hlY2tib3hWaXNpYmxlXCI+PC9pPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGlzdC10ZXh0IGZvbnQtc2l6ZS0zXCJcclxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZvbnQtd2VpZ2h0LTYwMCc6IGRhdGEubmFtZSA9PT0gZHJvcGRvd25IZWFkZXJOYW1lIH1cIj5cclxuICAgICAgICAgIHt7IGRhdGEubmFtZSB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgPCEtLSBFeHBhbmQvQ29sbGFwc2UgSWNvbiAtLT5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cInN1Ymxpc3QtYXJyb3cgbGliLWRpc3BsYXktZmxleFwiICpuZ0lmPVwiZGF0YS5jaGlsZHJlblwiIFxyXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNob3dPckhpZGVDaGlsZExpc3QoZGF0YS5uYW1lLCAkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhIGZvbnQtc2l6ZS0xIGZvbnQtd2VpZ2h0LTYwMFwiIFxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgJ2ZhLWFuZ2xlLXJpZ2h0JzogIWNoaWxkRHJvcGRvd25MaXN0VmlzaWJsZS5pbmNsdWRlcyhkYXRhLm5hbWUpLFxyXG4gICAgICAgICAgICAgICdmYS1hbmdsZS1kb3duJzogY2hpbGREcm9wZG93bkxpc3RWaXNpYmxlLmluY2x1ZGVzKGRhdGEubmFtZSlcclxuICAgICAgICAgICAgfVwiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgIDwhLS0gQ2hpbGRyZW4gTGlzdCAtLT5cclxuICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tc3VibGlzdCBsaWItbWwtMjAgbGliLWxpc3QtY2hpbGRyZW5cIlxyXG4gICAgICAgICpuZ0lmPVwiZGF0YS5jaGlsZHJlbiAmJiBjaGlsZERyb3Bkb3duTGlzdFZpc2libGUuaW5jbHVkZXMoZGF0YS5uYW1lKVwiPlxyXG4gICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgZGF0YS5jaGlsZHJlblwiIFxyXG4gICAgICAgICAgICBjbGFzcz1cImRpc3BsYXktZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY3Vyc29yLXBvaW50ZXIgZ2FwLTJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGlzdENoaWxkcmVuQ2xpY2soJGV2ZW50LCBkYXRhLCBjaGlsZClcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgJ2ZhLWNoZWNrLXNxdWFyZSc6IGhhbmRsZUlmQ2hpbGRQcmVzZW50KGRhdGEsIGNoaWxkKSxcclxuICAgICAgICAgICAgICAnZmEtc3F1YXJlLW8nOiAhaGFuZGxlSWZDaGlsZFByZXNlbnQoZGF0YSwgY2hpbGQpXHJcbiAgICAgICAgICAgIH1cIj48L2k+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoZWNrYm94LXRleHQtc3R5bGVzXCI+e3sgY2hpbGQubmFtZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG5cclxuICAgIDwvbGk+XHJcbiAgPC91bD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -3583,10 +3583,12 @@ class DropdownComponent {
3583
3583
  }
3584
3584
  handleShowOrHideChildList(parentName, event) {
3585
3585
  event.stopPropagation();
3586
- if (!this.childDropdownListVisible.includes(parentName))
3587
- this.childDropdownListVisible.push(parentName);
3588
- else
3589
- this.childDropdownListVisible = this.childDropdownListVisible.filter((item) => item != parentName);
3586
+ if (this.childDropdownListVisible.includes(parentName)) {
3587
+ this.childDropdownListVisible = [];
3588
+ }
3589
+ else {
3590
+ this.childDropdownListVisible = [parentName];
3591
+ }
3590
3592
  sessionStorage.setItem('childDropdownListVisible', JSON.stringify(this.childDropdownListVisible));
3591
3593
  }
3592
3594
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }