nuxeo-development-framework 3.5.3 → 3.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +37 -24
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +3 -3
- package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +3 -2
- package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +3 -3
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +8 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -3
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +8 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +2 -2
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +12 -10
- package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
- package/esm2015/lib/shared/components/button/button.component.js +1 -1
- package/fesm2015/nuxeo-development-framework.js +37 -24
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +3 -1
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +4 -1
- package/package.json +1 -1
|
@@ -82,7 +82,7 @@ export class DynamicFormVocabularyItemComponent {
|
|
|
82
82
|
: this.getVocabularyList(type);
|
|
83
83
|
callApi.subscribe((res) => {
|
|
84
84
|
this.loading = false;
|
|
85
|
-
this.data = !this.shwoAllValues ? res.filter(item => !item.id.includes('archived') && !item.id.includes('draft')) : res;
|
|
85
|
+
this.data = !this.shwoAllValues ? res.filter(item => !item.id.includes('archived') && !item.id.includes('draft')) : res.filter(item => item.obsolete === 0);
|
|
86
86
|
this.cdRef.detectChanges();
|
|
87
87
|
});
|
|
88
88
|
}
|
|
@@ -175,4 +175,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
175
175
|
}], onSelecting: [{
|
|
176
176
|
type: Output
|
|
177
177
|
}], getCacheableVocabularyList: [] } });
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFTdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFPSCxNQUFNLE9BQU8sa0NBQWtDO0lBb0Q3QyxZQUNVLGFBQW1DLEVBQ25DLEtBQXlCLEVBQ04sT0FBa0I7UUFGckMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ04sWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWxEL0MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU9WLDBCQUEw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QUNyQyxNQUFNLEVBQUUsS0FBSztLQUNkLENBQUM7b0ZBR0Q7MkZBckZVLGtDQUFrQztrQkFOOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxXQUFXLEVBQUUsK0NBQStDO29CQUM1RCxTQUFTLEVBQUUsQ0FBQywrQ0FBK0MsQ0FBQztvQkFDNUQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzswQkF3REksSUFBSTs7MEJBQUksUUFBUTs0Q0FwRG5CLDhCQUE4QjtzQkFEN0IsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBS2hDLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSyxRQUFRO3NCQUFoQixLQUFLO2dCQUVDLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQXNEUCwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFNlbGYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICBGb3JtQ29udHJvbCxcclxuICBOZ0NvbnRyb2wsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFZvY2FidWxhcnlBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdm9jYWJ1bGFyeS9zZXJ2aWNlcy92b2NhYnVsYXJ5LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBMb2NhbFN0b3JhZ2VTdHJhdGVneSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtL2R5bmFtaWMtZm9ybS1zZWxlY3RpdGVtLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQSB2b2NhYnVsYXJ5IGRyb3Bkb3duIGlucHV0IGludGVncmF0ZWQgd2l0aCBudXhlbyB2b2NhYnVsYXJ5IEFQSSxcclxuICogdGhhdCBjYW4gYmUgdXNlZCBpbnNpZGUgcmVhY3RpdmUgb3IgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXHJcbiAqIEB0aXRsZVxyXG4gKiB2b2NhYnVsYXJ5IGRyb3Bkb3duXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG4gKiAgIFtsYWJlbF09XCInUEFUSC5UTy5MQUJFTC5UUkFOU0xBVElPTidcIlxyXG4gKiAgIFtiaW5kTGFiZWxdPVwiJ2JpbmRMYWJlbFByb3BlcnR5TmFtZSdcIlxyXG4gKiAgIFtiaW5kVmFsdWVdPVwiJ2JpbmRWYWx1ZVByb3BlcnR5TmFtZSdcIlxyXG4gKiAgIHBsYWNlaG9sZGVyPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuVFJBTlNMQVRJT04nXCJcclxuICogICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gKiAgIFtzZWFyY2hhYmxlXT1cImZhbHNlXCJcclxuICogICBbY2xvc2VPblNlbGVjdF09XCJ0cnVlXCJcclxuICogICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmFsc2VcIlxyXG4gKiAgIFt2b2NhYnVsYXJ5VHlwZV09XCInVm9jYWJ1bGFyeUtleSdcIlxyXG4gKiAgIGZvcm1Db250cm9sTmFtZT1cImNvbnRyb2xOYW1lXCJcclxuICogPlxyXG4gKiA8L2FwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Wb2NhYnVsYXJ5SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50KVxyXG4gIER5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudDogRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50O1xyXG5cclxuICBkYXRhID0gW107XHJcbiAgLyoqIEJpbmQgdmFsdWUgdG8gcHJvcGVydHkgbmFtZSAqL1xyXG4gIEBJbnB1dCgpIGJpbmRWYWx1ZTtcclxuICAvKiogQmluZCBsYWJlbCB0byBwcm9wZXJ0eSBuYW1lICovXHJcbiAgQElucHV0KCkgYmluZExhYmVsO1xyXG4gIC8qKiBQbGFjZWhvbGRlciBzdHJpbmcgKi9cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjtcclxuICAvKiogQ2FuIHNlbGVjdCBtdWx0aXBsZSAqL1xyXG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgLyoqIElzIHNlYXJjaGFibGUgKi9cclxuICBASW5wdXQoKSBzZWFyY2hhYmxlID0gdHJ1ZTtcclxuICAvKiogU2hvdWxkIGNsb3NlIG9uIHNlbGVjdCAqL1xyXG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xyXG4gIC8qKiBTaG91bGQgaGlkZSBzZWxlY3RlZCBpdGVtcyAqL1xyXG4gIEBJbnB1dCgpIGhpZGVTZWxlY3RlZEl0ZW1zID0gZmFsc2U7XHJcbiAgICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIFZvY2FidWxhcnkgbGlzdCBBUEkgS2V5ICovXHJcbiAgQElucHV0KCkgdm9jYWJ1bGFyeVR5cGUgPSAnJztcclxuICAvKiogRmllbGQgTGFiZWwgKi9cclxuICBASW5wdXQoKSBsYWJlbDtcclxuICBASW5wdXQoKSBjYWNoZWFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNod29BbGxWYWx1ZXMgPSB0cnVlXHJcbiAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gdmFsdWUgaXMgc2VsZWN0ZWQgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHNlbGVjdGlvbjtcclxuXHJcbiAgLy8gZnVuY3Rpb24gcmVsYXRlZCB0byB2YWx1ZSBhY2Nlc3NvclxyXG4gIHByb3BhZ2F0ZUNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIHZhbGlkYXRlRm46IGFueSA9ICgpID0+IHsgfTtcclxuICBwdWJsaWMgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7XHJcbiAgICAvKkVtcHR5Ki9cclxuICB9O1xyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB2b2NhYnVsYXJ5QXBpOiBWb2NhYnVsYXJ5QXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgY2RSZWYgOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBTZWxmKCkgQE9wdGlvbmFsKCkgcHVibGljIGNvbnRyb2w6IE5nQ29udHJvbFxyXG4gICkge1xyXG4gICAgdGhpcy5jb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52b2NhYnVsYXJ5VHlwZSkge1xyXG4gICAgICB0aGlzLmdldExpc09mT3B0aW9ucyh0aGlzLnZvY2FidWxhcnlUeXBlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldExpc09mT3B0aW9ucyh0eXBlKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgY29uc3QgY2FsbEFwaSA9IHRoaXMuY2FjaGVhYmxlXHJcbiAgICAgID8gdGhpcy5nZXRDYWNoZWFibGVWb2NhYnVsYXJ5TGlzdCh0eXBlKVxyXG4gICAgICA6IHRoaXMuZ2V0Vm9jYWJ1bGFyeUxpc3QodHlwZSk7XHJcbiAgICBjYWxsQXBpLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRhdGEgPSAhdGhpcy5zaHdvQWxsVmFsdWVzID8gcmVzLmZpbHRlcihpdGVtID0+ICFpdGVtLmlkLmluY2x1ZGVzKCdhcmNoaXZlZCcpICYmICFpdGVtLmlkLmluY2x1ZGVzKCdkcmFmdCcpKSA6IHJlcztcclxuICAgICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMTAwMCxcclxuICAgIHN0b3JhZ2VTdHJhdGVneTogTG9jYWxTdG9yYWdlU3RyYXRlZ3ksXHJcbiAgICBtYXhBZ2U6IDIwMDAwLFxyXG4gIH0pXHJcbiAgZ2V0Q2FjaGVhYmxlVm9jYWJ1bGFyeUxpc3QodHlwZSkge1xyXG4gICAgcmV0dXJuIHRoaXMudm9jYWJ1bGFyeUFwaS5nZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0Vm9jYWJ1bGFyeUxpc3QodHlwZSkge1xyXG4gICAgcmV0dXJuIHRoaXMudm9jYWJ1bGFyeUFwaS5nZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRpdGVtcyhzZWxlY3RlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGlvbik7XHJcbiAgICB0aGlzLm9uU2VsZWN0aW5nLmVtaXQodGhpcy5zZWxlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgLy8gaWYgKHZhbHVlKSB7IHJlbW92ZWQgdG8gYWxsb3cgcmVzZXRpbmcgdWkgd2hlbiByZXNldHRpbmcgZm9ybVxyXG4gICAgICB0aGlzLnNlbGVjdGlvbiA9IHZhbHVlO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZShjOiBGb3JtQ29udHJvbCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRhdGVGbihjKTtcclxuICB9XHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sIHx8ICF0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3IpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZhbGlkYXRvciA9IHRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcih7fSBhcyBBYnN0cmFjdENvbnRyb2wpO1xyXG4gICAgcmV0dXJuIHZhbGlkYXRvciAmJiB2YWxpZGF0b3IucmVxdWlyZWQ7XHJcbiAgfVxyXG4gIGhhc0Vycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNob3dFcnJvcjtcclxuICB9XHJcbiAgcmVzZXQoKSB7XHJcbiAgICB0aGlzLkR5bmFtaWNGb3JtU2VsZWN0SXRlbUNvbXBvbmVudC5yZXNldCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxcIj5cclxuICA8ZGl2PlxyXG4gICAgPGxhYmVsIGNsYXNzPVwic2VsZWN0LWxhYmVsXCJcclxuICAgICAgPnt7IGxhYmVsIHwgdHJhbnNsYXRlXHJcbiAgICAgIH19PHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkKClcIiBjbGFzcz1cInRleHQtZGFuZ2VyIG0tMVwiPio8L3NwYW4+PC9sYWJlbFxyXG4gICAgPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPGFwcC1keW5hbWljLWZvcm0tc2VsZWN0aXRlbVxyXG4gIFt2b2NdPVwidHJ1ZVwiXHJcbiAgW3ZvY0lkXT1cInZvY2FidWxhcnlUeXBlXCJcclxuICBbZGF0YV09XCJkYXRhXCJcclxuICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXHJcbiAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxyXG4gIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcclxuICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcclxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJoaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgKG9uU2VsZWN0SXRlbXMpPVwiZ2V0U2VsZWN0ZWRpdGVtcygkZXZlbnQpXCJcclxuICBbKG5nTW9kZWwpXT1cInNlbGVjdGlvblwiXHJcbj48L2FwcC1keW5hbWljLWZvcm0tc2VsZWN0aXRlbT5cclxuPG1hdC1lcnJvclxyXG4gIFthdHRyLmRhdGEtYXV0b21hdGlvbi1pZF09XCInY2FyZC10ZXh0aXRlbS1lcnJvci0nXCJcclxuICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgKm5nSWY9XCJoYXNFcnJvcnMoKVwiXHJcbj5cclxuICA8dWw+XHJcbiAgICA8bGkgKm5nSWY9XCJjb250cm9sLmVycm9ycy5yZXF1aXJlZFwiPlxyXG4gICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fSB7eyBcIlZBTElEQVRPUlMuUkVRVUlSRURcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9saT5cclxuICA8L3VsPlxyXG48L21hdC1lcnJvcj5cclxuIl19
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFTdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFPSCxNQUFNLE9BQU8sa0NBQWtDO0lBb0Q3QyxZQUNVLGFBQW1DLEVBQ25DLEtBQXlCLEVBQ04sT0FBa0I7UUFGckMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBQ04sWUFBTyxHQUFQLE9BQU8sQ0FBVztRQWxEL0MsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQU9WLDBCQUEw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QURnR0U7SUFMQyxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsSUFBSTtRQUNuQixlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLE1BQU0sRUFBRSxLQUFLO0tBQ2QsQ0FBQztvRkFHRDsyRkFyRlUsa0NBQWtDO2tCQU45QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFdBQVcsRUFBRSwrQ0FBK0M7b0JBQzVELFNBQVMsRUFBRSxDQUFDLCtDQUErQyxDQUFDO29CQUM1RCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQXBEbkIsOEJBQThCO3NCQUQ3QixTQUFTO3VCQUFDLDhCQUE4QjtnQkFLaEMsU0FBUztzQkFBakIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVLLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUMsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBc0RQLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgU2VsZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIE5nQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVm9jYWJ1bGFyeUFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi92b2NhYnVsYXJ5L3NlcnZpY2VzL3ZvY2FidWxhcnktYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWNoZWFibGUsIExvY2FsU3RvcmFnZVN0cmF0ZWd5IH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0vZHluYW1pYy1mb3JtLXNlbGVjdGl0ZW0uY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBBIHZvY2FidWxhcnkgZHJvcGRvd24gaW5wdXQgaW50ZWdyYXRlZCB3aXRoIG51eGVvIHZvY2FidWxhcnkgQVBJLFxyXG4gKiB0aGF0IGNhbiBiZSB1c2VkIGluc2lkZSByZWFjdGl2ZSBvciB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcclxuICogQHRpdGxlXHJcbiAqIHZvY2FidWxhcnkgZHJvcGRvd25cclxuICogQGV4YW1wbGVcclxuICogPGFwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtXHJcbiAqICAgW2xhYmVsXT1cIidQQVRILlRPLkxBQkVMLlRSQU5TTEFUSU9OJ1wiXHJcbiAqICAgW2JpbmRMYWJlbF09XCInYmluZExhYmVsUHJvcGVydHlOYW1lJ1wiXHJcbiAqICAgW2JpbmRWYWx1ZV09XCInYmluZFZhbHVlUHJvcGVydHlOYW1lJ1wiXHJcbiAqICAgcGxhY2Vob2xkZXI9XCInUEFUSC5UTy5QTEFDRUhPTERFUi5UUkFOU0xBVElPTidcIlxyXG4gKiAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAqICAgW3NlYXJjaGFibGVdPVwiZmFsc2VcIlxyXG4gKiAgIFtjbG9zZU9uU2VsZWN0XT1cInRydWVcIlxyXG4gKiAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmYWxzZVwiXHJcbiAqICAgW3ZvY2FidWxhcnlUeXBlXT1cIidWb2NhYnVsYXJ5S2V5J1wiXHJcbiAqICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiA+XHJcbiAqIDwvYXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybVZvY2FidWxhcnlJdGVtQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQFZpZXdDaGlsZChEeW5hbWljRm9ybVNlbGVjdEl0ZW1Db21wb25lbnQpXHJcbiAgRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50OiBEeW5hbWljRm9ybVNlbGVjdEl0ZW1Db21wb25lbnQ7XHJcblxyXG4gIGRhdGEgPSBbXTtcclxuICAvKiogQmluZCB2YWx1ZSB0byBwcm9wZXJ0eSBuYW1lICovXHJcbiAgQElucHV0KCkgYmluZFZhbHVlO1xyXG4gIC8qKiBCaW5kIGxhYmVsIHRvIHByb3BlcnR5IG5hbWUgKi9cclxuICBASW5wdXQoKSBiaW5kTGFiZWw7XHJcbiAgLyoqIFBsYWNlaG9sZGVyIHN0cmluZyAqL1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyO1xyXG4gIC8qKiBDYW4gc2VsZWN0IG11bHRpcGxlICovXHJcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcclxuICAvKiogSXMgc2VhcmNoYWJsZSAqL1xyXG4gIEBJbnB1dCgpIHNlYXJjaGFibGUgPSB0cnVlO1xyXG4gIC8qKiBTaG91bGQgY2xvc2Ugb24gc2VsZWN0ICovXHJcbiAgQElucHV0KCkgY2xvc2VPblNlbGVjdCA9IHRydWU7XHJcbiAgLyoqIFNob3VsZCBoaWRlIHNlbGVjdGVkIGl0ZW1zICovXHJcbiAgQElucHV0KCkgaGlkZVNlbGVjdGVkSXRlbXMgPSBmYWxzZTtcclxuICAgIC8qKiBpcyBkaXNhYmxlZCAqL1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAvKiogVm9jYWJ1bGFyeSBsaXN0IEFQSSBLZXkgKi9cclxuICBASW5wdXQoKSB2b2NhYnVsYXJ5VHlwZSA9ICcnO1xyXG4gIC8qKiBGaWVsZCBMYWJlbCAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsO1xyXG4gIEBJbnB1dCgpIGNhY2hlYWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2h3b0FsbFZhbHVlcyA9IHRydWVcclxuICAvKiogRXZlbnQgZW1pdHRlZCBvbiB2YWx1ZSBpcyBzZWxlY3RlZCAqL1xyXG4gIEBPdXRwdXQoKSBvblNlbGVjdGluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgc2VsZWN0aW9uO1xyXG5cclxuICAvLyBmdW5jdGlvbiByZWxhdGVkIHRvIHZhbHVlIGFjY2Vzc29yXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgdmFsaWRhdGVGbjogYW55ID0gKCkgPT4geyB9O1xyXG4gIHB1YmxpYyBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHtcclxuICAgIC8qRW1wdHkqL1xyXG4gIH07XHJcbiAgcHVibGljIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udHJvbCA/IHRoaXMuY29udHJvbC5pbnZhbGlkIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB7IGRpcnR5LCB0b3VjaGVkIH0gPSB0aGlzLmNvbnRyb2w7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IGRpcnR5IHx8IHRvdWNoZWQgOiBmYWxzZTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZvY2FidWxhcnlBcGk6IFZvY2FidWxhcnlBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjZFJlZiA6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZvY2FidWxhcnlUeXBlKSB7XHJcbiAgICAgIHRoaXMuZ2V0TGlzT2ZPcHRpb25zKHRoaXMudm9jYWJ1bGFyeVR5cGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0TGlzT2ZPcHRpb25zKHR5cGUpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICBjb25zdCBjYWxsQXBpID0gdGhpcy5jYWNoZWFibGVcclxuICAgICAgPyB0aGlzLmdldENhY2hlYWJsZVZvY2FidWxhcnlMaXN0KHR5cGUpXHJcbiAgICAgIDogdGhpcy5nZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKTtcclxuICAgIGNhbGxBcGkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGF0YSA9ICF0aGlzLnNod29BbGxWYWx1ZXMgPyByZXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaWQuaW5jbHVkZXMoJ2FyY2hpdmVkJykgJiYgIWl0ZW0uaWQuaW5jbHVkZXMoJ2RyYWZ0JykpIDogcmVzLmZpbHRlcihpdGVtID0+IGl0ZW0ub2Jzb2xldGUgPT09IDApO1xyXG4gICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBtYXhDYWNoZUNvdW50OiAxMDAwLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneSxcclxuICAgIG1heEFnZTogMjAwMDAsXHJcbiAgfSlcclxuICBnZXRDYWNoZWFibGVWb2NhYnVsYXJ5TGlzdCh0eXBlKSB7XHJcbiAgICByZXR1cm4gdGhpcy52b2NhYnVsYXJ5QXBpLmdldFZvY2FidWxhcnlMaXN0KHR5cGUpO1xyXG4gIH1cclxuICBcclxuICBnZXRWb2NhYnVsYXJ5TGlzdCh0eXBlKSB7XHJcbiAgICByZXR1cm4gdGhpcy52b2NhYnVsYXJ5QXBpLmdldFZvY2FidWxhcnlMaXN0KHR5cGUpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZGl0ZW1zKHNlbGVjdGVkSXRlbXMpIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0aW9uKTtcclxuICAgIHRoaXMub25TZWxlY3RpbmcuZW1pdCh0aGlzLnNlbGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlKSB7XHJcbiAgICAvLyBpZiAodmFsdWUpIHsgcmVtb3ZlZCB0byBhbGxvdyByZXNldGluZyB1aSB3aGVuIHJlc2V0dGluZyBmb3JtXHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlKGM6IEZvcm1Db250cm9sKSB7XHJcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZuKGMpO1xyXG4gIH1cclxuICBpc1JlcXVpcmVkKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbnRyb2wgfHwgIXRoaXMuY29udHJvbC5jb250cm9sLnZhbGlkYXRvcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdmFsaWRhdG9yID0gdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKHt9IGFzIEFic3RyYWN0Q29udHJvbCk7XHJcbiAgICByZXR1cm4gdmFsaWRhdG9yICYmIHZhbGlkYXRvci5yZXF1aXJlZDtcclxuICB9XHJcbiAgaGFzRXJyb3JzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2hvd0Vycm9yO1xyXG4gIH1cclxuICByZXNldCgpIHtcclxuICAgIHRoaXMuRHluYW1pY0Zvcm1TZWxlY3RJdGVtQ29tcG9uZW50LnJlc2V0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFwiPlxyXG4gIDxkaXY+XHJcbiAgICA8bGFiZWwgY2xhc3M9XCJzZWxlY3QtbGFiZWxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48YXBwLWR5bmFtaWMtZm9ybS1zZWxlY3RpdGVtXHJcbiAgW3ZvY109XCJ0cnVlXCJcclxuICBbdm9jSWRdPVwidm9jYWJ1bGFyeVR5cGVcIlxyXG4gIFtkYXRhXT1cImRhdGFcIlxyXG4gIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcclxuICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXHJcbiAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxyXG4gIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxyXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAob25TZWxlY3RJdGVtcyk9XCJnZXRTZWxlY3RlZGl0ZW1zKCRldmVudClcIlxyXG4gIFsobmdNb2RlbCldPVwic2VsZWN0aW9uXCJcclxuPjwvYXBwLWR5bmFtaWMtZm9ybS1zZWxlY3RpdGVtPlxyXG48bWF0LWVycm9yXHJcbiAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVycm9yLSdcIlxyXG4gIGNsYXNzPVwiYXBwLXRleHRpdGVtLWVkaXRhYmxlLWVycm9yXCJcclxuICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuPlxyXG4gIDx1bD5cclxuICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgIHt7IGxhYmVsIHwgdHJhbnNsYXRlIH19IHt7IFwiVkFMSURBVE9SUy5SRVFVSVJFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvbWF0LWVycm9yPlxyXG4iXX0=
|
|
@@ -110,19 +110,21 @@ export class DynamicSearchComponent {
|
|
|
110
110
|
constructParamsFunction(params) {
|
|
111
111
|
let contructedParms = {};
|
|
112
112
|
this.text = params['search_query'];
|
|
113
|
-
if (this.
|
|
114
|
-
if (
|
|
115
|
-
|
|
116
|
-
|
|
113
|
+
if (this.text && this.text.trim()) {
|
|
114
|
+
if (this.useToggleFilters) {
|
|
115
|
+
if (params['quickFilters']) {
|
|
116
|
+
this.quickFilters = params['quickFilters'];
|
|
117
|
+
contructedParms = { [this.fullTextParamName]: this.text + '*', quickFilters: this.quickFilters };
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
this.quickFilters = '';
|
|
121
|
+
contructedParms = { [this.fullTextParamName]: this.text + '*', quickFilters: '' };
|
|
122
|
+
}
|
|
117
123
|
}
|
|
118
124
|
else {
|
|
119
|
-
this.
|
|
120
|
-
contructedParms = { [this.fullTextParamName]: this.text + '*', quickFilters: '' };
|
|
125
|
+
contructedParms = { [this.fullTextParamName]: this.text + '*' };
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
|
-
else {
|
|
124
|
-
contructedParms = { [this.fullTextParamName]: this.text + '*' };
|
|
125
|
-
}
|
|
126
128
|
return contructedParms;
|
|
127
129
|
}
|
|
128
130
|
updateQueryParams(newQueryparams) {
|
|
@@ -331,4 +333,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
331
333
|
}], theme: [{
|
|
332
334
|
type: Input
|
|
333
335
|
}] } });
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQTRCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXhELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUl4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQWVILE1BQU0sT0FBTyxzQkFBc0I7SUF5RGpDLFlBQ1UsS0FBcUIsRUFDckIsTUFBYyxFQUNkLGdCQUFvQyxFQUNwQyxZQUEyQixFQUMzQixrQkFBdUMsRUFDaEIsV0FBVyxFQUNuQyxrQkFBc0M7UUFO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Q3RDOzswQkFnRUksTUFBTTsyQkFBQyxhQUFhOzZFQTNEZCxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVOLGFBQWE7c0JBRFosS0FBSztnQkFPSSxXQUFXO3NCQUFwQixNQUFNO2dCQWFQLFlBQVk7c0JBRFgsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9kb2N1bWVudHMvY29uc3RhbnRzL2RvY3VtZW50cyc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlciwgQnJlYWtwb2ludHMgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBhbmltYXRlLCBBVVRPX1NUWUxFLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgdGhyZWFkSWQgfSBmcm9tICd3b3JrZXJfdGhyZWFkcyc7XHJcbmltcG9ydCB7IEV2YWx1YXRvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGlyZWN0aXZlL3Blcm1pc3Npb25zL2V2YWx1YXRvcnMuc2VydmljZSc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHbG9iYWxBZG1pblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZ2xvYmFsLWFkbWluLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIER5bmFtaWMgc2VhcmNoIGNvbXBvbmVudCB1c2VzIFtEeW5hbWljIFRhYmxlXXtAbGluayBEeW5hbWljVGFibGVDb21wb25lbnR9ICYgW0R5bmFtaWMgRmlsdGVyXXtAbGluayBEeW5hbWljRmlsdGVyQ29tcG9uZW50fSBpbnRlcm5hbGx5LFxyXG4gKiBhbmQgdXRpbGl6ZXMgaXRzIGlucHV0cyB0byBwZXJmb3JtIGFkdmFuY2VkIHNlYXJjaCBhbmQgZmlsdGVyaW5nIG9uIGFueSBudXhlbyBQcm92aWRlclxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBTZWFyY2hcclxuICpcclxuICogQGV4YW1wbGVcclxuICogPGN0cy1keW5hbWljLXNlYXJjaFxyXG4gKiAgIFtwYWdlUHJvdmlkZXJdPVwiJ3BhZ2VQcm92aWRlck5hbWUnXCJcclxuICogICBbY29sdW1uc109XCJjb2x1bW5zQXJyYXlcIlxyXG4gKiAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc0FycmF5XCJcclxuICogICBbZW50aXR5VHlwZV09XCInZG9jdW1lbnRzJ1wiXHJcbiAqICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICogICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgW3BhZ2VTaXplXT1cIlBhZ2VTaXplXCJcclxuKiAgICBbY3VzdG9tUmVzcG9uc2l2ZVN0eWxlXT1cImZhbHNlIG9yIHRydWVcIlxyXG4gICAgIFtvcGVuQ2xvc2VGaWx0ZXJGcm9tT3V0c2lkZV09XCJwYXNzIEZpbHRlciBzdGF0ZSBmcm9tIHBhcmVudCBjb21wb25lbnRcIlxyXG4gICAgIFt0aGVtZV0gPSBcInRvICBzZXQgYmFja2dyb3VuZCBkZXBlbmVkIG9uIHRoZW1lXCJcclxuICogPlxyXG4gKiA8L2N0cy1keW5hbWljLXNlYXJjaD5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtc2VhcmNoJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignY29sbGFwc2UnLCBbXHJcbiAgICAgIHN0YXRlKCdmYWxzZScsIHN0eWxlKHsgaGVpZ2h0OiBBVVRPX1NUWUxFLCB2aXNpYmlsaXR5OiBBVVRPX1NUWUxFIH0pKSxcclxuICAgICAgc3RhdGUoJ3RydWUnLCBzdHlsZSh7IGhlaWdodDogJzAnLCB2aXNpYmlsaXR5OiAnaGlkZGVuJyB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ2ZhbHNlID0+IHRydWUnLCBhbmltYXRlKDMwMCkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd0cnVlID0+IGZhbHNlJywgYW5pbWF0ZSgzMDApKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsT25DaGFuZ2VzIHtcclxuICB0ZXh0OiBzdHJpbmc7XHJcbiAgYWdncmVnYXRpb25zO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zICovXHJcbiAgQElucHV0KCkgY29sdW1ucztcclxuICAvKiogQXJyYXkgb2YgY29sdW1ucyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuICBASW5wdXQoKSByZXNwb25zaXZlQ29sdW1ucz87XHJcbiAgLyoqIERlZmluZXMgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG4gIEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuICAvKiogVHJhbnNsYXRpb25zIHByZWZpeCAqL1xyXG4gIEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG4gIC8qKiBIZWFkZXJzIHRvIGJlIHNlbnQgd2l0aCBBUEkgUmVxdWVzdCAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlcnM7XHJcbiAgLyoqIEZpZWxkcyBrZXltYXAgdG8gYmUgbWFwcGVkIGluIHRoZSBhZGFwdGVyICovXHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIC8qKiBQYWdlIFByb3ZpZGVyIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmV0cmlldmUgZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VQcm92aWRlcjtcclxuICAvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcbiAgQElucHV0KCkgcGFnZVNpemU7XHJcbiAgLyoqIFNvcnRpbmcgY29sdW1uICovXHJcbiAgQElucHV0KCkgc29ydGluZ0J5Pz0ge307XHJcbiAgQElucHV0KCkgZnVsbFRleHRQYXJhbU5hbWUgPSAnc3lzdGVtX2Z1bGx0ZXh0JztcclxuICBASW5wdXQoKSBmaWx0ZXI7IC8vIHVzZWQgdG8gcGFzcyBwYXJhbXMgZnJvbSBvdXRzaWRlIHRvIHBhcmFtcyBvZiBkeW5hbWljIHRhYmxlIGRpcmVjdGx5XHJcblxyXG4gIEBJbnB1dCgpIHN1Z2dlc3RlckFwaTsgLy8gYXBpIHRvIGJlIHVzZWQgaW4gdGhlIHN1Z2dlc3RlciBpbnB1dCBpZiBzZW50IHdpbGwgdXNlZCBpdCBpZiBub3Qgd2lsbCB1c2UgdGhlIGRlZnVsdCBvbmNlXHJcbiAgQElucHV0KCkgXHJcbiAgb25Sb3dTZWxlY3RlZCA9IChyb3cpID0+IHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt7IG91dGxldHM6IHsgdmlld2VyOiBbJ3ZpZXcnLCByb3dbJ3VpZCddXSB9IH1dLCB7XHJcbiAgICAgIHF1ZXJ5UGFyYW1zOiB7IGxvY2F0aW9uOiB0aGlzLnJvdXRlci51cmwgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKiogdXNlZCB0byBlbWl0IGFueSBhY3Rpb25zIHRvIG91dHNpZGUgKi9cclxuICBAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcXVlcnlQYXJhbXMgPSB7fTtcclxuICBmaWx0ZXJzO1xyXG4gIHNlYXJjaEZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHRleHQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIHBlcnNvbmFsRmlsZXMgOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxyXG4gICAgZGVwRmlsZXMgOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxyXG4gICAgd29ya1NwYWNlRmlsZXMgOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpXHJcbiAgfSk7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHRvdGFsUmVjb3JkcztcclxuICBvcGVuRmlsdGVyOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgc29ydGluZ0FycmF5O1xyXG4gIEBJbnB1dCgpIGN1c3RvbVJlc3BvbnNpdmVTdHlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG9wZW5DbG9zZUZpbHRlckZyb21PdXRzaWRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGhlbWUgOmFueTtcclxuICB1c2VUb2dnbGVGaWx0ZXJzO1xyXG5cclxuICBxdWlja0ZpbHRlcnMgPSAnJztcclxuICBzYXZlZFBlcnNGaWx0ZXJWYWx1ZSA9IG51bGw7XHJcbiAgc2F2ZWREZXBGaWx0ZXJWYWx1ZSA9IG51bGw7XHJcbiAgc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSA9IG51bGw7XHJcblxyXG4gIHJlc3VsdFNldHMgPSBbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgZXZhbHVhdG9yU2VydmljZSA6IEV2YWx1YXRvcnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBudXhlb1NlcnZpY2UgOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGdsb2JhbEFkbWluU2VydmljZSA6IEdsb2JhbEFkbWluU2VydmljZSxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudCxcclxuICAgIHB1YmxpYyBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICkgeyBcclxuICAgIHRoaXMuZXZhbHVhdG9yU2VydmljZS5ldmFsdWF0ZVJ1bGUoJ2VuYWJsZVNlYXJjaFRvZ2dsZXMnICwge30pLnRoZW4ocmVzID0+IHtcclxuICAgICAgdGhpcy51c2VUb2dnbGVGaWx0ZXJzID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXMub3BlbkNsb3NlRmlsdGVyRnJvbU91dHNpZGUpIHtcclxuICAgICAgdGhpcy5vcGVuRmlsdGVyID0gY2hhbmdlcy5vcGVuQ2xvc2VGaWx0ZXJGcm9tT3V0c2lkZS5jdXJyZW50VmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIFxyXG4gICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyh0aGlzLmNvbnN0cnVjdFBhcmFtc0Z1bmN0aW9uKHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMpKTtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXRQb3B1bGF0ZSgpO1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRoaXMudGV4dCAhPT0gcGFyYW1zWydzZWFyY2hfcXVlcnknXSAmJiBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddKSB8fFxyXG4gICAgICAgIChwYXJhbXNbJ3NlYXJjaF9xdWVyeSddPy5sZW5ndGggPT0gMCAmJiB0aGlzLnRleHQgIT09IHBhcmFtc1snc2VhcmNoX3F1ZXJ5J10gfHwgXHJcbiAgICAgICAgKHRoaXMudXNlVG9nZ2xlRmlsdGVycyAmJiB0aGlzLnF1aWNrRmlsdGVycyAhPT0gcGFyYW1zWydxdWlja0ZpbHRlcnMnXSkpIFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuY29uc3RydWN0UGFyYW1zRnVuY3Rpb24ocGFyYW1zKSk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dFBvcHVsYXRlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5icmVha3BvaW50KCk7XHJcbiAgICBcclxuICAgdGhpcy5zZWFyY2hGb3JtLmdldCgndGV4dCcpLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNlYXJjaChyZXMpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcclxuICAgICAgICB0aGlzLnJlc3VsdFNldHMgPSByZXN1bHRzO1xyXG4gICAgICB9KVxyXG4gICB9KVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0UGFyYW1zRnVuY3Rpb24ocGFyYW1zKXtcclxuICAgIGxldCBjb250cnVjdGVkUGFybXMgPSB7fTtcclxuICAgIHRoaXMudGV4dCA9IHBhcmFtc1snc2VhcmNoX3F1ZXJ5J107XHJcbiAgICBpZih0aGlzLnVzZVRvZ2dsZUZpbHRlcnMpe1xyXG4gICAgICBpZihwYXJhbXNbJ3F1aWNrRmlsdGVycyddKXtcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVycyA9IHBhcmFtc1sncXVpY2tGaWx0ZXJzJ10gO1xyXG4gICAgICAgIGNvbnRydWN0ZWRQYXJtcyA9IHsgW3RoaXMuZnVsbFRleHRQYXJhbU5hbWVdIDogdGhpcy50ZXh0KycqJyAsIHF1aWNrRmlsdGVycyA6IHRoaXMucXVpY2tGaWx0ZXJzfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnF1aWNrRmlsdGVycyA9ICcnO1xyXG4gICAgICAgIGNvbnRydWN0ZWRQYXJtcyA9IHsgW3RoaXMuZnVsbFRleHRQYXJhbU5hbWVdIDogdGhpcy50ZXh0KycqJyAsIHF1aWNrRmlsdGVycyA6ICcnfVxyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29udHJ1Y3RlZFBhcm1zID0geyBbdGhpcy5mdWxsVGV4dFBhcmFtTmFtZV0gOiB0aGlzLnRleHQrJyonfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb250cnVjdGVkUGFybXM7XHJcbiAgfVxyXG4gIHVwZGF0ZVF1ZXJ5UGFyYW1zKG5ld1F1ZXJ5cGFyYW1zOiBvYmplY3QpIHtcclxuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMucXVlcnlQYXJhbXMsXHJcbiAgICAgIC4uLm5ld1F1ZXJ5cGFyYW1zLFxyXG4gICAgfTtcclxuICB9XHJcbiAgXHJcbiAgc2VhcmNoSW5wdXRQb3B1bGF0ZSgpIHtcclxuICAgIGlmKHRoaXMudXNlVG9nZ2xlRmlsdGVycyl7XHJcbiAgICAgIHRoaXMuc2VhcmNoRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgICB0ZXh0OiB0aGlzLnRleHQsXHJcbiAgICAgICAgcGVyc29uYWxGaWxlcyA6ICh0aGlzLnF1aWNrRmlsdGVycyA9PT0gJ3BlcnNvbmFsRmlsdGVyJyApID8gdHJ1ZSA6ICh0aGlzLnNhdmVkUGVyc0ZpbHRlclZhbHVlICE9PSBudWxsKSA/IHRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgOiBmYWxzZSxcclxuICAgICAgICBkZXBGaWxlcyA6ICh0aGlzLnF1aWNrRmlsdGVycyA9PT0gJ2RlcGFydG1lbnRGaWx0ZXInKSA/IHRydWUgOiAodGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICE9PSBudWxsKSA/IHRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSA6IGZhbHNlICxcclxuICAgICAgICB3b3JrU3BhY2VGaWxlcyA6ICh0aGlzLnF1aWNrRmlsdGVycyA9PT0gJ2RlcGFydG1lbnRXb3JrU3BhY2VGaWx0ZXInKSA/IHRydWUgOiAodGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlICE9PSBudWxsKSA/IHRoaXMuc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSA6IGZhbHNlIFxyXG5cclxuICAgICAgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5zZWFyY2hGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIHRleHQ6IHRoaXMudGV4dCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBGaWx0ZXJTZWxlY3RlZCh2YWw6IGFueSkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZmlsdGVycyA9IHsgLi4udGhpcy5maWx0ZXJzLCAuLi52YWwuZmlsdGVyIH07IC8vc3RvcmUgZmlsdGVyc1xyXG4gICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyh0aGlzLmZpbHRlcnMpO1xyXG4gIH1cclxuXHJcbiAgcGFnaW5hdGlvbkNoYW5nZShldmVudCkgeyB9XHJcblxyXG4gIGdldFRhYmxlRGF0YShkYXRhKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuYWdncmVnYXRpb25zID0gT2JqZWN0LmVudHJpZXMoZGF0YS5hZ2dyZWdhdGlvbnMgfHwge30pLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gaXRlbVsxXTtcclxuICAgIH0pO1xyXG4gICAgLy8gdGhpcy5hZ2dyZWdhdGlvbnMgPSB0aGlzLmFnZ3JlZ2F0aW9ucy5maWx0ZXIoKGl0ZW0pID0+XHJcbiAgICAvLyAgIHRoaXMuc29ydGluZ0FycmF5LmluY2x1ZGVzKGl0ZW0uaWQpXHJcbiAgICAvLyApO1xyXG4gICAgbGV0IHVwZGF0ZWRBZ2dyZWdhdGlvbiA9IFtdO1xyXG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMubWFwKGFnZ3JlZyA9PiB7XHJcbiAgICAgIHRoaXMuc29ydGluZ0FycmF5Lm1hcChzb3J0VHlwZSA9PiB7XHJcbiAgICAgICAgaWYoc29ydFR5cGUuaWQgPT09IGFnZ3JlZy5pZCl7XHJcbiAgICAgICAgICBhZ2dyZWdbJ2NvbXBvbmVudFR5cGUnXSA9IHNvcnRUeXBlLmNvbXBvZW5lbnRUeXBlO1xyXG4gICAgICAgICAgLy8gaW4gY2FzZSBvZiBjdXN0b20gY29tcG9uZW50IG5lZWQgdG8gY2FsbCBwYWdlIHByb3ZpZGVyIHRvIGdldCBkYXRhIFxyXG4gICAgICAgICAgaWYoc29ydFR5cGUuY29tcG9lbmVudFR5cGUgPT09ICdjdXN0b20tcHAnIHx8IHNvcnRUeXBlLmNvbXBvZW5lbnRUeXBlID09PSAnY3VzdG9tLWRvY3VtZW50JyB8fCBzb3J0VHlwZS5jb21wb2VuZW50VHlwZSA9PT0gJ2N1c3RvbS1kZXBhcnRtZW50Jyl7XHJcbiAgICAgICAgICAgIGFnZ3JlZ1snY3VzdG9tUGFnZVByb3ZpZGVyJ10gPSBzb3J0VHlwZS5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICAgIGFnZ3JlZ1snY29uZmlnJ10gPSBzb3J0VHlwZS5jb25maWdcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHVwZGF0ZWRBZ2dyZWdhdGlvbi5wdXNoKGFnZ3JlZylcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBfLnNvcnRCeSh1cGRhdGVkQWdncmVnYXRpb24sIChpdGVtKSA9PiB7XHJcbiAgICAgIGxldCBpID0gLTE7XHJcbiAgICAgICB0aGlzLnNvcnRpbmdBcnJheS5tYXAoKHNvcnRUeXBlICwgaW5kZXgpID0+IHtcclxuICAgICAgICAgaWYoc29ydFR5cGUuaWQgPT09IGl0ZW0uaWQpe1xyXG4gICAgICAgICAgIGkgPSBpbmRleDtcclxuICAgICAgICAgfVxyXG4gICAgICAgfSk7XHJcbiAgICAgICByZXR1cm4gaTtcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2coJ2FnZ3JlZ2F0aW9ucycsIHRoaXMuYWdncmVnYXRpb25zKTtcclxuICAgIHRoaXMudG90YWxSZWNvcmRzID0gZGF0YS50b3RhbFNpemU7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRGb3JtKCkge1xyXG4gICAgbGV0IHBhcmFtcyA9IHt9IDtcclxuICAgIGlmKHRoaXMudXNlVG9nZ2xlRmlsdGVycyl7XHJcbiAgICAgIHBhcmFtcyA9IHtcclxuICAgICAgICBzZWFyY2hfcXVlcnk6IHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy50ZXh0LnZhbHVlLFxyXG4gICAgICAgIHF1aWNrRmlsdGVycyA6IHRoaXMuZ2V0VG9nZ2xlRmlsdGVycygpXHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICBwYXJhbXMgPSB7XHJcbiAgICAgICAgc2VhcmNoX3F1ZXJ5OiB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMudGV4dC52YWx1ZSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycuJ10sIHtcclxuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcclxuICAgICAgcXVlcnlQYXJhbXM6IHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9nZ2xlRmlsdGVycygpIHtcclxuICAgIHRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSA9IHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy5kZXBGaWxlcy52YWx1ZTtcclxuICAgIHRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgPSB0aGlzLnNlYXJjaEZvcm0uY29udHJvbHMucGVyc29uYWxGaWxlcy52YWx1ZTtcclxuICAgIHRoaXMuc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSA9IHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy53b3JrU3BhY2VGaWxlcy52YWx1ZTtcclxuICAgIGlmICgodGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiB0aGlzLnNhdmVkRGVwRmlsdGVyVmFsdWUgJiYgdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKVxyXG4gICAgICB8fCAoIXRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgJiYgIXRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgJiYgIXRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBcInBlcnNvbmFsRmlsdGVyXCI7XHJcblxyXG4gICAgfSBlbHNlIGlmICghdGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiB0aGlzLnNhdmVkRGVwRmlsdGVyVmFsdWUgJiYgIXRoaXMuc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gXCJkZXBhcnRtZW50RmlsdGVyXCI7XHJcblxyXG4gICAgfSBlbHNlIGlmICghdGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICYmIHRoaXMuc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gXCJkZXBhcnRtZW50V29ya1NwYWNlRmlsdGVyXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnNhdmVkUGVyc0ZpbHRlclZhbHVlICYmIHRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBcImRlcGFydG1lbnRQZXJzb25hbEZpbHRlclwiO1xyXG5cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgJiYgIXRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSAmJiB0aGlzLnNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFwicGVyc29uYWxEZXBhcnRtZW50V29ya1NwYWNlRmlsdGVyXCI7XHJcblxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoIXRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgJiYgdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICYmIHRoaXMuc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gXCJkZXB0RGVwYXRtZW50V29ya1NwYWNlRmlsdGVyXCI7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0T3B0aW9uVmFsdWUoc2VhcmNoZWRUZXh0KXtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5nZXQoJ3RleHQnKS5zZXRWYWx1ZShzZWFyY2hlZFRleHQpO1xyXG4gICAgdGhpcy5zdWJtaXRGb3JtKCk7XHJcbiAgfVxyXG4gIG9uT3BlbkZpbHRlcigpIHtcclxuICAgIHRoaXMub3BlbkZpbHRlciA9ICF0aGlzLm9wZW5GaWx0ZXI7XHJcbiAgfVxyXG5cclxuICBicmVha3BvaW50KCkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoWycobWluLXdpZHRoOiAxMjAwcHgpJ10pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xyXG4gICAgICAgICAgdGhpcy5vcGVuRmlsdGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHBlcmZvcm1BY3Rpb24oYWN0aW9uKXtcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgcGFyYW1zPSB7XHJcbiAgICAgIHNlYXJjaFRlcm06IHRlcm1cclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3BhdGgnXSA9ICcvJyArIHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudCArICcvJ1xyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydwYXRoJ10gPSAnLycgKyB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQgKyAnLydcclxuICAgIH1cclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgICAgIC5vcGVyYXRpb24oKHRoaXMuc3VnZ2VzdGVyQXBpID8gdGhpcy5zdWdnZXN0ZXJBcGkgOiAnU2VhcmNoLkN1c3RvbVN1Z2dlc3RlcnNMYXVuY2hlcicpLCB7XHJcbiAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLmNvbnRleHQoe30pXHJcbiAgICAgICAgICAgIC5leGVjdXRlKClcclxuICAgICk7XHJcbn1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWN1c3RvbVJlc3BvbnNpdmVTdHlsZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtdG9vbGJhciBkLW1kLWZsZXggZC14bC1ub25lIG14LTNcIj5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cIm9uT3BlbkZpbHRlcigpXCIgY2xhc3M9XCJteS1idXR0b25cIj5cclxuICAgICAgPHNwYW4+IHt7IFwiRklMVEVSXCIgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbiAgICAgIDxpIGNsYXNzPVwiYmkgYmktZmlsdGVyXCIgKm5nSWY9XCIhb3BlbkZpbHRlclwiPjwvaT5cclxuICAgICAgPGkgY2xhc3M9XCJiaSBiaS14XCIgKm5nSWY9XCJvcGVuRmlsdGVyXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8ZGl2ICpuZ0lmPVwib3BlbkZpbHRlclwiPlxyXG4gICAgICA8aSBjbGFzcz1cImJpIGJpLWNhcmV0LXVwLWZpbGwgYXJyb3ctdXBcIj48L2k+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tUmVzcG9uc2l2ZVN0eWxlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImN1c3RvbVN0eWxlIC1tdC0xMiBweC04IGZsZXggZmxleC1jb2xcIlxyXG4gICAgW25nQ2xhc3NdPVwieydiZy1hY2NlbnQtMjAwJzogdGhlbWUgPT09ICdkZ2RhJywnYmctYWNjZW50LTEwMCc6IHRoZW1lID09PSAna3NyZWxlaWYnIHx8IHRoZW1lID09PSAnY29tcHRlY2hjbyd9XCJcclxuICAgIFtAY29sbGFwc2VdPVwiIW9wZW5GaWx0ZXJcIj5cclxuICAgIDwhLS0gPGZvcm1cclxuICAgICAgICBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIlxyXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWZvcm1cIlxyXG4gICAgICAgIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0XCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgICAgPC9mb3JtPiAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGdhcC14LTE4IGZsZXgtcm93IG10LTUgcGItMyBvdmVyZmxvdy14LWF1dG9cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uczsgZWxzZSBwcm9ncmVzc1NwaW5uZXJcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb25zLmxlbmd0aDsgZWxzZSBub0FnZ3JlZ2F0aW9uc1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWdncmVnYXRpb24gb2YgYWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbi5idWNrZXRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWR5bmFtaWMtZmlsdGVyIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIiBbZmlsdGVyc109XCJhZ2dyZWdhdGlvbi5idWNrZXRzXCIgW2lkXT1cImFnZ3JlZ2F0aW9uLmlkXCJcclxuICAgICAgICAgICAgICAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uLnNlbGVjdGlvblwiIFt0aXRsZV09XCJhZ2dyZWdhdGlvbi5maWVsZFwiIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIiBbZGVwYXJ0bWVudF09XCJcclxuICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6dG8nIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOmZyb20nXHJcbiAgICAgICAgICAgICAgICAgIFwiIFtjb21wb25lbnRUeXBlXT1cImFnZ3JlZ2F0aW9uLmNvbXBvbmVudFR5cGUgPyBhZ2dyZWdhdGlvbi5jb21wb25lbnRUeXBlIDogJ2RlZnVsdCdcIlxyXG4gICAgICAgICAgICAgICAgW2N1c3RvbVBhZ2VQcm92aWRlcl09XCJhZ2dyZWdhdGlvbi5jdXN0b21QYWdlUHJvdmlkZXIgPyBhZ2dyZWdhdGlvbi5jdXN0b21QYWdlUHJvdmlkZXIgOiAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbY29uZmlnXT1cImFnZ3JlZ2F0aW9uLmNvbmZpZyA/IGFnZ3JlZ2F0aW9uLmNvbmZpZyA6IHt9XCIgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZmlsdGVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxkaXYgY2xhc3M9XCJyb3cgd3JhcHBlclwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tUmVzcG9uc2l2ZVN0eWxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZmlsdGVyIHB4LTMgZC1mbGV4IGQteGwtbm9uZVwiICpuZ0lmPVwib3BlbkZpbHRlclwiPlxyXG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIiBjbGFzcz1cInNlYXJjaC1mb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGV4dFwiIFttYXRBdXRvY29tcGxldGVdPVwibWF0QXV0b2NvbXBsZXRlMVwiIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIiAvPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiIGNsYXNzPVwic2VhcmNoLWljb24gYmkgYmktc2VhcmNoXCI+PC9kaXY+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgICAgPG1hdC1hdXRvY29tcGxldGVcclxuICAgICAgY2xhc3M9XCJcclxuICAgICAgICAgYXV0by1jb21wbGV0ZS1pbmVyLXdyYXBwZXJcclxuICAgICAgICAgIGF1dG8tY29tcGxldGUtd3JhcHBlclxyXG4gICAgICBcIlxyXG4gICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcclxuICAgICAgI21hdEF1dG9jb21wbGV0ZTE9XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gID5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAgIGNsYXNzPVwibm8tdGV4dFwiXHJcbiAgICAgICAgICAqbmdJZj1cInJlc3VsdFNldHMgJiYgIXJlc3VsdFNldHMubGVuZ3RoXCJcclxuICAgICAgPlxyXG4gICAgICAgICAge3snbm9fcmVzdWx0X2ZvdW5kJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVzdWx0U2V0IG9mIHJlc3VsdFNldHNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICAoY2xpY2spPVwic2V0T3B0aW9uVmFsdWUocmVzdWx0U2V0LmxhYmVsKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uLWluZXItdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgID57eyByZXN1bHRTZXQubGFiZWwgfX08L3NwYW5cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24gPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb25zOyBlbHNlIHByb2dyZXNzU3Bpbm5lclwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbnMubGVuZ3RoOyBlbHNlIG5vQWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhZ2dyZWdhdGlvbiBvZiBhZ2dyZWdhdGlvbnNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgIDxjdHMtZHluYW1pYy1maWx0ZXIgW2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHNcIiBbaWRdPVwiYWdncmVnYXRpb24uaWRcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGlvbnNdPVwiYWdncmVnYXRpb24uc2VsZWN0aW9uXCIgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uLmZpZWxkXCIgW3ByZWZpeF09XCInc2VhcmNoJ1wiIFtkZXBhcnRtZW50XT1cIlxyXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOnRvJyB8fFxyXG4gICAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOmZyb20nXHJcbiAgICAgICAgICAgICAgXCIgW2NvbXBvbmVudFR5cGVdPVwiYWdncmVnYXRpb24uY29tcG9uZW50VHlwZSA/IGFnZ3JlZ2F0aW9uLmNvbXBvbmVudFR5cGUgOiAnZGVmdWx0J1wiXHJcbiAgICAgICAgICAgICAgICBbY3VzdG9tUGFnZVByb3ZpZGVyXT1cImFnZ3JlZ2F0aW9uLmN1c3RvbVBhZ2VQcm92aWRlciA/IGFnZ3JlZ2F0aW9uLmN1c3RvbVBhZ2VQcm92aWRlciA6ICcnXCJcclxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiYWdncmVnYXRpb24uY29uZmlnID8gYWdncmVnYXRpb24uY29uZmlnIDoge31cIiAob25GaWx0ZXJTZWxlY3RlZCk9XCJGaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb2wteGwtMyBzZWFyY2gtc2lkZU1lbnUgZC1ub25lIGQteGwtYmxvY2tcIj5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiIGNsYXNzPVwic2VhcmNoLWZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGV4dFwiIFttYXRBdXRvY29tcGxldGVdPVwibWF0QXV0b2NvbXBsZXRlMlwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiIC8+XHJcbiAgICAgIDxkaXYgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiIGNsYXNzPVwic2VhcmNoLWljb24gYmkgYmktc2VhcmNoXCI+PC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cIlxyXG4gICAgICAgYXV0by1jb21wbGV0ZS1pbmVyLXdyYXBwZXJcclxuICAgICAgICBhdXRvLWNvbXBsZXRlLXdyYXBwZXJcclxuICAgIFwiIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIiAjbWF0QXV0b2NvbXBsZXRlMj1cIm1hdEF1dG9jb21wbGV0ZVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiBjbGFzcz1cIm5vLXRleHRcIiAqbmdJZj1cInJlc3VsdFNldHMgJiYgIXJlc3VsdFNldHMubGVuZ3RoXCI+XHJcbiAgICAgICAge3snbm9fcmVzdWx0X2ZvdW5kJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVzdWx0U2V0IG9mIHJlc3VsdFNldHNcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAoY2xpY2spPVwic2V0T3B0aW9uVmFsdWUocmVzdWx0U2V0LmxhYmVsKVwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24taW5lci10ZXh0XCI+e3sgcmVzdWx0U2V0LmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb25zOyBlbHNlIHByb2dyZXNzU3Bpbm5lclwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhZ2dyZWdhdGlvbiBvZiBhZ2dyZWdhdGlvbnNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb24uYnVja2V0cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICA8Y3RzLWR5bmFtaWMtZmlsdGVyIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIiBbZmlsdGVyc109XCJhZ2dyZWdhdGlvbi5idWNrZXRzXCIgW2lkXT1cImFnZ3JlZ2F0aW9uLmlkXCJcclxuICAgICAgICAgICAgW3NlbGVjdGlvbnNdPVwiYWdncmVnYXRpb24uc2VsZWN0aW9uXCIgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uLmZpZWxkXCIgW3ByZWZpeF09XCInc2VhcmNoJ1wiIFtkZXBhcnRtZW50XT1cIlxyXG4gICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uLmZpZWxkID09PSAnY29ycjp0bycgfHxcclxuICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6ZnJvbSdcclxuICAgICAgICAgICAgXCIgW2NvbXBvbmVudFR5cGVdPVwiYWdncmVnYXRpb24uY29tcG9uZW50VHlwZSA/IGFnZ3JlZ2F0aW9uLmNvbXBvbmVudFR5cGUgOiAnZGVmdWx0J1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21QYWdlUHJvdmlkZXJdPVwiYWdncmVnYXRpb24uY3VzdG9tUGFnZVByb3ZpZGVyID8gYWdncmVnYXRpb24uY3VzdG9tUGFnZVByb3ZpZGVyIDogJydcIlxyXG4gICAgICAgICAgICBbY29uZmlnXT1cImFnZ3JlZ2F0aW9uLmNvbmZpZyA/IGFnZ3JlZ2F0aW9uLmNvbmZpZyA6IHt9XCIgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXhsLTlcIj5cclxuICAgIDxhcHAtY2FyZD5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgPGgzPlxyXG4gICAgICAgICAge3sgXCJzZWFyY2guaGVhZGVyXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2gzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYWdncmVnYXRpb25zXCIgY2xhc3M9XCJ0YWJsZS10b29sYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNvdW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgXCJzZWFyY2guXCIgKyBcInJlc3VsdHNOdW1iZXJcIlxyXG4gICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IHZhbHVlOiB0b3RhbFJlY29yZHMgPyB0b3RhbFJlY29yZHMgOiAwIH1cclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktYmV0d2VlblwiIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlVG9nZ2xlRmlsdGVycyAmJiAhY3VzdG9tUmVzcG9uc2l2ZVN0eWxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImN1c3RvbVJlc3BvbnNpdmVTdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1mb3JtIGN1c3RvbS1yZXNwb25zaXZlLXNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIiB0eXBlPVwidGV4dFwiIGZvcm1Db250cm9sTmFtZT1cInRleHRcIiBbbWF0QXV0b2NvbXBsZXRlXT1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiIGNsYXNzPVwic2VhcmNoLWljb24gYmkgYmktc2VhcmNoXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIlxyXG4gICAgICAgICAgICAgICAgICAgYXV0by1jb21wbGV0ZS1pbmVyLXdyYXBwZXJcclxuICAgICAgICAgICAgICAgICAgICBhdXRvLWNvbXBsZXRlLXdyYXBwZXJcclxuICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICNtYXRBdXRvY29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm8tdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyZXN1bHRTZXRzICYmICFyZXN1bHRTZXRzLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3tub19yZXN1bHRfZm91bmQgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcmVzdWx0U2V0IG9mIHJlc3VsdFNldHNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAgKGNsaWNrKT1cInNldE9wdGlvblZhbHVlKHJlc3VsdFNldC5sYWJlbClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3B0aW9uLWluZXItdGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgcmVzdWx0U2V0LmxhYmVsIH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24gPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiICpuZ0lmPVwidXNlVG9nZ2xlRmlsdGVyc1wiPlxyXG4gICAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0tc2xpZGUtdG9nZ2xlaXRlbSBjbGFzcz1cIm14LTIgc21hbGwtZm9udFwiIFtsYWJlbF09XCInc2VhcmNoLlBFUlNPTkFMX0ZJTEVTJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChvblRvZ2dsZSk9XCJzdWJtaXRGb3JtKClcIiBmb3JtQ29udHJvbE5hbWU9XCJwZXJzb25hbEZpbGVzXCI+XHJcbiAgICAgICAgICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0tc2xpZGUtdG9nZ2xlaXRlbT5cclxuICAgICAgICAgICAgICAgIDxjdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW0gY2xhc3M9XCJteC0yIHNtYWxsLWZvbnRcIiBbbGFiZWxdPVwiJ3NlYXJjaC5ERVBfRklMRVMnXCJcclxuICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVwRmlsZXNcIiAob25Ub2dnbGUpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0tc2xpZGUtdG9nZ2xlaXRlbT5cclxuICAgICAgICAgICAgICAgIDxjdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW0gY2xhc3M9XCJteC0yIHNtYWxsLWZvbnRcIiBbbGFiZWxdPVwiJ3NlYXJjaC5XT1JLU1BBQ0VfRklMRVMnXCJcclxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIndvcmtTcGFjZUZpbGVzXCIgKG9uVG9nZ2xlKT1cInN1Ym1pdEZvcm0oKVwiPlxyXG4gICAgICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y3RzLWR5bmFtaWMtdGFibGUgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW2NvbHVtbnNdPVwiY29sdW1uc1wiIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAgICAgICAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIiBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCIgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1dPVwicXVlcnlQYXJhbXNcIiBbaGVhZGVyc109XCJoZWFkZXJzXCIgW3ByZWZpeF09XCJwcmVmaXhcIiBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiIFtpc1NlYXJjaFBhZ2VdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAob25Sb3dTZWxlY3RlZCk9XCJvblJvd1NlbGVjdGVkKCRldmVudClcIiAoYWN0aW9uT25Sb3cpPVwicGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgIChvbkdldHRpbmdEYXRhKT1cImdldFRhYmxlRGF0YSgkZXZlbnQpXCI+PC9jdHMtZHluYW1pYy10YWJsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2FwcC1jYXJkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8bmctdGVtcGxhdGUgI3Byb2dyZXNzU3Bpbm5lcj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1zcGlubmVyXCI+XHJcbiAgICAgIDxtYXQtc3Bpbm5lciBjb2xvcj1cIndhcm5cIiBbZGlhbWV0ZXJdPVwiMjVcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8bmctdGVtcGxhdGUgI25vQWdncmVnYXRpb25zPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIj5cclxuICAgICAge3sgXCJzZWFyY2gubm9BZ2dyZWdhdGlvbnNcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+Il19
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQTRCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXhELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQUl4Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQWVILE1BQU0sT0FBTyxzQkFBc0I7SUF5RGpDLFlBQ1UsS0FBcUIsRUFDckIsTUFBYyxFQUNkLGdCQUFvQyxFQUNwQyxZQUEyQixFQUMzQixrQkFBdUMsRUFDaEIsV0FBVyxFQUNuQyxrQkFBc0M7UUFO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TyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3lCQUMxQyxDQUFDO3FCQUNIO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0Qzs7MEJBZ0VJLE1BQU07MkJBQUMsYUFBYTs2RUEzRGQsT0FBTztzQkFBZixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBT0ksV0FBVztzQkFBcEIsTUFBTTtnQkFhUCxZQUFZO3NCQURYLEtBQUs7Z0JBRUcscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgQVVUT19TVFlMRSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IHRocmVhZElkIH0gZnJvbSAnd29ya2VyX3RocmVhZHMnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wZXJtaXNzaW9ucy9ldmFsdWF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2xvYmFsQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2dsb2JhbC1hZG1pbi5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBEeW5hbWljIHNlYXJjaCBjb21wb25lbnQgdXNlcyBbRHluYW1pYyBUYWJsZV17QGxpbmsgRHluYW1pY1RhYmxlQ29tcG9uZW50fSAmIFtEeW5hbWljIEZpbHRlcl17QGxpbmsgRHluYW1pY0ZpbHRlckNvbXBvbmVudH0gaW50ZXJuYWxseSxcclxuICogYW5kIHV0aWxpemVzIGl0cyBpbnB1dHMgdG8gcGVyZm9ybSBhZHZhbmNlZCBzZWFyY2ggYW5kIGZpbHRlcmluZyBvbiBhbnkgbnV4ZW8gUHJvdmlkZXJcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgU2VhcmNoXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxjdHMtZHluYW1pYy1zZWFyY2hcclxuICogICBbcGFnZVByb3ZpZGVyXT1cIidwYWdlUHJvdmlkZXJOYW1lJ1wiXHJcbiAqICAgW2NvbHVtbnNdPVwiY29sdW1uc0FycmF5XCJcclxuICogICBbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNBcnJheVwiXHJcbiAqICAgW2VudGl0eVR5cGVdPVwiJ2RvY3VtZW50cydcIlxyXG4gKiAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICogICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAqICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgIFtwYWdlU2l6ZV09XCJQYWdlU2l6ZVwiXHJcbiogICAgW2N1c3RvbVJlc3BvbnNpdmVTdHlsZV09XCJmYWxzZSBvciB0cnVlXCJcclxuICAgICBbb3BlbkNsb3NlRmlsdGVyRnJvbU91dHNpZGVdPVwicGFzcyBGaWx0ZXIgc3RhdGUgZnJvbSBwYXJlbnQgY29tcG9uZW50XCJcclxuICAgICBbdGhlbWVdID0gXCJ0byAgc2V0IGJhY2tncm91bmQgZGVwZW5lZCBvbiB0aGVtZVwiXHJcbiAqID5cclxuICogPC9jdHMtZHluYW1pYy1zZWFyY2g+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1keW5hbWljLXNlYXJjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ2NvbGxhcHNlJywgW1xyXG4gICAgICBzdGF0ZSgnZmFsc2UnLCBzdHlsZSh7IGhlaWdodDogQVVUT19TVFlMRSwgdmlzaWJpbGl0eTogQVVUT19TVFlMRSB9KSksXHJcbiAgICAgIHN0YXRlKCd0cnVlJywgc3R5bGUoeyBoZWlnaHQ6ICcwJywgdmlzaWJpbGl0eTogJ2hpZGRlbicgfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCdmYWxzZSA9PiB0cnVlJywgYW5pbWF0ZSgzMDApKSxcclxuICAgICAgdHJhbnNpdGlvbigndHJ1ZSA9PiBmYWxzZScsIGFuaW1hdGUoMzAwKSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljU2VhcmNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uQ2hhbmdlcyB7XHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIGFnZ3JlZ2F0aW9ucztcclxuICAvKiogQXJyYXkgb2YgY29sdW1ucyAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgb24gc21hbGxlciBzY3JlZW5zICovXHJcbiAgQElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM/O1xyXG4gIC8qKiBEZWZpbmVzIHRoZSBwYWdlIGluIHdoaWNoIHRhYmxlIGlzIGJlaW5nIHVzZWQgKi9cclxuICBASW5wdXQoKSBlbnRpdHlUeXBlOiBzdHJpbmc7XHJcbiAgLyoqIFRyYW5zbGF0aW9ucyBwcmVmaXggKi9cclxuICBASW5wdXQoKSBwcmVmaXggPSAnJztcclxuICAvKiogSGVhZGVycyB0byBiZSBzZW50IHdpdGggQVBJIFJlcXVlc3QgKi9cclxuICBASW5wdXQoKSBoZWFkZXJzO1xyXG4gIC8qKiBGaWVsZHMga2V5bWFwIHRvIGJlIG1hcHBlZCBpbiB0aGUgYWRhcHRlciAqL1xyXG4gIEBJbnB1dCgpIGZpZWxkcztcclxuICAvKiogUGFnZSBQcm92aWRlciBuYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIHJldHJpZXZlIGRhdGEgKi9cclxuICBASW5wdXQoKSBwYWdlUHJvdmlkZXI7XHJcbiAgLyoqIENvbnRyb2xzIG51bWJlciBvZiBpdGVtcyBwZXIgcGFnZSBpbiB0YWJsZSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplO1xyXG4gIC8qKiBTb3J0aW5nIGNvbHVtbiAqL1xyXG4gIEBJbnB1dCgpIHNvcnRpbmdCeT89IHt9O1xyXG4gIEBJbnB1dCgpIGZ1bGxUZXh0UGFyYW1OYW1lID0gJ3N5c3RlbV9mdWxsdGV4dCc7XHJcbiAgQElucHV0KCkgZmlsdGVyOyAvLyB1c2VkIHRvIHBhc3MgcGFyYW1zIGZyb20gb3V0c2lkZSB0byBwYXJhbXMgb2YgZHluYW1pYyB0YWJsZSBkaXJlY3RseVxyXG5cclxuICBASW5wdXQoKSBzdWdnZXN0ZXJBcGk7IC8vIGFwaSB0byBiZSB1c2VkIGluIHRoZSBzdWdnZXN0ZXIgaW5wdXQgaWYgc2VudCB3aWxsIHVzZWQgaXQgaWYgbm90IHdpbGwgdXNlIHRoZSBkZWZ1bHQgb25jZVxyXG4gIEBJbnB1dCgpIFxyXG4gIG9uUm93U2VsZWN0ZWQgPSAocm93KSA9PiB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IHZpZXdlcjogWyd2aWV3Jywgcm93Wyd1aWQnXV0gfSB9XSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqIHVzZWQgdG8gZW1pdCBhbnkgYWN0aW9ucyB0byBvdXRzaWRlICovXHJcbiAgQE91dHB1dCgpIGFjdGlvbk9uUm93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHF1ZXJ5UGFyYW1zID0ge307XHJcbiAgZmlsdGVycztcclxuICBzZWFyY2hGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB0ZXh0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICBwZXJzb25hbEZpbGVzIDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgIGRlcEZpbGVzIDogbmV3IEZvcm1Db250cm9sKGZhbHNlKSxcclxuICAgIHdvcmtTcGFjZUZpbGVzIDogbmV3IEZvcm1Db250cm9sKGZhbHNlKVxyXG4gIH0pO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICB0b3RhbFJlY29yZHM7XHJcbiAgb3BlbkZpbHRlcjogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIHNvcnRpbmdBcnJheTtcclxuICBASW5wdXQoKSBjdXN0b21SZXNwb25zaXZlU3R5bGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvcGVuQ2xvc2VGaWx0ZXJGcm9tT3V0c2lkZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRoZW1lIDphbnk7XHJcbiAgdXNlVG9nZ2xlRmlsdGVycztcclxuXHJcbiAgcXVpY2tGaWx0ZXJzID0gJyc7XHJcbiAgc2F2ZWRQZXJzRmlsdGVyVmFsdWUgPSBudWxsO1xyXG4gIHNhdmVkRGVwRmlsdGVyVmFsdWUgPSBudWxsO1xyXG4gIHNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUgPSBudWxsO1xyXG5cclxuICByZXN1bHRTZXRzID0gW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGV2YWx1YXRvclNlcnZpY2UgOiBFdmFsdWF0b3JzU2VydmljZSxcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlIDogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBnbG9iYWxBZG1pblNlcnZpY2UgOiBHbG9iYWxBZG1pblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQsXHJcbiAgICBwdWJsaWMgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXJcclxuICApIHsgXHJcbiAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdlbmFibGVTZWFyY2hUb2dnbGVzJyAsIHt9KS50aGVuKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudXNlVG9nZ2xlRmlsdGVycyA9IHJlcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZihjaGFuZ2VzLm9wZW5DbG9zZUZpbHRlckZyb21PdXRzaWRlKSB7XHJcbiAgICAgIHRoaXMub3BlbkZpbHRlciA9IGNoYW5nZXMub3BlbkNsb3NlRmlsdGVyRnJvbU91dHNpZGUuY3VycmVudFZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBcclxuICAgIHRoaXMudXBkYXRlUXVlcnlQYXJhbXModGhpcy5jb25zdHJ1Y3RQYXJhbXNGdW5jdGlvbih0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKSk7XHJcbiAgICB0aGlzLnNlYXJjaElucHV0UG9wdWxhdGUoKTtcclxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICh0aGlzLnRleHQgIT09IHBhcmFtc1snc2VhcmNoX3F1ZXJ5J10gJiYgcGFyYW1zWydzZWFyY2hfcXVlcnknXSkgfHxcclxuICAgICAgICAocGFyYW1zWydzZWFyY2hfcXVlcnknXT8ubGVuZ3RoID09IDAgJiYgdGhpcy50ZXh0ICE9PSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddIHx8IFxyXG4gICAgICAgICh0aGlzLnVzZVRvZ2dsZUZpbHRlcnMgJiYgdGhpcy5xdWlja0ZpbHRlcnMgIT09IHBhcmFtc1sncXVpY2tGaWx0ZXJzJ10pKSBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyh0aGlzLmNvbnN0cnVjdFBhcmFtc0Z1bmN0aW9uKHBhcmFtcykpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRQb3B1bGF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuYnJlYWtwb2ludCgpO1xyXG4gICAgXHJcbiAgIHRoaXMuc2VhcmNoRm9ybS5nZXQoJ3RleHQnKS52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgIGRlYm91bmNlVGltZSg1MDApKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5zZWFyY2gocmVzKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XHJcbiAgICAgICAgdGhpcy5yZXN1bHRTZXRzID0gcmVzdWx0cztcclxuICAgICAgfSlcclxuICAgfSlcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdFBhcmFtc0Z1bmN0aW9uKHBhcmFtcyl7XHJcbiAgICBsZXQgY29udHJ1Y3RlZFBhcm1zID0ge307XHJcbiAgICB0aGlzLnRleHQgPSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddO1xyXG4gICAgaWYodGhpcy50ZXh0ICYmIHRoaXMudGV4dC50cmltKCkpe1xyXG4gICAgICBpZih0aGlzLnVzZVRvZ2dsZUZpbHRlcnMpe1xyXG4gICAgICAgIGlmKHBhcmFtc1sncXVpY2tGaWx0ZXJzJ10pe1xyXG4gICAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMgPSBwYXJhbXNbJ3F1aWNrRmlsdGVycyddIDtcclxuICAgICAgICAgIGNvbnRydWN0ZWRQYXJtcyA9IHsgW3RoaXMuZnVsbFRleHRQYXJhbU5hbWVdIDogdGhpcy50ZXh0KycqJyAsIHF1aWNrRmlsdGVycyA6IHRoaXMucXVpY2tGaWx0ZXJzfVxyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgdGhpcy5xdWlja0ZpbHRlcnMgPSAnJztcclxuICAgICAgICAgIGNvbnRydWN0ZWRQYXJtcyA9IHsgW3RoaXMuZnVsbFRleHRQYXJhbU5hbWVdIDogdGhpcy50ZXh0KycqJyAsIHF1aWNrRmlsdGVycyA6ICcnfVxyXG4gICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgY29udHJ1Y3RlZFBhcm1zID0geyBbdGhpcy5mdWxsVGV4dFBhcmFtTmFtZV0gOiB0aGlzLnRleHQrJyonfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvbnRydWN0ZWRQYXJtcztcclxuICB9XHJcbiAgdXBkYXRlUXVlcnlQYXJhbXMobmV3UXVlcnlwYXJhbXM6IG9iamVjdCkge1xyXG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHtcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtcyxcclxuICAgICAgLi4ubmV3UXVlcnlwYXJhbXMsXHJcbiAgICB9O1xyXG4gIH1cclxuICBcclxuICBzZWFyY2hJbnB1dFBvcHVsYXRlKCkge1xyXG4gICAgaWYodGhpcy51c2VUb2dnbGVGaWx0ZXJzKXtcclxuICAgICAgdGhpcy5zZWFyY2hGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIHRleHQ6IHRoaXMudGV4dCxcclxuICAgICAgICBwZXJzb25hbEZpbGVzIDogKHRoaXMucXVpY2tGaWx0ZXJzID09PSAncGVyc29uYWxGaWx0ZXInICkgPyB0cnVlIDogKHRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgIT09IG51bGwpID8gdGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSA6IGZhbHNlLFxyXG4gICAgICAgIGRlcEZpbGVzIDogKHRoaXMucXVpY2tGaWx0ZXJzID09PSAnZGVwYXJ0bWVudEZpbHRlcicpID8gdHJ1ZSA6ICh0aGlzLnNhdmVkRGVwRmlsdGVyVmFsdWUgIT09IG51bGwpID8gdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlIDogZmFsc2UgLFxyXG4gICAgICAgIHdvcmtTcGFjZUZpbGVzIDogKHRoaXMucXVpY2tGaWx0ZXJzID09PSAnZGVwYXJ0bWVudFdvcmtTcGFjZUZpbHRlcicpID8gdHJ1ZSA6ICh0aGlzLnNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUgIT09IG51bGwpID8gdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlIDogZmFsc2UgXHJcblxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnNlYXJjaEZvcm0ucGF0Y2hWYWx1ZSh7XHJcbiAgICAgICAgdGV4dDogdGhpcy50ZXh0LFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEZpbHRlclNlbGVjdGVkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWx0ZXJzID0geyAuLi50aGlzLmZpbHRlcnMsIC4uLnZhbC5maWx0ZXIgfTsgLy9zdG9yZSBmaWx0ZXJzXHJcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7IH1cclxuXHJcbiAgZ2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBPYmplY3QuZW50cmllcyhkYXRhLmFnZ3JlZ2F0aW9ucyB8fCB7fSkubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtWzFdO1xyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHRoaXMuYWdncmVnYXRpb25zLmZpbHRlcigoaXRlbSkgPT5cclxuICAgIC8vICAgdGhpcy5zb3J0aW5nQXJyYXkuaW5jbHVkZXMoaXRlbS5pZClcclxuICAgIC8vICk7XHJcbiAgICBsZXQgdXBkYXRlZEFnZ3JlZ2F0aW9uID0gW107XHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5tYXAoYWdncmVnID0+IHtcclxuICAgICAgdGhpcy5zb3J0aW5nQXJyYXkubWFwKHNvcnRUeXBlID0+IHtcclxuICAgICAgICBpZihzb3J0VHlwZS5pZCA9PT0gYWdncmVnLmlkKXtcclxuICAgICAgICAgIGFnZ3JlZ1snY29tcG9uZW50VHlwZSddID0gc29ydFR5cGUuY29tcG9lbmVudFR5cGU7XHJcbiAgICAgICAgICAvLyBpbiBjYXNlIG9mIGN1c3RvbSBjb21wb25lbnQgbmVlZCB0byBjYWxsIHBhZ2UgcHJvdmlkZXIgdG8gZ2V0IGRhdGEgXHJcbiAgICAgICAgICBpZihzb3J0VHlwZS5jb21wb2VuZW50VHlwZSA9PT0gJ2N1c3RvbS1wcCcgfHwgc29ydFR5cGUuY29tcG9lbmVudFR5cGUgPT09ICdjdXN0b20tZG9jdW1lbnQnIHx8IHNvcnRUeXBlLmNvbXBvZW5lbnRUeXBlID09PSAnY3VzdG9tLWRlcGFydG1lbnQnKXtcclxuICAgICAgICAgICAgYWdncmVnWydjdXN0b21QYWdlUHJvdmlkZXInXSA9IHNvcnRUeXBlLnBhZ2VQcm92aWRlcixcclxuICAgICAgICAgICAgYWdncmVnWydjb25maWcnXSA9IHNvcnRUeXBlLmNvbmZpZ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdXBkYXRlZEFnZ3JlZ2F0aW9uLnB1c2goYWdncmVnKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IF8uc29ydEJ5KHVwZGF0ZWRBZ2dyZWdhdGlvbiwgKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IGkgPSAtMTtcclxuICAgICAgIHRoaXMuc29ydGluZ0FycmF5Lm1hcCgoc29ydFR5cGUgLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICBpZihzb3J0VHlwZS5pZCA9PT0gaXRlbS5pZCl7XHJcbiAgICAgICAgICAgaSA9IGluZGV4O1xyXG4gICAgICAgICB9XHJcbiAgICAgICB9KTtcclxuICAgICAgIHJldHVybiBpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zb2xlLmxvZygnYWdncmVnYXRpb25zJywgdGhpcy5hZ2dyZWdhdGlvbnMpO1xyXG4gICAgdGhpcy50b3RhbFJlY29yZHMgPSBkYXRhLnRvdGFsU2l6ZTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oKSB7XHJcbiAgICBsZXQgcGFyYW1zID0ge30gO1xyXG4gICAgaWYodGhpcy51c2VUb2dnbGVGaWx0ZXJzKXtcclxuICAgICAgcGFyYW1zID0ge1xyXG4gICAgICAgIHNlYXJjaF9xdWVyeTogdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLnRleHQudmFsdWUsXHJcbiAgICAgICAgcXVpY2tGaWx0ZXJzIDogdGhpcy5nZXRUb2dnbGVGaWx0ZXJzKClcclxuICAgICAgfVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHBhcmFtcyA9IHtcclxuICAgICAgICBzZWFyY2hfcXVlcnk6IHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy50ZXh0LnZhbHVlLFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICBxdWVyeVBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRUb2dnbGVGaWx0ZXJzKCkge1xyXG4gICAgdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlID0gdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLmRlcEZpbGVzLnZhbHVlO1xyXG4gICAgdGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSA9IHRoaXMuc2VhcmNoRm9ybS5jb250cm9scy5wZXJzb25hbEZpbGVzLnZhbHVlO1xyXG4gICAgdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlID0gdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLndvcmtTcGFjZUZpbGVzLnZhbHVlO1xyXG4gICAgaWYgKCh0aGlzLnNhdmVkUGVyc0ZpbHRlclZhbHVlICYmIHRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSAmJiB0aGlzLnNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUpXHJcbiAgICAgIHx8ICghdGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICYmICF0aGlzLnNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICYmICF0aGlzLnNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFwicGVyc29uYWxGaWx0ZXJcIjtcclxuXHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnNhdmVkUGVyc0ZpbHRlclZhbHVlICYmIHRoaXMuc2F2ZWREZXBGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBcImRlcGFydG1lbnRGaWx0ZXJcIjtcclxuXHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnNhdmVkUGVyc0ZpbHRlclZhbHVlICYmICF0aGlzLnNhdmVkRGVwRmlsdGVyVmFsdWUgJiYgdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBcImRlcGFydG1lbnRXb3JrU3BhY2VGaWx0ZXJcIjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc2F2ZWRQZXJzRmlsdGVyVmFsdWUgJiYgdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICYmICF0aGlzLnNhdmVkd29ya1NwYWNlRmlsdGVyVmFsdWUpIHtcclxuICAgICAgcmV0dXJuIFwiZGVwYXJ0bWVudFBlcnNvbmFsRmlsdGVyXCI7XHJcblxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiAhdGhpcy5zYXZlZERlcEZpbHRlclZhbHVlICYmIHRoaXMuc2F2ZWR3b3JrU3BhY2VGaWx0ZXJWYWx1ZSkge1xyXG4gICAgICByZXR1cm4gXCJwZXJzb25hbERlcGFydG1lbnRXb3JrU3BhY2VGaWx0ZXJcIjtcclxuXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICghdGhpcy5zYXZlZFBlcnNGaWx0ZXJWYWx1ZSAmJiB0aGlzLnNhdmVkRGVwRmlsdGVyVmFsdWUgJiYgdGhpcy5zYXZlZHdvcmtTcGFjZUZpbHRlclZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBcImRlcHREZXBhdG1lbnRXb3JrU3BhY2VGaWx0ZXJcIjtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRPcHRpb25WYWx1ZShzZWFyY2hlZFRleHQpe1xyXG4gICAgdGhpcy5zZWFyY2hGb3JtLmdldCgndGV4dCcpLnNldFZhbHVlKHNlYXJjaGVkVGV4dCk7XHJcbiAgICB0aGlzLnN1Ym1pdEZvcm0oKTtcclxuICB9XHJcbiAgb25PcGVuRmlsdGVyKCkge1xyXG4gICAgdGhpcy5vcGVuRmlsdGVyID0gIXRoaXMub3BlbkZpbHRlcjtcclxuICB9XHJcblxyXG4gIGJyZWFrcG9pbnQoKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclxyXG4gICAgICAub2JzZXJ2ZShbJyhtaW4td2lkdGg6IDEyMDBweCknXSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC5tYXRjaGVzKSB7XHJcbiAgICAgICAgICB0aGlzLm9wZW5GaWx0ZXIgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcGVyZm9ybUFjdGlvbihhY3Rpb24pe1xyXG4gICAgdGhpcy5hY3Rpb25PblJvdy5lbWl0KGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBzZWFyY2godGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXM9IHtcclxuICAgICAgc2VhcmNoVGVybTogdGVybVxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncGF0aCddID0gJy8nICsgdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50ICsgJy8nXHJcbiAgICB9ZWxzZSBpZighdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbiAmJiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQpe1xyXG4gICAgICBwYXJhbXNbJ3BhdGgnXSA9ICcvJyArIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCArICcvJ1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAgICAgLm9wZXJhdGlvbigodGhpcy5zdWdnZXN0ZXJBcGkgPyB0aGlzLnN1Z2dlc3RlckFwaSA6ICdTZWFyY2guQ3VzdG9tU3VnZ2VzdGVyc0xhdW5jaGVyJyksIHtcclxuICAgICAgICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuY29udGV4dCh7fSlcclxuICAgICAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKTtcclxufVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tUmVzcG9uc2l2ZVN0eWxlXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaC10b29sYmFyIGQtbWQtZmxleCBkLXhsLW5vbmUgbXgtM1wiPlxyXG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib25PcGVuRmlsdGVyKClcIiBjbGFzcz1cIm15LWJ1dHRvblwiPlxyXG4gICAgICA8c3Bhbj4ge3sgXCJGSUxURVJcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgPGkgY2xhc3M9XCJiaSBiaS1maWx0ZXJcIiAqbmdJZj1cIiFvcGVuRmlsdGVyXCI+PC9pPlxyXG4gICAgICA8aSBjbGFzcz1cImJpIGJpLXhcIiAqbmdJZj1cIm9wZW5GaWx0ZXJcIj48L2k+XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxkaXYgKm5nSWY9XCJvcGVuRmlsdGVyXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiYmkgYmktY2FyZXQtdXAtZmlsbCBhcnJvdy11cFwiPjwvaT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21SZXNwb25zaXZlU3R5bGVcIj5cclxuICA8ZGl2IGNsYXNzPVwiY3VzdG9tU3R5bGUgLW10LTEyIHB4LTggZmxleCBmbGV4LWNvbFwiXHJcbiAgICBbbmdDbGFzc109XCJ7J2JnLWFjY2VudC0yMDAnOiB0aGVtZSA9PT0gJ2RnZGEnLCdiZy1hY2NlbnQtMTAwJzogdGhlbWUgPT09ICdrc3JlbGVpZicgfHwgdGhlbWUgPT09ICdjb21wdGVjaGNvJ31cIlxyXG4gICAgW0Bjb2xsYXBzZV09XCIhb3BlbkZpbHRlclwiPlxyXG4gICAgPCEtLSA8Zm9ybVxyXG4gICAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXHJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtZm9ybVwiXHJcbiAgICAgICAgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRleHRcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgICA8ZGl2IChjbGljayk9XCJzdWJtaXRGb3JtKClcIiBjbGFzcz1cInNlYXJjaC1pY29uIGJpIGJpLXNlYXJjaFwiPjwvZGl2PlxyXG4gICAgICA8L2Zvcm0+IC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLXgtMTggZmxleC1yb3cgbXQtNSBwYi0zIG92ZXJmbG93LXgtYXV0b1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb25zOyBlbHNlIHByb2dyZXNzU3Bpbm5lclwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbnMubGVuZ3RoOyBlbHNlIG5vQWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhZ2dyZWdhdGlvbiBvZiBhZ2dyZWdhdGlvbnNcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgIDxjdHMtZHluYW1pYy1maWx0ZXIgW2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHNcIiBbaWRdPVwiYWdncmVnYXRpb24uaWRcIlxyXG4gICAgICAgICAgICAgICAgW3NlbGVjdGlvbnNdPVwiYWdncmVnYXRpb24uc2VsZWN0aW9uXCIgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uLmZpZWxkXCIgW3ByZWZpeF09XCInc2VhcmNoJ1wiIFtkZXBhcnRtZW50XT1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uLmZpZWxkID09PSAnY29ycjp0bycgfHxcclxuICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6ZnJvbSdcclxuICAgICAgICAgICAgICAgICAgXCIgW2NvbXBvbmVudFR5cGVdPVwiYWdncmVnYXRpb24uY29tcG9uZW50VHlwZSA/IGFnZ3JlZ2F0aW9uLmNvbXBvbmVudFR5cGUgOiAnZGVmdWx0J1wiXHJcbiAgICAgICAgICAgICAgICBbY3VzdG9tUGFnZVByb3ZpZGVyXT1cImFnZ3JlZ2F0aW9uLmN1c3RvbVBhZ2VQcm92aWRlciA/IGFnZ3JlZ2F0aW9uLmN1c3RvbVBhZ2VQcm92aWRlciA6ICcnXCJcclxuICAgICAgICAgICAgICAgIFtjb25maWddPVwiYWdncmVnYXRpb24uY29uZmlnID8gYWdncmVnYXRpb24uY29uZmlnIDoge31cIiAob25GaWx0ZXJTZWxlY3RlZCk9XCJGaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBjbGFzcz1cInJvdyB3cmFwcGVyXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21SZXNwb25zaXZlU3R5bGVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1maWx0ZXIgcHgtMyBkLWZsZXggZC14bC1ub25lXCIgKm5nSWY9XCJvcGVuRmlsdGVyXCI+XHJcbiAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiIGNsYXNzPVwic2VhcmNoLWZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICAgICAgPGlucHV0IGNsYXNzPVwic2VhcmNoLWlucHV0XCIgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0XCIgW21hdEF1dG9jb21wbGV0ZV09XCJtYXRBdXRvY29tcGxldGUxXCIgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiIC8+XHJcbiAgICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICBjbGFzcz1cIlxyXG4gICAgICAgICBhdXRvLWNvbXBsZXRlLWluZXItd3JhcHBlclxyXG4gICAgICAgICAgYXV0by1jb21wbGV0ZS13cmFwcGVyXHJcbiAgICAgIFwiXHJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxyXG4gICAgICAjbWF0QXV0b2NvbXBsZXRlMT1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICAgY2xhc3M9XCJuby10ZXh0XCJcclxuICAgICAgICAgICpuZ0lmPVwicmVzdWx0U2V0cyAmJiAhcmVzdWx0U2V0cy5sZW5ndGhcIlxyXG4gICAgICA+XHJcbiAgICAgICAgICB7eydub19yZXN1bHRfZm91bmQnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXN1bHRTZXQgb2YgcmVzdWx0U2V0c1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gIChjbGljayk9XCJzZXRPcHRpb25WYWx1ZShyZXN1bHRTZXQubGFiZWwpXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb24taW5lci10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgPnt7IHJlc3VsdFNldC5sYWJlbCB9fTwvc3BhblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgIDwvbWF0LW9wdGlvbiA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbnM7IGVsc2UgcHJvZ3Jlc3NTcGlubmVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9ucy5sZW5ndGg7IGVsc2Ugbm9BZ2dyZWdhdGlvbnNcIj5cclxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFnZ3JlZ2F0aW9uIG9mIGFnZ3JlZ2F0aW9uc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb24uYnVja2V0cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWZpbHRlciBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCIgW2ZpbHRlcnNdPVwiYWdncmVnYXRpb24uYnVja2V0c1wiIFtpZF09XCJhZ2dyZWdhdGlvbi5pZFwiXHJcbiAgICAgICAgICAgICAgICBbc2VsZWN0aW9uc109XCJhZ2dyZWdhdGlvbi5zZWxlY3Rpb25cIiBbdGl0bGVdPVwiYWdncmVnYXRpb24uZmllbGRcIiBbcHJlZml4XT1cIidzZWFyY2gnXCIgW2RlcGFydG1lbnRdPVwiXHJcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6dG8nIHx8XHJcbiAgICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6ZnJvbSdcclxuICAgICAgICAgICAgICBcIiBbY29tcG9uZW50VHlwZV09XCJhZ2dyZWdhdGlvbi5jb21wb25lbnRUeXBlID8gYWdncmVnYXRpb24uY29tcG9uZW50VHlwZSA6ICdkZWZ1bHQnXCJcclxuICAgICAgICAgICAgICAgIFtjdXN0b21QYWdlUHJvdmlkZXJdPVwiYWdncmVnYXRpb24uY3VzdG9tUGFnZVByb3ZpZGVyID8gYWdncmVnYXRpb24uY3VzdG9tUGFnZVByb3ZpZGVyIDogJydcIlxyXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJhZ2dyZWdhdGlvbi5jb25maWcgPyBhZ2dyZWdhdGlvbi5jb25maWcgOiB7fVwiIChvbkZpbHRlclNlbGVjdGVkKT1cIkZpbHRlclNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICAgICAgICA8L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbC14bC0zIHNlYXJjaC1zaWRlTWVudSBkLW5vbmUgZC14bC1ibG9ja1wiPlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCIgY2xhc3M9XCJzZWFyY2gtZm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgICAgPGlucHV0IGNsYXNzPVwic2VhcmNoLWlucHV0XCIgdHlwZT1cInRleHRcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0XCIgW21hdEF1dG9jb21wbGV0ZV09XCJtYXRBdXRvY29tcGxldGUyXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlYXJjaC5zZWFyY2gnIHwgdHJhbnNsYXRlXCIgLz5cclxuICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwiXHJcbiAgICAgICBhdXRvLWNvbXBsZXRlLWluZXItd3JhcHBlclxyXG4gICAgICAgIGF1dG8tY29tcGxldGUtd3JhcHBlclxyXG4gICAgXCIgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiICNtYXRBdXRvY29tcGxldGUyPVwibWF0QXV0b2NvbXBsZXRlXCI+XHJcbiAgICAgIDxtYXQtb3B0aW9uIGNsYXNzPVwibm8tdGV4dFwiICpuZ0lmPVwicmVzdWx0U2V0cyAmJiAhcmVzdWx0U2V0cy5sZW5ndGhcIj5cclxuICAgICAgICB7eydub19yZXN1bHRfZm91bmQnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXN1bHRTZXQgb2YgcmVzdWx0U2V0c1wiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIChjbGljayk9XCJzZXRPcHRpb25WYWx1ZShyZXN1bHRTZXQubGFiZWwpXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi1pbmVyLXRleHRcIj57eyByZXN1bHRTZXQubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbnM7IGVsc2UgcHJvZ3Jlc3NTcGlubmVyXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFnZ3JlZ2F0aW9uIG9mIGFnZ3JlZ2F0aW9uc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbi5idWNrZXRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgIDxjdHMtZHluYW1pYy1maWx0ZXIgW2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHNcIiBbaWRdPVwiYWdncmVnYXRpb24uaWRcIlxyXG4gICAgICAgICAgICBbc2VsZWN0aW9uc109XCJhZ2dyZWdhdGlvbi5zZWxlY3Rpb25cIiBbdGl0bGVdPVwiYWdncmVnYXRpb24uZmllbGRcIiBbcHJlZml4XT1cIidzZWFyY2gnXCIgW2RlcGFydG1lbnRdPVwiXHJcbiAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOnRvJyB8fFxyXG4gICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uLmZpZWxkID09PSAnY29ycjpmcm9tJ1xyXG4gICAgICAgICAgICBcIiBbY29tcG9uZW50VHlwZV09XCJhZ2dyZWdhdGlvbi5jb21wb25lbnRUeXBlID8gYWdncmVnYXRpb24uY29tcG9uZW50VHlwZSA6ICdkZWZ1bHQnXCJcclxuICAgICAgICAgICAgW2N1c3RvbVBhZ2VQcm92aWRlcl09XCJhZ2dyZWdhdGlvbi5jdXN0b21QYWdlUHJvdmlkZXIgPyBhZ2dyZWdhdGlvbi5jdXN0b21QYWdlUHJvdmlkZXIgOiAnJ1wiXHJcbiAgICAgICAgICAgIFtjb25maWddPVwiYWdncmVnYXRpb24uY29uZmlnID8gYWdncmVnYXRpb24uY29uZmlnIDoge31cIiAob25GaWx0ZXJTZWxlY3RlZCk9XCJGaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wteGwtOVwiPlxyXG4gICAgPGFwcC1jYXJkPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICA8aDM+XHJcbiAgICAgICAgICB7eyBcInNlYXJjaC5oZWFkZXJcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhZ2dyZWdhdGlvbnNcIiBjbGFzcz1cInRhYmxlLXRvb2xiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY291bnRcIj5cclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICBcInNlYXJjaC5cIiArIFwicmVzdWx0c051bWJlclwiXHJcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgdmFsdWU6IHRvdGFsUmVjb3JkcyA/IHRvdGFsUmVjb3JkcyA6IDAgfVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGZvcm0gY2xhc3M9XCJkLWZsZXgganVzdGlmeS1iZXR3ZWVuXCIgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VUb2dnbGVGaWx0ZXJzICYmICFjdXN0b21SZXNwb25zaXZlU3R5bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY3VzdG9tUmVzcG9uc2l2ZVN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWZvcm0gY3VzdG9tLXJlc3BvbnNpdmUtc2VhcmNoXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cInNlYXJjaC1pbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwidGV4dFwiIFttYXRBdXRvY29tcGxldGVdPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlYXJjaC5zZWFyY2gnIHwgdHJhbnNsYXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGVcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiXHJcbiAgICAgICAgICAgICAgICAgICBhdXRvLWNvbXBsZXRlLWluZXItd3JhcHBlclxyXG4gICAgICAgICAgICAgICAgICAgIGF1dG8tY29tcGxldGUtd3JhcHBlclxyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgI21hdEF1dG9jb21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuby10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJlc3VsdFNldHMgJiYgIXJlc3VsdFNldHMubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7e25vX3Jlc3VsdF9mb3VuZCB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXN1bHRTZXQgb2YgcmVzdWx0U2V0c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICAoY2xpY2spPVwic2V0T3B0aW9uVmFsdWUocmVzdWx0U2V0LmxhYmVsKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb24taW5lci10ZXh0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyByZXN1bHRTZXQubGFiZWwgfX08L3NwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LW9wdGlvbiA+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgKm5nSWY9XCJ1c2VUb2dnbGVGaWx0ZXJzXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtIGNsYXNzPVwibXgtMiBzbWFsbC1mb250XCIgW2xhYmVsXT1cIidzZWFyY2guUEVSU09OQUxfRklMRVMnXCJcclxuICAgICAgICAgICAgICAgICAgKG9uVG9nZ2xlKT1cInN1Ym1pdEZvcm0oKVwiIGZvcm1Db250cm9sTmFtZT1cInBlcnNvbmFsRmlsZXNcIj5cclxuICAgICAgICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtPlxyXG4gICAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0tc2xpZGUtdG9nZ2xlaXRlbSBjbGFzcz1cIm14LTIgc21hbGwtZm9udFwiIFtsYWJlbF09XCInc2VhcmNoLkRFUF9GSUxFUydcIlxyXG4gICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXBGaWxlc1wiIChvblRvZ2dsZSk9XCJzdWJtaXRGb3JtKClcIj5cclxuICAgICAgICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtPlxyXG4gICAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0tc2xpZGUtdG9nZ2xlaXRlbSBjbGFzcz1cIm14LTIgc21hbGwtZm9udFwiIFtsYWJlbF09XCInc2VhcmNoLldPUktTUEFDRV9GSUxFUydcIlxyXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwid29ya1NwYWNlRmlsZXNcIiAob25Ub2dnbGUpPVwic3VibWl0Rm9ybSgpXCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjdHMtZHluYW1pYy10YWJsZSBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbY29sdW1uc109XCJjb2x1bW5zXCIgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICAgICAgICAgIFtwYWdlUHJvdmlkZXJdPVwicGFnZVByb3ZpZGVyXCIgW3F1aWNrRmlsdGVyXT1cImZpbHRlclwiIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIiBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgICAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtc1wiIFtoZWFkZXJzXT1cImhlYWRlcnNcIiBbcHJlZml4XT1cInByZWZpeFwiIFtzb3J0aW5nQnldPVwic29ydGluZ0J5XCIgW2lzU2VhcmNoUGFnZV09XCJ0cnVlXCJcclxuICAgICAgICAgIChvblJvd1NlbGVjdGVkKT1cIm9uUm93U2VsZWN0ZWQoJGV2ZW50KVwiIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgKG9uR2V0dGluZ0RhdGEpPVwiZ2V0VGFibGVEYXRhKCRldmVudClcIj48L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvYXBwLWNhcmQ+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjcHJvZ3Jlc3NTcGlubmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLXNwaW5uZXJcIj5cclxuICAgICAgPG1hdC1zcGlubmVyIGNvbG9yPVwid2FyblwiIFtkaWFtZXRlcl09XCIyNVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZSAjbm9BZ2dyZWdhdGlvbnM+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mtc3Bpbm5lclwiPlxyXG4gICAgICB7eyBcInNlYXJjaC5ub0FnZ3JlZ2F0aW9uc1wiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2Rpdj4iXX0=
|
|
@@ -76,7 +76,7 @@ export class FilterComponent {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
FilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FilterComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
-
FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FilterComponent, selector: "cts-filter", inputs: { fields: "fields", filterTitle: "filterTitle" }, outputs: { onFiltering: "onFiltering" }, ngImport: i0, template: "<div class=\"filter-wrapper\">\r\n <div class=\"filter-title\">\r\n <!-- {{filterTitle | translate}} -->\r\n </div>\r\n <div class=\"iner-filter-wrapper\" *ngIf=\"filterForm\">\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"single-control-wrapper\" *ngFor=\"let field of fields\">\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'text'\">\r\n <app-dynamic-form-textitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n >\r\n </app-dynamic-form-textitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'dropdown'\">\r\n <app-dynamic-form-vocabulary-item\r\n [shwoAllValues]=\"false\"\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n [placeholder]=\"field.placeholder | translate\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'rang'\">\r\n <cts-dynamic-form-hijri-dateitem [label]=\"field.label\" [formControlName]=\"field.formControlName\"[range]=\"true\" [vertical]=\"false\" >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'department'\">\r\n <app-dynamic-form-department\r\n [label]=\"field.label\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-department>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'toggle'\">\r\n <cts-dynamic-form-slide-toggleitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n\r\n </div>\r\n\r\n </form>\r\n \r\n </div>\r\n <div class=\"form-actions\">\r\n <button class=\"my-button mx-2\" type=\"button\" (click)=\"filter()\"> {{'FILTER' | translate}}</button>\r\n <button class=\"my-button reset mx-2\" type=\"button\" (click)=\"reset()\"> {{'reset' | translate}}</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.filter-wrapper .filter-title{font-size:18px;font-weight:bold;margin-bottom:15px}.filter-wrapper .iner-filter-wrapper{height:320px;overflow:auto;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;padding:15px 15px 0}.filter-wrapper .iner-filter-wrapper .single-control-wrapper{margin-bottom:15px}.filter-wrapper .form-actions{display:flex;justify-content:flex-start;align-content:center;padding:10px 15px}.filter-wrapper .form-actions .filter{border:none;background-color:transparent;font-weight:bold;width:80px;height:40px;background-image:linear-gradient(to bottom,#0dbab5,#2e62df);color:#fff;border-radius:5px}\n"], components: [{ type: i2.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i3.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i4.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i5.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty", "customParams"], outputs: ["onSelecting", "actionClicked"] }, { type: i6.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i8.TranslatePipe } });
|
|
79
|
+
FilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FilterComponent, selector: "cts-filter", inputs: { fields: "fields", filterTitle: "filterTitle" }, outputs: { onFiltering: "onFiltering" }, ngImport: i0, template: "<div class=\"filter-wrapper\">\r\n <div class=\"filter-title\">\r\n <!-- {{filterTitle | translate}} -->\r\n </div>\r\n <div class=\"iner-filter-wrapper\" *ngIf=\"filterForm\">\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"single-control-wrapper\" *ngFor=\"let field of fields\">\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'text'\">\r\n <app-dynamic-form-textitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n >\r\n </app-dynamic-form-textitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'dropdown'\">\r\n <app-dynamic-form-vocabulary-item\r\n [shwoAllValues]=\"false\"\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n [placeholder]=\"field.placeholder | translate\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'rang'\">\r\n <cts-dynamic-form-hijri-dateitem [label]=\"field.label\" [formControlName]=\"field.formControlName\"[range]=\"true\" [vertical]=\"false\" >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'department'\">\r\n <app-dynamic-form-department\r\n [label]=\"field.label\"\r\n placeholder=\"{{ 'CREATE.PLACE_HOLDER' | translate }} {{\r\n field.placeholder | translate\r\n }}\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-department>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'toggle'\">\r\n <cts-dynamic-form-slide-toggleitem\r\n [label]=\"field.label\"\r\n [formControlName]=\"field.formControlName\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </div>\r\n\r\n <div class=\"control\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n \r\n\r\n </div>\r\n\r\n </form>\r\n \r\n </div>\r\n <div class=\"form-actions\">\r\n <button class=\"my-button mx-2\" type=\"button\" (click)=\"filter()\"> {{'FILTER' | translate}}</button>\r\n <button class=\"my-button reset mx-2\" type=\"button\" (click)=\"reset()\"> {{'reset' | translate}}</button>\r\n </div>\r\n</div>\r\n\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.filter-wrapper .filter-title{font-size:18px;font-weight:bold;margin-bottom:15px}.filter-wrapper .iner-filter-wrapper{height:320px;overflow:auto;scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;padding:15px 15px 0}.filter-wrapper .iner-filter-wrapper .single-control-wrapper{margin-bottom:15px}.filter-wrapper .form-actions{display:flex;justify-content:flex-start;align-content:center;padding:10px 15px}.filter-wrapper .form-actions .filter{border:none;background-color:transparent;font-weight:bold;width:80px;height:40px;background-image:linear-gradient(to bottom,#0dbab5,#2e62df);color:#fff;border-radius:5px}\n"], components: [{ type: i2.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i3.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i4.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i5.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "displayDepTypee", "displayIsAllowRecExternal", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty", "customParams"], outputs: ["onSelecting", "actionClicked"] }, { type: i6.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "translate": i8.TranslatePipe } });
|
|
80
80
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FilterComponent, decorators: [{
|
|
81
81
|
type: Component,
|
|
82
82
|
args: [{
|
|
@@ -88,7 +88,7 @@ export class SelectUsersByDepartmentsComponent {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
SelectUsersByDepartmentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SelectUsersByDepartmentsComponent, deps: [{ token: i1.DepartmentManagementService }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
SelectUsersByDepartmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SelectUsersByDepartmentsComponent, selector: "app-select-users-by-departments", inputs: { display: "display", depLabel: "depLabel", userLabel: "userLabel", allowMultipleUsers: "allowMultipleUsers" }, outputs: { formChanged: "formChanged" }, host: { classAttribute: "userByDepSelectors" }, ngImport: i0, template: "<form [formGroup]=\"depAnditsUsers\">\r\n <div class=\"w-full flex justify-between\"\r\n [ngClass]=\"{'flex-row': display === 'row', 'flex-col': display === 'column'}\">\r\n <div class=\"flex flex-col w-full flex-1 depWrapper\">\r\n <label class=\"dep-label\">\r\n {{depLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"!reseting\">\r\n <app-dynamic-form-department \r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n <ng-container *ngIf=\"reseting\">\r\n <app-dynamic-form-department\r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex flex-col w-full flex-1 usersWrapper\"\r\n [ngClass]=\"{'mt-4': display === 'column'}\">\r\n <label class=\"users-label\">\r\n {{userLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-select \r\n formControlName=\"users\"\r\n #ngSelectComponent \r\n [items]=\"depUsers\" \r\n bindLabel=\"properties.fullName\" \r\n bindValue=\"properties.username\" \r\n [multiple]=\"allowMultipleUsers\"\r\n [placeholder]=\"'share.placeholder' | translate\"\r\n (change)=\"setUser()\"\r\n >\r\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n <div class=\"ng-option disabled\" *ngIf=\"!depAnditsUsers?.get('dep').value;else notFound\">\r\n {{'archiveSearch.select_dep' | translate}}\r\n </div>\r\n <ng-template #notFound>\r\n <div class=\"ng-option disabled\">\r\n {{'archiveSearch.noUsers' | translate}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"flex flex-col h-full\">\r\n <div *ngIf=\"item\" class=\"flex flex-row\">\r\n <div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n <cts-avatar [user]=\"{\r\n properties: {\r\n firstName: item.properties?.firstName,\r\n lastName: item.properties?.lastName\r\n }\r\n }\">\r\n </cts-avatar>\r\n </div>\r\n <div class=\"flex flex-col pt-0 px-2\">\r\n <span>{{item.properties?.fullName}}</span>\r\n <span>{{item.properties?.email}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n</form>", styles: [".userByDepSelectors ngx-dropdown-treeview>.dropdown{@apply bg-primary-50 border-primary-100 !important;}.userByDepSelectors .ng-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px!important;margin-top:4px!important}\n"], components: [{ type: i3.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty", "customParams"], outputs: ["onSelecting", "actionClicked"] }, { type: i4.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.ɵl, selector: "[ng-notfound-tmp]" }, { type: i4.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
91
|
+
SelectUsersByDepartmentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: SelectUsersByDepartmentsComponent, selector: "app-select-users-by-departments", inputs: { display: "display", depLabel: "depLabel", userLabel: "userLabel", allowMultipleUsers: "allowMultipleUsers" }, outputs: { formChanged: "formChanged" }, host: { classAttribute: "userByDepSelectors" }, ngImport: i0, template: "<form [formGroup]=\"depAnditsUsers\">\r\n <div class=\"w-full flex justify-between\"\r\n [ngClass]=\"{'flex-row': display === 'row', 'flex-col': display === 'column'}\">\r\n <div class=\"flex flex-col w-full flex-1 depWrapper\">\r\n <label class=\"dep-label\">\r\n {{depLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-container *ngIf=\"!reseting\">\r\n <app-dynamic-form-department \r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n <ng-container *ngIf=\"reseting\">\r\n <app-dynamic-form-department\r\n #depRef\r\n formControlName=\"dep\"\r\n placeholder=\"placeholder\"\r\n [treeview]=\"false\"\r\n [pp_departmentNestedTree]=\"'PP_OS_Departments'\"\r\n [pp_departmentTree]=\"'PP_OS_Departments'\"\r\n [customPrefix]=\"'osdept'\"\r\n [customParentProperty]=\"'osdepartment_parentDepartmentCode'\"\r\n [useCustomAddEditAction]=\"true\"\r\n (onSelecting)=\"getDepMembers($event)\"\r\n >\r\n </app-dynamic-form-department>\r\n </ng-container>\r\n </div>\r\n <div class=\"flex flex-col w-full flex-1 usersWrapper\"\r\n [ngClass]=\"{'mt-4': display === 'column'}\">\r\n <label class=\"users-label\">\r\n {{userLabel}}\r\n <span class=\"text-danger\" *ngIf=\"isRequired()\">*</span>\r\n </label>\r\n <ng-select \r\n formControlName=\"users\"\r\n #ngSelectComponent \r\n [items]=\"depUsers\" \r\n bindLabel=\"properties.fullName\" \r\n bindValue=\"properties.username\" \r\n [multiple]=\"allowMultipleUsers\"\r\n [placeholder]=\"'share.placeholder' | translate\"\r\n (change)=\"setUser()\"\r\n >\r\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\r\n <div class=\"ng-option disabled\" *ngIf=\"!depAnditsUsers?.get('dep').value;else notFound\">\r\n {{'archiveSearch.select_dep' | translate}}\r\n </div>\r\n <ng-template #notFound>\r\n <div class=\"ng-option disabled\">\r\n {{'archiveSearch.noUsers' | translate}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\">\r\n <div class=\"flex flex-col h-full\">\r\n <div *ngIf=\"item\" class=\"flex flex-row\">\r\n <div class=\"flex-0 w-8 h-8 rounded-full overflow-hidden\">\r\n <cts-avatar [user]=\"{\r\n properties: {\r\n firstName: item.properties?.firstName,\r\n lastName: item.properties?.lastName\r\n }\r\n }\">\r\n </cts-avatar>\r\n </div>\r\n <div class=\"flex flex-col pt-0 px-2\">\r\n <span>{{item.properties?.fullName}}</span>\r\n <span>{{item.properties?.email}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n </div>\r\n </div>\r\n</form>", styles: [".userByDepSelectors ngx-dropdown-treeview>.dropdown{@apply bg-primary-50 border-primary-100 !important;}.userByDepSelectors .ng-select .ng-select-container .ng-value-container .ng-placeholder{font-size:12px!important;margin-top:4px!important}\n"], components: [{ type: i3.DynamicFormDepartmentComponent, selector: "app-dynamic-form-department", inputs: ["treeview", "treeViewAsFormControl", "placeholder", "multiple", "searchable", "label", "defaultSelect", "displayDepTypee", "displayIsAllowRecExternal", "pp_departmentNestedTree", "pp_departmentTree", "customPrefix", "useCustomAddEditAction", "customParentProperty", "customParams"], outputs: ["onSelecting", "actionClicked"] }, { type: i4.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i5.AvatarComponent, selector: "cts-avatar", inputs: ["user"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i4.ɵl, selector: "[ng-notfound-tmp]" }, { type: i4.ɵf, selector: "[ng-option-tmp]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
92
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: SelectUsersByDepartmentsComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{
|
|
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
87
87
|
}], onClick: [{
|
|
88
88
|
type: Output
|
|
89
89
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFPSCxNQUFNLE9BQU8sZUFBZTtJQW1CMUI7UUFaQSw0Q0FBNEM7UUFFNUMsU0FBSSxHQUFHLFNBQVMsQ0FBQztRQUVqQix3RkFBd0Y7UUFDeEYsVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUVULG1CQUFjLEdBQUcsU0FBUyxDQUFFLENBQUMseUNBQXlDO1FBRS9FLHlCQUF5QjtRQUV6QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFakIsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyx5R0FBeUc7UUFDekcsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksT0FBTyxHQUFHO1lBQ1osT0FBTztZQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVE7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNO1lBQzNCLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFlBQVk7WUFDekMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssY0FBYztZQUM3QyxPQUFPO1lBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUM1QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU87WUFDNUIsU0FBUztZQUNULFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTztZQUN4QixTQUFTO1lBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDOzs0R0F0RFUsZUFBZTtnR0FBZixlQUFlLDhOQ2pDNUIsMFlBYUE7MkZEb0JhLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MEVBSUMsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7O1FBR04sd0ZBQXdGO1FBQ3hGLEtBQUs7c0JBRkosS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIHJldXNhYmxlIGJ1dHRvbiB3aXRoIHNwaW5uZXIgY29tcG9uZW50XHJcbiAqIEB0aXRsZVxyXG4gKiBCdXR0b24gd2l0aCBzcGlubmVyXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtYnV0dG9uXHJcbiAqICAgICBbdGhlbWVdPVwiJ2RhbmdlcidcIlxyXG4gKiAgICAgW3NpemVdPVwiJ3JlZ3VsYXInXCJcclxuICogICAgIFtsb2FkaW5nXT1cImZhbHNlXCJcclxuICogICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAqICAgICAob25DbGljayk9XCJleGVjdXRlQWN0aW9uKClcIlxyXG4gKiAgID5cclxuICogICAgIEJ1dHRvbiBUZXh0XHJcbiAqICAgPC9jdHMtYnV0dG9uPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIC8qKiBpcyBidXR0b24gZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkPztcclxuICAvKiogaXMgYnV0dG9uIGxvYWRpbmcgKi9cclxuICBASW5wdXQoKVxyXG4gIGxvYWRpbmc/
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFPSCxNQUFNLE9BQU8sZUFBZTtJQW1CMUI7UUFaQSw0Q0FBNEM7UUFFNUMsU0FBSSxHQUFHLFNBQVMsQ0FBQztRQUVqQix3RkFBd0Y7UUFDeEYsVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUVULG1CQUFjLEdBQUcsU0FBUyxDQUFFLENBQUMseUNBQXlDO1FBRS9FLHlCQUF5QjtRQUV6QixZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFFakIsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyx5R0FBeUc7UUFDekcsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksT0FBTyxHQUFHO1lBQ1osT0FBTztZQUNQLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVM7WUFDakMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxPQUFPO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVE7WUFDL0IsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNO1lBQzNCLFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLFlBQVk7WUFDekMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssY0FBYztZQUM3QyxPQUFPO1lBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTztZQUM1QixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO1lBQ2hDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU87WUFDNUIsU0FBUztZQUNULFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTztZQUN4QixTQUFTO1lBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDOzs0R0F0RFUsZUFBZTtnR0FBZixlQUFlLDhOQ2pDNUIsMFlBYUE7MkZEb0JhLGVBQWU7a0JBTjNCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUN0QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MEVBSUMsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7O1FBR04sd0ZBQXdGO1FBQ3hGLEtBQUs7c0JBRkosS0FBSztnQkFJRyxjQUFjO3NCQUF0QixLQUFLO2dCQUlOLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIHJldXNhYmxlIGJ1dHRvbiB3aXRoIHNwaW5uZXIgY29tcG9uZW50XHJcbiAqIEB0aXRsZVxyXG4gKiBCdXR0b24gd2l0aCBzcGlubmVyXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtYnV0dG9uXHJcbiAqICAgICBbdGhlbWVdPVwiJ2RhbmdlcidcIlxyXG4gKiAgICAgW3NpemVdPVwiJ3JlZ3VsYXInXCJcclxuICogICAgIFtsb2FkaW5nXT1cImZhbHNlXCJcclxuICogICAgIFtkaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAqICAgICAob25DbGljayk9XCJleGVjdXRlQWN0aW9uKClcIlxyXG4gKiAgID5cclxuICogICAgIEJ1dHRvbiBUZXh0XHJcbiAqICAgPC9jdHMtYnV0dG9uPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIC8qKiBpcyBidXR0b24gZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkPztcclxuICAvKiogaXMgYnV0dG9uIGxvYWRpbmcgKi9cclxuICBASW5wdXQoKVxyXG4gIGxvYWRpbmc/O1xyXG4gIC8qKiBidXR0b24gc2l6ZSBsYXJnZSB8fCByZWd1bGFyIHx8IHNtYWxsICovXHJcbiAgQElucHV0KClcclxuICBzaXplPz0gJ3JlZ3VsYXInO1xyXG4gIEBJbnB1dCgpXHJcbiAgLyoqIGF2YWlsYWJsZSB0aGVtZXM6IHByaW1hcnkgLCBibHVlICwgZ3JlZW4gLCBkYW5nZXIsIGRhcmssIGxpZ2h0LWdyYXksIG91dGxpbmUtZGFyayAqL1xyXG4gIHRoZW1lPz0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKSBzcGlubmVyVGhlbWluZyA9ICdwcmltYXJ5JyA7IC8vIHZhbHVlIGNvdWxkIGJlIHByaW1hcnkgLCBhY2NlbnQgLCB3YXJuXHJcbiAgY2xhc3NlcztcclxuICAvKiogYnV0dG9uIGNsaWNrIGV2ZW50ICovXHJcbiAgQE91dHB1dCgpXHJcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBlbWl0Q2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xpY2submV4dCgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAvL0NhbGxlZCBiZWZvcmUgYW55IG90aGVyIGxpZmVjeWNsZSBob29rLiBVc2UgaXQgdG8gaW5qZWN0IGRlcGVuZGVuY2llcywgYnV0IGF2b2lkIGFueSBzZXJpb3VzIHdvcmsgaGVyZS5cclxuICAgIC8vQWRkICcke2ltcGxlbWVudHMgT25DaGFuZ2VzfScgdG8gdGhlIGNsYXNzLlxyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc2VzKCkge1xyXG4gICAgbGV0IGNsYXNzZXMgPSB7XHJcbiAgICAgIC8vdGhlbWVcclxuICAgICAgcHJpbWFyeTogdGhpcy50aGVtZSA9PT0gJ3ByaW1hcnknLFxyXG4gICAgICBibHVlOiB0aGlzLnRoZW1lID09PSAnYmx1ZScsXHJcbiAgICAgIGdyZWVuOiB0aGlzLnRoZW1lID09PSAnZ3JlZW4nLFxyXG4gICAgICBkYW5nZXI6IHRoaXMudGhlbWUgPT09ICdkYW5nZXInLFxyXG4gICAgICBkYXJrOiB0aGlzLnRoZW1lID09PSAnZGFyaycsXHJcbiAgICAgIGdyYXk6IHRoaXMudGhlbWUgPT09ICdncmF5JyxcclxuICAgICAgJ2xpZ2h0LWdyYXknOiB0aGlzLnRoZW1lID09PSAnbGlnaHQtZ3JheScsXHJcbiAgICAgICdvdXRsaW5lLWRhcmsnOiB0aGlzLnRoZW1lID09PSAnb3V0bGluZS1kYXJrJyxcclxuICAgICAgLy9zaXplc1xyXG4gICAgICBsYXJnZTogdGhpcy5zaXplID09PSAnbGFyZ2UnLFxyXG4gICAgICByZWd1bGFyOiB0aGlzLnNpemUgPT09ICdyZWd1bGFyJywgXHJcbiAgICAgIHNtYWxsOiB0aGlzLnNpemUgPT09ICdzbWFsbCcsXHJcbiAgICAgIC8vbG9hZGluZ1xyXG4gICAgICBzdWJtaXR0aW5nOiB0aGlzLmxvYWRpbmcsXHJcbiAgICAgIC8vYWN0aW9uc1xyXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcclxuICAgIH07XHJcbiAgICB0aGlzLmNsYXNzZXMgPSBjbGFzc2VzO1xyXG4gIH1cclxufVxyXG4iLCI8YnV0dG9uXHJcbnR5cGU9XCJidXR0b25cIlxyXG5jbGFzcz1cImJ0blwiXHJcbiAgbWF0LWJ1dHRvblxyXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2FkaW5nXCJcclxuICAoY2xpY2spPVwiZW1pdENsaWNrKClcIlxyXG4gIFtuZ0NsYXNzXT1cInRoaXMuY2xhc3Nlc1wiXHJcbj5cclxuICA8bmctY29udGVudCAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIHNwaW5uZXJcIj48L25nLWNvbnRlbnQ+XHJcbiAgPG5nLXRlbXBsYXRlICNzcGlubmVyPlxyXG4gICAgPG1hdC1zcGlubmVyIGNsYXNzPVwic3Bpbm5lclwiIFtkaWFtZXRlcl09XCIyNVwiIFtjb2xvcl09XCJzcGlubmVyVGhlbWluZ1wiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9idXR0b24+XHJcbiJdfQ==
|