@mediusinc/mng-commons 5.0.0-rc.0 → 5.0.0-rc.1
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/core/data-list/data-list-params-helpers.d.ts +82 -0
- package/core/descriptors/action.descriptor.d.ts +3 -3
- package/core/descriptors/column.descriptor.d.ts +1 -1
- package/core/descriptors/editor.descriptor.d.ts +6 -6
- package/core/descriptors/enum.descriptor.d.ts +6 -0
- package/core/descriptors/filter.descriptor.d.ts +1 -1
- package/core/descriptors/model.descriptor.d.ts +1 -1
- package/core/descriptors/table.descriptor.d.ts +6 -6
- package/core/descriptors/tableview.descriptor.d.ts +10 -10
- package/core/enum/enum-helpers.d.ts +49 -0
- package/core/error/error-helpers.d.ts +114 -0
- package/core/helpers/date.d.ts +14 -0
- package/core/helpers/object.d.ts +27 -0
- package/core/helpers/route.d.ts +35 -0
- package/core/helpers/string.d.ts +7 -0
- package/core/helpers/templates.d.ts +3 -0
- package/core/i18n/i18n-common.d.ts +6 -0
- package/core/i18n/i18n-error.d.ts +4 -0
- package/core/i18n/i18n-type.d.ts +20 -0
- package/core/index.d.ts +15 -9
- package/{model → core}/pipes/enum.pipe.d.ts +2 -2
- package/core/pipes/enumerate.pipe.d.ts +3 -3
- package/{model → core}/pipes/i18n-property.pipe.d.ts +2 -2
- package/core/pipes/template.pipe.d.ts +0 -2
- package/core/router/route-builder.d.ts +2 -4
- package/core/router/routes-builder.d.ts +5 -6
- package/core/security/permission-helpers.d.ts +3 -0
- package/core/security/permissions.model.d.ts +2 -2
- package/esm2022/core/components/notification/notification-wrapper.component.mjs +4 -4
- package/esm2022/core/components/pages/error/error.page.component.mjs +3 -3
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +3 -3
- package/esm2022/core/data-list/data-list-params-helpers.mjs +415 -0
- package/esm2022/core/data-list/filter-match.model.mjs +1 -1
- package/esm2022/core/data-providers/base.data-provider.mjs +1 -1
- package/esm2022/core/descriptors/action.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/column.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/editor.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/enum.descriptor.mjs +2 -0
- package/esm2022/core/descriptors/filter.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/model.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/table.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
- package/esm2022/core/directives/component.directive.mjs +4 -4
- package/esm2022/core/directives/dialog-keydown-handler.directive.mjs +4 -4
- package/esm2022/core/directives/template.directive.mjs +3 -3
- package/esm2022/core/enum/enum-helpers.mjs +81 -0
- package/esm2022/core/error/error-handler.mjs +3 -3
- package/esm2022/core/error/error-helpers.mjs +247 -0
- package/esm2022/core/helpers/coercion.mjs +1 -1
- package/esm2022/core/helpers/date.mjs +119 -0
- package/esm2022/core/helpers/object.mjs +145 -0
- package/esm2022/core/helpers/route.mjs +58 -0
- package/esm2022/core/helpers/string.mjs +57 -0
- package/esm2022/core/helpers/templates.mjs +4 -0
- package/esm2022/core/i18n/i18n-common.mjs +24 -0
- package/esm2022/core/i18n/i18n-error.mjs +27 -0
- package/esm2022/core/i18n/i18n-type.mjs +79 -0
- package/esm2022/core/index.mjs +17 -11
- package/esm2022/core/log/log-publisher-console.service.mjs +3 -3
- package/esm2022/core/log/logger.service.mjs +3 -3
- package/esm2022/core/pipes/boolean.pipe.mjs +4 -4
- package/esm2022/core/pipes/class-map.pipe.mjs +4 -4
- package/esm2022/core/pipes/enum.pipe.mjs +27 -0
- package/esm2022/core/pipes/enumerate-async.pipe.mjs +8 -8
- package/esm2022/core/pipes/enumerate.pipe.mjs +10 -10
- package/esm2022/core/pipes/getter.pipe.mjs +4 -4
- package/esm2022/core/pipes/i18n-property.pipe.mjs +19 -0
- package/esm2022/core/pipes/json-path.pipe.mjs +6 -6
- package/esm2022/core/pipes/parametrize.pipe.mjs +6 -6
- package/esm2022/core/pipes/template.pipe.mjs +7 -8
- package/esm2022/core/provide.mjs +1 -21
- package/esm2022/core/reflect/type-enum-metadata.mjs +1 -1
- package/esm2022/core/registry/type-registry.mjs +1 -1
- package/esm2022/core/router/route-builder.mjs +8 -24
- package/esm2022/core/router/routes-builder.mjs +17 -16
- package/esm2022/core/security/permission-helpers.mjs +14 -0
- package/esm2022/core/security/permission.guard.mjs +1 -1
- package/esm2022/core/security/permission.service.mjs +6 -6
- package/esm2022/core/security/permissions.model.mjs +1 -1
- package/esm2022/core/services/commons-configuration.service.mjs +6 -6
- package/esm2022/core/services/commons-init.service.mjs +4 -4
- package/esm2022/core/services/commons-router.service.mjs +4 -4
- package/esm2022/core/services/commons.service.mjs +4 -4
- package/esm2022/core/services/local-storage-config.service.mjs +4 -4
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +9 -10
- package/esm2022/filter/descriptors/filter.descriptor.mjs +1 -1
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -1
- package/esm2022/form/api/descriptors/button-style.builder.mjs +1 -1
- package/esm2022/form/components/autocomplete/autocomplete.component.mjs +7 -7
- package/esm2022/form/components/date-range/date-range.component.mjs +4 -4
- package/esm2022/form/components/dropdown/dropdown.component.mjs +7 -7
- package/esm2022/form/directives/input-trim.directive.mjs +4 -4
- package/esm2022/model/descriptors/enum.descriptor.mjs +1 -1
- package/esm2022/model/descriptors/model.descriptor.mjs +4 -4
- package/esm2022/model/helpers/i18n.mjs +45 -0
- package/esm2022/model/helpers/model.mjs +71 -0
- package/esm2022/model/index.mjs +4 -7
- package/esm2022/table/api/data-providers/table.data-provider.mjs +1 -1
- package/esm2022/table/api/descriptors/column.descriptor.mjs +1 -1
- package/esm2022/table/api/descriptors/table.descriptor.mjs +36 -8
- package/esm2022/table/api/helpers/class-attribute-converter.mjs +1 -1
- package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +9 -9
- package/esm2022/table/components/column-value/column-value.component.mjs +12 -14
- package/esm2022/table/components/table/table.component.mjs +20 -37
- package/esm2022/table/helpers/notification.mjs +4 -4
- package/esm2022/table/pipes/locale-default-row-class.pipe.mjs +4 -4
- package/esm2022/table/pipes/table-column-filter-class.pipe.mjs +4 -4
- package/esm2022/table/services/data-list.service.mjs +3 -3
- package/esm2022/tableview/action/components/action/action.component.mjs +9 -9
- package/esm2022/tableview/action/components/editor/action-editor.component.mjs +4 -4
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +6 -6
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +3 -3
- package/esm2022/tableview/action/components/route/action-route.component.mjs +4 -4
- package/esm2022/tableview/action/components/table/action-table.component.mjs +12 -24
- package/esm2022/tableview/action/helpers/i18n.mjs +82 -0
- package/esm2022/tableview/action/helpers/notification.mjs +8 -8
- package/esm2022/tableview/action/helpers/styles.mjs +1 -1
- package/esm2022/tableview/action/models/execution/action-context.model.mjs +1 -1
- package/esm2022/tableview/action/models/execution/action-instance.model.mjs +1 -1
- package/esm2022/tableview/action/services/action-error-mapper.service.mjs +1 -1
- package/esm2022/tableview/action/services/action-executor.service.mjs +9 -8
- package/esm2022/tableview/action/services/component-action-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/navigation.service.mjs +4 -4
- package/esm2022/tableview/action/services/providers/provide-view-container.mjs +1 -1
- package/esm2022/tableview/action/services/root-action-executor.service.mjs +3 -3
- package/esm2022/tableview/action/services/view-container.service.mjs +3 -3
- package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +1 -1
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +4 -4
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +3 -3
- package/esm2022/tableview/api/editor/descriptors/field-group.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +8 -8
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +4 -4
- package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +1 -1
- package/esm2022/tableview/api/editor/helpers/field-validators.mjs +1 -1
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +3 -3
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +1 -1
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +4 -4
- package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +1 -1
- package/esm2022/tableview/api/tableview/helpers/files-export.mjs +1 -1
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +4 -4
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +1 -1
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +9 -9
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +7 -7
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +9 -9
- package/esm2022/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +3 -3
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +4 -4
- package/esm2022/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +4 -4
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +335 -0
- package/esm2022/tableview/editor/helpers/formly-config.mjs +1 -1
- package/esm2022/tableview/editor/services/formly-config.provider.mjs +1 -1
- package/esm2022/tableview/index.mjs +3 -5
- package/esm2022/tableview/provide.mjs +2 -1
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +3 -3
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +10 -19
- package/esm2022/tableview/tableview/router/tableview-route-builder.mjs +1 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +1367 -1389
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +8 -9
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +17 -17
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs +99 -148
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +35 -7
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +48 -65
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +19 -19
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +507 -572
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/filter/descriptors/filter.descriptor.d.ts +2 -2
- package/model/descriptors/model.descriptor.d.ts +2 -2
- package/model/helpers/i18n.d.ts +10 -0
- package/model/helpers/model.d.ts +5 -0
- package/model/index.d.ts +2 -4
- package/package.json +7 -7
- package/table/api/descriptors/table.descriptor.d.ts +10 -0
- package/table/components/column-value/column-value.component.d.ts +3 -4
- package/table/components/table/table.component.d.ts +13 -13
- package/tableview/action/components/table/action-table.component.d.ts +6 -6
- package/tableview/action/helpers/i18n.d.ts +22 -0
- package/tableview/action/models/execution/action-instance-state.model.d.ts +21 -21
- package/tableview/action/services/action-executor.service.d.ts +1 -1
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +1 -1
- package/tableview/api/action/descriptors/action.descriptor.d.ts +3 -3
- package/tableview/api/action/models/action.type.d.ts +2 -2
- package/tableview/api/action/models/execution/action-instance-state.model.d.ts +21 -21
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +2 -2
- package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +2 -2
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +5 -5
- package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +4 -4
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +4 -4
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +4 -4
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +2 -2
- package/tableview/api/editor/models/editor-fields.model.d.ts +3 -3
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +2 -2
- package/tableview/editor/helpers/editor-formly.d.ts +10 -0
- package/tableview/index.d.ts +2 -2
- package/tableview/tableview/components/tableview/tableview.component.d.ts +5 -5
- package/core/data-list/data-list-params.util.d.ts +0 -84
- package/core/enum/enum.util.d.ts +0 -51
- package/core/error/error.util.d.ts +0 -116
- package/core/security/permission.util.d.ts +0 -5
- package/core/utils/date.util.d.ts +0 -20
- package/core/utils/i18n.util.d.ts +0 -36
- package/core/utils/object.util.d.ts +0 -31
- package/core/utils/route.util.d.ts +0 -37
- package/core/utils/string.util.d.ts +0 -9
- package/esm2022/core/data-list/data-list-params.util.mjs +0 -417
- package/esm2022/core/enum/enum.util.mjs +0 -83
- package/esm2022/core/error/error.util.mjs +0 -249
- package/esm2022/core/security/permission.util.mjs +0 -16
- package/esm2022/core/utils/date.util.mjs +0 -136
- package/esm2022/core/utils/i18n.util.mjs +0 -137
- package/esm2022/core/utils/object.util.mjs +0 -147
- package/esm2022/core/utils/route.util.mjs +0 -60
- package/esm2022/core/utils/string.util.mjs +0 -59
- package/esm2022/model/pipes/enum.pipe.mjs +0 -26
- package/esm2022/model/pipes/i18n-property.pipe.mjs +0 -19
- package/esm2022/model/utils/i18n.util.mjs +0 -51
- package/esm2022/model/utils/model.util.mjs +0 -73
- package/esm2022/tableview/action/utils/i18n.util.mjs +0 -126
- package/esm2022/tableview/editor/utils/editor-formly.util.mjs +0 -337
- package/model/utils/i18n.util.d.ts +0 -15
- package/model/utils/model.util.d.ts +0 -8
- package/tableview/action/utils/i18n.util.d.ts +0 -48
- package/tableview/editor/utils/editor-formly.util.d.ts +0 -12
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import { map } from 'rxjs/operators';
|
|
2
|
+
import { CommonsInternalError, CommonsService } from '@mediusinc/mng-commons/core';
|
|
3
|
+
import { type } from '@mediusinc/mng-commons/model';
|
|
4
|
+
import { FieldActionDescriptor, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, TableviewDescriptor, TableviewEditorTypeEnum } from '@mediusinc/mng-commons/tableview/api';
|
|
5
|
+
export function createFormlyConfigFromDescriptor(descriptor, formEditorComponent) {
|
|
6
|
+
const fields = [];
|
|
7
|
+
if (descriptor.isLocalized) {
|
|
8
|
+
descriptor = createFormlyLocalizationsTab(descriptor);
|
|
9
|
+
}
|
|
10
|
+
if (!descriptor.isLocalized && descriptor.tabs.length === 1 && descriptor.tabs[0].default) {
|
|
11
|
+
// dont use tabs
|
|
12
|
+
fields.push(...createFormlyGroupType(descriptor.tabs[0].fields, formEditorComponent));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
fields.push(...createFormlyTabType(descriptor.tabs, formEditorComponent));
|
|
16
|
+
}
|
|
17
|
+
return fields;
|
|
18
|
+
}
|
|
19
|
+
export function createFormlyLocalizationsTab(descriptor) {
|
|
20
|
+
if (descriptor.isLocalized && descriptor.tableviewEditorType !== TableviewEditorTypeEnum.Details) {
|
|
21
|
+
if (!descriptor.localizationModel) {
|
|
22
|
+
throw new CommonsInternalError('Localization model must be defined.');
|
|
23
|
+
}
|
|
24
|
+
const localizationsTableViewDescriptor = TableviewDescriptor.fromModel(descriptor.localizationModel);
|
|
25
|
+
if (!descriptor.localizationLocaleProperty) {
|
|
26
|
+
throw new CommonsInternalError('Localization locale property must be defined.');
|
|
27
|
+
}
|
|
28
|
+
localizationsTableViewDescriptor.addColumn(descriptor.localizationLocaleProperty);
|
|
29
|
+
localizationsTableViewDescriptor.editEditor.addField(descriptor.localizationLocaleProperty).withDisabled(true);
|
|
30
|
+
localizationsTableViewDescriptor.detailsEditor.addField(descriptor.localizationLocaleProperty).withDisabled(true);
|
|
31
|
+
localizationsTableViewDescriptor.addEditor
|
|
32
|
+
.addFieldLookupWithProvider(descriptor.localizationLocaleProperty, CommonsService, type())
|
|
33
|
+
.withLookup((qp, service) => service.appDataLanguages)
|
|
34
|
+
.withDisabled(false)
|
|
35
|
+
.withRequired();
|
|
36
|
+
descriptor.fields.forEach(field => {
|
|
37
|
+
if (field.isLocalized) {
|
|
38
|
+
localizationsTableViewDescriptor.addColumn(field.property);
|
|
39
|
+
localizationsTableViewDescriptor.addField(field.property);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
const descriptorWithLocalizations = descriptor.copy();
|
|
43
|
+
descriptorWithLocalizations.createTabGroup('localizations');
|
|
44
|
+
if (!descriptor.localizationLocalizationProperty) {
|
|
45
|
+
throw new CommonsInternalError('Localization localization property must be defined');
|
|
46
|
+
}
|
|
47
|
+
descriptorWithLocalizations.addFieldManyEditor(descriptor.localizationLocalizationProperty, localizationsTableViewDescriptor);
|
|
48
|
+
return descriptorWithLocalizations;
|
|
49
|
+
}
|
|
50
|
+
return descriptor;
|
|
51
|
+
}
|
|
52
|
+
export function createFormlyTabType(tabGroups, formEditorComponent) {
|
|
53
|
+
const tabsField = {
|
|
54
|
+
type: 'tabs',
|
|
55
|
+
fieldGroup: [],
|
|
56
|
+
props: {
|
|
57
|
+
formEditorComponent
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
for (const tab of tabGroups) {
|
|
61
|
+
const tabField = {
|
|
62
|
+
id: tab.name,
|
|
63
|
+
props: {
|
|
64
|
+
formEditorComponent
|
|
65
|
+
},
|
|
66
|
+
expressions: {},
|
|
67
|
+
fieldGroup: []
|
|
68
|
+
};
|
|
69
|
+
if (tab.title) {
|
|
70
|
+
tabField.props.label = tab.title;
|
|
71
|
+
}
|
|
72
|
+
tabField.fieldGroup.push(...createFormlyGroupType(tab.fields, formEditorComponent));
|
|
73
|
+
tabsField.fieldGroup.push(tabField);
|
|
74
|
+
}
|
|
75
|
+
return [tabsField];
|
|
76
|
+
}
|
|
77
|
+
export function createFormlyGroupType(groups, formEditorComponent) {
|
|
78
|
+
if (groups.length === 1 && groups[0].default) {
|
|
79
|
+
// dont use fieldset, just create fields
|
|
80
|
+
return createFormlyFields(groups[0], formEditorComponent);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
const groupsField = {
|
|
84
|
+
type: 'fieldset',
|
|
85
|
+
fieldGroup: [],
|
|
86
|
+
props: {
|
|
87
|
+
formEditorComponent
|
|
88
|
+
},
|
|
89
|
+
expressions: {}
|
|
90
|
+
};
|
|
91
|
+
for (const group of groups) {
|
|
92
|
+
const groupField = {
|
|
93
|
+
id: group.name,
|
|
94
|
+
props: {
|
|
95
|
+
descriptor: group
|
|
96
|
+
},
|
|
97
|
+
expressions: {},
|
|
98
|
+
fieldGroup: []
|
|
99
|
+
};
|
|
100
|
+
if (group.title) {
|
|
101
|
+
groupField.props.label = group.title;
|
|
102
|
+
}
|
|
103
|
+
groupField.fieldGroup.push(...createFormlyFields(group, formEditorComponent));
|
|
104
|
+
groupsField.fieldGroup.push(groupField);
|
|
105
|
+
}
|
|
106
|
+
return [groupsField];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export function createFormlyFields(descriptor, formEditorComponent) {
|
|
110
|
+
const fields = [];
|
|
111
|
+
for (const descriptorField of descriptor.fields) {
|
|
112
|
+
fields.push(createFormlyField(descriptorField, formEditorComponent));
|
|
113
|
+
}
|
|
114
|
+
// wrap in group to be able to use flex grid
|
|
115
|
+
const wrapperGroup = {
|
|
116
|
+
fieldGroupClassName: 'p-fluid formgrid grid',
|
|
117
|
+
fieldGroup: fields
|
|
118
|
+
};
|
|
119
|
+
addValidationsToFormlyField(wrapperGroup, descriptor.validations);
|
|
120
|
+
return [wrapperGroup];
|
|
121
|
+
}
|
|
122
|
+
export function createFormlyField(descriptor, formEditorComponent) {
|
|
123
|
+
const field = {
|
|
124
|
+
key: descriptor.property,
|
|
125
|
+
modelOptions: {
|
|
126
|
+
updateOn: descriptor.updateOn
|
|
127
|
+
},
|
|
128
|
+
hooks: {
|
|
129
|
+
onInit: () => (descriptor.onInit ? descriptor.onInit(field) : undefined),
|
|
130
|
+
onChanges: () => (descriptor.onChanges ? descriptor.onChanges(field) : undefined),
|
|
131
|
+
afterContentInit: () => (descriptor.afterContentInit ? descriptor.afterContentInit(field) : undefined),
|
|
132
|
+
afterViewInit: () => (descriptor.afterViewInit ? descriptor.afterViewInit(field) : undefined),
|
|
133
|
+
onDestroy: () => (descriptor.onDestroy ? descriptor.onDestroy(field) : undefined)
|
|
134
|
+
},
|
|
135
|
+
props: {
|
|
136
|
+
descriptor,
|
|
137
|
+
formEditorComponent,
|
|
138
|
+
onValueChange: descriptor.onValueChange
|
|
139
|
+
},
|
|
140
|
+
expressions: {}
|
|
141
|
+
};
|
|
142
|
+
let className = descriptor.className;
|
|
143
|
+
if (!className) {
|
|
144
|
+
// assign default field width through entire row
|
|
145
|
+
className = 'col-12';
|
|
146
|
+
}
|
|
147
|
+
field.className = className;
|
|
148
|
+
if (descriptor instanceof FieldInputDescriptor) {
|
|
149
|
+
switch (descriptor.fieldType) {
|
|
150
|
+
case FieldInputTypeEnum.Hidden:
|
|
151
|
+
break;
|
|
152
|
+
case FieldInputTypeEnum.Label:
|
|
153
|
+
field.type = 'label';
|
|
154
|
+
delete field.key;
|
|
155
|
+
break;
|
|
156
|
+
case FieldInputTypeEnum.Textarea:
|
|
157
|
+
field.type = 'textarea';
|
|
158
|
+
field.props.maxLength = descriptor.maxLength;
|
|
159
|
+
field.props.minLength = descriptor.minLength;
|
|
160
|
+
field.props.pattern = descriptor.pattern;
|
|
161
|
+
break;
|
|
162
|
+
case FieldInputTypeEnum.Number:
|
|
163
|
+
field.type = 'number';
|
|
164
|
+
field.props.min = descriptor.numberMin;
|
|
165
|
+
field.props.max = descriptor.numberMax;
|
|
166
|
+
break;
|
|
167
|
+
case FieldInputTypeEnum.Currency:
|
|
168
|
+
field.type = 'currency';
|
|
169
|
+
field.props.min = descriptor.numberMin;
|
|
170
|
+
field.props.max = descriptor.numberMax;
|
|
171
|
+
break;
|
|
172
|
+
case FieldInputTypeEnum.Switch:
|
|
173
|
+
field.type = 'switch';
|
|
174
|
+
field.defaultValue = false;
|
|
175
|
+
break;
|
|
176
|
+
case FieldInputTypeEnum.Radio:
|
|
177
|
+
field.type = 'radio';
|
|
178
|
+
break;
|
|
179
|
+
case FieldInputTypeEnum.Datepicker:
|
|
180
|
+
field.type = 'datepicker';
|
|
181
|
+
break;
|
|
182
|
+
case FieldInputTypeEnum.Mask:
|
|
183
|
+
field.type = 'mask';
|
|
184
|
+
break;
|
|
185
|
+
case FieldInputTypeEnum.File:
|
|
186
|
+
case FieldInputTypeEnum.ImageFile:
|
|
187
|
+
field.type = 'file';
|
|
188
|
+
break;
|
|
189
|
+
case FieldInputTypeEnum.ImageUrl:
|
|
190
|
+
field.type = 'imageUrl';
|
|
191
|
+
break;
|
|
192
|
+
case FieldInputTypeEnum.Custom:
|
|
193
|
+
if (descriptor.customComponentType) {
|
|
194
|
+
field.type = 'custom';
|
|
195
|
+
field.props['customComponentType'] = descriptor.customComponentType;
|
|
196
|
+
if (Array.isArray(descriptor.customComponentWrappers)) {
|
|
197
|
+
field.wrappers = descriptor.customComponentWrappers;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
// default wrapper
|
|
201
|
+
field.wrappers = ['field'];
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
break;
|
|
205
|
+
default:
|
|
206
|
+
field.type = 'input';
|
|
207
|
+
field.props.minLength = descriptor.minLength;
|
|
208
|
+
field.props.maxLength = descriptor.maxLength;
|
|
209
|
+
field.props.pattern = descriptor.pattern;
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
else if (descriptor instanceof FieldActionDescriptor) {
|
|
214
|
+
field.type = 'action';
|
|
215
|
+
field.wrappers = descriptor.wrappers;
|
|
216
|
+
delete field.key;
|
|
217
|
+
}
|
|
218
|
+
else if (descriptor instanceof FieldLookupEnumDescriptor) {
|
|
219
|
+
switch (descriptor.lookupType) {
|
|
220
|
+
case FieldLookupTypeEnum.Custom:
|
|
221
|
+
field.type = descriptor.customComponentName;
|
|
222
|
+
break;
|
|
223
|
+
default:
|
|
224
|
+
field.type = 'enum';
|
|
225
|
+
break;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
else if (descriptor instanceof FieldLookupDescriptor) {
|
|
229
|
+
switch (descriptor.lookupType) {
|
|
230
|
+
case FieldLookupTypeEnum.Autocomplete:
|
|
231
|
+
field.type = 'autocomplete';
|
|
232
|
+
break;
|
|
233
|
+
case FieldLookupTypeEnum.Dialog:
|
|
234
|
+
field.type = 'dialog';
|
|
235
|
+
break;
|
|
236
|
+
case FieldLookupTypeEnum.Custom:
|
|
237
|
+
field.type = descriptor.customComponentName;
|
|
238
|
+
break;
|
|
239
|
+
case FieldLookupTypeEnum.Dropdown:
|
|
240
|
+
default:
|
|
241
|
+
field.type = 'dropdown';
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
else if (descriptor instanceof FieldManyToManyEditorDescriptor) {
|
|
246
|
+
field.type = 'table-dialog-multiselect';
|
|
247
|
+
}
|
|
248
|
+
else if (descriptor instanceof FieldManyEditorDescriptor) {
|
|
249
|
+
field.type = 'table-dialog-form';
|
|
250
|
+
}
|
|
251
|
+
if (descriptor.label) {
|
|
252
|
+
field.props.label = descriptor.label;
|
|
253
|
+
}
|
|
254
|
+
if (descriptor.requiredExpression) {
|
|
255
|
+
field.expressions['props.required'] = descriptor.requiredExpression;
|
|
256
|
+
}
|
|
257
|
+
if (descriptor.required) {
|
|
258
|
+
field.props.required = true;
|
|
259
|
+
if (descriptor.requiredHideLabelMarker) {
|
|
260
|
+
field.props['hideRequiredMarker'] = true;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (descriptor.hiddenExpression) {
|
|
264
|
+
field.expressions['hide'] = descriptor.hiddenExpression;
|
|
265
|
+
}
|
|
266
|
+
if (descriptor.disabledExpression) {
|
|
267
|
+
field.expressions['props.disabled'] = descriptor.disabledExpression;
|
|
268
|
+
}
|
|
269
|
+
else if (descriptor.disabled) {
|
|
270
|
+
field.props.disabled = true;
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
field.expressions['props.disabled'] = 'formState.disabled';
|
|
274
|
+
}
|
|
275
|
+
if (typeof descriptor.defaultValue !== 'undefined') {
|
|
276
|
+
field.defaultValue = descriptor.defaultValue;
|
|
277
|
+
}
|
|
278
|
+
addValidationsToFormlyField(field, descriptor.validations);
|
|
279
|
+
addAsyncValidationsToFormlyField(field, descriptor.asyncValidations);
|
|
280
|
+
return field;
|
|
281
|
+
}
|
|
282
|
+
export function addValidationsToFormlyField(config, validations) {
|
|
283
|
+
if (!config.validators) {
|
|
284
|
+
config.validators = {};
|
|
285
|
+
}
|
|
286
|
+
for (const validation of validations) {
|
|
287
|
+
if (typeof validation.validator === 'function') {
|
|
288
|
+
config.validators[validation.name] = {
|
|
289
|
+
expression: (control, field, options) => {
|
|
290
|
+
const validatorRes = validation.validator(control, field, options);
|
|
291
|
+
// formly validator only excepts true/false for validation
|
|
292
|
+
// map possible angular validator result to true/false
|
|
293
|
+
return typeof validatorRes === 'boolean' ? validatorRes : validatorRes === null;
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
if (typeof validation.message === 'function') {
|
|
297
|
+
config.validators[validation.name].message = validation.message;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
if (!Array.isArray(config.validators.validation)) {
|
|
302
|
+
config.validators.validation = [];
|
|
303
|
+
}
|
|
304
|
+
config.validators.validation.push(validation.name);
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
export function addAsyncValidationsToFormlyField(config, asyncValidations) {
|
|
309
|
+
if (!config.asyncValidators) {
|
|
310
|
+
config.asyncValidators = {};
|
|
311
|
+
}
|
|
312
|
+
for (const validation of asyncValidations) {
|
|
313
|
+
if (typeof validation.validator === 'function') {
|
|
314
|
+
config.asyncValidators[validation.name] = {
|
|
315
|
+
expression: (control, field, options) => {
|
|
316
|
+
const validator = validation.validator;
|
|
317
|
+
const validatorObs = validator(control, field, options);
|
|
318
|
+
// formly validator only excepts true/false for validation
|
|
319
|
+
// map possible angular validator result to true/false
|
|
320
|
+
return validatorObs.pipe(map(value => (typeof value === 'boolean' ? value : value === null)));
|
|
321
|
+
}
|
|
322
|
+
};
|
|
323
|
+
if (typeof validation.message === 'function') {
|
|
324
|
+
config.asyncValidators[validation.name].message = validation.message;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
else {
|
|
328
|
+
if (!Array.isArray(config.asyncValidators.validation)) {
|
|
329
|
+
config.asyncValidators.validation = [];
|
|
330
|
+
}
|
|
331
|
+
config.asyncValidators.validation.push(validation.name);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZvcm1seS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWZvcm1seS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGNBQWMsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRCxPQUFPLEVBSUgscUJBQXFCLEVBR3JCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLCtCQUErQixFQUkvQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQzFCLE1BQU0sc0NBQXNDLENBQUM7QUFFOUMsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLFVBQXFDLEVBQUUsbUJBQWtEO0lBQ3RJLE1BQU0sTUFBTSxHQUF3QixFQUFFLENBQUM7SUFFdkMsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDekIsVUFBVSxHQUFHLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4RixnQkFBZ0I7UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO1NBQU0sQ0FBQztRQUNKLE1B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R0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbEcsQ0FBQzthQUNKLENBQUM7WUFDRixJQUFJLE9BQU8sVUFBVSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDekUsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNwRCxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDM0MsQ0FBQztZQUNELE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnN9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtGb3JtbHlGaWVsZENvbmZpZ30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgQ29tbW9uc1NlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5pbXBvcnQge3R5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvbW9kZWwnO1xuaW1wb3J0IHtcbiAgICBBRmllbGREZXNjcmlwdG9yLFxuICAgIENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZyxcbiAgICBFZGl0b3JEZXNjcmlwdG9ySW5zdCxcbiAgICBGaWVsZEFjdGlvbkRlc2NyaXB0b3IsXG4gICAgRmllbGRBc3luY1ZhbGlkYXRvcixcbiAgICBGaWVsZEdyb3VwRGVzY3JpcHRvcixcbiAgICBGaWVsZElucHV0RGVzY3JpcHRvcixcbiAgICBGaWVsZElucHV0VHlwZUVudW0sXG4gICAgRmllbGRMb29rdXBEZXNjcmlwdG9yLFxuICAgIEZpZWxkTG9va3VwRW51bURlc2NyaXB0b3IsXG4gICAgRmllbGRMb29rdXBUeXBlRW51bSxcbiAgICBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yLFxuICAgIEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3IsXG4gICAgRmllbGRUYWJHcm91cERlc2NyaXB0b3IsXG4gICAgRmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcixcbiAgICBJRm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICBUYWJsZXZpZXdEZXNjcmlwdG9yLFxuICAgIFRhYmxldmlld0VkaXRvclR5cGVFbnVtXG59IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlDb25maWdGcm9tRGVzY3JpcHRvcihkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxhbnk+LCBmb3JtRWRpdG9yQ29tcG9uZW50OiBJRm9ybUVkaXRvckNvbXBvbmVudDx1bmtub3duPik6IEZvcm1seUZpZWxkQ29uZmlnW10ge1xuICAgIGNvbnN0IGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSA9IFtdO1xuXG4gICAgaWYgKGRlc2NyaXB0b3IuaXNMb2NhbGl6ZWQpIHtcbiAgICAgICAgZGVzY3JpcHRvciA9IGNyZWF0ZUZvcm1seUxvY2FsaXphdGlvbnNUYWIoZGVzY3JpcHRvcik7XG4gICAgfVxuXG4gICAgaWYgKCFkZXNjcmlwdG9yLmlzTG9jYWxpemVkICYmIGRlc2NyaXB0b3IudGFicy5sZW5ndGggPT09IDEgJiYgZGVzY3JpcHRvci50YWJzWzBdLmRlZmF1bHQpIHtcbiAgICAgICAgLy8gZG9udCB1c2UgdGFic1xuICAgICAgICBmaWVsZHMucHVzaCguLi5jcmVhdGVGb3JtbHlHcm91cFR5cGUoZGVzY3JpcHRvci50YWJzWzBdLmZpZWxkcywgZm9ybUVkaXRvckNvbXBvbmVudCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkcy5wdXNoKC4uLmNyZWF0ZUZvcm1seVRhYlR5cGUoZGVzY3JpcHRvci50YWJzLCBmb3JtRWRpdG9yQ29tcG9uZW50KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpZWxkcztcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlMb2NhbGl6YXRpb25zVGFiKGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PGFueT4pIHtcbiAgICBpZiAoZGVzY3JpcHRvci5pc0xvY2FsaXplZCAmJiBkZXNjcmlwdG9yLnRhYmxldmlld0VkaXRvclR5cGUgIT09IFRhYmxldmlld0VkaXRvclR5cGVFbnVtLkRldGFpbHMpIHtcbiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmxvY2FsaXphdGlvbk1vZGVsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ0xvY2FsaXphdGlvbiBtb2RlbCBtdXN0IGJlIGRlZmluZWQuJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IgPSBUYWJsZXZpZXdEZXNjcmlwdG9yLmZyb21Nb2RlbChkZXNjcmlwdG9yLmxvY2FsaXphdGlvbk1vZGVsKTtcbiAgICAgICAgaWYgKCFkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoJ0xvY2FsaXphdGlvbiBsb2NhbGUgcHJvcGVydHkgbXVzdCBiZSBkZWZpbmVkLicpO1xuICAgICAgICB9XG4gICAgICAgIGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yLmFkZENvbHVtbihkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KTtcbiAgICAgICAgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IuZWRpdEVkaXRvci5hZGRGaWVsZChkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5KS53aXRoRGlzYWJsZWQodHJ1ZSk7XG4gICAgICAgIGxvY2FsaXphdGlvbnNUYWJsZVZpZXdEZXNjcmlwdG9yLmRldGFpbHNFZGl0b3IuYWRkRmllbGQoZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGVQcm9wZXJ0eSkud2l0aERpc2FibGVkKHRydWUpO1xuICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5hZGRFZGl0b3JcbiAgICAgICAgICAgIC5hZGRGaWVsZExvb2t1cFdpdGhQcm92aWRlcihkZXNjcmlwdG9yLmxvY2FsaXphdGlvbkxvY2FsZVByb3BlcnR5LCBDb21tb25zU2VydmljZSwgdHlwZTxzdHJpbmc+KCkpXG4gICAgICAgICAgICAud2l0aExvb2t1cCgocXAsIHNlcnZpY2UpID0+IHNlcnZpY2UuYXBwRGF0YUxhbmd1YWdlcylcbiAgICAgICAgICAgIC53aXRoRGlzYWJsZWQoZmFsc2UpXG4gICAgICAgICAgICAud2l0aFJlcXVpcmVkKCk7XG4gICAgICAgIGRlc2NyaXB0b3IuZmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgICAgICAgaWYgKGZpZWxkLmlzTG9jYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IuYWRkQ29sdW1uKGZpZWxkLnByb3BlcnR5KTtcbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb25zVGFibGVWaWV3RGVzY3JpcHRvci5hZGRGaWVsZChmaWVsZC5wcm9wZXJ0eSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yV2l0aExvY2FsaXphdGlvbnMgPSBkZXNjcmlwdG9yLmNvcHkoKTtcbiAgICAgICAgZGVzY3JpcHRvcldpdGhMb2NhbGl6YXRpb25zLmNyZWF0ZVRhYkdyb3VwKCdsb2NhbGl6YXRpb25zJyk7XG4gICAgICAgIGlmICghZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdMb2NhbGl6YXRpb24gbG9jYWxpemF0aW9uIHByb3BlcnR5IG11c3QgYmUgZGVmaW5lZCcpO1xuICAgICAgICB9XG4gICAgICAgIGRlc2NyaXB0b3JXaXRoTG9jYWxpemF0aW9ucy5hZGRGaWVsZE1hbnlFZGl0b3IoZGVzY3JpcHRvci5sb2NhbGl6YXRpb25Mb2NhbGl6YXRpb25Qcm9wZXJ0eSwgbG9jYWxpemF0aW9uc1RhYmxlVmlld0Rlc2NyaXB0b3IpO1xuXG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yV2l0aExvY2FsaXphdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBkZXNjcmlwdG9yO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZvcm1seVRhYlR5cGUodGFiR3JvdXBzOiBGaWVsZFRhYkdyb3VwRGVzY3JpcHRvcjxhbnk+W10sIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PHVua25vd24+KTogRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgY29uc3QgdGFic0ZpZWxkOiBGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgdHlwZTogJ3RhYnMnLFxuICAgICAgICBmaWVsZEdyb3VwOiBbXSxcbiAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgIGZvcm1FZGl0b3JDb21wb25lbnRcbiAgICAgICAgfVxuICAgIH07XG4gICAgZm9yIChjb25zdCB0YWIgb2YgdGFiR3JvdXBzKSB7XG4gICAgICAgIGNvbnN0IHRhYkZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcgPSB7XG4gICAgICAgICAgICBpZDogdGFiLm5hbWUsXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIGZvcm1FZGl0b3JDb21wb25lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uczoge30sXG4gICAgICAgICAgICBmaWVsZEdyb3VwOiBbXVxuICAgICAgICB9O1xuICAgICAgICBpZiAodGFiLnRpdGxlKSB7XG4gICAgICAgICAgICB0YWJGaWVsZC5wcm9wcy5sYWJlbCA9IHRhYi50aXRsZTtcbiAgICAgICAgfVxuICAgICAgICB0YWJGaWVsZC5maWVsZEdyb3VwIS5wdXNoKC4uLmNyZWF0ZUZvcm1seUdyb3VwVHlwZSh0YWIuZmllbGRzLCBmb3JtRWRpdG9yQ29tcG9uZW50KSk7XG4gICAgICAgIHRhYnNGaWVsZC5maWVsZEdyb3VwIS5wdXNoKHRhYkZpZWxkKTtcbiAgICB9XG4gICAgcmV0dXJuIFt0YWJzRmllbGRdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5R3JvdXBUeXBlKGdyb3VwczogRmllbGRHcm91cERlc2NyaXB0b3I8YW55PltdLCBmb3JtRWRpdG9yQ29tcG9uZW50OiBJRm9ybUVkaXRvckNvbXBvbmVudDx1bmtub3duPik6IEZvcm1seUZpZWxkQ29uZmlnW10ge1xuICAgIGlmIChncm91cHMubGVuZ3RoID09PSAxICYmIGdyb3Vwc1swXS5kZWZhdWx0KSB7XG4gICAgICAgIC8vIGRvbnQgdXNlIGZpZWxkc2V0LCBqdXN0IGNyZWF0ZSBmaWVsZHNcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZvcm1seUZpZWxkcyhncm91cHNbMF0sIGZvcm1FZGl0b3JDb21wb25lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGdyb3Vwc0ZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcgPSB7XG4gICAgICAgICAgICB0eXBlOiAnZmllbGRzZXQnLFxuICAgICAgICAgICAgZmllbGRHcm91cDogW10sXG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIGZvcm1FZGl0b3JDb21wb25lbnRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleHByZXNzaW9uczoge31cbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCBncm91cCBvZiBncm91cHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwRmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICBpZDogZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdG9yOiBncm91cFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXhwcmVzc2lvbnM6IHt9LFxuICAgICAgICAgICAgICAgIGZpZWxkR3JvdXA6IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKGdyb3VwLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgZ3JvdXBGaWVsZC5wcm9wcy5sYWJlbCA9IGdyb3VwLnRpdGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZ3JvdXBGaWVsZC5maWVsZEdyb3VwIS5wdXNoKC4uLmNyZWF0ZUZvcm1seUZpZWxkcyhncm91cCwgZm9ybUVkaXRvckNvbXBvbmVudCkpO1xuICAgICAgICAgICAgZ3JvdXBzRmllbGQuZmllbGRHcm91cCEucHVzaChncm91cEZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2dyb3Vwc0ZpZWxkXTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JtbHlGaWVsZHMoZGVzY3JpcHRvcjogRmllbGRHcm91cERlc2NyaXB0b3I8YW55PiwgZm9ybUVkaXRvckNvbXBvbmVudDogSUZvcm1FZGl0b3JDb21wb25lbnQ8dW5rbm93bj4pOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICBjb25zdCBmaWVsZHM6IEZvcm1seUZpZWxkQ29uZmlnW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGRlc2NyaXB0b3JGaWVsZCBvZiBkZXNjcmlwdG9yLmZpZWxkcykge1xuICAgICAgICBmaWVsZHMucHVzaChjcmVhdGVGb3JtbHlGaWVsZChkZXNjcmlwdG9yRmllbGQsIGZvcm1FZGl0b3JDb21wb25lbnQpKTtcbiAgICB9XG4gICAgLy8gd3JhcCBpbiBncm91cCB0byBiZSBhYmxlIHRvIHVzZSBmbGV4IGdyaWRcbiAgICBjb25zdCB3cmFwcGVyR3JvdXA6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgICAgICBmaWVsZEdyb3VwQ2xhc3NOYW1lOiAncC1mbHVpZCBmb3JtZ3JpZCBncmlkJyxcbiAgICAgICAgZmllbGRHcm91cDogZmllbGRzXG4gICAgfTtcblxuICAgIGFkZFZhbGlkYXRpb25zVG9Gb3JtbHlGaWVsZCh3cmFwcGVyR3JvdXAsIGRlc2NyaXB0b3IudmFsaWRhdGlvbnMpO1xuXG4gICAgcmV0dXJuIFt3cmFwcGVyR3JvdXBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRm9ybWx5RmllbGQoZGVzY3JpcHRvcjogQUZpZWxkRGVzY3JpcHRvcjxhbnksIGFueT4sIGZvcm1FZGl0b3JDb21wb25lbnQ6IElGb3JtRWRpdG9yQ29tcG9uZW50PHVua25vd24+KTogRm9ybWx5RmllbGRDb25maWcge1xuICAgIGNvbnN0IGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcgPSB7XG4gICAgICAgIGtleTogZGVzY3JpcHRvci5wcm9wZXJ0eSxcbiAgICAgICAgbW9kZWxPcHRpb25zOiB7XG4gICAgICAgICAgICB1cGRhdGVPbjogZGVzY3JpcHRvci51cGRhdGVPblxuICAgICAgICB9LFxuICAgICAgICBob29rczoge1xuICAgICAgICAgICAgb25Jbml0OiAoKSA9PiAoZGVzY3JpcHRvci5vbkluaXQgPyBkZXNjcmlwdG9yLm9uSW5pdChmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgb25DaGFuZ2VzOiAoKSA9PiAoZGVzY3JpcHRvci5vbkNoYW5nZXMgPyBkZXNjcmlwdG9yLm9uQ2hhbmdlcyhmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgYWZ0ZXJDb250ZW50SW5pdDogKCkgPT4gKGRlc2NyaXB0b3IuYWZ0ZXJDb250ZW50SW5pdCA/IGRlc2NyaXB0b3IuYWZ0ZXJDb250ZW50SW5pdChmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgYWZ0ZXJWaWV3SW5pdDogKCkgPT4gKGRlc2NyaXB0b3IuYWZ0ZXJWaWV3SW5pdCA/IGRlc2NyaXB0b3IuYWZ0ZXJWaWV3SW5pdChmaWVsZCkgOiB1bmRlZmluZWQpLFxuICAgICAgICAgICAgb25EZXN0cm95OiAoKSA9PiAoZGVzY3JpcHRvci5vbkRlc3Ryb3kgPyBkZXNjcmlwdG9yLm9uRGVzdHJveShmaWVsZCkgOiB1bmRlZmluZWQpXG4gICAgICAgIH0sXG4gICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdG9yLFxuICAgICAgICAgICAgZm9ybUVkaXRvckNvbXBvbmVudCxcbiAgICAgICAgICAgIG9uVmFsdWVDaGFuZ2U6IGRlc2NyaXB0b3Iub25WYWx1ZUNoYW5nZVxuICAgICAgICB9LFxuICAgICAgICBleHByZXNzaW9uczoge31cbiAgICB9O1xuXG4gICAgbGV0IGNsYXNzTmFtZSA9IGRlc2NyaXB0b3IuY2xhc3NOYW1lO1xuICAgIGlmICghY2xhc3NOYW1lKSB7XG4gICAgICAgIC8vIGFzc2lnbiBkZWZhdWx0IGZpZWxkIHdpZHRoIHRocm91Z2ggZW50aXJlIHJvd1xuICAgICAgICBjbGFzc05hbWUgPSAnY29sLTEyJztcbiAgICB9XG4gICAgZmllbGQuY2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuXG4gICAgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZElucHV0RGVzY3JpcHRvcikge1xuICAgICAgICBzd2l0Y2ggKGRlc2NyaXB0b3IuZmllbGRUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5IaWRkZW46XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5MYWJlbDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2xhYmVsJztcbiAgICAgICAgICAgICAgICBkZWxldGUgZmllbGQua2V5O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uVGV4dGFyZWE6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICd0ZXh0YXJlYSc7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4TGVuZ3RoID0gZGVzY3JpcHRvci5tYXhMZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluTGVuZ3RoID0gZGVzY3JpcHRvci5taW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMucGF0dGVybiA9IGRlc2NyaXB0b3IucGF0dGVybjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLk51bWJlcjpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ251bWJlcic7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluID0gZGVzY3JpcHRvci5udW1iZXJNaW47XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4ID0gZGVzY3JpcHRvci5udW1iZXJNYXg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5DdXJyZW5jeTpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2N1cnJlbmN5JztcbiAgICAgICAgICAgICAgICBmaWVsZC5wcm9wcy5taW4gPSBkZXNjcmlwdG9yLm51bWJlck1pbjtcbiAgICAgICAgICAgICAgICBmaWVsZC5wcm9wcy5tYXggPSBkZXNjcmlwdG9yLm51bWJlck1heDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLlN3aXRjaDpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ3N3aXRjaCc7XG4gICAgICAgICAgICAgICAgZmllbGQuZGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5SYWRpbzpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ3JhZGlvJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkRhdGVwaWNrZXI6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdkYXRlcGlja2VyJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLk1hc2s6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdtYXNrJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkZpbGU6XG4gICAgICAgICAgICBjYXNlIEZpZWxkSW5wdXRUeXBlRW51bS5JbWFnZUZpbGU6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdmaWxlJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgRmllbGRJbnB1dFR5cGVFbnVtLkltYWdlVXJsOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnaW1hZ2VVcmwnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZElucHV0VHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIGlmIChkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudFR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdjdXN0b20nO1xuICAgICAgICAgICAgICAgICAgICBmaWVsZC5wcm9wc1snY3VzdG9tQ29tcG9uZW50VHlwZSddID0gZGVzY3JpcHRvci5jdXN0b21Db21wb25lbnRUeXBlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudFdyYXBwZXJzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQud3JhcHBlcnMgPSBkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudFdyYXBwZXJzO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGVmYXVsdCB3cmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC53cmFwcGVycyA9IFsnZmllbGQnXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdpbnB1dCc7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWluTGVuZ3RoID0gZGVzY3JpcHRvci5taW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMubWF4TGVuZ3RoID0gZGVzY3JpcHRvci5tYXhMZW5ndGg7XG4gICAgICAgICAgICAgICAgZmllbGQucHJvcHMucGF0dGVybiA9IGRlc2NyaXB0b3IucGF0dGVybjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAoZGVzY3JpcHRvciBpbnN0YW5jZW9mIEZpZWxkQWN0aW9uRGVzY3JpcHRvcikge1xuICAgICAgICBmaWVsZC50eXBlID0gJ2FjdGlvbic7XG4gICAgICAgIGZpZWxkLndyYXBwZXJzID0gZGVzY3JpcHRvci53cmFwcGVycztcbiAgICAgICAgZGVsZXRlIGZpZWxkLmtleTtcbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZExvb2t1cEVudW1EZXNjcmlwdG9yKSB7XG4gICAgICAgIHN3aXRjaCAoZGVzY3JpcHRvci5sb29rdXBUeXBlKSB7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSBkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZW51bSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IgaW5zdGFuY2VvZiBGaWVsZExvb2t1cERlc2NyaXB0b3IpIHtcbiAgICAgICAgc3dpdGNoIChkZXNjcmlwdG9yLmxvb2t1cFR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmllbGRMb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU6XG4gICAgICAgICAgICAgICAgZmllbGQudHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBGaWVsZExvb2t1cFR5cGVFbnVtLkRpYWxvZzpcbiAgICAgICAgICAgICAgICBmaWVsZC50eXBlID0gJ2RpYWxvZyc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uQ3VzdG9tOlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSBkZXNjcmlwdG9yLmN1c3RvbUNvbXBvbmVudE5hbWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEZpZWxkTG9va3VwVHlwZUVudW0uRHJvcGRvd246XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGZpZWxkLnR5cGUgPSAnZHJvcGRvd24nO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcikge1xuICAgICAgICBmaWVsZC50eXBlID0gJ3RhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdCc7XG4gICAgfSBlbHNlIGlmIChkZXNjcmlwdG9yIGluc3RhbmNlb2YgRmllbGRNYW55RWRpdG9yRGVzY3JpcHRvcikge1xuICAgICAgICBmaWVsZC50eXBlID0gJ3RhYmxlLWRpYWxvZy1mb3JtJztcbiAgICB9XG5cbiAgICBpZiAoZGVzY3JpcHRvci5sYWJlbCkge1xuICAgICAgICBmaWVsZC5wcm9wcy5sYWJlbCA9IGRlc2NyaXB0b3IubGFiZWw7XG4gICAgfVxuXG4gICAgaWYgKGRlc2NyaXB0b3IucmVxdWlyZWRFeHByZXNzaW9uKSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMucmVxdWlyZWQnXSA9IGRlc2NyaXB0b3IucmVxdWlyZWRFeHByZXNzaW9uO1xuICAgIH1cbiAgICBpZiAoZGVzY3JpcHRvci5yZXF1aXJlZCkge1xuICAgICAgICBmaWVsZC5wcm9wcyEucmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICBpZiAoZGVzY3JpcHRvci5yZXF1aXJlZEhpZGVMYWJlbE1hcmtlcikge1xuICAgICAgICAgICAgZmllbGQucHJvcHMhWydoaWRlUmVxdWlyZWRNYXJrZXInXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVzY3JpcHRvci5oaWRkZW5FeHByZXNzaW9uKSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsnaGlkZSddID0gZGVzY3JpcHRvci5oaWRkZW5FeHByZXNzaW9uO1xuICAgIH1cblxuICAgIGlmIChkZXNjcmlwdG9yLmRpc2FibGVkRXhwcmVzc2lvbikge1xuICAgICAgICBmaWVsZC5leHByZXNzaW9ucyFbJ3Byb3BzLmRpc2FibGVkJ10gPSBkZXNjcmlwdG9yLmRpc2FibGVkRXhwcmVzc2lvbjtcbiAgICB9IGVsc2UgaWYgKGRlc2NyaXB0b3IuZGlzYWJsZWQpIHtcbiAgICAgICAgZmllbGQucHJvcHMuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkLmV4cHJlc3Npb25zIVsncHJvcHMuZGlzYWJsZWQnXSA9ICdmb3JtU3RhdGUuZGlzYWJsZWQnO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZGVzY3JpcHRvci5kZWZhdWx0VmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGZpZWxkLmRlZmF1bHRWYWx1ZSA9IGRlc2NyaXB0b3IuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIGFkZFZhbGlkYXRpb25zVG9Gb3JtbHlGaWVsZChmaWVsZCwgZGVzY3JpcHRvci52YWxpZGF0aW9ucyk7XG4gICAgYWRkQXN5bmNWYWxpZGF0aW9uc1RvRm9ybWx5RmllbGQoZmllbGQsIGRlc2NyaXB0b3IuYXN5bmNWYWxpZGF0aW9ucyk7XG5cbiAgICByZXR1cm4gZmllbGQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRWYWxpZGF0aW9uc1RvRm9ybWx5RmllbGQoY29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZywgdmFsaWRhdGlvbnM6IEFycmF5PEZpZWxkVmFsaWRhdGlvbkRlc2NyaXB0b3I+KSB7XG4gICAgaWYgKCFjb25maWcudmFsaWRhdG9ycykge1xuICAgICAgICBjb25maWcudmFsaWRhdG9ycyA9IHt9O1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9ucykge1xuICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24udmFsaWRhdG9yID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb25maWcudmFsaWRhdG9yc1t2YWxpZGF0aW9uLm5hbWVdID0ge1xuICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IChcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRm9ybWx5RmllbGRDb25maWcsXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM/OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBbaWQ6IHN0cmluZ106IGFueTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0b3JSZXMgPSB2YWxpZGF0aW9uLnZhbGlkYXRvciEoY29udHJvbCwgZmllbGQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb3JtbHkgdmFsaWRhdG9yIG9ubHkgZXhjZXB0cyB0cnVlL2ZhbHNlIGZvciB2YWxpZGF0aW9uXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcCBwb3NzaWJsZSBhbmd1bGFyIHZhbGlkYXRvciByZXN1bHQgdG8gdHJ1ZS9mYWxzZVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbGlkYXRvclJlcyA9PT0gJ2Jvb2xlYW4nID8gdmFsaWRhdG9yUmVzIDogdmFsaWRhdG9yUmVzID09PSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbGlkYXRpb24ubWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0b3JzW3ZhbGlkYXRpb24ubmFtZV0ubWVzc2FnZSA9IHZhbGlkYXRpb24ubWVzc2FnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShjb25maWcudmFsaWRhdG9ycy52YWxpZGF0aW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0b3JzLnZhbGlkYXRpb24gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbmZpZy52YWxpZGF0b3JzLnZhbGlkYXRpb24ucHVzaCh2YWxpZGF0aW9uLm5hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkQXN5bmNWYWxpZGF0aW9uc1RvRm9ybWx5RmllbGQoY29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZywgYXN5bmNWYWxpZGF0aW9uczogQXJyYXk8RmllbGRWYWxpZGF0aW9uRGVzY3JpcHRvcj4pIHtcbiAgICBpZiAoIWNvbmZpZy5hc3luY1ZhbGlkYXRvcnMpIHtcbiAgICAgICAgY29uZmlnLmFzeW5jVmFsaWRhdG9ycyA9IHt9O1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFsaWRhdGlvbiBvZiBhc3luY1ZhbGlkYXRpb25zKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi52YWxpZGF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbmZpZy5hc3luY1ZhbGlkYXRvcnNbdmFsaWRhdGlvbi5uYW1lXSA9IHtcbiAgICAgICAgICAgICAgICBleHByZXNzaW9uOiAoXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgW2lkOiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yID0gPEZpZWxkQXN5bmNWYWxpZGF0b3I+dmFsaWRhdGlvbi52YWxpZGF0b3I7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsaWRhdG9yT2JzOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBib29sZWFuIHwgbnVsbD4gPSB2YWxpZGF0b3IoY29udHJvbCwgZmllbGQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICAvLyBmb3JtbHkgdmFsaWRhdG9yIG9ubHkgZXhjZXB0cyB0cnVlL2ZhbHNlIGZvciB2YWxpZGF0aW9uXG4gICAgICAgICAgICAgICAgICAgIC8vIG1hcCBwb3NzaWJsZSBhbmd1bGFyIHZhbGlkYXRvciByZXN1bHQgdG8gdHJ1ZS9mYWxzZVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsaWRhdG9yT2JzLnBpcGUobWFwKHZhbHVlID0+ICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJyA/IHZhbHVlIDogdmFsdWUgPT09IG51bGwpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsaWRhdGlvbi5tZXNzYWdlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uZmlnLmFzeW5jVmFsaWRhdG9yc1t2YWxpZGF0aW9uLm5hbWVdLm1lc3NhZ2UgPSB2YWxpZGF0aW9uLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoY29uZmlnLmFzeW5jVmFsaWRhdG9ycy52YWxpZGF0aW9uKSkge1xuICAgICAgICAgICAgICAgIGNvbmZpZy5hc3luY1ZhbGlkYXRvcnMudmFsaWRhdGlvbiA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uZmlnLmFzeW5jVmFsaWRhdG9ycy52YWxpZGF0aW9uLnB1c2godmFsaWRhdGlvbi5uYW1lKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -257,4 +257,4 @@ export const getFormlyValidationMessages = (translate, datePipe) => {
|
|
|
257
257
|
{ name: 'maxDate', message: getMaxDateValidationMessage(translate, datePipe) }
|
|
258
258
|
];
|
|
259
259
|
};
|
|
260
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvZWRpdG9yL2hlbHBlcnMvZm9ybWx5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUN6SCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSwyRkFBMkYsQ0FBQztBQUMzSSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUMvSCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUMvSCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN0SCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSw2RkFBNkYsQ0FBQztBQUM3SSxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSxxR0FBcUcsQ0FBQztBQUN4SixPQUFPLEVBQUMsMENBQTBDLEVBQUMsTUFBTSxtSEFBbUgsQ0FBQztBQUM3SyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxxR0FBcUcsQ0FBQztBQUN2SixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUc5SCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBb0I7SUFDakQsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBQztJQUN2RCxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsa0NBQWtDLEVBQUM7Q0FDMUUsQ0FBQztBQUVGLE1BQU0s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dCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7V3JhcHBlck9wdGlvbn0gZnJvbSAnQG5neC1mb3JtbHkvY29yZS9saWIvbW9kZWxzL2NvbmZpZyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtDb21tb25zRm9ybWx5RmllbGRDb25maWcsIEZpZWxkSW5wdXREZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL3RhYmxldmlldy9hcGknO1xuXG5pbXBvcnQge0Zvcm1seUZpZWxkQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWFjdGlvbi9mb3JtbHktZmllbGQtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkQXV0b2NvbXBsZXRlQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS9mb3JtbHktZmllbGQtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkQ3VzdG9tQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWN1c3RvbS9mb3JtbHktZmllbGQtY3VzdG9tLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkRHJvcGRvd25Db21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtZHJvcGRvd24vZm9ybWx5LWZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtZmllbGRzZXQvZm9ybWx5LWZpZWxkLWZpZWxkc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtaW5wdXQvZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkTGFiZWxDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtbGFiZWwvZm9ybWx5LWZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkTG9va3VwRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWxvb2t1cC1kaWFsb2cvZm9ybWx5LWZpZWxkLWxvb2t1cC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLWZvcm0vZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtbHlGaWVsZFRhYnNDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtdGFicy9mb3JtbHktZmllbGQtdGFicy5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtbHlGaWVsZE5vTGFiZWxXcmFwcGVyQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtbHlGaWVsZFdyYXBwZXJDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC13cmFwcGVyL2Zvcm1seS1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbnNGb3JtbHlUeXBlQ29uZmlnfSBmcm9tICcuLi9tb2RlbHMvZm9ybWx5LWNvbmZpZy5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBmb3JtbHlXcmFwcGVyc0NvbmZpZzogV3JhcHBlck9wdGlvbltdID0gW1xuICAgIHtuYW1lOiAnZmllbGQnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudH0sXG4gICAge25hbWU6ICdmaWVsZC1uby1sYWJlbCcsIGNvbXBvbmVudDogRm9ybWx5RmllbGROb0xhYmVsV3JhcHBlckNvbXBvbmVudH1cbl07XG5cbmV4cG9ydCBjb25zdCBmb3JtbHlUeXBlc0NvbmZpZzogQ29tbW9uc0Zvcm1seVR5cGVDb25maWdbXSA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6ICdsYWJlbCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRMYWJlbENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnaW5wdXQnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkSW5wdXRDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtuYW1lOiAnc3RyaW5nJywgZXh0ZW5kczogJ2lucHV0J30sXG4gICAge1xuICAgICAgICBuYW1lOiAnbnVtYmVyJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnY3VycmVuY3knLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdpbnRlZ2VyJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAndGV4dGFyZWEnLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dGFyZWEnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3N3aXRjaCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ3N3aXRjaCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAncmFkaW8nLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAncmFkaW8nXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2RhdGVwaWNrZXInLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZGF0ZXBpY2tlcidcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnbWFzaycsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdtYXNrJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdmaWxlJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2ZpbGUnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2ltYWdlVXJsJyxcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2VVcmwnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2Ryb3Bkb3duJyxcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7bmFtZTogJ2VudW0nLCBleHRlbmRzOiAnZHJvcGRvd24nfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdhdXRvY29tcGxldGUnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdhY3Rpb24nLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkQWN0aW9uQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC1uby1sYWJlbCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdkaWFsb2cnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkTG9va3VwRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGFibGVEaWFsb2dNdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAndGFibGUtZGlhbG9nLWZvcm0nLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGFibGVEaWFsb2dGb3JtQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC1uby1sYWJlbCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0YWJzJyxcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZFRhYnNDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZmllbGRzZXQnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkRmllbGRzZXRDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZm9ybWx5LWdyb3VwJyxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQtbm8tbGFiZWwnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnY3VzdG9tJyxcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZEN1c3RvbUNvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfVxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlcXVpcmVkVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5yZXF1aXJlZCcsIHtmaWVsZDogZmllbGROYW1lfSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbkxlbmd0aFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgPz8gJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWluTGVuZ3RoJywge2ZpZWxkOiBmaWVsZE5hbWUsIG1pbkxlbmd0aDogZmllbGQucHJvcHMubWluTGVuZ3RofSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heExlbmd0aFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgfHwgJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWF4TGVuZ3RoJywge2ZpZWxkOiBmaWVsZE5hbWUsIG1heExlbmd0aDogZmllbGQucHJvcHMubWF4TGVuZ3RofSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pblZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgPz8gJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWluJywge2ZpZWxkOiBmaWVsZE5hbWUsIG1pbjogZmllbGQucHJvcHMubWlufSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1heFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgfHwgJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWF4Jywge2ZpZWxkOiBmaWVsZE5hbWUsIG1heDogZmllbGQucHJvcHMubWF4fSk7XG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRQYXR0ZXJuVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCA/PyAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5wYXR0ZXJuJywge2ZpZWxkOiBmaWVsZE5hbWUsIHBhdHRlcm46IGZpZWxkLnByb3BzLnBhdHRlcm59KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW1haWxWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsIHx8ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLmVtYWlsJywge2ZpZWxkOiBmaWVsZE5hbWV9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluRGF0ZVZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGlucHV0RGVzY3JpcHRvciA9IGZpZWxkLnByb3BzLmRlc2NyaXB0b3IgYXMgRmllbGRJbnB1dERlc2NyaXB0b3I8YW55PjtcbiAgICAgICAgY29uc3QgbWluRGF0ZSA9IGlucHV0RGVzY3JpcHRvci5kYXRlUGlja2VyTWluO1xuXG4gICAgICAgIGlmICghbWluRGF0ZSkgcmV0dXJuICcnO1xuICAgICAgICBsZXQgZGF0ZVN0cmluZyA9IGRhdGVQaXBlLnRyYW5zZm9ybShtaW5EYXRlLCAnZGQuIE1NLiB5eXl5JykgPz8gJyc7XG5cbiAgICAgICAgaWYgKGlucHV0RGVzY3JpcHRvci5kYXRlUGlja2VyU2hvd1RpbWUpIHtcbiAgICAgICAgICAgIGRhdGVTdHJpbmcgKz0gZGF0ZVBpcGUudHJhbnNmb3JtKG1pbkRhdGUsICcgSEg6bW06c3MnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWluRGF0ZScsIHttaW46IGRhdGVTdHJpbmd9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF4RGF0ZVZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGlucHV0RGVzY3JpcHRvciA9IGZpZWxkLnByb3BzLmRlc2NyaXB0b3IgYXMgRmllbGRJbnB1dERlc2NyaXB0b3I8YW55PjtcbiAgICAgICAgY29uc3QgbWF4RGF0ZSA9IGlucHV0RGVzY3JpcHRvci5kYXRlUGlja2VyTWF4O1xuXG4gICAgICAgIGlmICghbWF4RGF0ZSkgcmV0dXJuICcnO1xuICAgICAgICBsZXQgZGF0ZVN0cmluZyA9IGRhdGVQaXBlLnRyYW5zZm9ybShtYXhEYXRlLCAnZGQuIE1NLiB5eXl5JykgPz8gJyc7XG5cbiAgICAgICAgaWYgKGlucHV0RGVzY3JpcHRvci5kYXRlUGlja2VyU2hvd1RpbWUpIHtcbiAgICAgICAgICAgIGRhdGVTdHJpbmcgKz0gZGF0ZVBpcGUudHJhbnNmb3JtKG1heERhdGUsICcgSEg6bW06c3MnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24ubWF4RGF0ZScsIHttYXg6IGRhdGVTdHJpbmd9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Rm9ybWx5VmFsaWRhdGlvbk1lc3NhZ2VzID0gKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSwgZGF0ZVBpcGU6IERhdGVQaXBlKTogYW55W10gPT4ge1xuICAgIHJldHVybiBbXG4gICAgICAgIHtuYW1lOiAncmVxdWlyZWQnLCBtZXNzYWdlOiBnZXRSZXF1aXJlZFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21pbkxlbmd0aCcsIG1lc3NhZ2U6IGdldE1pbkxlbmd0aFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21heExlbmd0aCcsIG1lc3NhZ2U6IGdldE1heExlbmd0aFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21pbicsIG1lc3NhZ2U6IGdldE1pblZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21heCcsIG1lc3NhZ2U6IGdldE1heFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ3BhdHRlcm4nLCBtZXNzYWdlOiBnZXRUZXh0UGF0dGVyblZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ2VtYWlsJywgbWVzc2FnZTogZ2V0RW1haWxWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGUpfSxcbiAgICAgICAge25hbWU6ICdtaW5EYXRlJywgbWVzc2FnZTogZ2V0TWluRGF0ZVZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSwgZGF0ZVBpcGUpfSxcbiAgICAgICAge25hbWU6ICdtYXhEYXRlJywgbWVzc2FnZTogZ2V0TWF4RGF0ZVZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSwgZGF0ZVBpcGUpfVxuICAgIF07XG59O1xuIl19
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvZWRpdG9yL2hlbHBlcnMvZm9ybWx5LWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUN6SCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSwyRkFBMkYsQ0FBQztBQUMzSSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwrRUFBK0UsQ0FBQztBQUN6SCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUMvSCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUMvSCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN0SCxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSw2RkFBNkYsQ0FBQztBQUM3SSxPQUFPLEVBQUMsbUNBQW1DLEVBQUMsTUFBTSxxR0FBcUcsQ0FBQztBQUN4SixPQUFPLEVBQUMsMENBQTBDLEVBQUMsTUFBTSxtSEFBbUgsQ0FBQztBQUM3SyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQztBQUNuSCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxxR0FBcUcsQ0FBQztBQUN2SixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxtRkFBbUYsQ0FBQztBQUc5SCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBb0I7SUFDakQsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBQztJQUN2RCxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsa0NBQWtDLEVBQUM7Q0FDMUUsQ0FBQztBQUVGLE1BQU0s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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtXcmFwcGVyT3B0aW9ufSBmcm9tICdAbmd4LWZvcm1seS9jb3JlL2xpYi9tb2RlbHMvY29uZmlnJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0NvbW1vbnNGb3JtbHlGaWVsZENvbmZpZywgRmllbGRJbnB1dERlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvdGFibGV2aWV3L2FwaSc7XG5cbmltcG9ydCB7Rm9ybWx5RmllbGRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtYWN0aW9uL2Zvcm1seS1maWVsZC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtYXV0b2NvbXBsZXRlL2Zvcm1seS1maWVsZC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRDdXN0b21Db21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtY3VzdG9tL2Zvcm1seS1maWVsZC1jdXN0b20uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGREcm9wZG93bkNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1kcm9wZG93bi9mb3JtbHktZmllbGQtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRGaWVsZHNldENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1maWVsZHNldC9mb3JtbHktZmllbGQtZmllbGRzZXQuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1pbnB1dC9mb3JtbHktZmllbGQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRMYWJlbENvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1sYWJlbC9mb3JtbHktZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRMb29rdXBEaWFsb2dDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtbG9va3VwLWRpYWxvZy9mb3JtbHktZmllbGQtbG9va3VwLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtbHlGaWVsZFRhYmxlRGlhbG9nRm9ybUNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5RmllbGRUYWJsZURpYWxvZ011bHRpc2VsZWN0Q29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLW11bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkVGFic0NvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJzL2Zvcm1seS1maWVsZC10YWJzLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkTm9MYWJlbFdyYXBwZXJDb21wb25lbnR9IGZyb20gJy4uL2NvbXBvbmVudHMvZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyL2Zvcm1seS1maWVsZC1uby1sYWJlbC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Zvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudH0gZnJvbSAnLi4vY29tcG9uZW50cy9mb3JtbHkvd3JhcHBlcnMvZm9ybWx5LWZpZWxkLXdyYXBwZXIvZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7Q29tbW9uc0Zvcm1seVR5cGVDb25maWd9IGZyb20gJy4uL21vZGVscy9mb3JtbHktY29uZmlnLm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IGZvcm1seVdyYXBwZXJzQ29uZmlnOiBXcmFwcGVyT3B0aW9uW10gPSBbXG4gICAge25hbWU6ICdmaWVsZCcsIGNvbXBvbmVudDogRm9ybWx5RmllbGRXcmFwcGVyQ29tcG9uZW50fSxcbiAgICB7bmFtZTogJ2ZpZWxkLW5vLWxhYmVsJywgY29tcG9uZW50OiBGb3JtbHlGaWVsZE5vTGFiZWxXcmFwcGVyQ29tcG9uZW50fVxuXTtcblxuZXhwb3J0IGNvbnN0IGZvcm1seVR5cGVzQ29uZmlnOiBDb21tb25zRm9ybWx5VHlwZUNvbmZpZ1tdID0gW1xuICAgIHtcbiAgICAgICAgbmFtZTogJ2xhYmVsJyxcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdpbnB1dCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRJbnB1dENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge25hbWU6ICdzdHJpbmcnLCBleHRlbmRzOiAnaW5wdXQnfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdudW1iZXInLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdjdXJyZW5jeScsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2ludGVnZXInLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0ZXh0YXJlYScsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0YXJlYSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnc3dpdGNoJyxcbiAgICAgICAgY29tcG9uZW50OiBGb3JtbHlGaWVsZElucHV0Q29tcG9uZW50LFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdyYWRpbycsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdyYWRpbydcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZGF0ZXBpY2tlcicsXG4gICAgICAgIGV4dGVuZHM6ICdpbnB1dCcsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdkYXRlcGlja2VyJ1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdtYXNrJyxcbiAgICAgICAgZXh0ZW5kczogJ2lucHV0JyxcbiAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ21hc2snXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2ZpbGUnLFxuICAgICAgICBleHRlbmRzOiAnaW5wdXQnLFxuICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZmlsZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnaW1hZ2VVcmwnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkSW5wdXRDb21wb25lbnQsXG4gICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZVVybCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgd3JhcHBlcnM6IFsnZmllbGQnXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiAnZHJvcGRvd24nLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkRHJvcGRvd25Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtuYW1lOiAnZW51bScsIGV4dGVuZHM6ICdkcm9wZG93bid9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2F1dG9jb21wbGV0ZScsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2FjdGlvbicsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRBY3Rpb25Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkLW5vLWxhYmVsJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ2RpYWxvZycsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRMb29rdXBEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRUYWJsZURpYWxvZ011bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC1uby1sYWJlbCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICd0YWJsZS1kaWFsb2ctZm9ybScsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQsXG4gICAgICAgIHdyYXBwZXJzOiBbJ2ZpZWxkLW5vLWxhYmVsJ11cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogJ3RhYnMnLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGFic0NvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdmaWVsZHNldCcsXG4gICAgICAgIGNvbXBvbmVudDogRm9ybWx5RmllbGRGaWVsZHNldENvbXBvbmVudCxcbiAgICAgICAgd3JhcHBlcnM6IFtdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdmb3JtbHktZ3JvdXAnLFxuICAgICAgICB3cmFwcGVyczogWydmaWVsZC1uby1sYWJlbCddXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6ICdjdXN0b20nLFxuICAgICAgICBjb21wb25lbnQ6IEZvcm1seUZpZWxkQ3VzdG9tQ29tcG9uZW50LFxuICAgICAgICB3cmFwcGVyczogW11cbiAgICB9XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVxdWlyZWRWYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsIHx8ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLnJlcXVpcmVkJywge2ZpZWxkOiBmaWVsZE5hbWV9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCA/PyAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5taW5MZW5ndGgnLCB7ZmllbGQ6IGZpZWxkTmFtZSwgbWluTGVuZ3RoOiBmaWVsZC5wcm9wcy5taW5MZW5ndGh9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF4TGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXhMZW5ndGgnLCB7ZmllbGQ6IGZpZWxkTmFtZSwgbWF4TGVuZ3RoOiBmaWVsZC5wcm9wcy5tYXhMZW5ndGh9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWluVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCA/PyAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5taW4nLCB7ZmllbGQ6IGZpZWxkTmFtZSwgbWluOiBmaWVsZC5wcm9wcy5taW59KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWF4VmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKTogKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IE9ic2VydmFibGU8c3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkTGFiZWwgPSBmaWVsZC5wcm9wcy5sYWJlbCB8fCAnZmllbGQnO1xuICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSB0cmFuc2xhdGUuaW5zdGFudChmaWVsZExhYmVsKTtcbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXgnLCB7ZmllbGQ6IGZpZWxkTmFtZSwgbWF4OiBmaWVsZC5wcm9wcy5tYXh9KTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dFBhdHRlcm5WYWxpZGF0aW9uTWVzc2FnZSh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRMYWJlbCA9IGZpZWxkLnByb3BzLmxhYmVsID8/ICdmaWVsZCc7XG4gICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRyYW5zbGF0ZS5pbnN0YW50KGZpZWxkTGFiZWwpO1xuICAgICAgICByZXR1cm4gdHJhbnNsYXRlLmluc3RhbnQoJ21uZ0VkaXRvci52YWxpZGF0aW9uLnBhdHRlcm4nLCB7ZmllbGQ6IGZpZWxkTmFtZSwgcGF0dGVybjogZmllbGQucHJvcHMucGF0dGVybn0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbWFpbFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSk6IChlcnJvcjogYW55LCBmaWVsZDogQ29tbW9uc0Zvcm1seUZpZWxkQ29uZmlnKSA9PiBPYnNlcnZhYmxlPHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZExhYmVsID0gZmllbGQucHJvcHMubGFiZWwgfHwgJ2ZpZWxkJztcbiAgICAgICAgY29uc3QgZmllbGROYW1lID0gdHJhbnNsYXRlLmluc3RhbnQoZmllbGRMYWJlbCk7XG4gICAgICAgIHJldHVybiB0cmFuc2xhdGUuaW5zdGFudCgnbW5nRWRpdG9yLnZhbGlkYXRpb24uZW1haWwnLCB7ZmllbGQ6IGZpZWxkTmFtZX0pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNaW5EYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBkYXRlUGlwZTogRGF0ZVBpcGUpOiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXREZXNjcmlwdG9yID0gZmllbGQucHJvcHMuZGVzY3JpcHRvciBhcyBGaWVsZElucHV0RGVzY3JpcHRvcjxhbnk+O1xuICAgICAgICBjb25zdCBtaW5EYXRlID0gaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJNaW47XG5cbiAgICAgICAgaWYgKCFtaW5EYXRlKSByZXR1cm4gJyc7XG4gICAgICAgIGxldCBkYXRlU3RyaW5nID0gZGF0ZVBpcGUudHJhbnNmb3JtKG1pbkRhdGUsICdkZC4gTU0uIHl5eXknKSA/PyAnJztcblxuICAgICAgICBpZiAoaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJTaG93VGltZSkge1xuICAgICAgICAgICAgZGF0ZVN0cmluZyArPSBkYXRlUGlwZS50cmFuc2Zvcm0obWluRGF0ZSwgJyBISDptbTpzcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5taW5EYXRlJywge21pbjogZGF0ZVN0cmluZ30pO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXhEYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBkYXRlUGlwZTogRGF0ZVBpcGUpOiAoZXJyb3I6IGFueSwgZmllbGQ6IENvbW1vbnNGb3JtbHlGaWVsZENvbmZpZykgPT4gT2JzZXJ2YWJsZTxzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKGVycm9yOiBhbnksIGZpZWxkOiBDb21tb25zRm9ybWx5RmllbGRDb25maWcpID0+IHtcbiAgICAgICAgY29uc3QgaW5wdXREZXNjcmlwdG9yID0gZmllbGQucHJvcHMuZGVzY3JpcHRvciBhcyBGaWVsZElucHV0RGVzY3JpcHRvcjxhbnk+O1xuICAgICAgICBjb25zdCBtYXhEYXRlID0gaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJNYXg7XG5cbiAgICAgICAgaWYgKCFtYXhEYXRlKSByZXR1cm4gJyc7XG4gICAgICAgIGxldCBkYXRlU3RyaW5nID0gZGF0ZVBpcGUudHJhbnNmb3JtKG1heERhdGUsICdkZC4gTU0uIHl5eXknKSA/PyAnJztcblxuICAgICAgICBpZiAoaW5wdXREZXNjcmlwdG9yLmRhdGVQaWNrZXJTaG93VGltZSkge1xuICAgICAgICAgICAgZGF0ZVN0cmluZyArPSBkYXRlUGlwZS50cmFuc2Zvcm0obWF4RGF0ZSwgJyBISDptbTpzcycpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0ZS5pbnN0YW50KCdtbmdFZGl0b3IudmFsaWRhdGlvbi5tYXhEYXRlJywge21heDogZGF0ZVN0cmluZ30pO1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBnZXRGb3JtbHlWYWxpZGF0aW9uTWVzc2FnZXMgPSAodHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBkYXRlUGlwZTogRGF0ZVBpcGUpOiBhbnlbXSA9PiB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge25hbWU6ICdyZXF1aXJlZCcsIG1lc3NhZ2U6IGdldFJlcXVpcmVkVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWluTGVuZ3RoJywgbWVzc2FnZTogZ2V0TWluTGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWF4TGVuZ3RoJywgbWVzc2FnZTogZ2V0TWF4TGVuZ3RoVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWluJywgbWVzc2FnZTogZ2V0TWluVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnbWF4JywgbWVzc2FnZTogZ2V0TWF4VmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAncGF0dGVybicsIG1lc3NhZ2U6IGdldFRleHRQYXR0ZXJuVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlKX0sXG4gICAgICAgIHtuYW1lOiAnZW1haWwnLCBtZXNzYWdlOiBnZXRFbWFpbFZhbGlkYXRpb25NZXNzYWdlKHRyYW5zbGF0ZSl9LFxuICAgICAgICB7bmFtZTogJ21pbkRhdGUnLCBtZXNzYWdlOiBnZXRNaW5EYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlLCBkYXRlUGlwZSl9LFxuICAgICAgICB7bmFtZTogJ21heERhdGUnLCBtZXNzYWdlOiBnZXRNYXhEYXRlVmFsaWRhdGlvbk1lc3NhZ2UodHJhbnNsYXRlLCBkYXRlUGlwZSl9XG4gICAgXTtcbn07XG4iXX0=
|
|
@@ -28,4 +28,4 @@ export function commonsFormlyConfigProvider(translate, datePipe, config = {}) {
|
|
|
28
28
|
validationMessages: validationMessages
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWNvbmZpZy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RhYmxldmlldy9zcmMvZWRpdG9yL3NlcnZpY2VzL2Zvcm1seS1jb25maWcucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFOUcsTUFBTSxVQUFVLDJCQUEyQixDQUFDLFNBQTJCLEVBQUUsUUFBa0IsRUFBRSxTQUFpQyxFQUFFO0lBQzVILE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxJQUFJLElBQUksQ0FBQztJQUUzQyxJQUFJLEtBQUssR0FBRyxpQkFBaUIsQ0FBQztJQUM5QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksUUFBUSxHQUFHLG9CQUFvQixDQUFDO0lBQ3BDLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDVCxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksa0JBQWtCLEdBQUcsMkJBQTJCLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFFLElBQUksT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLHFCQUFxQixLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNULGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0Qsa0JBQWtCLEdBQUcsQ0FBQyxHQUFHLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3BHLENBQUM7SUFFRCxPQUFPO1FBQ0gsS0FBSyxFQUFFLEtBQUs7UUFDWixRQUFRLEVBQUUsUUFBUTtRQUNsQixrQkFBa0IsRUFBRSxrQkFBa0I7S0FDekMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge0NvbmZpZ09wdGlvbn0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1RhYmxldmlld0ZlYXR1cmVDb25maWd9IGZyb20gJy4uLy4uL3RhYmxldmlldy9zZXJ2aWNlcy90YWJsZXZpZXctZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtmb3JtbHlUeXBlc0NvbmZpZywgZm9ybWx5V3JhcHBlcnNDb25maWcsIGdldEZvcm1seVZhbGlkYXRpb25NZXNzYWdlc30gZnJvbSAnLi4vaGVscGVycy9mb3JtbHktY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbW1vbnNGb3JtbHlDb25maWdQcm92aWRlcih0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIGRhdGVQaXBlOiBEYXRlUGlwZSwgY29uZmlnOiBUYWJsZXZpZXdGZWF0dXJlQ29uZmlnID0ge30pOiBDb25maWdPcHRpb24ge1xuICAgIGNvbnN0IG1lcmdlID0gY29uZmlnLmZvcm1seT8ubWVyZ2UgPz8gdHJ1ZTtcblxuICAgIGxldCB0eXBlcyA9IGZvcm1seVR5cGVzQ29uZmlnO1xuICAgIGlmIChjb25maWcuZm9ybWx5Py50eXBlcykge1xuICAgICAgICBpZiAoIW1lcmdlKSB7XG4gICAgICAgICAgICB0eXBlcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHR5cGVzID0gWy4uLnR5cGVzLCAuLi5jb25maWcuZm9ybWx5LnR5cGVzXTtcbiAgICB9XG5cbiAgICBsZXQgd3JhcHBlcnMgPSBmb3JtbHlXcmFwcGVyc0NvbmZpZztcbiAgICBpZiAoY29uZmlnLmZvcm1seT8ud3JhcHBlcnMpIHtcbiAgICAgICAgaWYgKCFtZXJnZSkge1xuICAgICAgICAgICAgd3JhcHBlcnMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB3cmFwcGVycyA9IFsuLi53cmFwcGVycywgLi4uY29uZmlnLmZvcm1seS53cmFwcGVyc107XG4gICAgfVxuXG4gICAgbGV0IHZhbGlkYXRpb25NZXNzYWdlcyA9IGdldEZvcm1seVZhbGlkYXRpb25NZXNzYWdlcyh0cmFuc2xhdGUsIGRhdGVQaXBlKTtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5mb3JtbHk/LmdldFZhbGlkYXRpb25NZXNzYWdlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpZiAoIW1lcmdlKSB7XG4gICAgICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXMgPSBbLi4udmFsaWRhdGlvbk1lc3NhZ2VzLCAuLi5jb25maWcuZm9ybWx5LmdldFZhbGlkYXRpb25NZXNzYWdlcyh0cmFuc2xhdGUpXTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlczogdHlwZXMsXG4gICAgICAgIHdyYXBwZXJzOiB3cmFwcGVycyxcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiB2YWxpZGF0aW9uTWVzc2FnZXNcbiAgICB9O1xufVxuIl19
|
|
@@ -7,6 +7,7 @@ export * from './action/components/table/action-table.component';
|
|
|
7
7
|
// action guards
|
|
8
8
|
export * from './action/guards/unsaved-changes.guard';
|
|
9
9
|
// action helpers
|
|
10
|
+
export * from './action/helpers/i18n';
|
|
10
11
|
export * from './action/helpers/notification';
|
|
11
12
|
export * from './action/helpers/styles';
|
|
12
13
|
// action models
|
|
@@ -26,8 +27,6 @@ export * from './action/services/data-provider-executor.service';
|
|
|
26
27
|
export * from './action/services/navigation.service';
|
|
27
28
|
export * from './action/services/root-action-executor.service';
|
|
28
29
|
export * from './action/services/view-container.service';
|
|
29
|
-
// action utils
|
|
30
|
-
export * from './action/utils/i18n.util';
|
|
31
30
|
// editor components
|
|
32
31
|
export * from './editor/components/editor/form-editor.component';
|
|
33
32
|
export * from './editor/components/formly/fields/formly-field-action/formly-field-action.component';
|
|
@@ -44,14 +43,13 @@ export * from './editor/components/formly/fields/formly-field-tabs/formly-field-
|
|
|
44
43
|
export * from './editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component';
|
|
45
44
|
export * from './editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component';
|
|
46
45
|
// editor helpers
|
|
46
|
+
export * from './editor/helpers/editor-formly';
|
|
47
47
|
export * from './editor/helpers/formly-config';
|
|
48
48
|
export * from './editor/helpers/notification';
|
|
49
49
|
// editor models
|
|
50
50
|
export * from './editor/models/formly-config.model';
|
|
51
51
|
// editor services
|
|
52
52
|
export * from './editor/services/formly-config.provider';
|
|
53
|
-
// editor utils
|
|
54
|
-
export * from './editor/utils/editor-formly.util';
|
|
55
53
|
// tableview components
|
|
56
54
|
export * from './tableview/components/route/tableview-route.component';
|
|
57
55
|
export * from './tableview/components/tableview/tableview.component';
|
|
@@ -61,4 +59,4 @@ export * from './tableview/router/tableview-route-builder';
|
|
|
61
59
|
export * from './tableview/services/tableview-feature-config.token';
|
|
62
60
|
// provide
|
|
63
61
|
export * from './provide';
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90YWJsZXZpZXcvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsa0RBQWtELENBQUM7QUFFakUsZ0JBQWdCO0FBQ2hCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsaUJBQWlCO0FBQ2pCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGdCQUFnQjtBQUNoQixjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsZ0RBQWdELENBQUM7QUFFL0Qsa0JBQWtCO0FBQ2xCLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsMENBQTBDLENBQUM7QUFFekQsb0JBQW9CO0FBQ3BCLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxxRkFBcUYsQ0FBQztBQUNwRyxjQUFjLGlHQUFpRyxDQUFDO0FBQ2hILGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLG1HQUFtRyxDQUFDO0FBQ2xILGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx5SEFBeUgsQ0FBQztBQUN4SSxjQUFjLGlGQUFpRixDQUFDO0FBQ2hHLGNBQWMsMkdBQTJHLENBQUM7QUFDMUgsY0FBYyx5RkFBeUYsQ0FBQztBQUV4RyxpQkFBaUI7QUFDakIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsZ0JBQWdCO0FBQ2hCLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsa0JBQWtCO0FBQ2xCLGNBQWMsMENBQTBDLENBQUM7QUFFekQsdUJBQXVCO0FBQ3ZCLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxzREFBc0QsQ0FBQztBQUVyRSxtQkFBbUI7QUFDbkIsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxxQkFBcUI7QUFDckIsY0FBYyxxREFBcUQsQ0FBQztBQUVwRSxVQUFVO0FBQ1YsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhY3Rpb24gY29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vY29tcG9uZW50cy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9jb21wb25lbnRzL2VkaXRvci9hY3Rpb24tZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9jb21wb25lbnRzL2xvY2FsaXphdGlvbi9kYXRhLWxhbmd1YWdlLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9jb21wb25lbnRzL3JvdXRlL2FjdGlvbi1yb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vY29tcG9uZW50cy90YWJsZS9hY3Rpb24tdGFibGUuY29tcG9uZW50JztcblxuLy8gYWN0aW9uIGd1YXJkc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vZ3VhcmRzL3Vuc2F2ZWQtY2hhbmdlcy5ndWFyZCc7XG5cbi8vIGFjdGlvbiBoZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9oZWxwZXJzL2kxOG4nO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vaGVscGVycy9ub3RpZmljYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vaGVscGVycy9zdHlsZXMnO1xuXG4vLyBhY3Rpb24gbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9tb2RlbHMvZXhlY3V0aW9uL2FjdGlvbi1jb250ZXh0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9leGVjdXRpb24vYWN0aW9uLWluc3RhbmNlLXN0YXRlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9hY3Rpb24tZWRpdG9yLWRpYWxvZy1kYXRhLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL21vZGVscy9jYW4tY29tcG9uZW50LWRlYWN0aXZhdGUubW9kZWwnO1xuXG4vLyBhY3Rpb24gc2VydmljZXNcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL3Byb3ZpZGVycy9wcm92aWRlLWFjdGlvbi1leGVjdXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy9wcm92aWRlcnMvcHJvdmlkZS12aWV3LWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy90b2tlbnMvYWN0aW9uLWVkaXRvci50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy9hY3Rpb24tZXJyb3ItbWFwcGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvYWN0aW9uLWV4ZWN1dG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvY29tcG9uZW50LWFjdGlvbi1leGVjdXRvci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9uL3NlcnZpY2VzL2RhdGEtcHJvdmlkZXItZXhlY3V0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24vc2VydmljZXMvcm9vdC1hY3Rpb24tZXhlY3V0b3Iuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbi9zZXJ2aWNlcy92aWV3LWNvbnRhaW5lci5zZXJ2aWNlJztcblxuLy8gZWRpdG9yIGNvbXBvbmVudHNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2NvbXBvbmVudHMvZWRpdG9yL2Zvcm0tZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWFjdGlvbi9mb3JtbHktZmllbGQtYWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS9mb3JtbHktZmllbGQtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWN1c3RvbS9mb3JtbHktZmllbGQtY3VzdG9tLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWRyb3Bkb3duL2Zvcm1seS1maWVsZC1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1maWVsZHNldC9mb3JtbHktZmllbGQtZmllbGRzZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2NvbXBvbmVudHMvZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtaW5wdXQvZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLWxhYmVsL2Zvcm1seS1maWVsZC1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC1sb29rdXAtZGlhbG9nL2Zvcm1seS1maWVsZC1sb29rdXAtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJzL2Zvcm1seS1maWVsZC10YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9jb21wb25lbnRzL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci9mb3JtbHktZmllbGQtbm8tbGFiZWwtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvY29tcG9uZW50cy9mb3JtbHkvd3JhcHBlcnMvZm9ybWx5LWZpZWxkLXdyYXBwZXIvZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLy8gZWRpdG9yIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yL2hlbHBlcnMvZWRpdG9yLWZvcm1seSc7XG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9oZWxwZXJzL2Zvcm1seS1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvaGVscGVycy9ub3RpZmljYXRpb24nO1xuXG4vLyBlZGl0b3IgbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci9tb2RlbHMvZm9ybWx5LWNvbmZpZy5tb2RlbCc7XG5cbi8vIGVkaXRvciBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9lZGl0b3Ivc2VydmljZXMvZm9ybWx5LWNvbmZpZy5wcm92aWRlcic7XG5cbi8vIHRhYmxldmlldyBjb21wb25lbnRzXG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy9jb21wb25lbnRzL3JvdXRlL3RhYmxldmlldy1yb3V0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvY29tcG9uZW50cy90YWJsZXZpZXcvdGFibGV2aWV3LmNvbXBvbmVudCc7XG5cbi8vIHRhYmxldmlldyByb3V0ZXJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L3JvdXRlci90YWJsZXZpZXctcm91dGUtYnVpbGRlcic7XG5cbi8vIHRhYmxldmlldyBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZXZpZXcvc2VydmljZXMvdGFibGV2aWV3LWZlYXR1cmUtY29uZmlnLnRva2VuJztcblxuLy8gcHJvdmlkZVxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlJztcbiJdfQ==
|