nuxeo-development-framework 4.1.8 → 4.1.9

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.
@@ -166,7 +166,7 @@ export class DynamicFieldsRendererComponent {
166
166
  }
167
167
  }
168
168
  DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
- DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n data-selector-id=\"{{ field.formControlName }}\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *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 <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\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 [disabled]=\"field.disabled\"\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=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\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 [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i3.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
169
+ DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n id=\"{{ field.formControlName }}\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *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 <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\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 [disabled]=\"field.disabled\"\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=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\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 [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i3.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
170
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
171
171
  type: Component,
172
172
  args: [{
@@ -186,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
186
186
  }], fields: [{
187
187
  type: Input
188
188
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLDhCQUE4QjtJQW9KekM7UUFoSlMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFdBQU0sR0FBRztZQUNoQjtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcseUJBQXlCO2dCQUNqQyxlQUFlLEVBQUcsU0FBUztnQkFDM0IsV0FBVyxFQUFHLHlCQUF5QjtnQkFDdkMsUUFBUSxFQUFHLElBQUk7Z0JBQ2YsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcsd0JBQXdCO2dCQUNoQyxlQUFlLEVBQUcsZ0JBQWdCO2dCQUNsQyxXQUFXLEVBQUcsd0JBQXdCO2dCQUN0QyxRQUFRLEVBQUcsS0FBSztnQkFDaEIsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtn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Q0FBQyxDQUFDO2FBQ3BEO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4RTtTQUNGO0lBQ0gsQ0FBQzs7NEhBOUpVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDJNQ1IzQyxpc0pBNkdBOzRGRHJHYSw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN2QzswRUFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uICwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmllbGRzLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbiA6IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTtcclxuICBASW5wdXQoKSBhZ2VuY3lOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSBcImFkZFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IFtcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9TVUJKRUNUXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic3ViamVjdFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgcmVxdWlyZWQgOiB0cnVlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9OVU1CRVJcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJkb2N1bWVudE51bWJlclwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RhdGUnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX0RBVEVcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJnZG9jdW1lbnREYXRlXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsIDogJ2xhYmVsJyxcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkIDogZmFsc2UsXHJcbiAgICAgIHZvY2FidWxhcnlUeXBlIDogJ1ZPQ19TZWNyZWN5TGV2ZWwnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcInNlY3JlY3lMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2R5bmFtaWMtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuSU1QT1JUQU5DRV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX0ltcG9ydGFuY2UnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImltcG9ydGFuY2VMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RlcGFydG1lbnQtc2VsZWN0b3InLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJwbGVhc2Ugc2VsZWN0IGRlcGFydG1lbnRcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIHBwX2RlcGFydG1lbnRUcmVlIDogXCJQUF9PU19EZXBhcnRtZW50c1wiLFxyXG4gICAgICBjdXN0b21QcmVmaXggOiBcIm9zZGVwdFwiLFxyXG4gICAgICBjdXN0b21QYXJlbnRQcm9wZXJ0eSA6IFwib3NkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHVzZUN1c3RvbUFkZEVkaXRBY3Rpb24gOiB0cnVlLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQUdFTkNZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJhZ2VuY3lDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfTkFNRVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19BZ2VuY3knLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnYWdlbmN5TmFtZScsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJjb3VudHJ5Q2F0ZWdvcnlDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGZpbHRlciA6ICcnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQ09VTlRSWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0NvdW50cnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlOYW1lXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZmlsdGVyIDogJ2NvdW50cnlOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwicmVtYXJrc1wiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgcmVxdWlyZWQgOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09IFwiYWRkXCIpIHtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KFwic2VjcmVjeUxldmVsXCIpLnBhdGNoVmFsdWUoXCJOb3JtYWxcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBcImVkaXRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZSh0aGlzLmZvcm0udmFsdWUuc2VjcmVjeUxldmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyZW5kZXJlci1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogZmllbGQucGVybWlzc2lvbiwgZW50aXR5OiBmaWVsZC5mb3JtQ29udHJvbE5hbWUgfVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cImZpZWxkLXN0eWxlXCJcclxuICAgICAgICAgICAgZGF0YS1zZWxlY3Rvci1pZD1cInt7IGZpZWxkLmZvcm1Db250cm9sTmFtZSB9fVwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIge3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdudW1iZXInXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtc3R5bGVcIj5cclxuICAgICAgICAgICAge3sgZmllbGQubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlZC01MDBcIiAqbmdJZj1cImZpZWxkLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG1pbj1cIjFcIlxyXG4gICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmaWVsZC1zdHlsZVwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIge3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkYXRlJ1wiPlxyXG4gICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW1cclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jdHMtZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCJcclxuICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdm9jYWJ1bGFyeSdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgICBbYmluZExhYmVsXT1cImZpZWxkLmJpbmRMYWJlbFwiXHJcbiAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZpZWxkLnNlYXJjaGFibGVcIlxyXG4gICAgICAgICAgICBbY2xvc2VPblNlbGVjdF09XCJmaWVsZC5jbG9zZU9uU2VsZWN0XCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZpZWxkLmhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAgICAgW3ZvY2FidWxhcnlUeXBlXT1cImZpZWxkLnZvY2FidWxhcnlUeXBlXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkZXBhcnRtZW50LXNlbGVjdG9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiICpuZ0lmPVwiZmllbGQucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnRcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVdPVwiZmllbGQucHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50VHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50VHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVByZWZpeF09XCJmaWVsZC5jdXN0b21QcmVmaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21QYXJlbnRQcm9wZXJ0eV09XCJmaWVsZC5jdXN0b21QYXJlbnRQcm9wZXJ0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3VzZUN1c3RvbUFkZEVkaXRBY3Rpb25dPVwiZmllbGQudXNlQ3VzdG9tQWRkRWRpdEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIlxyXG4gICAgICAgICAgKm5nSWY9XCJmaWVsZC50eXBlID09PSAndHJhbnNsYXRlZC12b2NhYnVsYXJ5J1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0XHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXHJcbiAgICAgICAgICAgIFthcmJCaW5kTGFiZWxdPVwiZmllbGQuYXJiQmluZExhYmVsXCJcclxuICAgICAgICAgICAgW2VuZ0JpbmRMYWJlbF09XCJmaWVsZC5lbmdCaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmaWVsZC5zZWFyY2hhYmxlXCJcclxuICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiZmllbGQuY2xvc2VPblNlbGVjdFwiXHJcbiAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmaWVsZC5oaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgW3ZvY2J1bGFyeUlkXT1cImZpZWxkLnZvY2J1bGFyeUlkXCJcclxuICAgICAgICAgICAgW3VzZUZpbHRlcl09XCJmaWVsZC51c2VGaWx0ZXJcIlxyXG4gICAgICAgICAgICBbZmlsdGVyXT1cIlxyXG4gICAgICAgICAgICAgIGZpZWxkLmZpbHRlciA9PT0gJ2FnZW5jeU5hbWUnXHJcbiAgICAgICAgICAgICAgICA/IGFnZW5jeU5hbWVGaWx0ZXJcclxuICAgICAgICAgICAgICAgIDogZmllbGQuZmlsdGVyID09PSAnY291bnRyeU5hbWUnXHJcbiAgICAgICAgICAgICAgICA/IGNvdW50cnlOYW1lRmlsdGVyXHJcbiAgICAgICAgICAgICAgICA6IHt9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtwYXJhbXNdPVwiZmllbGQucGFyYW1zIHx8IHt9XCJcclxuICAgICAgICAgICAgW2dldEJ5RGlyZWN0b3J5U3VnZ2VzdGlvbl09XCJmaWVsZC5nZXRCeURpcmVjdG9yeVN1Z2dlc3Rpb25cIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9hcHAtdHJhbnNsYXRlZC12b2NhYnVsYXJ5LXNlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLDhCQUE4QjtJQW9KekM7UUFoSlMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFdBQU0sR0FBRztZQUNoQjtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcseUJBQXlCO2dCQUNqQyxlQUFlLEVBQUcsU0FBUztnQkFDM0IsV0FBVyxFQUFHLHlCQUF5QjtnQkFDdkMsUUFBUSxFQUFHLElBQUk7Z0JBQ2YsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcsd0JBQXdCO2dCQUNoQyxlQUFlLEVBQUcsZ0JBQWdCO2dCQUNsQyxXQUFXLEVBQUcsd0JBQXdCO2dCQUN0QyxRQUFRLEVBQUcsS0FBSztnQkFDaEIsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtn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Q0FBQyxDQUFDO2FBQ3BEO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4RTtTQUNGO0lBQ0gsQ0FBQzs7NEhBOUpVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDJNQ1IzQyxtckpBNkdBOzRGRHJHYSw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN2QzswRUFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uICwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmllbGRzLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbiA6IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTtcclxuICBASW5wdXQoKSBhZ2VuY3lOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSBcImFkZFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IFtcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9TVUJKRUNUXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic3ViamVjdFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgcmVxdWlyZWQgOiB0cnVlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9OVU1CRVJcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJkb2N1bWVudE51bWJlclwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RhdGUnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX0RBVEVcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJnZG9jdW1lbnREYXRlXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsIDogJ2xhYmVsJyxcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkIDogZmFsc2UsXHJcbiAgICAgIHZvY2FidWxhcnlUeXBlIDogJ1ZPQ19TZWNyZWN5TGV2ZWwnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcInNlY3JlY3lMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2R5bmFtaWMtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuSU1QT1JUQU5DRV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX0ltcG9ydGFuY2UnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImltcG9ydGFuY2VMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RlcGFydG1lbnQtc2VsZWN0b3InLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJwbGVhc2Ugc2VsZWN0IGRlcGFydG1lbnRcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIHBwX2RlcGFydG1lbnRUcmVlIDogXCJQUF9PU19EZXBhcnRtZW50c1wiLFxyXG4gICAgICBjdXN0b21QcmVmaXggOiBcIm9zZGVwdFwiLFxyXG4gICAgICBjdXN0b21QYXJlbnRQcm9wZXJ0eSA6IFwib3NkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHVzZUN1c3RvbUFkZEVkaXRBY3Rpb24gOiB0cnVlLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQUdFTkNZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJhZ2VuY3lDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfTkFNRVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19BZ2VuY3knLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnYWdlbmN5TmFtZScsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJjb3VudHJ5Q2F0ZWdvcnlDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGZpbHRlciA6ICcnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQ09VTlRSWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0NvdW50cnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlOYW1lXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZmlsdGVyIDogJ2NvdW50cnlOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwicmVtYXJrc1wiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgcmVxdWlyZWQgOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09IFwiYWRkXCIpIHtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KFwic2VjcmVjeUxldmVsXCIpLnBhdGNoVmFsdWUoXCJOb3JtYWxcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBcImVkaXRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZSh0aGlzLmZvcm0udmFsdWUuc2VjcmVjeUxldmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyZW5kZXJlci1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogZmllbGQucGVybWlzc2lvbiwgZW50aXR5OiBmaWVsZC5mb3JtQ29udHJvbE5hbWUgfVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cImZpZWxkLXN0eWxlXCJcclxuICAgICAgICAgICAgaWQ9XCJ7eyBmaWVsZC5mb3JtQ29udHJvbE5hbWUgfX1cIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiIHt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnbnVtYmVyJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBtaW49XCIxXCJcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmllbGQtc3R5bGVcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiIHt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgIDxjdHMtZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvY3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiXHJcbiAgICAgICAgICAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkeW5hbWljLXZvY2FidWxhcnknXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW1cclxuICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcclxuICAgICAgICAgICAgW2JpbmRMYWJlbF09XCJmaWVsZC5iaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmaWVsZC5zZWFyY2hhYmxlXCJcclxuICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiZmllbGQuY2xvc2VPblNlbGVjdFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmaWVsZC5oaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICAgICAgICAgIFt2b2NhYnVsYXJ5VHlwZV09XCJmaWVsZC52b2NhYnVsYXJ5VHlwZVwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvYXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnZGVwYXJ0bWVudC1zZWxlY3RvcidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwtc3R5bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZmllbGQubGFiZWwgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXJlZC01MDBcIiAqbmdJZj1cImZpZWxkLnJlcXVpcmVkXCI+Kjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS1kZXBhcnRtZW50XHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BwX2RlcGFydG1lbnROZXN0ZWRUcmVlXT1cImZpZWxkLnBwX2RlcGFydG1lbnROZXN0ZWRUcmVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbcHBfZGVwYXJ0bWVudFRyZWVdPVwiZmllbGQucHBfZGVwYXJ0bWVudFRyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21QcmVmaXhdPVwiZmllbGQuY3VzdG9tUHJlZml4XCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tUGFyZW50UHJvcGVydHldPVwiZmllbGQuY3VzdG9tUGFyZW50UHJvcGVydHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFt1c2VDdXN0b21BZGRFZGl0QWN0aW9uXT1cImZpZWxkLnVzZUN1c3RvbUFkZEVkaXRBY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLWR5bmFtaWMtZm9ybS1kZXBhcnRtZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCJcclxuICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeSdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxhcHAtdHJhbnNsYXRlZC12b2NhYnVsYXJ5LXNlbGVjdFxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgICBbYXJiQmluZExhYmVsXT1cImZpZWxkLmFyYkJpbmRMYWJlbFwiXHJcbiAgICAgICAgICAgIFtlbmdCaW5kTGFiZWxdPVwiZmllbGQuZW5nQmluZExhYmVsXCJcclxuICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCJmaWVsZC5iaW5kVmFsdWVcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgW211bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcclxuICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmllbGQuc2VhcmNoYWJsZVwiXHJcbiAgICAgICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImZpZWxkLmNsb3NlT25TZWxlY3RcIlxyXG4gICAgICAgICAgICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmllbGQuaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgIFt2b2NidWxhcnlJZF09XCJmaWVsZC52b2NidWxhcnlJZFwiXHJcbiAgICAgICAgICAgIFt1c2VGaWx0ZXJdPVwiZmllbGQudXNlRmlsdGVyXCJcclxuICAgICAgICAgICAgW2ZpbHRlcl09XCJcclxuICAgICAgICAgICAgICBmaWVsZC5maWx0ZXIgPT09ICdhZ2VuY3lOYW1lJ1xyXG4gICAgICAgICAgICAgICAgPyBhZ2VuY3lOYW1lRmlsdGVyXHJcbiAgICAgICAgICAgICAgICA6IGZpZWxkLmZpbHRlciA9PT0gJ2NvdW50cnlOYW1lJ1xyXG4gICAgICAgICAgICAgICAgPyBjb3VudHJ5TmFtZUZpbHRlclxyXG4gICAgICAgICAgICAgICAgOiB7fVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBbcGFyYW1zXT1cImZpZWxkLnBhcmFtcyB8fCB7fVwiXHJcbiAgICAgICAgICAgIFtnZXRCeURpcmVjdG9yeVN1Z2dlc3Rpb25dPVwiZmllbGQuZ2V0QnlEaXJlY3RvcnlTdWdnZXN0aW9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvYXBwLXRyYW5zbGF0ZWQtdm9jYWJ1bGFyeS1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -20591,7 +20591,7 @@ class DynamicFieldsRendererComponent {
20591
20591
  }
20592
20592
  }
20593
20593
  DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20594
- DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n data-selector-id=\"{{ field.formControlName }}\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *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 <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\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 [disabled]=\"field.disabled\"\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=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\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 [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$6.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i2$6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
20594
+ DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n id=\"{{ field.formControlName }}\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *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 <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\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 [disabled]=\"field.disabled\"\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=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\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 [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i4$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i2$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i2$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$6.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$6.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i2$6.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i1.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
20595
20595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
20596
20596
  type: Component,
20597
20597
  args: [{