@mediusinc/mng-commons 5.5.0 → 6.0.0-rc.3
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/action/action-parameters.model.d.ts +4 -4
- package/core/data-providers/base.data-provider.d.ts +4 -7
- package/core/data-providers/lookup.data-provider.d.ts +2 -2
- package/core/descriptors/model.descriptor.d.ts +1 -7
- package/core/descriptors/tableview.descriptor.d.ts +5 -5
- package/core/helpers/notification.d.ts +17 -1
- package/core/helpers/route.d.ts +0 -1
- package/core/helpers/type-helpers.d.ts +8 -0
- package/core/i18n/i18n-error.d.ts +2 -3
- package/core/index.d.ts +0 -3
- package/core/models/menu.model.d.ts +0 -4
- package/core/router/route-builder.d.ts +1 -1
- package/core/services/commons.service.d.ts +0 -32
- package/core/services/tokens/module-config.token.d.ts +0 -28
- package/esm2022/core/action/action-parameters.model.mjs +1 -1
- package/esm2022/core/data-providers/base.data-provider.mjs +2 -4
- package/esm2022/core/data-providers/lookup.data-provider.mjs +1 -1
- package/esm2022/core/descriptors/model.descriptor.mjs +1 -1
- package/esm2022/core/descriptors/tableview.descriptor.mjs +1 -1
- package/esm2022/core/helpers/notification.mjs +19 -4
- package/esm2022/core/helpers/type-helpers.mjs +1 -1
- package/esm2022/core/i18n/i18n-error.mjs +10 -8
- package/esm2022/core/index.mjs +1 -4
- package/esm2022/core/models/menu.model.mjs +1 -1
- package/esm2022/core/router/route-builder.mjs +2 -2
- package/esm2022/core/services/commons.service.mjs +1 -34
- package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +5 -86
- package/esm2022/filter/descriptors/filter.descriptor.mjs +7 -29
- package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +14 -41
- package/esm2022/form/api/data-providers/lookup.data-provider.mjs +3 -3
- package/esm2022/form/api/descriptors/action-button.descriptor.mjs +5 -17
- package/esm2022/form/api/descriptors/button-style.builder.mjs +80 -101
- package/esm2022/form/api/index.mjs +2 -1
- package/esm2022/form/api/models/button.model.mjs +2 -0
- package/esm2022/model/class/data-providers/base-from-class-data-provider.factory.mjs +5 -0
- package/esm2022/model/class/descriptors/model-class.descriptor.mjs +28 -0
- package/esm2022/model/class/descriptors/type-class.descriptor.mjs +6 -0
- package/esm2022/model/class/helpers/model.mjs +53 -0
- package/esm2022/model/class/index.mjs +8 -0
- package/esm2022/model/class/mediusinc-mng-commons-model-class.mjs +5 -0
- package/esm2022/model/data-providers/base-from-type-data-provider.factory.mjs +11 -6
- package/esm2022/model/descriptors/model.descriptor.mjs +11 -54
- package/esm2022/model/descriptors/type.descriptor.mjs +2 -10
- package/esm2022/model/helpers/i18n.mjs +14 -9
- package/esm2022/model/index.mjs +1 -2
- package/esm2022/table/api/class/class-table-attribute-converter.mjs +80 -0
- package/esm2022/table/api/class/class-table-attribute.model.mjs +2 -0
- package/esm2022/table/api/class/class-table-data-provider.factory.mjs +5 -0
- package/esm2022/table/api/class/class-table-descriptor-helpers.mjs +99 -0
- package/esm2022/table/api/class/class-table-descriptor.factory.mjs +21 -0
- package/esm2022/table/api/class/index.mjs +6 -0
- package/esm2022/table/api/class/mediusinc-mng-commons-table-api-class.mjs +5 -0
- package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +14 -41
- package/esm2022/table/api/data-providers/table.data-provider.mjs +3 -9
- package/esm2022/table/api/descriptors/column.descriptor.mjs +8 -3
- package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +10 -77
- package/esm2022/table/api/descriptors/table.descriptor.mjs +3 -3
- package/esm2022/table/api/helpers/column-converter.mjs +25 -0
- package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +4 -4
- package/esm2022/table/api/index.mjs +2 -4
- package/esm2022/table/api/models/table-columns.model.mjs +1 -1
- package/esm2022/table/components/column-value/column-value.component.mjs +7 -5
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +3 -3
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +5 -5
- package/esm2022/table/components/table/table.component.mjs +17 -18
- package/esm2022/table/helpers/notification.mjs +19 -13
- package/esm2022/tableview/action/components/action/action.component.mjs +41 -37
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +22 -13
- package/esm2022/tableview/action/helpers/action-execution.mjs +1 -1
- package/esm2022/tableview/action/helpers/i18n.mjs +50 -30
- package/esm2022/tableview/action/helpers/notification.mjs +73 -12
- package/esm2022/tableview/action/helpers/styles.mjs +2 -2
- 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-executor.service.mjs +92 -75
- package/esm2022/tableview/action/services/data-provider-executor.service.mjs +18 -3
- package/esm2022/tableview/api/action/descriptors/action-descriptor.factory.mjs +13 -104
- package/esm2022/tableview/api/action/descriptors/action-editor-descriptor.factory.mjs +15 -62
- package/esm2022/tableview/api/action/descriptors/action-editor.descriptor.mjs +35 -82
- package/esm2022/tableview/api/action/descriptors/action-link-descriptor.factory.mjs +20 -33
- package/esm2022/tableview/api/action/descriptors/action-link.descriptor.mjs +1 -1
- package/esm2022/tableview/api/action/descriptors/action.descriptor.mjs +54 -95
- package/esm2022/tableview/api/action/descriptors/editor-action-descriptor.factory.mjs +21 -0
- package/esm2022/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.mjs +21 -0
- package/esm2022/tableview/api/action/descriptors/table-action-descriptor.factory.mjs +37 -0
- package/esm2022/tableview/api/action/descriptors/table-action-editor-descriptor.factory.mjs +40 -0
- package/esm2022/tableview/api/action/helpers/data-provider-executors.mjs +25 -5
- package/esm2022/tableview/api/action/models/action-confirmation.model.mjs +2 -0
- package/esm2022/tableview/api/action/models/action-descriptor.types.mjs +1 -1
- package/esm2022/tableview/api/action/models/action-error.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/action-context-validation.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/action-context.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/execution/action-instance.model.mjs +1 -1
- package/esm2022/tableview/api/action/models/tableview-action-default-categories.model.mjs +6 -6
- package/esm2022/tableview/api/action/services/data-provider-executor.service.mjs +3 -3
- package/esm2022/tableview/api/class/editor/class-editor-attribute-converter.mjs +85 -0
- package/esm2022/tableview/api/class/editor/class-editor-attribute.model.mjs +2 -0
- package/esm2022/tableview/api/class/editor/class-editor-data-provider.factory.mjs +5 -0
- package/esm2022/tableview/api/class/editor/class-editor-descriptor-helpers.mjs +95 -0
- package/esm2022/tableview/api/class/editor/class-editor-descriptor.factory.mjs +21 -0
- package/esm2022/tableview/api/class/index.mjs +13 -0
- package/esm2022/tableview/api/class/mediusinc-mng-commons-tableview-api-class.mjs +5 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute-converter.mjs +35 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-attribute.model.mjs +2 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-data-provider.factory.mjs +5 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor-helpers.mjs +111 -0
- package/esm2022/tableview/api/class/tableview/class-tableview-descriptor.factory.mjs +26 -0
- package/esm2022/tableview/api/editor/data-providers/editor-data-provider.factory.mjs +14 -32
- package/esm2022/tableview/api/editor/data-providers/editor.data-provider.mjs +40 -7
- package/esm2022/tableview/api/editor/descriptors/editor-descriptor.factory.mjs +7 -73
- package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +49 -134
- package/esm2022/tableview/api/editor/descriptors/field-action.descriptor.mjs +14 -8
- package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +11 -2
- package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +3 -5
- package/esm2022/tableview/api/editor/descriptors/field-many.descriptor.mjs +2 -18
- package/esm2022/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.mjs +51 -0
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/editor/models/form-editor.event.mjs +1 -1
- package/esm2022/tableview/api/editor/models/formly-custom-field.model.mjs +1 -1
- package/esm2022/tableview/api/index.mjs +9 -9
- package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +13 -51
- package/esm2022/tableview/api/tableview/data-providers/tableview.data-provider.mjs +19 -11
- package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +19 -96
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +29 -182
- package/esm2022/tableview/api/tableview/helpers/tableview-create.mjs +8 -6
- package/esm2022/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.mjs +4 -4
- package/esm2022/tableview/api/tableview/helpers/tableview-default-actions.mjs +154 -106
- package/esm2022/tableview/api/tableview/helpers/tableview-input-builder.mjs +164 -7
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.mjs +2 -0
- package/esm2022/tableview/api/tableview/models/tableview-descriptor-helper.type.mjs +2 -0
- package/esm2022/tableview/api/tableview/models/tableview-input.model.mjs +1 -1
- package/esm2022/tableview/api/tableview/models/tableview-route.model.mjs +1 -1
- package/esm2022/tableview/editor/components/editor/form-editor.component.mjs +5 -8
- package/esm2022/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.mjs +7 -5
- package/esm2022/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +34 -23
- package/esm2022/tableview/editor/helpers/editor-field.mjs +3 -3
- package/esm2022/tableview/editor/helpers/editor-formly.mjs +4 -4
- package/esm2022/tableview/editor/helpers/field-create.mjs +21 -0
- package/esm2022/tableview/index.mjs +3 -2
- package/esm2022/tableview/provide.mjs +44 -1
- package/esm2022/tableview/tableview/components/route/tableview-route.component.mjs +1 -1
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -1
- package/fesm2022/mediusinc-mng-commons-core.mjs +715 -792
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +10 -113
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs +144 -203
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model-class.mjs +97 -0
- package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-model.mjs +35 -144
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs +204 -0
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +55 -319
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +45 -38
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs +367 -0
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +850 -1483
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +421 -220
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/filter/descriptors/filter-lookup.descriptor.d.ts +1 -26
- package/filter/descriptors/filter.descriptor.d.ts +5 -12
- package/form/api/data-providers/lookup-data-provider.factory.d.ts +17 -20
- package/form/api/data-providers/lookup.data-provider.d.ts +3 -3
- package/form/api/descriptors/action-button.descriptor.d.ts +11 -13
- package/form/api/descriptors/button-style.builder.d.ts +30 -44
- package/form/api/index.d.ts +1 -0
- package/form/api/models/button.model.d.ts +19 -0
- package/i18n/sl.json +56 -6
- package/model/class/README.md +8 -0
- package/model/class/data-providers/base-from-class-data-provider.factory.d.ts +3 -0
- package/model/class/descriptors/model-class.descriptor.d.ts +12 -0
- package/model/class/descriptors/type-class.descriptor.d.ts +3 -0
- package/model/{helpers → class/helpers}/model.d.ts +1 -2
- package/model/class/index.d.ts +4 -0
- package/model/data-providers/base-from-type-data-provider.factory.d.ts +13 -6
- package/model/descriptors/model.descriptor.d.ts +12 -27
- package/model/descriptors/type.descriptor.d.ts +0 -5
- package/model/helpers/i18n.d.ts +8 -3
- package/model/index.d.ts +0 -1
- package/package.json +25 -7
- package/table/api/class/README.md +10 -0
- package/table/api/{helpers/class-attribute-converter.d.ts → class/class-table-attribute-converter.d.ts} +2 -9
- package/table/api/{models → class}/class-table-attribute.model.d.ts +1 -1
- package/table/api/class/class-table-data-provider.factory.d.ts +4 -0
- package/table/api/{helpers/table-descriptor-helpers.d.ts → class/class-table-descriptor-helpers.d.ts} +2 -4
- package/table/api/class/class-table-descriptor.factory.d.ts +11 -0
- package/table/api/class/index.d.ts +5 -0
- package/table/api/data-providers/table-data-provider.factory.d.ts +17 -20
- package/table/api/data-providers/table.data-provider.d.ts +4 -12
- package/table/api/descriptors/column.descriptor.d.ts +5 -2
- package/table/api/descriptors/table-descriptor.factory.d.ts +3 -39
- package/table/api/descriptors/table.descriptor.d.ts +3 -3
- package/table/api/helpers/column-converter.d.ts +7 -0
- package/table/api/helpers/table-data-provider-descriptor-convert.d.ts +3 -3
- package/table/api/index.d.ts +1 -3
- package/table/api/models/table-columns.model.d.ts +2 -2
- package/table/components/column-value/column-value.component.d.ts +2 -0
- package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +1 -1
- package/table/components/filter/filter-form/filter-form.component.d.ts +1 -1
- package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +1 -1
- package/table/components/table/table.component.d.ts +0 -10
- package/table/helpers/notification.d.ts +10 -1
- package/tableview/action/components/action/action.component.d.ts +10 -13
- package/tableview/action/components/editor/action-editor.component.d.ts +1 -1
- package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +6 -5
- package/tableview/action/components/localization/data-language-dropdown.component.d.ts +3 -3
- package/tableview/action/components/table/action-table.component.d.ts +3 -3
- package/tableview/action/helpers/action-execution.d.ts +1 -1
- package/tableview/action/helpers/i18n.d.ts +36 -11
- package/tableview/action/helpers/notification.d.ts +37 -3
- package/tableview/action/models/execution/action-context.model.d.ts +3 -3
- package/tableview/action/models/execution/action-instance.model.d.ts +5 -5
- package/tableview/action/services/action-executor.service.d.ts +7 -7
- package/tableview/action/services/data-provider-executor.service.d.ts +16 -16
- package/tableview/action/services/view-container.service.d.ts +1 -1
- package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +20 -31
- package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +18 -25
- package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +39 -47
- package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +21 -13
- package/tableview/api/action/descriptors/action-link.descriptor.d.ts +3 -3
- package/tableview/api/action/descriptors/action.descriptor.d.ts +49 -60
- package/tableview/api/action/descriptors/editor-action-descriptor.factory.d.ts +21 -0
- package/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.d.ts +21 -0
- package/tableview/api/action/descriptors/table-action-descriptor.factory.d.ts +36 -0
- package/tableview/api/action/descriptors/table-action-editor-descriptor.factory.d.ts +40 -0
- package/tableview/api/action/helpers/data-provider-executors.d.ts +13 -8
- package/tableview/api/action/models/action-confirmation.model.d.ts +14 -0
- package/tableview/api/action/models/action-descriptor.types.d.ts +6 -2
- package/tableview/api/action/models/action-error.model.d.ts +1 -1
- package/tableview/api/action/models/execution/action-context-validation.model.d.ts +2 -2
- package/tableview/api/action/models/execution/action-context.model.d.ts +2 -2
- package/tableview/api/action/models/execution/action-instance.model.d.ts +1 -1
- package/tableview/api/action/models/tableview-action-default-categories.model.d.ts +5 -5
- package/tableview/api/action/services/data-provider-executor.service.d.ts +26 -25
- package/tableview/api/class/README.md +13 -0
- package/tableview/api/{editor/helpers/class-attribute-converter.d.ts → class/editor/class-editor-attribute-converter.d.ts} +2 -2
- package/tableview/api/{editor/models/class-tableview-attribute.model.d.ts → class/editor/class-editor-attribute.model.d.ts} +1 -1
- package/tableview/api/class/editor/class-editor-data-provider.factory.d.ts +4 -0
- package/tableview/api/{editor/helpers/editor-descriptor-helpers.d.ts → class/editor/class-editor-descriptor-helpers.d.ts} +2 -5
- package/tableview/api/class/editor/class-editor-descriptor.factory.d.ts +11 -0
- package/tableview/api/class/index.d.ts +10 -0
- package/tableview/api/{tableview/helpers/class-attribute-converter.d.ts → class/tableview/class-tableview-attribute-converter.d.ts} +1 -1
- package/tableview/api/{tableview/models → class/tableview}/class-tableview-attribute.model.d.ts +2 -2
- package/tableview/api/class/tableview/class-tableview-data-provider.factory.d.ts +4 -0
- package/tableview/api/{tableview/helpers/tableview-descriptor-helpers.d.ts → class/tableview/class-tableview-descriptor-helpers.d.ts} +1 -2
- package/tableview/api/class/tableview/class-tableview-descriptor.factory.d.ts +12 -0
- package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +17 -16
- package/tableview/api/editor/data-providers/editor.data-provider.d.ts +64 -29
- package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +5 -38
- package/tableview/api/editor/descriptors/editor.descriptor.d.ts +48 -112
- package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +5 -5
- package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +8 -1
- package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +2 -3
- package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +3 -11
- package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +25 -0
- package/tableview/api/editor/models/editor-fields.model.d.ts +25 -21
- package/tableview/api/editor/models/form-editor.event.d.ts +0 -4
- package/tableview/api/index.d.ts +8 -7
- package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +20 -25
- package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +22 -22
- package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +20 -50
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +69 -163
- package/tableview/api/tableview/helpers/tableview-create.d.ts +18 -5
- package/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.d.ts +2 -2
- package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +73 -20
- package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +87 -9
- package/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.d.ts +9 -0
- package/tableview/api/tableview/models/tableview-descriptor-helper.type.d.ts +2 -0
- package/tableview/api/tableview/models/tableview-input.model.d.ts +1 -1
- package/tableview/api/tableview/models/tableview-route.model.d.ts +1 -1
- package/tableview/editor/helpers/field-create.d.ts +9 -0
- package/tableview/index.d.ts +2 -1
- package/tableview/provide.d.ts +7 -0
- package/tableview/tableview/components/route/tableview-route.component.d.ts +1 -1
- package/tableview/tableview/components/tableview/tableview.component.d.ts +6 -6
- package/version-info.json +6 -6
- package/core/components/pages/error/error.page.component.d.ts +0 -11
- package/core/components/pages/not-found/not-found.page.component.d.ts +0 -11
- package/core/data-providers/base-data-provider.factory.d.ts +0 -13
- package/esm2022/core/components/pages/error/error.page.component.mjs +0 -24
- package/esm2022/core/components/pages/not-found/not-found.page.component.mjs +0 -24
- package/esm2022/core/data-providers/base-data-provider.factory.mjs +0 -28
- package/esm2022/model/helpers/model.mjs +0 -71
- package/esm2022/table/api/helpers/class-attribute-converter.mjs +0 -104
- package/esm2022/table/api/helpers/table-descriptor-helpers.mjs +0 -98
- package/esm2022/table/api/models/class-table-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/action/descriptors/action-confirmation.descriptor.mjs +0 -88
- package/esm2022/tableview/api/editor/helpers/class-attribute-converter.mjs +0 -85
- package/esm2022/tableview/api/editor/helpers/editor-descriptor-helpers.mjs +0 -95
- package/esm2022/tableview/api/editor/models/class-tableview-attribute.model.mjs +0 -2
- package/esm2022/tableview/api/tableview/helpers/class-attribute-converter.mjs +0 -34
- package/esm2022/tableview/api/tableview/helpers/tableview-descriptor-helpers.mjs +0 -110
- package/esm2022/tableview/api/tableview/models/class-tableview-attribute.model.mjs +0 -2
- package/tableview/api/action/descriptors/action-confirmation.descriptor.d.ts +0 -37
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { of } from 'rxjs';
|
|
2
|
-
import {
|
|
2
|
+
import { fromEnumConstantsAsValueArray, fromEnumValuesAsValueArray } from '@mediusinc/mng-commons/core';
|
|
3
3
|
import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
|
|
4
|
-
import { findClassIdAttribute, trySetLookupItemsProperties } from '@mediusinc/mng-commons/model';
|
|
5
4
|
import { FilterLookupTypeEnum, FilterTypeEnum } from '../models/filter.model';
|
|
6
5
|
import { FilterDescriptor } from './filter.descriptor';
|
|
7
6
|
export class FilterLookupDescriptor extends FilterDescriptor {
|
|
@@ -15,11 +14,9 @@ export class FilterLookupDescriptor extends FilterDescriptor {
|
|
|
15
14
|
this._dataProvider = cfg.dataProvider;
|
|
16
15
|
}
|
|
17
16
|
else {
|
|
18
|
-
this._dataProvider = new LookupDataProviderInst(cfg?.
|
|
17
|
+
this._dataProvider = new LookupDataProviderInst(cfg?.serviceType);
|
|
19
18
|
}
|
|
20
|
-
this._optionsValueProperty =
|
|
21
|
-
typeof cfg?.optionsValueProperty === 'undefined' ? (findClassIdAttribute(this._dataProvider.classType) ?? undefined) : cfg?.optionsValueProperty;
|
|
22
|
-
trySetLookupItemsProperties(this, false);
|
|
19
|
+
this._optionsValueProperty = cfg?.optionsValueProperty ?? undefined;
|
|
23
20
|
}
|
|
24
21
|
get lookupType() {
|
|
25
22
|
return this._lookupType;
|
|
@@ -96,37 +93,6 @@ export class FilterLookupDescriptor extends FilterDescriptor {
|
|
|
96
93
|
this._dropdownClassName = dropdownClassName;
|
|
97
94
|
return this;
|
|
98
95
|
}
|
|
99
|
-
/**
|
|
100
|
-
* @deprecated use {withMatchModes} if you want to limit match mode options to 'in' and 'notIn'.
|
|
101
|
-
*/
|
|
102
|
-
withMultiselect(multiselect = true) {
|
|
103
|
-
if (multiselect) {
|
|
104
|
-
this.withMatchModes([FilterMatchMode.In, FilterMatchMode.NotIn, FilterMatchMode.Exists, FilterMatchMode.DoesNotExist]);
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
this.withMatchModes();
|
|
108
|
-
}
|
|
109
|
-
return this;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* @deprecated Use {withDefaultFilterValue} instead.
|
|
113
|
-
*/
|
|
114
|
-
withDefaultFilter(value, matchMode) {
|
|
115
|
-
this._hasDefaultValue = true;
|
|
116
|
-
this._defaultValue = value;
|
|
117
|
-
this._defaultMatchMode = matchMode;
|
|
118
|
-
this.validateDefaultFilter(value, matchMode);
|
|
119
|
-
const isMultiselect = Array.isArray(this._matchModes) &&
|
|
120
|
-
this._matchModes.length === 4 &&
|
|
121
|
-
this._matchModes[0] === FilterMatchMode.In &&
|
|
122
|
-
this._matchModes[1] === FilterMatchMode.NotIn &&
|
|
123
|
-
this._matchModes[1] === FilterMatchMode.Exists &&
|
|
124
|
-
this._matchModes[1] === FilterMatchMode.DoesNotExist;
|
|
125
|
-
if ((Array.isArray(value) && !isMultiselect) || (isMultiselect && !Array.isArray(value))) {
|
|
126
|
-
throw new CommonsInternalError(`Default value not in correct format for property ${this._property}.`, { name: 'FilterDescriptorError' });
|
|
127
|
-
}
|
|
128
|
-
return this;
|
|
129
|
-
}
|
|
130
96
|
/**
|
|
131
97
|
* Sets lookup as autocomplete instead of dropdown.
|
|
132
98
|
*
|
|
@@ -162,7 +128,7 @@ export class FilterLookupDescriptor extends FilterDescriptor {
|
|
|
162
128
|
export class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
163
129
|
constructor(property, enumDesc, options) {
|
|
164
130
|
super(property, {
|
|
165
|
-
dataProvider: new LookupDataProviderInst(undefined
|
|
131
|
+
dataProvider: new LookupDataProviderInst(undefined),
|
|
166
132
|
optionsValueProperty: 'value'
|
|
167
133
|
});
|
|
168
134
|
this._nameAsValue = false;
|
|
@@ -190,53 +156,6 @@ export class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
|
190
156
|
});
|
|
191
157
|
return this;
|
|
192
158
|
}
|
|
193
|
-
/**
|
|
194
|
-
* @deprecated use {withMatchModes} if you want to limit match mode options to 'in' and 'notIn'.
|
|
195
|
-
*/
|
|
196
|
-
withMultiselectEnum(multiselect = true) {
|
|
197
|
-
super.withMultiselect(multiselect);
|
|
198
|
-
return this;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Do not use, use `withDefaultFilterEnum` instead.
|
|
202
|
-
*
|
|
203
|
-
* @deprecated Use {withDefaultFilterValue} instead.
|
|
204
|
-
*/
|
|
205
|
-
withDefaultFilter() {
|
|
206
|
-
throw new CommonsInternalError(`withDefaultFilter on FilterLookupEnumDescriptor should not be used. Use withDefaultFilterEnum instead.`, { name: 'FilterDescriptorError' });
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Sets default filter value for filter.
|
|
210
|
-
*
|
|
211
|
-
* @deprecated Use {withDefaultFilterValue} instead.
|
|
212
|
-
*/
|
|
213
|
-
withDefaultFilterEnum(value, matchMode) {
|
|
214
|
-
let defaultOptionValue;
|
|
215
|
-
if (Array.isArray(value)) {
|
|
216
|
-
defaultOptionValue = this._nameAsValue ? value.map(value => getEnumConstantName(this.enum.type, value)) : value;
|
|
217
|
-
}
|
|
218
|
-
else if (value != null) {
|
|
219
|
-
defaultOptionValue = this._nameAsValue ? getEnumConstantName(this.enum.type, value) : value;
|
|
220
|
-
}
|
|
221
|
-
if (defaultOptionValue != null) {
|
|
222
|
-
let option;
|
|
223
|
-
if (Array.isArray(defaultOptionValue)) {
|
|
224
|
-
option = defaultOptionValue.map(value => this._optionEnumValues.find(o => o.value === value));
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
option = this._optionEnumValues.find(o => o.value === defaultOptionValue);
|
|
228
|
-
}
|
|
229
|
-
let defaultFilterValue;
|
|
230
|
-
if (Array.isArray(option)) {
|
|
231
|
-
defaultFilterValue = this._optionsValueProperty ? option.map(value => value[this._optionsValueProperty]) : option;
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
defaultFilterValue = this._optionsValueProperty ? option[this._optionsValueProperty] : option;
|
|
235
|
-
}
|
|
236
|
-
super.withDefaultFilter(defaultFilterValue, matchMode);
|
|
237
|
-
}
|
|
238
|
-
return this;
|
|
239
|
-
}
|
|
240
159
|
/**
|
|
241
160
|
* Copies current descriptor to a new instance.
|
|
242
161
|
*/
|
|
@@ -246,4 +165,4 @@ export class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
|
246
165
|
return field;
|
|
247
166
|
}
|
|
248
167
|
}
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxvb2t1cC5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZmlsdGVyL3NyYy9kZXNjcmlwdG9ycy9maWx0ZXItbG9va3VwLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBR0gsb0JBQW9CLEVBR3BCLGVBQWUsRUFPZiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLG1CQUFtQixFQUN0QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBaUIsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRyxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDNUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUF1QnJELE1BQU0sT0FBTyxzQkFDVCxTQUFRLGdCQUF5QztJQWVqRCxZQUFZLFFBQWdCLEVBQUUsR0FBcUY7UUFDL0csS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBWFYsZ0JBQVcsR0FBMEIsb0JBQW9CLENBQUMsUUFBUSxDQUFDO1FBRW5FLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUV0Qix1QkFBa0IsR0FBRyw0QkFBNEIsQ0FBQztRQVFqRSxJQUFJLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFFekMsSUFBSSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDO1FBQzFDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLHNCQUFzQixDQUMzQyxHQUFHLEVBQUUsSUFB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QUNsRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLGtCQUFrQixDQUFDLENBQUM7WUFDOUUsQ0FBQztZQUVELElBQUksa0JBQStCLENBQUM7WUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMscUJBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEksQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGtCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDbEgsQ0FBQztZQUVELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ2EsSUFBSTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUEwQixDQUFtQixJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge29mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBDbGFzc09wdFR5cGUsXG4gICAgQ2xhc3NUeXBlLFxuICAgIENvbW1vbnNJbnRlcm5hbEVycm9yLFxuICAgIEVudW1Db25zdGFudFR5cGUsXG4gICAgRW51bVZhbHVlLFxuICAgIEZpbHRlck1hdGNoTW9kZSxcbiAgICBGaWx0ZXJNYXRjaE1vZGVFeHRlbmRlZFR5cGUsXG4gICAgSUxvb2t1cERhdGFQcm92aWRlcixcbiAgICBJTG9va3VwRGVzY3JpcHRvcixcbiAgICBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGUsXG4gICAgU2VydmljZUNsYXNzT3B0VHlwZSxcbiAgICBTZXJ2aWNlQ2xhc3NUeXBlLFxuICAgIGZyb21FbnVtQ29uc3RhbnRzQXNWYWx1ZUFycmF5LFxuICAgIGZyb21FbnVtVmFsdWVzQXNWYWx1ZUFycmF5LFxuICAgIGdldEVudW1Db25zdGFudE5hbWVcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TG9va3VwRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5pbXBvcnQge0VudW1EZXNjcmlwdG9yLCBmaW5kQ2xhc3NJZEF0dHJpYnV0ZSwgdHJ5U2V0TG9va3VwSXRlbXNQcm9wZXJ0aWVzfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtGaWx0ZXJMb29rdXBUeXBlRW51bSwgRmlsdGVyVHlwZUVudW19IGZyb20gJy4uL21vZGVscy9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yfSBmcm9tICcuL2ZpbHRlci5kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8XG4gICAgRmlsdGVyTW9kZWwsXG4gICAgU2VydmljZSxcbiAgICBTb3J0cyA9IGtleW9mIEZpbHRlck1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBGaWx0ZXJNb2RlbFxuPiA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4gJiB7XG4gICAgdHlwZT86IENsYXNzVHlwZTxGaWx0ZXJNb2RlbD47XG4gICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9va3VwRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGU8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzID0ga2V5b2YgRmlsdGVyTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBGaWx0ZXJNb2RlbD4gPSB7XG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgIGRhdGFQcm92aWRlcj86IElMb29rdXBEYXRhUHJvdmlkZXI8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpbHRlckxvb2t1cEF1dG9jb21wbGV0ZU9wdHNUeXBlID0ge1xuICAgIG9wZW5PbkZvY3VzPzogYm9vbGVhbjtcbiAgICBpbmxpbmVTZWFyY2g/OiBib29sZWFuO1xuICAgIGF1dG9DbGVhcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSA9IGFueSwgRmlsdGVyVmFsdWUgPSBGaWx0ZXJNb2RlbCwgU29ydHMgPSBrZXlvZiBGaWx0ZXJNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIEZpbHRlck1vZGVsPlxuICAgIGV4dGVuZHMgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJWYWx1ZSwgVGFibGVNb2RlbD5cbiAgICBpbXBsZW1lbnRzIElMb29rdXBEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz5cbntcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxGaWx0ZXJNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmcgfCBudWxsO1xuICAgIHByb3RlY3RlZCBfbG9va3VwVHlwZT86IEZpbHRlckxvb2t1cFR5cGVFbnVtID0gRmlsdGVyTG9va3VwVHlwZUVudW0uRHJvcGRvd247XG4gICAgcHJvdGVjdGVkIF9vcHRpb25zTGFiZWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9kcm9wZG93bkNsYXNzTmFtZSA9ICdtbmctZmlsdGVyLWxvb2t1cC1kcm9wZG93bic7XG5cbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaD86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVBdXRvQ2xlYXI/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJvcGVydHk6IHN0cmluZywgY2ZnPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPikge1xuICAgICAgICBzdXBlcihwcm9wZXJ0eSk7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5Mb29rdXA7XG5cbiAgICAgICAgaWYgKGNmZz8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIgPSBjZmcuZGF0YVByb3ZpZGVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyID0gbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc09wdFR5cGU8RmlsdGVyTW9kZWw+LCBTZXJ2aWNlQ2xhc3NPcHRUeXBlPFNlcnZpY2U+PihcbiAgICAgICAgICAgICAgICBjZmc/LnR5cGUsXG4gICAgICAgICAgICAgICAgY2ZnPy5zZXJ2aWNlVHlwZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5ID1cbiAgICAgICAgICAgIHR5cGVvZiBjZmc/Lm9wdGlvbnNWYWx1ZVByb3BlcnR5ID09PSAndW5kZWZpbmVkJyA/IChmaW5kQ2xhc3NJZEF0dHJpYnV0ZSh0aGlzLl9kYXRhUHJvdmlkZXIuY2xhc3NUeXBlKSA/PyB1bmRlZmluZWQpIDogY2ZnPy5vcHRpb25zVmFsdWVQcm9wZXJ0eTtcblxuICAgICAgICB0cnlTZXRMb29rdXBJdGVtc1Byb3BlcnRpZXModGhpcywgZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9va3VwVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvb2t1cFR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRhUHJvdmlkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zTGFiZWxQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgb3B0aW9uc0xhYmVsVHJhbnNsYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgb3B0aW9uc1ZhbHVlUHJvcGVydHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zVmFsdWVQcm9wZXJ0eSA/PyB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVPcGVuT25Gb2N1cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlQXV0b0NsZWFyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlQXV0b0NsZWFyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBnZXQgZHJvcGRvd25DbGFzc05hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcm9wZG93bkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGxhYmVsIHByb3BlcnR5IGZvciBvcHRpb25zIGRpc3BsYXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgZm9yIGxhYmVsIG9wdGlvbnMuXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZSBJZiB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0aHJvdWdoIHRoZSBpMThuLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoT3B0aW9uc0xhYmVsUHJvcGVydHkocHJvcGVydHk6IGtleW9mIEZpbHRlck1vZGVsLCB0cmFuc2xhdGUgPSBmYWxzZSk6IHRoaXMge1xuICAgICAgICByZXR1cm4gdGhpcy53aXRoT3B0aW9uc0xhYmVsUHJvcGVydHlVbnNhZmUocHJvcGVydHkgYXMgc3RyaW5nLCB0cmFuc2xhdGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbGFiZWwgcHJvcGVydHkgZm9yIG9wdGlvbnMgZGlzcGxheS5cbiAgICAgKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgVU5TQUZFIVxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IFByb3BlcnR5IGZvciBsYWJlbCBvcHRpb25zLlxuICAgICAqIEBwYXJhbSB0cmFuc2xhdGUgSWYgdGhlIG9wdGlvbnMgc2hvdWxkIGJlIHRyYW5zbGF0ZWQgdGhyb3VnaCB0aGUgaTE4bi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNMYWJlbFByb3BlcnR5VW5zYWZlKHByb3BlcnR5OiBzdHJpbmcsIHRyYW5zbGF0ZSA9IGZhbHNlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IHRyYW5zbGF0ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHdpbGwgc2V0IGBvcHRpb25zVmFsdWVQcm9wZXJ0eWAsIGJlY2F1c2UgdHJhY2sgcHJvcGVydGllcyBhcmUgbm90IHN1cHBvcnRlZCBoZXJlIGFzIGZpbHRlcnMgbmVlZCBmaW5hbCB2YWx1ZSB0byB3b3JrIGNvcnJlY3RseS5cbiAgICAgKiBVc2UgYG9wdGlvbnNWYWx1ZVByb3BlcnR5YCBpbiBmaWx0ZXIgY3JlYXRpb24gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE9wdGlvbnNUcmFja1Byb3BlcnR5KCk6IHRoaXMge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2Qgd2lsbCBzZXQgYG9wdGlvbnNWYWx1ZVByb3BlcnR5YCwgYmVjYXVzZSB0cmFjayBwcm9wZXJ0aWVzIGFyZSBub3Qgc3VwcG9ydGVkIGhlcmUgYXMgZmlsdGVycyBuZWVkIGZpbmFsIHZhbHVlIHRvIHdvcmsgY29ycmVjdGx5LlxuICAgICAqIFVzZSBgb3B0aW9uc1ZhbHVlUHJvcGVydHlgIGluIGZpbHRlciBjcmVhdGlvbiBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoT3B0aW9uc1RyYWNrUHJvcGVydHlVbnNhZmUoKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTG9va3VwKGxvb2t1cD86IExvb2t1cERhdGFQcm92aWRlckxvb2t1cEZuVHlwZTxGaWx0ZXJNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2RhdGFQcm92aWRlci53aXRoTG9va3VwKGxvb2t1cCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGRyb3Bkb3duIGNsYXNzIG5hbWUuXG4gICAgICogQHBhcmFtIGRyb3Bkb3duQ2xhc3NOYW1lIENsYXNzIG5hbWUgZm9yIGRyb3Bkb3duLlxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSB3aXRoRHJvcGRvd25DbGFzc05hbWUoZHJvcGRvd25DbGFzc05hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kcm9wZG93bkNsYXNzTmFtZSA9IGRyb3Bkb3duQ2xhc3NOYW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Uge3dpdGhNYXRjaE1vZGVzfSBpZiB5b3Ugd2FudCB0byBsaW1pdCBtYXRjaCBtb2RlIG9wdGlvbnMgdG8gJ2luJyBhbmQgJ25vdEluJy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE11bHRpc2VsZWN0KG11bHRpc2VsZWN0ID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICBpZiAobXVsdGlzZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMud2l0aE1hdGNoTW9kZXMoW0ZpbHRlck1hdGNoTW9kZS5JbiwgRmlsdGVyTWF0Y2hNb2RlLk5vdEluLCBGaWx0ZXJNYXRjaE1vZGUuRXhpc3RzLCBGaWx0ZXJNYXRjaE1vZGUuRG9lc05vdEV4aXN0XSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndpdGhNYXRjaE1vZGVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIHt3aXRoRGVmYXVsdEZpbHRlclZhbHVlfSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSB3aXRoRGVmYXVsdEZpbHRlcih2YWx1ZTogRmlsdGVyVmFsdWUgfCBGaWx0ZXJWYWx1ZVtdIHwgdW5kZWZpbmVkLCBtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9oYXNEZWZhdWx0VmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9kZWZhdWx0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcblxuICAgICAgICB0aGlzLnZhbGlkYXRlRGVmYXVsdEZpbHRlcih2YWx1ZSwgbWF0Y2hNb2RlKTtcblxuICAgICAgICBjb25zdCBpc011bHRpc2VsZWN0ID1cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodGhpcy5fbWF0Y2hNb2RlcykgJiZcbiAgICAgICAgICAgIHRoaXMuX21hdGNoTW9kZXMubGVuZ3RoID09PSA0ICYmXG4gICAgICAgICAgICB0aGlzLl9tYXRjaE1vZGVzWzBdID09PSBGaWx0ZXJNYXRjaE1vZGUuSW4gJiZcbiAgICAgICAgICAgIHRoaXMuX21hdGNoTW9kZXNbMV0gPT09IEZpbHRlck1hdGNoTW9kZS5Ob3RJbiAmJlxuICAgICAgICAgICAgdGhpcy5fbWF0Y2hNb2Rlc1sxXSA9PT0gRmlsdGVyTWF0Y2hNb2RlLkV4aXN0cyAmJlxuICAgICAgICAgICAgdGhpcy5fbWF0Y2hNb2Rlc1sxXSA9PT0gRmlsdGVyTWF0Y2hNb2RlLkRvZXNOb3RFeGlzdDtcbiAgICAgICAgaWYgKChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAhaXNNdWx0aXNlbGVjdCkgfHwgKGlzTXVsdGlzZWxlY3QgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBEZWZhdWx0IHZhbHVlIG5vdCBpbiBjb3JyZWN0IGZvcm1hdCBmb3IgcHJvcGVydHkgJHt0aGlzLl9wcm9wZXJ0eX0uYCwge25hbWU6ICdGaWx0ZXJEZXNjcmlwdG9yRXJyb3InfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGxvb2t1cCBhcyBhdXRvY29tcGxldGUgaW5zdGVhZCBvZiBkcm9wZG93bi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIEFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXNBdXRvY29tcGxldGUob3B0cz86IEZpbHRlckxvb2t1cEF1dG9jb21wbGV0ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2xvb2t1cFR5cGUgPSBGaWx0ZXJMb29rdXBUeXBlRW51bS5BdXRvY29tcGxldGU7XG4gICAgICAgIHRoaXMuX2F1dG9jb21wbGV0ZUF1dG9DbGVhciA9IG9wdHM/LmF1dG9DbGVhcjtcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXMgPSBvcHRzPy5vcGVuT25Gb2N1cztcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoID0gb3B0cz8uaW5saW5lU2VhcmNoO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgY3VycmVudCBkZXNjcmlwdG9yIHRvIGEgbmV3IGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBjb3B5KCk6IEZpbHRlckxvb2t1cERlc2NyaXB0b3I8RmlsdGVyTW9kZWwsIFRhYmxlTW9kZWwsIFNlcnZpY2UsIEZpbHRlclZhbHVlLCBTb3J0cywgRmlsdGVycz4ge1xuICAgICAgICBjb25zdCBkZXNjcmlwdG9yID0gbmV3IEZpbHRlckxvb2t1cERlc2NyaXB0b3I8RmlsdGVyTW9kZWwsIFRhYmxlTW9kZWwsIFNlcnZpY2UsIEZpbHRlclZhbHVlLCBTb3J0cywgRmlsdGVycz4odGhpcy5fcHJvcGVydHksIHtcbiAgICAgICAgICAgIGRhdGFQcm92aWRlcjogdGhpcy5kYXRhUHJvdmlkZXJcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY29weUZpZWxkc1RvKGRlc2NyaXB0b3IpO1xuICAgICAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29weUZpZWxkc1RvKGZpbHRlcjogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSwgRmlsdGVyVmFsdWUsIFNvcnRzLCBGaWx0ZXJzPikge1xuICAgICAgICBzdXBlci5jb3B5RmllbGRzVG8oZmlsdGVyKTtcbiAgICAgICAgZmlsdGVyLl9sb29rdXBUeXBlID0gdGhpcy5fbG9va3VwVHlwZTtcbiAgICAgICAgZmlsdGVyLl9vcHRpb25zTGFiZWxQcm9wZXJ0eSA9IHRoaXMuX29wdGlvbnNMYWJlbFByb3BlcnR5O1xuICAgICAgICBmaWx0ZXIuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IHRoaXMuX29wdGlvbnNMYWJlbFRyYW5zbGF0ZTtcbiAgICAgICAgZmlsdGVyLl9kcm9wZG93bkNsYXNzTmFtZSA9IHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgICAgICBmaWx0ZXIuX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzID0gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgICAgIGZpbHRlci5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoID0gdGhpcy5fYXV0b2NvbXBsZXRlSW5saW5lU2VhcmNoO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbHRlckxvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIFRhYmxlTW9kZWw+IGV4dGVuZHMgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxFbnVtVmFsdWUsIFRhYmxlTW9kZWwsIHVuZGVmaW5lZCwgRW51bUNvbnN0YW50VHlwZSwgbmV2ZXIsIG5ldmVyPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfZW51bTogRW51bURlc2NyaXB0b3I8RW51bT47XG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9uRW51bVZhbHVlczogRW51bVZhbHVlW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmFtZUFzVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3BlcnR5OiBzdHJpbmcsIGVudW1EZXNjOiBFbnVtRGVzY3JpcHRvcjxFbnVtPiwgb3B0aW9ucz86IEFycmF5PEVudW0+KSB7XG4gICAgICAgIHN1cGVyKHByb3BlcnR5LCB7XG4gICAgICAgICAgICBkYXRhUHJvdmlkZXI6IG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PEVudW1WYWx1ZSwgdW5kZWZpbmVkLCBuZXZlciwgbmV2ZXIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHVuZGVmaW5lZCksXG4gICAgICAgICAgICBvcHRpb25zVmFsdWVQcm9wZXJ0eTogJ3ZhbHVlJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLkxvb2t1cEVudW07XG5cbiAgICAgICAgdGhpcy5fZW51bSA9IGVudW1EZXNjO1xuXG4gICAgICAgIHRoaXMuX29wdGlvbkVudW1WYWx1ZXMgPSBBcnJheS5pc0FycmF5KG9wdGlvbnMpXG4gICAgICAgICAgICA/IGZyb21FbnVtVmFsdWVzQXNWYWx1ZUFycmF5KHRoaXMuX2VudW0udHlwZSwgb3B0aW9ucywgdGhpcy5fZW51bS5uYW1lQXNWYWx1ZSwgdGhpcy5fZW51bS5pMThuQmFzZUtleSA/PyB1bmRlZmluZWQpXG4gICAgICAgICAgICA6IGZyb21FbnVtQ29uc3RhbnRzQXNWYWx1ZUFycmF5KHRoaXMuX2VudW0udHlwZSwgdGhpcy5fZW51bS5uYW1lQXNWYWx1ZSwgdGhpcy5fZW51bS5pMThuQmFzZUtleSA/PyB1bmRlZmluZWQpO1xuXG4gICAgICAgIHRoaXMud2l0aExvb2t1cCgoKSA9PiBvZih0aGlzLl9vcHRpb25FbnVtVmFsdWVzKSk7XG4gICAgICAgIHRoaXMud2l0aE9wdGlvbnNMYWJlbFByb3BlcnR5KCd0aXRsZScsIHRoaXMuX2VudW0uaTE4bkJhc2VLZXkgIT09IG51bGwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZW51bSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VudW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBsb29rdXAgYXMgYXV0b2NvbXBsZXRlIGluc3RlYWQgb2YgZHJvcGRvd24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0cyBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGFzQXV0b2NvbXBsZXRlKG9wdHM/OiBGaWx0ZXJMb29rdXBBdXRvY29tcGxldGVPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICBzdXBlci5hc0F1dG9jb21wbGV0ZSh7XG4gICAgICAgICAgICAuLi5vcHRzLFxuICAgICAgICAgICAgb3Blbk9uRm9jdXM6IG9wdHM/Lm9wZW5PbkZvY3VzID8/IHRydWUsXG4gICAgICAgICAgICBpbmxpbmVTZWFyY2g6IG9wdHM/LmlubGluZVNlYXJjaCA/PyB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2Uge3dpdGhNYXRjaE1vZGVzfSBpZiB5b3Ugd2FudCB0byBsaW1pdCBtYXRjaCBtb2RlIG9wdGlvbnMgdG8gJ2luJyBhbmQgJ25vdEluJy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE11bHRpc2VsZWN0RW51bShtdWx0aXNlbGVjdCA9IHRydWUpOiB0aGlzIHtcbiAgICAgICAgc3VwZXIud2l0aE11bHRpc2VsZWN0KG11bHRpc2VsZWN0KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRG8gbm90IHVzZSwgdXNlIGB3aXRoRGVmYXVsdEZpbHRlckVudW1gIGluc3RlYWQuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZCBVc2Uge3dpdGhEZWZhdWx0RmlsdGVyVmFsdWV9IGluc3RlYWQuXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHdpdGhEZWZhdWx0RmlsdGVyKCk6IHRoaXMge1xuICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYHdpdGhEZWZhdWx0RmlsdGVyIG9uIEZpbHRlckxvb2t1cEVudW1EZXNjcmlwdG9yIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHdpdGhEZWZhdWx0RmlsdGVyRW51bSBpbnN0ZWFkLmAsIHtuYW1lOiAnRmlsdGVyRGVzY3JpcHRvckVycm9yJ30pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBmaWx0ZXIgdmFsdWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7d2l0aERlZmF1bHRGaWx0ZXJWYWx1ZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRGaWx0ZXJFbnVtKHZhbHVlOiBFbnVtQ29uc3RhbnRUeXBlIHwgRW51bUNvbnN0YW50VHlwZVtdIHwgdW5kZWZpbmVkLCBtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSk6IHRoaXMge1xuICAgICAgICBsZXQgZGVmYXVsdE9wdGlvblZhbHVlOiBhbnkgfCBhbnlbXTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9uVmFsdWUgPSB0aGlzLl9uYW1lQXNWYWx1ZSA/IHZhbHVlLm1hcCh2YWx1ZSA9PiBnZXRFbnVtQ29uc3RhbnROYW1lKHRoaXMuZW51bS50eXBlLCB2YWx1ZSkpIDogdmFsdWU7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgZGVmYXVsdE9wdGlvblZhbHVlID0gdGhpcy5fbmFtZUFzVmFsdWUgPyBnZXRFbnVtQ29uc3RhbnROYW1lKHRoaXMuZW51bS50eXBlLCB2YWx1ZSkgOiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkZWZhdWx0T3B0aW9uVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgbGV0IG9wdGlvbjogYW55IHwgYW55W107XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkZWZhdWx0T3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uID0gZGVmYXVsdE9wdGlvblZhbHVlLm1hcCh2YWx1ZSA9PiB0aGlzLl9vcHRpb25FbnVtVmFsdWVzLmZpbmQobyA9PiBvLnZhbHVlID09PSB2YWx1ZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBvcHRpb24gPSB0aGlzLl9vcHRpb25FbnVtVmFsdWVzLmZpbmQobyA9PiBvLnZhbHVlID09PSBkZWZhdWx0T3B0aW9uVmFsdWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgZGVmYXVsdEZpbHRlclZhbHVlOiBhbnkgfCBhbnlbXTtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0RmlsdGVyVmFsdWUgPSB0aGlzLl9vcHRpb25zVmFsdWVQcm9wZXJ0eSA/IG9wdGlvbi5tYXAodmFsdWUgPT4gdmFsdWVbdGhpcy5fb3B0aW9uc1ZhbHVlUHJvcGVydHkgYXMga2V5b2Ygb2JqZWN0XSkgOiBvcHRpb247XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGRlZmF1bHRGaWx0ZXJWYWx1ZSA9IHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5ID8gb3B0aW9uW3RoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5IGFzIGtleW9mIG9iamVjdF0gOiBvcHRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN1cGVyLndpdGhEZWZhdWx0RmlsdGVyKGRlZmF1bHRGaWx0ZXJWYWx1ZSwgbWF0Y2hNb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgY3VycmVudCBkZXNjcmlwdG9yIHRvIGEgbmV3IGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBjb3B5KCk6IEZpbHRlckxvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIFRhYmxlTW9kZWw+IHtcbiAgICAgICAgY29uc3QgZmllbGQgPSBuZXcgRmlsdGVyTG9va3VwRW51bURlc2NyaXB0b3I8RW51bSwgVGFibGVNb2RlbD4odGhpcy5fcHJvcGVydHksIHRoaXMuZW51bSwgW10pO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhmaWVsZCk7XG4gICAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9XG59XG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxvb2t1cC5kZXNjcmlwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZmlsdGVyL3NyYy9kZXNjcmlwdG9ycy9maWx0ZXItbG9va3VwLmRlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBUUgsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUM3QixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR3ZFLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQXNCckQsTUFBTSxPQUFPLHNCQUNULFNBQVEsZ0JBQXlDO0lBZWpELFlBQVksUUFBZ0IsRUFBRSxHQUFxRjtRQUMvRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFYVixnQkFBVyxHQUEwQixvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFFbkUsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRXRCLHVCQUFrQixHQUFHLDRCQUE0QixDQUFDO1FBUWpFLElBQUksQ0FBQyxXQUFXLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQztRQUV6QyxJQUFJLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDMUMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksc0JBQXNCLENBQXFFLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMxSSxDQUFDO1FBRUQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEdBQUcsRUFBRSxvQkFBb0IsSUFBSSxTQUFTLENBQUM7SUFDeEUsQ0FBQztJ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QztRQUNsRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDYSxjQUFjLENBQUMsSUFBdUM7UUFDbEUsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUNqQixHQUFHLElBQUk7WUFDUCxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJO1lBQ3RDLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxJQUFJLElBQUk7U0FDM0MsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ2EsSUFBSTtRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLDBCQUEwQixDQUFtQixJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge29mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBFbnVtQ29uc3RhbnRUeXBlLFxuICAgIEVudW1WYWx1ZSxcbiAgICBJTG9va3VwRGF0YVByb3ZpZGVyLFxuICAgIElMb29rdXBEZXNjcmlwdG9yLFxuICAgIExvb2t1cERhdGFQcm92aWRlckxvb2t1cEZuVHlwZSxcbiAgICBTZXJ2aWNlQ2xhc3NPcHRUeXBlLFxuICAgIFNlcnZpY2VDbGFzc1R5cGUsXG4gICAgZnJvbUVudW1Db25zdGFudHNBc1ZhbHVlQXJyYXksXG4gICAgZnJvbUVudW1WYWx1ZXNBc1ZhbHVlQXJyYXlcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7TG9va3VwRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5pbXBvcnQge0VudW1EZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtGaWx0ZXJMb29rdXBUeXBlRW51bSwgRmlsdGVyVHlwZUVudW19IGZyb20gJy4uL21vZGVscy9maWx0ZXIubW9kZWwnO1xuaW1wb3J0IHtGaWx0ZXJEZXNjcmlwdG9yfSBmcm9tICcuL2ZpbHRlci5kZXNjcmlwdG9yJztcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8XG4gICAgRmlsdGVyTW9kZWwsXG4gICAgU2VydmljZSxcbiAgICBTb3J0cyA9IGtleW9mIEZpbHRlck1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBGaWx0ZXJNb2RlbFxuPiA9IEZpbHRlckxvb2t1cERlc2NyaXB0b3JDcmVhdGVPcHRzUHJvdmlkZXJUeXBlPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4gJiB7XG4gICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9va3VwRGVzY3JpcHRvckNyZWF0ZU9wdHNQcm92aWRlclR5cGU8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzID0ga2V5b2YgRmlsdGVyTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBGaWx0ZXJNb2RlbD4gPSB7XG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgIGRhdGFQcm92aWRlcj86IElMb29rdXBEYXRhUHJvdmlkZXI8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEZpbHRlckxvb2t1cEF1dG9jb21wbGV0ZU9wdHNUeXBlID0ge1xuICAgIG9wZW5PbkZvY3VzPzogYm9vbGVhbjtcbiAgICBpbmxpbmVTZWFyY2g/OiBib29sZWFuO1xuICAgIGF1dG9DbGVhcj86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSA9IGFueSwgRmlsdGVyVmFsdWUgPSBGaWx0ZXJNb2RlbCwgU29ydHMgPSBrZXlvZiBGaWx0ZXJNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIEZpbHRlck1vZGVsPlxuICAgIGV4dGVuZHMgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJWYWx1ZSwgVGFibGVNb2RlbD5cbiAgICBpbXBsZW1lbnRzIElMb29rdXBEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz5cbntcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2RhdGFQcm92aWRlcjogSUxvb2t1cERhdGFQcm92aWRlcjxGaWx0ZXJNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfb3B0aW9uc1ZhbHVlUHJvcGVydHk/OiBzdHJpbmcgfCBudWxsO1xuICAgIHByb3RlY3RlZCBfbG9va3VwVHlwZT86IEZpbHRlckxvb2t1cFR5cGVFbnVtID0gRmlsdGVyTG9va3VwVHlwZUVudW0uRHJvcGRvd247XG4gICAgcHJvdGVjdGVkIF9vcHRpb25zTGFiZWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX29wdGlvbnNMYWJlbFRyYW5zbGF0ZSA9IGZhbHNlO1xuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIF9kcm9wZG93bkNsYXNzTmFtZSA9ICdtbmctZmlsdGVyLWxvb2t1cC1kcm9wZG93bic7XG5cbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZU9wZW5PbkZvY3VzPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2F1dG9jb21wbGV0ZUlubGluZVNlYXJjaD86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9hdXRvY29tcGxldGVBdXRvQ2xlYXI/OiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IocHJvcGVydHk6IHN0cmluZywgY2ZnPzogRmlsdGVyTG9va3VwRGVzY3JpcHRvckNvbnN0cnVjdG9yT3B0c1R5cGU8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPikge1xuICAgICAgICBzdXBlcihwcm9wZXJ0eSk7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5Mb29rdXA7XG5cbiAgICAgICAgaWYgKGNmZz8uZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLl9kYXRhUHJvdmlkZXIgPSBjZmcuZGF0YVByb3ZpZGVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyID0gbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8RmlsdGVyTW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3NPcHRUeXBlPFNlcnZpY2U+PihjZmc/LnNlcnZpY2VUeXBlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5ID0gY2ZnPy5vcHRpb25zVmFsdWVQcm9wZXJ0eSA/PyB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb29rdXBUeXBlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9va3VwVHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGFQcm92aWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFQcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG9wdGlvbnNMYWJlbFByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zTGFiZWxUcmFuc2xhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zTGFiZWxUcmFuc2xhdGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBvcHRpb25zVmFsdWVQcm9wZXJ0eSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnNWYWx1ZVByb3BlcnR5ID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZU9wZW5PbkZvY3VzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVBdXRvQ2xlYXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVBdXRvQ2xlYXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhdXRvY29tcGxldGVJbmxpbmVTZWFyY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGdldCBkcm9wZG93bkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbGFiZWwgcHJvcGVydHkgZm9yIG9wdGlvbnMgZGlzcGxheS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBQcm9wZXJ0eSBmb3IgbGFiZWwgb3B0aW9ucy5cbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRlIElmIHRoZSBvcHRpb25zIHNob3VsZCBiZSB0cmFuc2xhdGVkIHRocm91Z2ggdGhlIGkxOG4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eShwcm9wZXJ0eToga2V5b2YgRmlsdGVyTW9kZWwsIHRyYW5zbGF0ZSA9IGZhbHNlKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eVVuc2FmZShwcm9wZXJ0eSBhcyBzdHJpbmcsIHRyYW5zbGF0ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBsYWJlbCBwcm9wZXJ0eSBmb3Igb3B0aW9ucyBkaXNwbGF5LlxuICAgICAqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBVTlNBRkUhXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgZm9yIGxhYmVsIG9wdGlvbnMuXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZSBJZiB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdHJhbnNsYXRlZCB0aHJvdWdoIHRoZSBpMThuLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoT3B0aW9uc0xhYmVsUHJvcGVydHlVbnNhZmUocHJvcGVydHk6IHN0cmluZywgdHJhbnNsYXRlID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlID0gdHJhbnNsYXRlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2Qgd2lsbCBzZXQgYG9wdGlvbnNWYWx1ZVByb3BlcnR5YCwgYmVjYXVzZSB0cmFjayBwcm9wZXJ0aWVzIGFyZSBub3Qgc3VwcG9ydGVkIGhlcmUgYXMgZmlsdGVycyBuZWVkIGZpbmFsIHZhbHVlIHRvIHdvcmsgY29ycmVjdGx5LlxuICAgICAqIFVzZSBgb3B0aW9uc1ZhbHVlUHJvcGVydHlgIGluIGZpbHRlciBjcmVhdGlvbiBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoT3B0aW9uc1RyYWNrUHJvcGVydHkoKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB3aWxsIHNldCBgb3B0aW9uc1ZhbHVlUHJvcGVydHlgLCBiZWNhdXNlIHRyYWNrIHByb3BlcnRpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaGVyZSBhcyBmaWx0ZXJzIG5lZWQgZmluYWwgdmFsdWUgdG8gd29yayBjb3JyZWN0bHkuXG4gICAgICogVXNlIGBvcHRpb25zVmFsdWVQcm9wZXJ0eWAgaW4gZmlsdGVyIGNyZWF0aW9uIGluc3RlYWQuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhPcHRpb25zVHJhY2tQcm9wZXJ0eVVuc2FmZSgpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhMb29rdXAobG9va3VwPzogTG9va3VwRGF0YVByb3ZpZGVyTG9va3VwRm5UeXBlPEZpbHRlck1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0YVByb3ZpZGVyLndpdGhMb29rdXAobG9va3VwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZHJvcGRvd24gY2xhc3MgbmFtZS5cbiAgICAgKiBAcGFyYW0gZHJvcGRvd25DbGFzc05hbWUgQ2xhc3MgbmFtZSBmb3IgZHJvcGRvd24uXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIHdpdGhEcm9wZG93bkNsYXNzTmFtZShkcm9wZG93bkNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gZHJvcGRvd25DbGFzc05hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbG9va3VwIGFzIGF1dG9jb21wbGV0ZSBpbnN0ZWFkIG9mIGRyb3Bkb3duLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc0F1dG9jb21wbGV0ZShvcHRzPzogRmlsdGVyTG9va3VwQXV0b2NvbXBsZXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwVHlwZSA9IEZpbHRlckxvb2t1cFR5cGVFbnVtLkF1dG9jb21wbGV0ZTtcbiAgICAgICAgdGhpcy5fYXV0b2NvbXBsZXRlQXV0b0NsZWFyID0gb3B0cz8uYXV0b0NsZWFyO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cyA9IG9wdHM/Lm9wZW5PbkZvY3VzO1xuICAgICAgICB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2ggPSBvcHRzPy5pbmxpbmVTZWFyY2g7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcGllcyBjdXJyZW50IGRlc2NyaXB0b3IgdG8gYSBuZXcgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIG92ZXJyaWRlIGNvcHkoKTogRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSwgRmlsdGVyVmFsdWUsIFNvcnRzLCBGaWx0ZXJzPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyTG9va3VwRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbCwgU2VydmljZSwgRmlsdGVyVmFsdWUsIFNvcnRzLCBGaWx0ZXJzPih0aGlzLl9wcm9wZXJ0eSwge1xuICAgICAgICAgICAgZGF0YVByb3ZpZGVyOiB0aGlzLmRhdGFQcm92aWRlclxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZGVzY3JpcHRvcik7XG4gICAgICAgIHJldHVybiBkZXNjcmlwdG9yO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjb3B5RmllbGRzVG8oZmlsdGVyOiBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsLCBTZXJ2aWNlLCBGaWx0ZXJWYWx1ZSwgU29ydHMsIEZpbHRlcnM+KSB7XG4gICAgICAgIHN1cGVyLmNvcHlGaWVsZHNUbyhmaWx0ZXIpO1xuICAgICAgICBmaWx0ZXIuX2xvb2t1cFR5cGUgPSB0aGlzLl9sb29rdXBUeXBlO1xuICAgICAgICBmaWx0ZXIuX29wdGlvbnNMYWJlbFByb3BlcnR5ID0gdGhpcy5fb3B0aW9uc0xhYmVsUHJvcGVydHk7XG4gICAgICAgIGZpbHRlci5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlID0gdGhpcy5fb3B0aW9uc0xhYmVsVHJhbnNsYXRlO1xuICAgICAgICBmaWx0ZXIuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgICAgIGZpbHRlci5fYXV0b2NvbXBsZXRlT3Blbk9uRm9jdXMgPSB0aGlzLl9hdXRvY29tcGxldGVPcGVuT25Gb2N1cztcbiAgICAgICAgZmlsdGVyLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2ggPSB0aGlzLl9hdXRvY29tcGxldGVJbmxpbmVTZWFyY2g7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmlsdGVyTG9va3VwRW51bURlc2NyaXB0b3I8RW51bSwgVGFibGVNb2RlbD4gZXh0ZW5kcyBGaWx0ZXJMb29rdXBEZXNjcmlwdG9yPEVudW1WYWx1ZSwgVGFibGVNb2RlbCwgdW5kZWZpbmVkLCBFbnVtQ29uc3RhbnRUeXBlLCBuZXZlciwgbmV2ZXI+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9lbnVtOiBFbnVtRGVzY3JpcHRvcjxFbnVtPjtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vcHRpb25FbnVtVmFsdWVzOiBFbnVtVmFsdWVbXTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9uYW1lQXNWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJvcGVydHk6IHN0cmluZywgZW51bURlc2M6IEVudW1EZXNjcmlwdG9yPEVudW0+LCBvcHRpb25zPzogQXJyYXk8RW51bT4pIHtcbiAgICAgICAgc3VwZXIocHJvcGVydHksIHtcbiAgICAgICAgICAgIGRhdGFQcm92aWRlcjogbmV3IExvb2t1cERhdGFQcm92aWRlckluc3Q8RW51bVZhbHVlLCB1bmRlZmluZWQsIG5ldmVyLCBuZXZlciwgdW5kZWZpbmVkPih1bmRlZmluZWQpLFxuICAgICAgICAgICAgb3B0aW9uc1ZhbHVlUHJvcGVydHk6ICd2YWx1ZSdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5Mb29rdXBFbnVtO1xuXG4gICAgICAgIHRoaXMuX2VudW0gPSBlbnVtRGVzYztcblxuICAgICAgICB0aGlzLl9vcHRpb25FbnVtVmFsdWVzID0gQXJyYXkuaXNBcnJheShvcHRpb25zKVxuICAgICAgICAgICAgPyBmcm9tRW51bVZhbHVlc0FzVmFsdWVBcnJheSh0aGlzLl9lbnVtLnR5cGUsIG9wdGlvbnMsIHRoaXMuX2VudW0ubmFtZUFzVmFsdWUsIHRoaXMuX2VudW0uaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKVxuICAgICAgICAgICAgOiBmcm9tRW51bUNvbnN0YW50c0FzVmFsdWVBcnJheSh0aGlzLl9lbnVtLnR5cGUsIHRoaXMuX2VudW0ubmFtZUFzVmFsdWUsIHRoaXMuX2VudW0uaTE4bkJhc2VLZXkgPz8gdW5kZWZpbmVkKTtcblxuICAgICAgICB0aGlzLndpdGhMb29rdXAoKCkgPT4gb2YodGhpcy5fb3B0aW9uRW51bVZhbHVlcykpO1xuICAgICAgICB0aGlzLndpdGhPcHRpb25zTGFiZWxQcm9wZXJ0eSgndGl0bGUnLCB0aGlzLl9lbnVtLmkxOG5CYXNlS2V5ICE9PSBudWxsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGVudW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbnVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbG9va3VwIGFzIGF1dG9jb21wbGV0ZSBpbnN0ZWFkIG9mIGRyb3Bkb3duLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBhc0F1dG9jb21wbGV0ZShvcHRzPzogRmlsdGVyTG9va3VwQXV0b2NvbXBsZXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgc3VwZXIuYXNBdXRvY29tcGxldGUoe1xuICAgICAgICAgICAgLi4ub3B0cyxcbiAgICAgICAgICAgIG9wZW5PbkZvY3VzOiBvcHRzPy5vcGVuT25Gb2N1cyA/PyB0cnVlLFxuICAgICAgICAgICAgaW5saW5lU2VhcmNoOiBvcHRzPy5pbmxpbmVTZWFyY2ggPz8gdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIGN1cnJlbnQgZGVzY3JpcHRvciB0byBhIG5ldyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29weSgpOiBGaWx0ZXJMb29rdXBFbnVtRGVzY3JpcHRvcjxFbnVtLCBUYWJsZU1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGZpZWxkID0gbmV3IEZpbHRlckxvb2t1cEVudW1EZXNjcmlwdG9yPEVudW0sIFRhYmxlTW9kZWw+KHRoaXMuX3Byb3BlcnR5LCB0aGlzLmVudW0sIFtdKTtcbiAgICAgICAgdGhpcy5jb3B5RmllbGRzVG8oZmllbGQpO1xuICAgICAgICByZXR1cm4gZmllbGQ7XG4gICAgfVxufVxuIl19
|
|
@@ -96,6 +96,9 @@ export class FilterDescriptor {
|
|
|
96
96
|
get title() {
|
|
97
97
|
return this._title;
|
|
98
98
|
}
|
|
99
|
+
get titleUseModelBase() {
|
|
100
|
+
return this._titleUseModelBase;
|
|
101
|
+
}
|
|
99
102
|
get isGenericFilter() {
|
|
100
103
|
return this._isGenericFilter;
|
|
101
104
|
}
|
|
@@ -174,24 +177,6 @@ export class FilterDescriptor {
|
|
|
174
177
|
this._displayType = type;
|
|
175
178
|
return this;
|
|
176
179
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Sets default filter value for filter.
|
|
179
|
-
*
|
|
180
|
-
* @param value Value for default filter.
|
|
181
|
-
* @param matchMode Match mode for default filter.
|
|
182
|
-
*/
|
|
183
|
-
/**
|
|
184
|
-
* Sets default filter value for filter.
|
|
185
|
-
*
|
|
186
|
-
* @deprecated Use {withDefaultFilterValue} instead.
|
|
187
|
-
*/
|
|
188
|
-
withDefaultFilter(value, matchMode) {
|
|
189
|
-
this._hasDefaultValue = true;
|
|
190
|
-
this._defaultValue = value;
|
|
191
|
-
this._defaultMatchMode = matchMode;
|
|
192
|
-
this.validateDefaultFilter(value, matchMode);
|
|
193
|
-
return this;
|
|
194
|
-
}
|
|
195
180
|
/**
|
|
196
181
|
* Sets the default value for a filter with the specified match mode.
|
|
197
182
|
*
|
|
@@ -294,15 +279,6 @@ export class FilterDescriptor {
|
|
|
294
279
|
this._valueSuggestionProvider = valueDataProvider;
|
|
295
280
|
return this;
|
|
296
281
|
}
|
|
297
|
-
/**
|
|
298
|
-
* @deprecated Use ${withDatePickerDisplay} instead.
|
|
299
|
-
*/
|
|
300
|
-
withDateFormat(format, showTime = false, showSeconds = false) {
|
|
301
|
-
this._datePickerFormat = format;
|
|
302
|
-
this._datePickerShowTime = showTime;
|
|
303
|
-
this._datePickerShowSeconds = showSeconds;
|
|
304
|
-
return this;
|
|
305
|
-
}
|
|
306
282
|
/**
|
|
307
283
|
* Sets date picker display options.
|
|
308
284
|
*
|
|
@@ -398,9 +374,11 @@ export class FilterDescriptor {
|
|
|
398
374
|
* Filter title. If non provided, the defaults are applied.
|
|
399
375
|
*
|
|
400
376
|
* @param title Title for the field.
|
|
377
|
+
* @param useModelBase Use model's i18n base key as base path for translation.
|
|
401
378
|
*/
|
|
402
|
-
withTitle(title) {
|
|
379
|
+
withTitle(title, useModelBase) {
|
|
403
380
|
this._title = title;
|
|
381
|
+
this._titleUseModelBase = useModelBase;
|
|
404
382
|
return this;
|
|
405
383
|
}
|
|
406
384
|
withDropdownClassName(dropdownClassName) {
|
|
@@ -440,4 +418,4 @@ export class FilterDescriptor {
|
|
|
440
418
|
descriptor._dropdownClassName = this._dropdownClassName;
|
|
441
419
|
}
|
|
442
420
|
}
|
|
443
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9maWx0ZXIvc3JjL2Rlc2NyaXB0b3JzL2ZpbHRlci5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEYsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHMUssT0FBTyxFQUFDLHFCQUFxQixFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBa0M3RSxNQUFNLE9BQU8sZ0JBQWdCO0lBMkN6QixZQUFZLFFBQWdCO1FBdkNsQixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFHOUMsZ0JBQWdCO1FBQ04scUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBYXpCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBSXRDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFHOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxZ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LFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRCxVQUFVLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlLCBGaWx0ZXJNYXRjaE1vZGVUeXBlLCBJRmlsdGVyRGVzY3JpcHRvciwgSUxvb2t1cERhdGFQcm92aWRlciwgTG9nZ2VyU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7SW5wdXRUcmltVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5cbmltcG9ydCB7RmlsdGVyRGlzcGxheVR5cGVFbnVtLCBGaWx0ZXJUeXBlRW51bX0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckRhdGVQaWNrZXJEaXNwbGF5T3B0c1R5cGUgPSB7XG4gICAgYXBwbHlGcm9tRGlzcGxheUZvcm1hdD86IGJvb2xlYW47XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIHNob3dUaW1lPzogYm9vbGVhbjtcbiAgICBzaG93U2Vjb25kcz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSA9IHtcbiAgICB1dGM/OiBib29sZWFuO1xuICAgIG5vVGltZT86IGJvb2xlYW47XG4gICAgbm9UaW1lWm9uZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlT3B0c1R5cGUgPSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSAmXG4gICAgRmlsdGVyRGF0ZVBpY2tlckRpc3BsYXlPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlID0ge1xuICAgIG1pbkZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIG1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9jYWxlT3B0c1R5cGUgPSB7XG4gICAgbG9jYWxlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTnVtYmVyT3B0c1R5cGUgPSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlICZcbiAgICBGaWx0ZXJMb2NhbGVPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4gaW1wbGVtZW50cyBJRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfcHJvcGVydHk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Nob3dPbkNvbHVtbj86IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBfZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLlN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlUeXBlPzogRmlsdGVyRGlzcGxheVR5cGVFbnVtO1xuXG4gICAgLy8gZGVmYXVsdCB2YWx1ZVxuICAgIHByb3RlY3RlZCBfaGFzRGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9kZWZhdWx0TWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlO1xuICAgIHByb3RlY3RlZCBfZGVmYXVsdFZhbHVlPzogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdO1xuICAgIHByb3RlY3RlZCBfbWF0Y2hNb2Rlcz86IHN0cmluZ1tdO1xuXG4gICAgLy8gdmFsdWUgZGlzcGxheVxuICAgIHByaXZhdGUgX2Rpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZD86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfbG9jYWxlPzogc3RyaW5nO1xuXG4gICAgLy8gbnVtYmVyIGZpbHRlciBmaWVsZCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJvdGVjdGVkIF9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcm90ZWN0ZWQgX251bWJlck1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBfbnVtYmVyVXNlR3JvdXBpbmcgPSB0cnVlO1xuXG4gICAgLy8gZGF0ZSBmaWx0ZXIgZmllbGQgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByb3RlY3RlZCBfZGF0ZVBpY2tlckZvcm1hdD86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2RhdGVQaWNrZXJTaG93VGltZT86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9kYXRlUGlja2VyU2hvd1NlY29uZHM/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlTm9UaW1lPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2RhdGVWYWx1ZU5vVGltZXpvbmU/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlVXRjPzogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9jbGFzc05hbWUgPSAnJztcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbkNsYXNzTmFtZSA9ICcnO1xuICAgIHByb3RlY3RlZCBfY29sdW1uV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfY29sdW1uTWluV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfaW5wdXRUcmltPzogSW5wdXRUcmltVHlwZTtcbiAgICBwcm90ZWN0ZWQgX3RpdGxlPzogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIF9pc0dlbmVyaWNGaWx0ZXIgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxzdHJpbmcsIGFueSwgYW55LCAnZmllbGQnPjtcbiAgICBwcm90ZWN0ZWQgX2Ryb3Bkb3duQ2xhc3NOYW1lID0gJyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX3Nob3dPbkNvbHVtbiA9IHByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG93T25Db2x1bW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T25Db2x1bW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaXNwbGF5VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzRGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdE1hdGNoTW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXRjaE1vZGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF0Y2hNb2RlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Rm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJNaW5GcmFjdGlvbkRpZ2l0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlclVzZUdyb3VwaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyRm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93VGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93U2Vjb25kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZVV0YygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVWYWx1ZVV0YztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZU5vVGltZXpvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVZhbHVlTm9UaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVZhbHVlTm9UaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uV2lkdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5NaW5XaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbk1pbldpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdHJpbU9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0VHJpbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0aXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNHZW5lcmljRmlsdGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNHZW5lcmljRmlsdGVyO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ2VuZXJpY1ZhbHVlUHJvdmlkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZVN1Z2dlc3Rpb25Qcm92aWRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRyb3Bkb3duQ2xhc3NOYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kcm9wZG93bkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBmaWx0ZXIgdG8gZ2l2ZW4gdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWx0ZXJUeXBlIEZpbHRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc0ZpbHRlclR5cGUoZmlsdGVyVHlwZTogRmlsdGVyVHlwZUVudW0pIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IGZpbHRlclR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGZpbHRlciBhcyBhIGdlbmVyaWMgZmlsdGVyLiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYXNHZW5lcmljRmlsdGVyKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pc0dlbmVyaWNGaWx0ZXIgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgZmlsdGVyIGFzIGRhdGUgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIEFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXNEYXRlKG9wdHM/OiBGaWx0ZXJEYXRlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLkRhdGU7XG4gICAgICAgIHRoaXMud2l0aERpc3BsYXlGb3JtYXQob3B0cz8uZGlzcGxheUZvcm1hdCkud2l0aERhdGVQaWNrZXJEaXNwbGF5KG9wdHMpLndpdGhEYXRlVmFsdWUob3B0cyk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCBmaWx0ZXIgYXMgbnVtYmVyIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0cyBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIGFzTnVtYmVyKG9wdHM/OiBGaWx0ZXJOdW1iZXJPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9maWx0ZXJUeXBlID0gRmlsdGVyVHlwZUVudW0uTnVtYmVyO1xuICAgICAgICB0aGlzLndpdGhEaXNwbGF5Rm9ybWF0KG9wdHM/LmRpc3BsYXlGb3JtYXQpLndpdGhOdW1iZXJGcmFjdGlvbnMob3B0cz8ubWluRnJhY3Rpb25EaWdpdHMsIG9wdHM/Lm1heEZyYWN0aW9uRGlnaXRzKS53aXRoTG9jYWxlKG9wdHM/LmxvY2FsZSk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3dzIGZpbHRlciBvbiBjb2x1bW4gZm9yIGdpdmVuIHByb3BlcnR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IENvbHVtbiBwcm9wZXJ0eSB0byBzaG93IGZpbHRlciBvbi5cbiAgICAgKiBAcGFyYW0gZGlzcGxheVR5cGUgT3B0aW9uYWwgZGlzcGxheSB0eXBlIG92ZXJyaWRlLiBJZiBub3QgY29sdW1uLCB0aGUgZmlsdGVyIHdpbGwgbm90IGJlIHNob3duIG9uIGNvbHVtbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aFNob3dPbkNvbHVtbihwcm9wZXJ0eToga2V5b2YgVGFibGVNb2RlbCwgZGlzcGxheVR5cGU6IEZpbHRlckRpc3BsYXlUeXBlRW51bSB8IHVuZGVmaW5lZCA9IEZpbHRlckRpc3BsYXlUeXBlRW51bS5Db2x1bW4pOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aFNob3dPbkNvbHVtblVuc2FmZShwcm9wZXJ0eSBhcyBzdHJpbmcsIGRpc3BsYXlUeXBlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBmaWx0ZXIgb24gY29sdW1uIGZvciBnaXZlbiBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgVU5TQUZFLlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb3BlcnR5IENvbHVtbiBwcm9wZXJ0eSB0byBzaG93IGZpbHRlciBvbi5cbiAgICAgKiBAcGFyYW0gZGlzcGxheVR5cGUgT3B0aW9uYWwgZGlzcGxheSB0eXBlIG92ZXJyaWRlLiBJZiBub3QgY29sdW1uLCB0aGUgZmlsdGVyIHdpbGwgbm90IGJlIHNob3duIG9uIGNvbHVtbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aFNob3dPbkNvbHVtblVuc2FmZShwcm9wZXJ0eTogc3RyaW5nLCBkaXNwbGF5VHlwZTogRmlsdGVyRGlzcGxheVR5cGVFbnVtIHwgdW5kZWZpbmVkID0gRmlsdGVyRGlzcGxheVR5cGVFbnVtLkNvbHVtbik6IHRoaXMge1xuICAgICAgICB0aGlzLl9zaG93T25Db2x1bW4gPSBwcm9wZXJ0eTtcbiAgICAgICAgdGhpcy5fZGlzcGxheVR5cGUgPSBkaXNwbGF5VHlwZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlcyBkaXNwbGF5IHR5cGUgb2YgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIHR5cGUgRGlzcGxheSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGlzcGxheVR5cGUodHlwZT86IEZpbHRlckRpc3BsYXlUeXBlRW51bSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNwbGF5VHlwZSA9IHR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBmaWx0ZXIgdmFsdWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBmb3IgZGVmYXVsdCBmaWx0ZXIuXG4gICAgICogQHBhcmFtIG1hdGNoTW9kZSBNYXRjaCBtb2RlIGZvciBkZWZhdWx0IGZpbHRlci5cbiAgICAgKi9cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBmaWx0ZXIgdmFsdWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFVzZSB7d2l0aERlZmF1bHRGaWx0ZXJWYWx1ZX0gaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRGaWx0ZXIodmFsdWU6IEZpbHRlck1vZGVsIHwgRmlsdGVyTW9kZWxbXSB8IHVuZGVmaW5lZCwgbWF0Y2hNb2RlOiBGaWx0ZXJNYXRjaE1vZGVFeHRlbmRlZFR5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faGFzRGVmYXVsdFZhbHVlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGUgPSBtYXRjaE1vZGU7XG4gICAgICAgIHRoaXMudmFsaWRhdGVEZWZhdWx0RmlsdGVyKHZhbHVlLCBtYXRjaE1vZGUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdleGlzdHMnIHwgJ2RvZXNOb3RFeGlzdCcpOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2JldHdlZW4nLCB2YWx1ZTogW0ZpbHRlck1vZGVsLCBGaWx0ZXJNb2RlbF0pOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2luJyB8ICdub3RJbicsIHZhbHVlOiBGaWx0ZXJNb2RlbFtdKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShcbiAgICAgICAgbWF0Y2hNb2RlOiAnbGVzc1RoYW4nIHwgJ2xlc3NUaGFuT3JFcXVhbFRvJyB8ICdncmVhdGVyVGhhbicgfCAnZ3JlYXRlclRoYW5PckVxdWFsVG8nLFxuICAgICAgICB2YWx1ZTogRmlsdGVyTW9kZWwgZXh0ZW5kcyBudW1iZXIgfCBEYXRlID8gRmlsdGVyTW9kZWwgOiBuZXZlclxuICAgICk6IHRoaXM7XG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUobWF0Y2hNb2RlOiAnY29udGFpbnMnIHwgJ25vdENvbnRhaW5zJyB8ICdzdGFydHNXaXRoJyB8ICdlbmRzV2l0aCcsIHZhbHVlOiBGaWx0ZXJNb2RlbCBleHRlbmRzIHN0cmluZyA/IEZpbHRlck1vZGVsIDogbmV2ZXIpOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2VxdWFscycgfCAnbm90RXF1YWxzJywgdmFsdWU6IEZpbHRlck1vZGVsKTogdGhpcztcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBhIGZpbHRlciB3aXRoIHRoZSBzcGVjaWZpZWQgbWF0Y2ggbW9kZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RmlsdGVyTWF0Y2hNb2RlVHlwZX0gbWF0Y2hNb2RlIC0gVGhlIG1hdGNoIG1vZGUgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcGFyYW0ge0ZpbHRlck1vZGVsIHwgRmlsdGVyTW9kZWxbXX0gW3ZhbHVlXSAtIFRoZSBkZWZhdWx0IHZhbHVlKHMpIGZvciB0aGUgZmlsdGVyLiBUeXBlIG9mIHZhbHVlIGRpZmZlcnMgYmFzZWQgb24gbWF0Y2ggbW9kZSBhbmQgZmlsdGVyIG1vZGVsLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogRmlsdGVyTWF0Y2hNb2RlVHlwZSwgdmFsdWU/OiBGaWx0ZXJNb2RlbCB8IEZpbHRlck1vZGVsW10gfCB1bmRlZmluZWQpOiB0aGlzIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud2l0aERlZmF1bHRWYWx1ZVVuc2FmZShtYXRjaE1vZGUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBhIGZpbHRlciB3aXRoIHRoZSBzcGVjaWZpZWQgbWF0Y2ggbW9kZS5cbiAgICAgKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgVU5TQUZFIVxuICAgICAqXG4gICAgICogQHBhcmFtIHtGaWx0ZXJNYXRjaE1vZGVUeXBlfSBtYXRjaE1vZGUgLSBUaGUgbWF0Y2ggbW9kZSBvZiB0aGUgZmlsdGVyLlxuICAgICAqIEBwYXJhbSB7RmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdfSBbdmFsdWVdIC0gVGhlIGRlZmF1bHQgdmFsdWUocykgZm9yIHRoZSBmaWx0ZXIuIFR5cGUgb2YgdmFsdWUgZGlmZmVycyBiYXNlZCBvbiBtYXRjaCBtb2RlIGFuZCBmaWx0ZXIgbW9kZWwuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWVVbnNhZmUobWF0Y2hNb2RlPzogc3RyaW5nLCB2YWx1ZT86IGFueSB8IGFueVtdIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2hhc0RlZmF1bHRWYWx1ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlID0gbWF0Y2hNb2RlO1xuICAgICAgICBpZiAobWF0Y2hNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRlRGVmYXVsdEZpbHRlcih2YWx1ZSwgbWF0Y2hNb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUdXJucyBvZiB0aGUgZGVmYXVsdCB2YWx1ZSBhbmQgbWF0Y2ggbW9kZSBmb3IgZmlsdGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRob3V0RGVmYXVsdFZhbHVlKCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9oYXNEZWZhdWx0VmFsdWUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGVEZWZhdWx0RmlsdGVyKHZhbHVlOiBGaWx0ZXJNb2RlbCB8IEZpbHRlck1vZGVsW10gfCB1bmRlZmluZWQsIG1hdGNoTW9kZTogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlKSB7XG4gICAgICAgIGlmIChtYXRjaE1vZGUgPT09ICdiZXR3ZWVuJyAmJiB2YWx1ZSAhPSBudWxsICYmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkgfHwgdmFsdWUuZmlsdGVyKHYgPT4gdiAhPSBudWxsKS5sZW5ndGggIT09IDIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYERlZmF1bHQgdmFsdWUgZm9yIGZpbHRlciBtYXRjaCBtb2RlICR7bWF0Y2hNb2RlfSBtdXN0IHByb3ZpZGUgZXhhY3RseSAyIHZhbHVlcyBpbiBhcnJheWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICgobWF0Y2hNb2RlID09PSAnaW4nIHx8IG1hdGNoTW9kZSA9PT0gJ25vdEluJykgJiYgdmFsdWUgIT0gbnVsbCAmJiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmZpbHRlcih2ID0+IHYgIT0gbnVsbCkubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBEZWZhdWx0IHZhbHVlIGZvciBmaWx0ZXIgbWF0Y2ggbW9kZSAke21hdGNoTW9kZX0gbXVzdCBiZSBhcnJheSBhbmQgcHJvdmlkZSBhdCBsZWFzdCAxIG5vbi1udWxsIHZhbHVlYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1hdGNoTW9kZSA9PT0gJ2V4aXN0cycgfHwgbWF0Y2hNb2RlID09PSAnZG9lc05vdEV4aXN0Jykge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1hdGNoTW9kZSAmJiB0aGlzLl9tYXRjaE1vZGVzICYmIHRoaXMuX21hdGNoTW9kZXMuaW5kZXhPZihtYXRjaE1vZGUpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIExvZ2dlclNlcnZpY2UuZ2V0KCkuZGVidWcoYFdBUk5JTkc6IERlZmF1bHQgZmlsdGVyIG1hdGNoIG1vZGUgJyR7bWF0Y2hNb2RlfScgY291bGQgbm90IGJlIGFzc2lnbmVkIGZvciBwcm9wZXJ0eSAke3RoaXMuX3Byb3BlcnR5fS5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZm9ybWF0IGZvciBkaXNwbGF5IG9mIGZpbHRlciB2YWx1ZSAoYXBwbGllcyB0byBkYXRlIGFuZCBudW1iZXIpLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1hdCBGb3JtYXQgKEFuZ3VsYXIgZm9ybWF0dGluZyBydWxlcyBhcHBseSkuXG4gICAgICogQHBhcmFtIGFwcGx5VG9GaWVsZCBJZiB0aGUgZm9ybWF0IHNob3VsZCBhbHNvIGJlIGFwcGxpZWQgdG8gZmllbGQgb24gZmlsdGVyIGVkaXRpbmcgZm9ybS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERpc3BsYXlGb3JtYXQoZm9ybWF0Pzogc3RyaW5nLCBhcHBseVRvRmllbGQ/OiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXQgPSBmb3JtYXQ7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQgPSBhcHBseVRvRmllbGQ7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgbG9jYWxlIGZvciBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9jYWxlIExvY2FsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aExvY2FsZShsb2NhbGU/OiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGZyYWN0aW9uIGZvciBudW1iZXIgZmlsdGVyIGVkaXRpbmcgZmllbGQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWluIE1pbiBmcmFjdGlvbiBkaWdpdHMgKGkuZS4gZGlnaXRzIGFmdGVyIGRlY2ltYWwpLlxuICAgICAqIEBwYXJhbSBtYXggTWF4IGZyYWN0aW9uIGRpZ2l0cyAoaS5lLiBkaWdpdHMgYWZ0ZXIgZGVjaW1hbCkuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhOdW1iZXJGcmFjdGlvbnMobWluPzogbnVtYmVyLCBtYXg/OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyTWluRnJhY3Rpb25EaWdpdHMgPSBtaW47XG4gICAgICAgIHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzID0gbWF4O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJZiBudW1iZXIgZ3JvdXBpbmcgc2hvdWxkIGJlIHVzZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlR3JvdXBpbmcgRW5hYmxlcy9kaXNiYWxlZCB0aGUgZmVhdHVyZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE51bWJlckdyb3VwaW5nKHVzZUdyb3VwaW5nID0gdHJ1ZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9udW1iZXJVc2VHcm91cGluZyA9IHVzZUdyb3VwaW5nO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgZGF0YSBwcm92aWRlciBmb3IgYXV0b2NvbXBsZXRlIHRleHQgc3VnZ2VzdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdmFsdWVEYXRhUHJvdmlkZXIgRGF0YSBwcm92aWRlciBmb3IgYXV0b2NvbXBsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoR2VuZXJpY1ZhbHVlUHJvdmlkZXIodmFsdWVEYXRhUHJvdmlkZXI6IElMb29rdXBEYXRhUHJvdmlkZXI8c3RyaW5nLCBhbnksIGFueSwgJ2ZpZWxkJz4pOiB0aGlzIHtcbiAgICAgICAgaWYgKCEodGhpcy5maWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlRW51bS5TdHJpbmcgfHwgdGhpcy5maWx0ZXJUeXBlID09PSBGaWx0ZXJUeXBlRW51bS5Mb29rdXBFbnVtKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKCdHZW5lcmljIHZhbHVlIGxvb2t1cCBjYW4gb25seSBiZSBzZXQgZm9yIHRoZSBzdHJpbmcgb3IgbG9va3VwIGVudW0gZmlsdGVyIHR5cGVzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXIgPSB2YWx1ZURhdGFQcm92aWRlcjtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlICR7d2l0aERhdGVQaWNrZXJEaXNwbGF5fSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGF0ZUZvcm1hdChmb3JtYXQ/OiBzdHJpbmcsIHNob3dUaW1lID0gZmFsc2UsIHNob3dTZWNvbmRzID0gZmFsc2UpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckZvcm1hdCA9IGZvcm1hdDtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lID0gc2hvd1RpbWU7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcyA9IHNob3dTZWNvbmRzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRhdGUgcGlja2VyIGRpc3BsYXkgb3B0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEYXRlUGlja2VyRGlzcGxheShvcHRzPzogRmlsdGVyRGF0ZVBpY2tlckRpc3BsYXlPcHRzVHlwZSk6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0QXBwbHlUb0ZpZWxkID0gb3B0cz8uYXBwbHlGcm9tRGlzcGxheUZvcm1hdDtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlckZvcm1hdCA9IG9wdHM/LmZvcm1hdDtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lID0gb3B0cz8uc2hvd1RpbWU7XG4gICAgICAgIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcyA9IG9wdHM/LnNob3dTZWNvbmRzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGZpbHRlciBkYXRlIHZhbHVlIGZvcm1hdHRpbmcgb3B0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcHRzIE9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEYXRlVmFsdWUob3B0cz86IEZpbHRlckRhdGVWYWx1ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2RhdGVWYWx1ZVV0YyA9IG9wdHM/LnV0YztcbiAgICAgICAgdGhpcy5fZGF0ZVZhbHVlTm9UaW1lem9uZSA9IG9wdHM/Lm5vVGltZVpvbmU7XG4gICAgICAgIHRoaXMuX2RhdGVWYWx1ZU5vVGltZSA9IG9wdHM/Lm5vVGltZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBwbGFjZWhvbGRlciBmb3IgZmlsdGVyIGZpZWxkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBsYWNlaG9sZGVyIFRleHQgZm9yIHBsYWNlaG9sZGVyLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGNsYXNzIG5hbWUgZm9yIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGFzc05hbWUgQ2xhc3MgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aENsYXNzTmFtZShjbGFzc05hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9jbGFzc05hbWUgPSBjbGFzc05hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY2xhc3MgbmFtZSBmb3IgY29sdW1uIGRpc3BsYXkgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGFzc05hbWUgQ2xhc3MgbmFtZSBmb3IgY29sdW1uLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQ29sdW1uQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2NvbHVtbkNsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IGNvbHVtbiB3aWR0aCBmb3IgY29sdW1uIGRpc3BsYXkgdHlwZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB3aWR0aCBSZWxhdGl2ZSB3aWR0aCAoaW4gcGVyY2VudGFnZSkgb2YgdGFibGUgd2lkdGg6XG4gICAgICogQHBhcmFtIG1pbldpZHRoXG4gICAgICovXG4gICAgcHVibGljIHdpdGhDb2x1bW5XaWR0aCh3aWR0aD86IG51bWJlciwgbWluV2lkdGg/OiBudW1iZXIpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY29sdW1uV2lkdGggPSB3aWR0aCA/PyBudWxsO1xuICAgICAgICB0aGlzLl9jb2x1bW5NaW5XaWR0aCA9IG1pbldpZHRoID8/IG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgaW5wdXQgdHJpbW1pbmcgZm9yIGZpbHRlciB2YWx1ZSBmaWVsZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmltT3B0aW9uIFRyaW0gc2V0dGluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aElucHV0VHJpbW1pbmcodHJpbU9wdGlvbjogSW5wdXRUcmltVHlwZSA9ICdib3RoJyk6IHRoaXMge1xuICAgICAgICB0aGlzLl9pbnB1dFRyaW0gPSB0cmltT3B0aW9uO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHJhbmdlIG9mIG1hdGNoIG1vZGVzIGZvciB0aGlzIGZpbHRlci4gSWYgbm9uIHByb3ZpZGVkLCB0aGUgZGVmYXVsdHMgYXJlIGFwcGxpZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWF0Y2hNb2RlcyBNYXRjaCBtb2RlIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhNYXRjaE1vZGVzKG1hdGNoTW9kZXM/OiBBcnJheTxGaWx0ZXJNYXRjaE1vZGVFeHRlbmRlZFR5cGU+KTogdGhpcyB7XG4gICAgICAgIHRoaXMuX21hdGNoTW9kZXMgPSBtYXRjaE1vZGVzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRlZmF1bHQgbWF0Y2ggbW9kZSBmb3IgdGhpcyBmaWx0ZXIuIElmIG5vbiBwcm92aWRlZCwgdGhlIGRlZmF1bHQgaXMgYXBwbGllZC4gSWYgY3VzdG9tIG1hdGNoIG1vZGVzIGFyZSBwcm92aWRlZCwgaXQgd2lsbCBiZSB2YWxpZGF0ZWQgYWdhaW5zdCBpdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtYXRjaE1vZGUgTWF0Y2ggbW9kZSBvcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZWZhdWx0TWF0Y2hNb2RlKG1hdGNoTW9kZT86IEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSk6IHRoaXMge1xuICAgICAgICBpZiAobWF0Y2hNb2RlICE9IG51bGwgJiYgQXJyYXkuaXNBcnJheSh0aGlzLl9tYXRjaE1vZGVzKSAmJiAhdGhpcy5fbWF0Y2hNb2Rlcy5pbmNsdWRlcyhtYXRjaE1vZGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgQ29tbW9uc0ludGVybmFsRXJyb3IoYEZpbHRlciBtYXRjaCBtb2RlICR7bWF0Y2hNb2RlfSBjYW5ub3QgYmUgc2V0IGZvciBwcm9wZXJ0eSAke3RoaXMuX3Byb3BlcnR5fSwgYmVjYXVzZSBjdXN0b20gbWF0Y2ggbW9kZXMgZG8gbm90IGluY2x1ZGUgaXQuYCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRmlsdGVyIHRpdGxlLiBJZiBub24gcHJvdmlkZWQsIHRoZSBkZWZhdWx0cyBhcmUgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aXRsZSBUaXRsZSBmb3IgdGhlIGZpZWxkLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoVGl0bGUodGl0bGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICB0aGlzLl90aXRsZSA9IHRpdGxlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERyb3Bkb3duQ2xhc3NOYW1lKGRyb3Bkb3duQ2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25DbGFzc05hbWUgPSBkcm9wZG93bkNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIGN1cnJlbnQgZGVzY3JpcHRvciB0byBhIG5ldyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29weSgpOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4odGhpcy5fcHJvcGVydHkpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPikge1xuICAgICAgICBkZXNjcmlwdG9yLl9maWx0ZXJUeXBlID0gdGhpcy5fZmlsdGVyVHlwZTtcbiAgICAgICAgZGVzY3JpcHRvci5faGFzRGVmYXVsdFZhbHVlID0gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kZWZhdWx0VmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kaXNwbGF5Rm9ybWF0ID0gdGhpcy5fZGlzcGxheUZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fbG9jYWxlID0gdGhpcy5fbG9jYWxlO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJVc2VHcm91cGluZyA9IHRoaXMuX251bWJlclVzZUdyb3VwaW5nO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlUGlja2VyRm9ybWF0ID0gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlclNob3dUaW1lID0gdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVVdGMgPSB0aGlzLl9kYXRlVmFsdWVVdGM7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RhdGVWYWx1ZU5vVGltZXpvbmUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVOb1RpbWUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX3BsYWNlaG9sZGVyID0gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NsYXNzTmFtZSA9IHRoaXMuX2NsYXNzTmFtZTtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uV2lkdGggPSB0aGlzLl9jb2x1bW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uTWluV2lkdGggPSB0aGlzLl9jb2x1bW5NaW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uQ2xhc3NOYW1lID0gdGhpcy5fY29sdW1uQ2xhc3NOYW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9pc0dlbmVyaWNGaWx0ZXIgPSB0aGlzLl9pc0dlbmVyaWNGaWx0ZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyID0gdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgfVxufVxuIl19
|
|
421
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmRlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9maWx0ZXIvc3JjL2Rlc2NyaXB0b3JzL2ZpbHRlci5kZXNjcmlwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxvQkFBb0IsRUFBNEYsYUFBYSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHMUssT0FBTyxFQUFDLHFCQUFxQixFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBa0M3RSxNQUFNLE9BQU8sZ0JBQWdCO0lBNEN6QixZQUFZLFFBQWdCO1FBeENsQixnQkFBVyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFHOUMsZ0JBQWdCO1FBQ04scUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBYXpCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQVcxQixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFrQixJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBS3RDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6Qix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFHOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxZ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QztRQUNwRSxVQUFVLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDeEQsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztRQUN0RCxVQUFVLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQzFELFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxVQUFVLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1FBQzVELFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzVDLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDNUMsVUFBVSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2xELFVBQVUsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDcEQsVUFBVSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUNwRCxVQUFVLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3BFLFVBQVUsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zSW50ZXJuYWxFcnJvciwgRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlLCBGaWx0ZXJNYXRjaE1vZGVUeXBlLCBJRmlsdGVyRGVzY3JpcHRvciwgSUxvb2t1cERhdGFQcm92aWRlciwgTG9nZ2VyU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcbmltcG9ydCB7SW5wdXRUcmltVHlwZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9mb3JtL2FwaSc7XG5cbmltcG9ydCB7RmlsdGVyRGlzcGxheVR5cGVFbnVtLCBGaWx0ZXJUeXBlRW51bX0gZnJvbSAnLi4vbW9kZWxzL2ZpbHRlci5tb2RlbCc7XG5cbmV4cG9ydCB0eXBlIEZpbHRlckRhdGVQaWNrZXJEaXNwbGF5T3B0c1R5cGUgPSB7XG4gICAgYXBwbHlGcm9tRGlzcGxheUZvcm1hdD86IGJvb2xlYW47XG4gICAgZm9ybWF0Pzogc3RyaW5nO1xuICAgIHNob3dUaW1lPzogYm9vbGVhbjtcbiAgICBzaG93U2Vjb25kcz86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSA9IHtcbiAgICB1dGM/OiBib29sZWFuO1xuICAgIG5vVGltZT86IGJvb2xlYW47XG4gICAgbm9UaW1lWm9uZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJEYXRlT3B0c1R5cGUgPSBGaWx0ZXJEYXRlVmFsdWVPcHRzVHlwZSAmXG4gICAgRmlsdGVyRGF0ZVBpY2tlckRpc3BsYXlPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlID0ge1xuICAgIG1pbkZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIG1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTG9jYWxlT3B0c1R5cGUgPSB7XG4gICAgbG9jYWxlPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgRmlsdGVyTnVtYmVyT3B0c1R5cGUgPSBGaWx0ZXJOdW1iZXJGcmFjdGlvbk9wdHNUeXBlICZcbiAgICBGaWx0ZXJMb2NhbGVPcHRzVHlwZSAmIHtcbiAgICAgICAgZGlzcGxheUZvcm1hdD86IHN0cmluZztcbiAgICB9O1xuXG5leHBvcnQgY2xhc3MgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4gaW1wbGVtZW50cyBJRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4ge1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfcHJvcGVydHk6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX3Nob3dPbkNvbHVtbj86IHN0cmluZztcblxuICAgIHByb3RlY3RlZCBfZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLlN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2Rpc3BsYXlUeXBlPzogRmlsdGVyRGlzcGxheVR5cGVFbnVtO1xuXG4gICAgLy8gZGVmYXVsdCB2YWx1ZVxuICAgIHByb3RlY3RlZCBfaGFzRGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIF9kZWZhdWx0TWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlO1xuICAgIHByb3RlY3RlZCBfZGVmYXVsdFZhbHVlPzogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdO1xuICAgIHByb3RlY3RlZCBfbWF0Y2hNb2Rlcz86IHN0cmluZ1tdO1xuXG4gICAgLy8gdmFsdWUgZGlzcGxheVxuICAgIHByaXZhdGUgX2Rpc3BsYXlGb3JtYXQ/OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZD86IGJvb2xlYW47XG4gICAgcHJpdmF0ZSBfbG9jYWxlPzogc3RyaW5nO1xuXG4gICAgLy8gbnVtYmVyIGZpbHRlciBmaWVsZCBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gICAgcHJvdGVjdGVkIF9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgICBwcm90ZWN0ZWQgX251bWJlck1heEZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICAgIHByb3RlY3RlZCBfbnVtYmVyVXNlR3JvdXBpbmcgPSB0cnVlO1xuXG4gICAgLy8gZGF0ZSBmaWx0ZXIgZmllbGQgc3BlY2lmaWMgcHJvcGVydGllc1xuICAgIHByb3RlY3RlZCBfZGF0ZVBpY2tlckZvcm1hdD86IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2RhdGVQaWNrZXJTaG93VGltZT86IGJvb2xlYW47XG4gICAgcHJvdGVjdGVkIF9kYXRlUGlja2VyU2hvd1NlY29uZHM/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlTm9UaW1lPzogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2RhdGVWYWx1ZU5vVGltZXpvbmU/OiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfZGF0ZVZhbHVlVXRjPzogYm9vbGVhbjtcblxuICAgIHByb3RlY3RlZCBfcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9jbGFzc05hbWUgPSAnJztcbiAgICBwcm90ZWN0ZWQgX2NvbHVtbkNsYXNzTmFtZSA9ICcnO1xuICAgIHByb3RlY3RlZCBfY29sdW1uV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfY29sdW1uTWluV2lkdGg6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICAgIHByb3RlY3RlZCBfaW5wdXRUcmltPzogSW5wdXRUcmltVHlwZTtcbiAgICBwcm90ZWN0ZWQgX3RpdGxlPzogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBfdGl0bGVVc2VNb2RlbEJhc2U/OiBib29sZWFuO1xuXG4gICAgcHJvdGVjdGVkIF9pc0dlbmVyaWNGaWx0ZXIgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyPzogSUxvb2t1cERhdGFQcm92aWRlcjxzdHJpbmcsIGFueSwgYW55LCAnZmllbGQnPjtcbiAgICBwcm90ZWN0ZWQgX2Ryb3Bkb3duQ2xhc3NOYW1lID0gJyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3Byb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX3Nob3dPbkNvbHVtbiA9IHByb3BlcnR5O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZmlsdGVyVHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclR5cGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaG93T25Db2x1bW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93T25Db2x1bW47XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaXNwbGF5VHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlUeXBlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaGFzRGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdFZhbHVlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGVmYXVsdE1hdGNoTW9kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBtYXRjaE1vZGVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF0Y2hNb2RlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Rm9ybWF0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlzcGxheUZvcm1hdEFwcGx5VG9GaWVsZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBudW1iZXJNaW5GcmFjdGlvbkRpZ2l0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbnVtYmVyTWF4RnJhY3Rpb25EaWdpdHMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG51bWJlclVzZUdyb3VwaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlUGlja2VyRm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93VGltZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93VGltZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVQaWNrZXJTaG93U2Vjb25kcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVQaWNrZXJTaG93U2Vjb25kcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZVV0YygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVWYWx1ZVV0YztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGRhdGVWYWx1ZU5vVGltZXpvbmUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGF0ZVZhbHVlTm9UaW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVZhbHVlTm9UaW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgcGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbkNsYXNzTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbkNsYXNzTmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbHVtbldpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29sdW1uV2lkdGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5NaW5XaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtbk1pbldpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdHJpbU9wdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lucHV0VHJpbTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHByb3BlcnR5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJvcGVydHk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB0aXRsZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RpdGxlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgdGl0bGVVc2VNb2RlbEJhc2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90aXRsZVVzZU1vZGVsQmFzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzR2VuZXJpY0ZpbHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzR2VuZXJpY0ZpbHRlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGdlbmVyaWNWYWx1ZVByb3ZpZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkcm9wZG93bkNsYXNzTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgZmlsdGVyIHRvIGdpdmVuIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZmlsdGVyVHlwZSBGaWx0ZXIgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXNGaWx0ZXJUeXBlKGZpbHRlclR5cGU6IEZpbHRlclR5cGVFbnVtKSB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBmaWx0ZXJUeXBlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBmaWx0ZXIgYXMgYSBnZW5lcmljIGZpbHRlci4gRm9yIGludGVybmFsIHVzZSBvbmx5LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGFzR2VuZXJpY0ZpbHRlcigpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faXNHZW5lcmljRmlsdGVyID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IGZpbHRlciBhcyBkYXRlIHR5cGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3B0cyBBZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAgICovXG4gICAgcHVibGljIGFzRGF0ZShvcHRzPzogRmlsdGVyRGF0ZU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2ZpbHRlclR5cGUgPSBGaWx0ZXJUeXBlRW51bS5EYXRlO1xuICAgICAgICB0aGlzLndpdGhEaXNwbGF5Rm9ybWF0KG9wdHM/LmRpc3BsYXlGb3JtYXQpLndpdGhEYXRlUGlja2VyRGlzcGxheShvcHRzKS53aXRoRGF0ZVZhbHVlKG9wdHMpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgZmlsdGVyIGFzIG51bWJlciB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgQWRkaXRpb25hbCBvcHRpb25zLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc051bWJlcihvcHRzPzogRmlsdGVyTnVtYmVyT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZmlsdGVyVHlwZSA9IEZpbHRlclR5cGVFbnVtLk51bWJlcjtcbiAgICAgICAgdGhpcy53aXRoRGlzcGxheUZvcm1hdChvcHRzPy5kaXNwbGF5Rm9ybWF0KS53aXRoTnVtYmVyRnJhY3Rpb25zKG9wdHM/Lm1pbkZyYWN0aW9uRGlnaXRzLCBvcHRzPy5tYXhGcmFjdGlvbkRpZ2l0cykud2l0aExvY2FsZShvcHRzPy5sb2NhbGUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93cyBmaWx0ZXIgb24gY29sdW1uIGZvciBnaXZlbiBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBDb2x1bW4gcHJvcGVydHkgdG8gc2hvdyBmaWx0ZXIgb24uXG4gICAgICogQHBhcmFtIGRpc3BsYXlUeXBlIE9wdGlvbmFsIGRpc3BsYXkgdHlwZSBvdmVycmlkZS4gSWYgbm90IGNvbHVtbiwgdGhlIGZpbHRlciB3aWxsIG5vdCBiZSBzaG93biBvbiBjb2x1bW4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhTaG93T25Db2x1bW4ocHJvcGVydHk6IGtleW9mIFRhYmxlTW9kZWwsIGRpc3BsYXlUeXBlOiBGaWx0ZXJEaXNwbGF5VHlwZUVudW0gfCB1bmRlZmluZWQgPSBGaWx0ZXJEaXNwbGF5VHlwZUVudW0uQ29sdW1uKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhTaG93T25Db2x1bW5VbnNhZmUocHJvcGVydHkgYXMgc3RyaW5nLCBkaXNwbGF5VHlwZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgZmlsdGVyIG9uIGNvbHVtbiBmb3IgZ2l2ZW4gcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIFVOU0FGRS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eSBDb2x1bW4gcHJvcGVydHkgdG8gc2hvdyBmaWx0ZXIgb24uXG4gICAgICogQHBhcmFtIGRpc3BsYXlUeXBlIE9wdGlvbmFsIGRpc3BsYXkgdHlwZSBvdmVycmlkZS4gSWYgbm90IGNvbHVtbiwgdGhlIGZpbHRlciB3aWxsIG5vdCBiZSBzaG93biBvbiBjb2x1bW4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhTaG93T25Db2x1bW5VbnNhZmUocHJvcGVydHk6IHN0cmluZywgZGlzcGxheVR5cGU6IEZpbHRlckRpc3BsYXlUeXBlRW51bSB8IHVuZGVmaW5lZCA9IEZpbHRlckRpc3BsYXlUeXBlRW51bS5Db2x1bW4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fc2hvd09uQ29sdW1uID0gcHJvcGVydHk7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlUeXBlID0gZGlzcGxheVR5cGU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZXMgZGlzcGxheSB0eXBlIG9mIGZpbHRlci5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0eXBlIERpc3BsYXkgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERpc3BsYXlUeXBlKHR5cGU/OiBGaWx0ZXJEaXNwbGF5VHlwZUVudW0pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGlzcGxheVR5cGUgPSB0eXBlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGRlZmF1bHQgZmlsdGVyIHZhbHVlIGZvciBmaWx0ZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWF0Y2hNb2RlIE1hdGNoIG1vZGUgZm9yIGRlZmF1bHQgZmlsdGVyLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSBmb3IgZGVmYXVsdCBmaWx0ZXIuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUobWF0Y2hNb2RlOiAnZXhpc3RzJyB8ICdkb2VzTm90RXhpc3QnKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdiZXR3ZWVuJywgdmFsdWU6IFtGaWx0ZXJNb2RlbCwgRmlsdGVyTW9kZWxdKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdpbicgfCAnbm90SW4nLCB2YWx1ZTogRmlsdGVyTW9kZWxbXSk6IHRoaXM7XG4gICAgcHVibGljIHdpdGhEZWZhdWx0VmFsdWUoXG4gICAgICAgIG1hdGNoTW9kZTogJ2xlc3NUaGFuJyB8ICdsZXNzVGhhbk9yRXF1YWxUbycgfCAnZ3JlYXRlclRoYW4nIHwgJ2dyZWF0ZXJUaGFuT3JFcXVhbFRvJyxcbiAgICAgICAgdmFsdWU6IEZpbHRlck1vZGVsIGV4dGVuZHMgbnVtYmVyIHwgRGF0ZSA/IEZpbHRlck1vZGVsIDogbmV2ZXJcbiAgICApOiB0aGlzO1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlKG1hdGNoTW9kZTogJ2NvbnRhaW5zJyB8ICdub3RDb250YWlucycgfCAnc3RhcnRzV2l0aCcgfCAnZW5kc1dpdGgnLCB2YWx1ZTogRmlsdGVyTW9kZWwgZXh0ZW5kcyBzdHJpbmcgPyBGaWx0ZXJNb2RlbCA6IG5ldmVyKTogdGhpcztcbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6ICdlcXVhbHMnIHwgJ25vdEVxdWFscycsIHZhbHVlOiBGaWx0ZXJNb2RlbCk6IHRoaXM7XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBmaWx0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG1hdGNoIG1vZGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0ZpbHRlck1hdGNoTW9kZVR5cGV9IG1hdGNoTW9kZSAtIFRoZSBtYXRjaCBtb2RlIG9mIHRoZSBmaWx0ZXIuXG4gICAgICogQHBhcmFtIHtGaWx0ZXJNb2RlbCB8IEZpbHRlck1vZGVsW119IFt2YWx1ZV0gLSBUaGUgZGVmYXVsdCB2YWx1ZShzKSBmb3IgdGhlIGZpbHRlci4gVHlwZSBvZiB2YWx1ZSBkaWZmZXJzIGJhc2VkIG9uIG1hdGNoIG1vZGUgYW5kIGZpbHRlciBtb2RlbC5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRWYWx1ZShtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZVR5cGUsIHZhbHVlPzogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdIHwgdW5kZWZpbmVkKTogdGhpcyB7XG4gICAgICAgIHJldHVybiB0aGlzLndpdGhEZWZhdWx0VmFsdWVVbnNhZmUobWF0Y2hNb2RlLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBmaWx0ZXIgd2l0aCB0aGUgc3BlY2lmaWVkIG1hdGNoIG1vZGUuXG4gICAgICpcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIFVOU0FGRSFcbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RmlsdGVyTWF0Y2hNb2RlVHlwZX0gbWF0Y2hNb2RlIC0gVGhlIG1hdGNoIG1vZGUgb2YgdGhlIGZpbHRlci5cbiAgICAgKiBAcGFyYW0ge0ZpbHRlck1vZGVsIHwgRmlsdGVyTW9kZWxbXX0gW3ZhbHVlXSAtIFRoZSBkZWZhdWx0IHZhbHVlKHMpIGZvciB0aGUgZmlsdGVyLiBUeXBlIG9mIHZhbHVlIGRpZmZlcnMgYmFzZWQgb24gbWF0Y2ggbW9kZSBhbmQgZmlsdGVyIG1vZGVsLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoRGVmYXVsdFZhbHVlVW5zYWZlKG1hdGNoTW9kZT86IHN0cmluZywgdmFsdWU/OiBhbnkgfCBhbnlbXSB8IHVuZGVmaW5lZCk6IHRoaXMge1xuICAgICAgICB0aGlzLl9oYXNEZWZhdWx0VmFsdWUgPSB0cnVlO1xuICAgICAgICB0aGlzLl9kZWZhdWx0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IG1hdGNoTW9kZTtcbiAgICAgICAgaWYgKG1hdGNoTW9kZSkge1xuICAgICAgICAgICAgdGhpcy52YWxpZGF0ZURlZmF1bHRGaWx0ZXIodmFsdWUsIG1hdGNoTW9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHVybnMgb2YgdGhlIGRlZmF1bHQgdmFsdWUgYW5kIG1hdGNoIG1vZGUgZm9yIGZpbHRlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aG91dERlZmF1bHRWYWx1ZSgpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5faGFzRGVmYXVsdFZhbHVlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5fZGVmYXVsdE1hdGNoTW9kZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRlRGVmYXVsdEZpbHRlcih2YWx1ZTogRmlsdGVyTW9kZWwgfCBGaWx0ZXJNb2RlbFtdIHwgdW5kZWZpbmVkLCBtYXRjaE1vZGU6IEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZSkge1xuICAgICAgICBpZiAobWF0Y2hNb2RlID09PSAnYmV0d2VlbicgJiYgdmFsdWUgIT0gbnVsbCAmJiAoIUFycmF5LmlzQXJyYXkodmFsdWUpIHx8IHZhbHVlLmZpbHRlcih2ID0+IHYgIT0gbnVsbCkubGVuZ3RoICE9PSAyKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IENvbW1vbnNJbnRlcm5hbEVycm9yKGBEZWZhdWx0IHZhbHVlIGZvciBmaWx0ZXIgbWF0Y2ggbW9kZSAke21hdGNoTW9kZX0gbXVzdCBwcm92aWRlIGV4YWN0bHkgMiB2YWx1ZXMgaW4gYXJyYXlgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoKG1hdGNoTW9kZSA9PT0gJ2luJyB8fCBtYXRjaE1vZGUgPT09ICdub3RJbicpICYmIHZhbHVlICE9IG51bGwgJiYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5maWx0ZXIodiA9PiB2ICE9IG51bGwpLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgRGVmYXVsdCB2YWx1ZSBmb3IgZmlsdGVyIG1hdGNoIG1vZGUgJHttYXRjaE1vZGV9IG11c3QgYmUgYXJyYXkgYW5kIHByb3ZpZGUgYXQgbGVhc3QgMSBub24tbnVsbCB2YWx1ZWApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXRjaE1vZGUgPT09ICdleGlzdHMnIHx8IG1hdGNoTW9kZSA9PT0gJ2RvZXNOb3RFeGlzdCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtYXRjaE1vZGUgJiYgdGhpcy5fbWF0Y2hNb2RlcyAmJiB0aGlzLl9tYXRjaE1vZGVzLmluZGV4T2YobWF0Y2hNb2RlKSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2RlZmF1bHRNYXRjaE1vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICBMb2dnZXJTZXJ2aWNlLmdldCgpLmRlYnVnKGBXQVJOSU5HOiBEZWZhdWx0IGZpbHRlciBtYXRjaCBtb2RlICcke21hdGNoTW9kZX0nIGNvdWxkIG5vdCBiZSBhc3NpZ25lZCBmb3IgcHJvcGVydHkgJHt0aGlzLl9wcm9wZXJ0eX0uYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGZvcm1hdCBmb3IgZGlzcGxheSBvZiBmaWx0ZXIgdmFsdWUgKGFwcGxpZXMgdG8gZGF0ZSBhbmQgbnVtYmVyKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JtYXQgRm9ybWF0IChBbmd1bGFyIGZvcm1hdHRpbmcgcnVsZXMgYXBwbHkpLlxuICAgICAqIEBwYXJhbSBhcHBseVRvRmllbGQgSWYgdGhlIGZvcm1hdCBzaG91bGQgYWxzbyBiZSBhcHBsaWVkIHRvIGZpZWxkIG9uIGZpbHRlciBlZGl0aW5nIGZvcm0uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhEaXNwbGF5Rm9ybWF0KGZvcm1hdD86IHN0cmluZywgYXBwbHlUb0ZpZWxkPzogYm9vbGVhbik6IHRoaXMge1xuICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0ID0gZm9ybWF0O1xuICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0QXBwbHlUb0ZpZWxkID0gYXBwbHlUb0ZpZWxkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGxvY2FsZSBmb3IgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2FsZSBMb2NhbGUuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhMb2NhbGUobG9jYWxlPzogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2xvY2FsZSA9IGxvY2FsZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBmcmFjdGlvbiBmb3IgbnVtYmVyIGZpbHRlciBlZGl0aW5nIGZpZWxkLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1pbiBNaW4gZnJhY3Rpb24gZGlnaXRzIChpLmUuIGRpZ2l0cyBhZnRlciBkZWNpbWFsKS5cbiAgICAgKiBAcGFyYW0gbWF4IE1heCBmcmFjdGlvbiBkaWdpdHMgKGkuZS4gZGlnaXRzIGFmdGVyIGRlY2ltYWwpLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoTnVtYmVyRnJhY3Rpb25zKG1pbj86IG51bWJlciwgbWF4PzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzID0gbWluO1xuICAgICAgICB0aGlzLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IG1heDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgbnVtYmVyIGdyb3VwaW5nIHNob3VsZCBiZSB1c2VkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZUdyb3VwaW5nIEVuYWJsZXMvZGlzYmFsZWQgdGhlIGZlYXR1cmUuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhOdW1iZXJHcm91cGluZyh1c2VHcm91cGluZyA9IHRydWUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbnVtYmVyVXNlR3JvdXBpbmcgPSB1c2VHcm91cGluZztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGRhdGEgcHJvdmlkZXIgZm9yIGF1dG9jb21wbGV0ZSB0ZXh0IHN1Z2dlc3Rpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlRGF0YVByb3ZpZGVyIERhdGEgcHJvdmlkZXIgZm9yIGF1dG9jb21wbGV0ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aEdlbmVyaWNWYWx1ZVByb3ZpZGVyKHZhbHVlRGF0YVByb3ZpZGVyOiBJTG9va3VwRGF0YVByb3ZpZGVyPHN0cmluZywgYW55LCBhbnksICdmaWVsZCc+KTogdGhpcyB7XG4gICAgICAgIGlmICghKHRoaXMuZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZUVudW0uU3RyaW5nIHx8IHRoaXMuZmlsdGVyVHlwZSA9PT0gRmlsdGVyVHlwZUVudW0uTG9va3VwRW51bSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcignR2VuZXJpYyB2YWx1ZSBsb29rdXAgY2FuIG9ubHkgYmUgc2V0IGZvciB0aGUgc3RyaW5nIG9yIGxvb2t1cCBlbnVtIGZpbHRlciB0eXBlcy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyID0gdmFsdWVEYXRhUHJvdmlkZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGF0ZSBwaWNrZXIgZGlzcGxheSBvcHRpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERhdGVQaWNrZXJEaXNwbGF5KG9wdHM/OiBGaWx0ZXJEYXRlUGlja2VyRGlzcGxheU9wdHNUeXBlKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXRBcHBseVRvRmllbGQgPSBvcHRzPy5hcHBseUZyb21EaXNwbGF5Rm9ybWF0O1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyRm9ybWF0ID0gb3B0cz8uZm9ybWF0O1xuICAgICAgICB0aGlzLl9kYXRlUGlja2VyU2hvd1RpbWUgPSBvcHRzPy5zaG93VGltZTtcbiAgICAgICAgdGhpcy5fZGF0ZVBpY2tlclNob3dTZWNvbmRzID0gb3B0cz8uc2hvd1NlY29uZHM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZmlsdGVyIGRhdGUgdmFsdWUgZm9ybWF0dGluZyBvcHRpb25zLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERhdGVWYWx1ZShvcHRzPzogRmlsdGVyRGF0ZVZhbHVlT3B0c1R5cGUpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZGF0ZVZhbHVlVXRjID0gb3B0cz8udXRjO1xuICAgICAgICB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lID0gb3B0cz8ubm9UaW1lWm9uZTtcbiAgICAgICAgdGhpcy5fZGF0ZVZhbHVlTm9UaW1lID0gb3B0cz8ubm9UaW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHBsYWNlaG9sZGVyIGZvciBmaWx0ZXIgZmllbGQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGxhY2Vob2xkZXIgVGV4dCBmb3IgcGxhY2Vob2xkZXIuXG4gICAgICovXG4gICAgcHVibGljIHdpdGhQbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgY2xhc3MgbmFtZSBmb3IgZmlsdGVyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNsYXNzTmFtZSBDbGFzcyBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoQ2xhc3NOYW1lKGNsYXNzTmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2NsYXNzTmFtZSA9IGNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBjbGFzcyBuYW1lIGZvciBjb2x1bW4gZGlzcGxheSB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNsYXNzTmFtZSBDbGFzcyBuYW1lIGZvciBjb2x1bW4uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhDb2x1bW5DbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fY29sdW1uQ2xhc3NOYW1lID0gY2xhc3NOYW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgY29sdW1uIHdpZHRoIGZvciBjb2x1bW4gZGlzcGxheSB0eXBlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdpZHRoIFJlbGF0aXZlIHdpZHRoIChpbiBwZXJjZW50YWdlKSBvZiB0YWJsZSB3aWR0aDpcbiAgICAgKiBAcGFyYW0gbWluV2lkdGhcbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aENvbHVtbldpZHRoKHdpZHRoPzogbnVtYmVyLCBtaW5XaWR0aD86IG51bWJlcik6IHRoaXMge1xuICAgICAgICB0aGlzLl9jb2x1bW5XaWR0aCA9IHdpZHRoID8/IG51bGw7XG4gICAgICAgIHRoaXMuX2NvbHVtbk1pbldpZHRoID0gbWluV2lkdGggPz8gbnVsbDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBpbnB1dCB0cmltbWluZyBmb3IgZmlsdGVyIHZhbHVlIGZpZWxkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRyaW1PcHRpb24gVHJpbSBzZXR0aW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyB3aXRoSW5wdXRUcmltbWluZyh0cmltT3B0aW9uOiBJbnB1dFRyaW1UeXBlID0gJ2JvdGgnKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX2lucHV0VHJpbSA9IHRyaW1PcHRpb247XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgcmFuZ2Ugb2YgbWF0Y2ggbW9kZXMgZm9yIHRoaXMgZmlsdGVyLiBJZiBub24gcHJvdmlkZWQsIHRoZSBkZWZhdWx0cyBhcmUgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtYXRjaE1vZGVzIE1hdGNoIG1vZGUgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aE1hdGNoTW9kZXMobWF0Y2hNb2Rlcz86IEFycmF5PEZpbHRlck1hdGNoTW9kZUV4dGVuZGVkVHlwZT4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbWF0Y2hNb2RlcyA9IG1hdGNoTW9kZXM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgZGVmYXVsdCBtYXRjaCBtb2RlIGZvciB0aGlzIGZpbHRlci4gSWYgbm9uIHByb3ZpZGVkLCB0aGUgZGVmYXVsdCBpcyBhcHBsaWVkLiBJZiBjdXN0b20gbWF0Y2ggbW9kZXMgYXJlIHByb3ZpZGVkLCBpdCB3aWxsIGJlIHZhbGlkYXRlZCBhZ2FpbnN0IGl0LlxuICAgICAqXG4gICAgICogQHBhcmFtIG1hdGNoTW9kZSBNYXRjaCBtb2RlIG9wdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgd2l0aERlZmF1bHRNYXRjaE1vZGUobWF0Y2hNb2RlPzogRmlsdGVyTWF0Y2hNb2RlRXh0ZW5kZWRUeXBlKTogdGhpcyB7XG4gICAgICAgIGlmIChtYXRjaE1vZGUgIT0gbnVsbCAmJiBBcnJheS5pc0FycmF5KHRoaXMuX21hdGNoTW9kZXMpICYmICF0aGlzLl9tYXRjaE1vZGVzLmluY2x1ZGVzKG1hdGNoTW9kZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDb21tb25zSW50ZXJuYWxFcnJvcihgRmlsdGVyIG1hdGNoIG1vZGUgJHttYXRjaE1vZGV9IGNhbm5vdCBiZSBzZXQgZm9yIHByb3BlcnR5ICR7dGhpcy5fcHJvcGVydHl9LCBiZWNhdXNlIGN1c3RvbSBtYXRjaCBtb2RlcyBkbyBub3QgaW5jbHVkZSBpdC5gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlID0gbWF0Y2hNb2RlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgdGl0bGUuIElmIG5vbiBwcm92aWRlZCwgdGhlIGRlZmF1bHRzIGFyZSBhcHBsaWVkLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRpdGxlIFRpdGxlIGZvciB0aGUgZmllbGQuXG4gICAgICogQHBhcmFtIHVzZU1vZGVsQmFzZSBVc2UgbW9kZWwncyBpMThuIGJhc2Uga2V5IGFzIGJhc2UgcGF0aCBmb3IgdHJhbnNsYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHdpdGhUaXRsZSh0aXRsZTogc3RyaW5nLCB1c2VNb2RlbEJhc2U/OiBib29sZWFuKTogdGhpcyB7XG4gICAgICAgIHRoaXMuX3RpdGxlID0gdGl0bGU7XG4gICAgICAgIHRoaXMuX3RpdGxlVXNlTW9kZWxCYXNlID0gdXNlTW9kZWxCYXNlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aERyb3Bkb3duQ2xhc3NOYW1lKGRyb3Bkb3duQ2xhc3NOYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fZHJvcGRvd25DbGFzc05hbWUgPSBkcm9wZG93bkNsYXNzTmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIGN1cnJlbnQgZGVzY3JpcHRvciB0byBhIG5ldyBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29weSgpOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPiB7XG4gICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBuZXcgRmlsdGVyRGVzY3JpcHRvcjxGaWx0ZXJNb2RlbCwgVGFibGVNb2RlbD4odGhpcy5fcHJvcGVydHkpO1xuICAgICAgICB0aGlzLmNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yKTtcbiAgICAgICAgcmV0dXJuIGRlc2NyaXB0b3I7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvcHlGaWVsZHNUbyhkZXNjcmlwdG9yOiBGaWx0ZXJEZXNjcmlwdG9yPEZpbHRlck1vZGVsLCBUYWJsZU1vZGVsPikge1xuICAgICAgICBkZXNjcmlwdG9yLl9maWx0ZXJUeXBlID0gdGhpcy5fZmlsdGVyVHlwZTtcbiAgICAgICAgZGVzY3JpcHRvci5faGFzRGVmYXVsdFZhbHVlID0gdGhpcy5faGFzRGVmYXVsdFZhbHVlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kZWZhdWx0VmFsdWUgPSB0aGlzLl9kZWZhdWx0VmFsdWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RlZmF1bHRNYXRjaE1vZGUgPSB0aGlzLl9kZWZhdWx0TWF0Y2hNb2RlO1xuICAgICAgICBkZXNjcmlwdG9yLl9kaXNwbGF5Rm9ybWF0ID0gdGhpcy5fZGlzcGxheUZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fbG9jYWxlID0gdGhpcy5fbG9jYWxlO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNaW5GcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1pbkZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJNYXhGcmFjdGlvbkRpZ2l0cyA9IHRoaXMuX251bWJlck1heEZyYWN0aW9uRGlnaXRzO1xuICAgICAgICBkZXNjcmlwdG9yLl9udW1iZXJVc2VHcm91cGluZyA9IHRoaXMuX251bWJlclVzZUdyb3VwaW5nO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlUGlja2VyRm9ybWF0ID0gdGhpcy5fZGF0ZVBpY2tlckZvcm1hdDtcbiAgICAgICAgZGVzY3JpcHRvci5fZGF0ZVBpY2tlclNob3dUaW1lID0gdGhpcy5fZGF0ZVBpY2tlclNob3dUaW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVVdGMgPSB0aGlzLl9kYXRlVmFsdWVVdGM7XG4gICAgICAgIGRlc2NyaXB0b3IuX2RhdGVWYWx1ZU5vVGltZXpvbmUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWV6b25lO1xuICAgICAgICBkZXNjcmlwdG9yLl9kYXRlVmFsdWVOb1RpbWUgPSB0aGlzLl9kYXRlVmFsdWVOb1RpbWU7XG4gICAgICAgIGRlc2NyaXB0b3IuX3BsYWNlaG9sZGVyID0gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2NsYXNzTmFtZSA9IHRoaXMuX2NsYXNzTmFtZTtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uV2lkdGggPSB0aGlzLl9jb2x1bW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uTWluV2lkdGggPSB0aGlzLl9jb2x1bW5NaW5XaWR0aDtcbiAgICAgICAgZGVzY3JpcHRvci5fY29sdW1uQ2xhc3NOYW1lID0gdGhpcy5fY29sdW1uQ2xhc3NOYW1lO1xuICAgICAgICBkZXNjcmlwdG9yLl9pc0dlbmVyaWNGaWx0ZXIgPSB0aGlzLl9pc0dlbmVyaWNGaWx0ZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX3ZhbHVlU3VnZ2VzdGlvblByb3ZpZGVyID0gdGhpcy5fdmFsdWVTdWdnZXN0aW9uUHJvdmlkZXI7XG4gICAgICAgIGRlc2NyaXB0b3IuX2Ryb3Bkb3duQ2xhc3NOYW1lID0gdGhpcy5fZHJvcGRvd25DbGFzc05hbWU7XG4gICAgfVxufVxuIl19
|
|
@@ -1,42 +1,15 @@
|
|
|
1
1
|
import { LookupDataProviderInst } from './lookup.data-provider';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return lookupDataProviderWithService(serviceType);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export function lookupDataProvider(type, serviceTypeOrOpts,
|
|
20
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
21
|
-
opts) {
|
|
22
|
-
if (serviceTypeOrOpts === undefined || typeof serviceTypeOrOpts === 'function') {
|
|
23
|
-
return new LookupDataProviderInst(undefined, serviceTypeOrOpts);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
return new LookupDataProviderInst(undefined, undefined);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function lookupDataProviderWithService(serviceType,
|
|
30
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
31
|
-
opts) {
|
|
32
|
-
return new LookupDataProviderInst(undefined, serviceType);
|
|
33
|
-
}
|
|
34
|
-
export function lookupDataProviderFromClass(type, serviceType) {
|
|
35
|
-
return new LookupDataProviderInst(type, serviceType);
|
|
36
|
-
}
|
|
37
|
-
export function lookupDataProviderFromModel(model, serviceTypeOrOpts, opts) {
|
|
38
|
-
return typeof serviceTypeOrOpts === 'function'
|
|
39
|
-
? new LookupDataProviderInst(model.type, serviceTypeOrOpts)
|
|
40
|
-
: new LookupDataProviderInst(model.type, undefined);
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Zvcm0vYXBpL3NyYy9kYXRhLXByb3ZpZGVycy9sb29rdXAtZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxzQkFBMkI7SUFDL0Q7UUFDSSxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTTtRQUNoQixPQUFPLGtCQUFrQixFQUF5QixDQUFDO0lBQ3ZELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUNuQixJQUFzQjtRQUV0QixPQUFPLDJCQUEyQixDQUF3QixJQUFJLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sTUFBTSxDQUFDLG9CQUFvQixDQUM5QixJQUFzQixFQUN0QixXQUFzQztRQUV0QyxPQUFPLDJCQUEyQixDQUFpQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQ3JCLFdBQXNDO1FBRXRDLE9BQU8sNkJBQTZCLENBQWlDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDSjtBQXdCRCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLElBQTRCLEVBQzVCLGlCQUEwRjtBQUMxRiw2REFBNkQ7QUFDN0QsSUFBOEQ7SUFFOUQsSUFBSSxpQkFBaUIsS0FBSyxTQUFTLElBQUksT0FBTyxpQkFBaUIsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUM3RSxPQUFPLElBQUksc0JBQXNCLENBQTBELFNBQVMsRUFBRSxpQkFBaUMsQ0FBQyxDQUFDO0lBQzdJLENBQUM7U0FBTSxDQUFDO1FBQ0osT0FBTyxJQUFJLHNCQUFzQixDQUEwRCxTQUFTLEVBQUUsU0FBeUIsQ0FBQyxDQUFDO0lBQ3JJLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLDZCQUE2QixDQUN6QyxXQUFzQztBQUN0Qyw2REFBNkQ7QUFDN0QsSUFBOEQ7SUFFOUQsT0FBTyxJQUFJLHNCQUFzQixDQUF1RSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDcEksQ0FBQztBQVNELE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsSUFBc0IsRUFDdEIsV0FBMEI7SUFFMUIsT0FBTyxJQUFJLHNCQUFzQixDQUFpRSxJQUFJLEVBQUUsV0FBMkIsQ0FBQyxDQUFDO0FBQ3pJLENBQUM7QUFXRCxNQUFNLFVBQVUsMkJBQTJCLENBUXpDLEtBQXlDLEVBQUUsaUJBQWdDLEVBQUUsSUFBOEQ7SUFDekksT0FBTyxPQUFPLGlCQUFpQixLQUFLLFVBQVU7UUFDMUMsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQ3RCLEtBQUssQ0FBQyxJQUF3QixFQUM5QixpQkFBOEMsQ0FDakQ7UUFDSCxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBZ0UsS0FBSyxDQUFDLElBQXdCLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDL0ksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xhc3NUeXBlLCBTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIFR5cGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICcuL2xvb2t1cC5kYXRhLXByb3ZpZGVyJztcblxuZXhwb3J0IGNsYXNzIExvb2t1cERhdGFQcm92aWRlciBleHRlbmRzIExvb2t1cERhdGFQcm92aWRlckluc3Q8YW55PiB7XG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcmVhdGU8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlcjxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBmcm9tQ2xhc3M8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD5cbiAgICApOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KHR5cGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZnJvbUNsYXNzV2l0aFNlcnZpY2U8TW9kZWwsIFNlcnZpY2UsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+KHR5cGUsIHNlcnZpY2VUeXBlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGZyb21TZXJ2aWNlPFNlcnZpY2UsIE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgICAgICBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgICk6IExvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+IHtcbiAgICAgICAgcmV0dXJuIGxvb2t1cERhdGFQcm92aWRlcldpdGhTZXJ2aWNlPFNlcnZpY2UsIE1vZGVsLCBTb3J0cywgRmlsdGVycz4oc2VydmljZVR5cGUpO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgTG9va3VwRGF0YVByb3ZpZGVyQ3JlYXRlT3B0c1R5cGU8VGFibGVNb2RlbCwgU29ydHMgPSBrZXlvZiBUYWJsZU1vZGVsLCBGaWx0ZXJzID0ga2V5b2YgVGFibGVNb2RlbD4gPSB7XG4gICAgZmlsdGVyc1R5cGU/OiBUeXBlRGVzY3JpcHRvcjxGaWx0ZXJzPjtcbiAgICBzb3J0c1R5cGU/OiBUeXBlRGVzY3JpcHRvcjxTb3J0cz47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KCk6IExvb2t1cERhdGFQcm92aWRlckluc3Q8XG4gICAgTW9kZWwsXG4gICAgdW5kZWZpbmVkLFxuICAgIFNvcnRzLFxuICAgIEZpbHRlcnMsXG4gICAgdW5kZWZpbmVkLFxuICAgIHVuZGVmaW5lZFxuPjtcbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBEYXRhUHJvdmlkZXI8TW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgdHlwZTogVHlwZURlc2NyaXB0b3I8TW9kZWw+LFxuICAgIG9wdHM/OiBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCB1bmRlZmluZWQsIHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWw+KFxuICAgIHR5cGU6IFR5cGVEZXNjcmlwdG9yPE1vZGVsPixcbiAgICBzZXJ2aWNlVHlwZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPixcbiAgICBvcHRzPzogTG9va3VwRGF0YVByb3ZpZGVyQ3JlYXRlT3B0c1R5cGU8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzPlxuKTogTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgIHR5cGU/OiBUeXBlRGVzY3JpcHRvcjxNb2RlbD4sXG4gICAgc2VydmljZVR5cGVPck9wdHM/OiBTZXJ2aWNlQ2xhc3MgfCBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBvcHRzPzogTG9va3VwRGF0YVByb3ZpZGVyQ3JlYXRlT3B0c1R5cGU8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzPlxuKSB7XG4gICAgaWYgKHNlcnZpY2VUeXBlT3JPcHRzID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHNlcnZpY2VUeXBlT3JPcHRzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHJldHVybiBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIHVuZGVmaW5lZCwgU2VydmljZUNsYXNzPih1bmRlZmluZWQsIHNlcnZpY2VUeXBlT3JPcHRzIGFzIFNlcnZpY2VDbGFzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3M+KHVuZGVmaW5lZCwgdW5kZWZpbmVkIGFzIFNlcnZpY2VDbGFzcyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyV2l0aFNlcnZpY2U8U2VydmljZSwgTW9kZWwsIFNvcnRzID0ga2V5b2YgTW9kZWwsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbD4oXG4gICAgc2VydmljZVR5cGU6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIG9wdHM/OiBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PiB7XG4gICAgcmV0dXJuIG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgdW5kZWZpbmVkLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+Pih1bmRlZmluZWQsIHNlcnZpY2VUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCB1bmRlZmluZWQsIFNvcnRzLCBGaWx0ZXJzLCBDbGFzc1R5cGU8TW9kZWw+LCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cERhdGFQcm92aWRlckZyb21DbGFzczxNb2RlbCwgU2VydmljZSA9IGFueSwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgIHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyRnJvbUNsYXNzPE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZVR5cGU/OiBTZXJ2aWNlQ2xhc3Ncbikge1xuICAgIHJldHVybiBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnMsIENsYXNzVHlwZTxNb2RlbD4sIFNlcnZpY2VDbGFzcz4odHlwZSwgc2VydmljZVR5cGUgYXMgU2VydmljZUNsYXNzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvb2t1cERhdGFQcm92aWRlckZyb21Nb2RlbDxNb2RlbCwgU29ydHMgPSBrZXlvZiBNb2RlbCwgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsLCBNb2RlbENsYXNzID0gQ2xhc3NUeXBlPE1vZGVsPj4oXG4gICAgbW9kZWw6IE1vZGVsRGVzY3JpcHRvcjxNb2RlbCwgTW9kZWxDbGFzcz4sXG4gICAgb3B0cz86IExvb2t1cERhdGFQcm92aWRlckNyZWF0ZU9wdHNUeXBlPE1vZGVsLCBTb3J0cywgRmlsdGVycz5cbik6IExvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIHVuZGVmaW5lZCwgU29ydHMsIEZpbHRlcnMsIE1vZGVsQ2xhc3MsIHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gbG9va3VwRGF0YVByb3ZpZGVyRnJvbU1vZGVsPE1vZGVsLCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2UgPSBhbnksIE1vZGVsQ2xhc3MgPSBDbGFzc1R5cGU8TW9kZWw+PihcbiAgICBtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPixcbiAgICBTZXJ2aWNlQ2xhc3M6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgb3B0cz86IExvb2t1cERhdGFQcm92aWRlckNyZWF0ZU9wdHNUeXBlPE1vZGVsLCBTb3J0cywgRmlsdGVycz5cbik6IExvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBNb2RlbENsYXNzLCBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+PjtcbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBEYXRhUHJvdmlkZXJGcm9tTW9kZWw8XG4gICAgTW9kZWwsXG4gICAgU2VydmljZSA9IGFueSxcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICBNb2RlbENsYXNzID0gQ2xhc3NUeXBlPE1vZGVsPixcbiAgICBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuPihtb2RlbDogTW9kZWxEZXNjcmlwdG9yPE1vZGVsLCBNb2RlbENsYXNzPiwgc2VydmljZVR5cGVPck9wdHM/OiBTZXJ2aWNlQ2xhc3MsIG9wdHM/OiBMb29rdXBEYXRhUHJvdmlkZXJDcmVhdGVPcHRzVHlwZTxNb2RlbCwgU29ydHMsIEZpbHRlcnM+KSB7XG4gICAgcmV0dXJuIHR5cGVvZiBzZXJ2aWNlVHlwZU9yT3B0cyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPj4oXG4gICAgICAgICAgICAgIG1vZGVsLnR5cGUgYXMgQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgICAgICAgc2VydmljZVR5cGVPck9wdHMgYXMgU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuICAgICAgICAgIClcbiAgICAgICAgOiBuZXcgTG9va3VwRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgdW5kZWZpbmVkLCBTb3J0cywgRmlsdGVycywgQ2xhc3NUeXBlPE1vZGVsPiwgdW5kZWZpbmVkPihtb2RlbC50eXBlIGFzIENsYXNzVHlwZTxNb2RlbD4sIHVuZGVmaW5lZCk7XG59XG4iXX0=
|
|
2
|
+
/**
|
|
3
|
+
* Creates and returns an instance of `LookupDataProviderInst` with the specified options for managing lookup data.
|
|
4
|
+
*
|
|
5
|
+
* @param {Object} [opts] - The options object to configure the data provider.
|
|
6
|
+
* @param {TypeDescriptor<Model> | ModelDescriptor<Model>} [opts.type] - The descriptor defining the type of model.
|
|
7
|
+
* @param {ServiceClassType<Service>} [opts.service] - The service class type associated with the data provider.
|
|
8
|
+
* @param {TypeDescriptor<CreateModel> | ModelDescriptor<CreateModel>} [opts.filtersType] - The descriptor defining the filters type.
|
|
9
|
+
* @param {TypeDescriptor<UpdateModel> | ModelDescriptor<UpdateModel>} [opts.sortsType] - The descriptor defining the sorts type.
|
|
10
|
+
* @return {LookupDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>} An instance of `LookupDataProviderInst` configured according to the provided options.
|
|
11
|
+
*/
|
|
12
|
+
export function lookupDataProvider(opts) {
|
|
13
|
+
return new LookupDataProviderInst(opts?.service);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLWRhdGEtcHJvdmlkZXIuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2Zvcm0vYXBpL3NyYy9kYXRhLXByb3ZpZGVycy9sb29rdXAtZGF0YS1wcm92aWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTlEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FNaEMsSUFLRDtJQUNHLE9BQU8sSUFBSSxzQkFBc0IsQ0FBK0MsSUFBSSxFQUFFLE9BQXVCLENBQUMsQ0FBQztBQUNuSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZXJ2aWNlQ2xhc3NUeXBlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuaW1wb3J0IHtNb2RlbERlc2NyaXB0b3IsIFR5cGVEZXNjcmlwdG9yfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL21vZGVsJztcblxuaW1wb3J0IHtMb29rdXBEYXRhUHJvdmlkZXJJbnN0fSBmcm9tICcuL2xvb2t1cC5kYXRhLXByb3ZpZGVyJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIGluc3RhbmNlIG9mIGBMb29rdXBEYXRhUHJvdmlkZXJJbnN0YCB3aXRoIHRoZSBzcGVjaWZpZWQgb3B0aW9ucyBmb3IgbWFuYWdpbmcgbG9va3VwIGRhdGEuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIFRoZSBvcHRpb25zIG9iamVjdCB0byBjb25maWd1cmUgdGhlIGRhdGEgcHJvdmlkZXIuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPE1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxNb2RlbD59IFtvcHRzLnR5cGVdIC0gVGhlIGRlc2NyaXB0b3IgZGVmaW5pbmcgdGhlIHR5cGUgb2YgbW9kZWwuXG4gKiBAcGFyYW0ge1NlcnZpY2VDbGFzc1R5cGU8U2VydmljZT59IFtvcHRzLnNlcnZpY2VdIC0gVGhlIHNlcnZpY2UgY2xhc3MgdHlwZSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgcHJvdmlkZXIuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPENyZWF0ZU1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxDcmVhdGVNb2RlbD59IFtvcHRzLmZpbHRlcnNUeXBlXSAtIFRoZSBkZXNjcmlwdG9yIGRlZmluaW5nIHRoZSBmaWx0ZXJzIHR5cGUuXG4gKiBAcGFyYW0ge1R5cGVEZXNjcmlwdG9yPFVwZGF0ZU1vZGVsPiB8IE1vZGVsRGVzY3JpcHRvcjxVcGRhdGVNb2RlbD59IFtvcHRzLnNvcnRzVHlwZV0gLSBUaGUgZGVzY3JpcHRvciBkZWZpbmluZyB0aGUgc29ydHMgdHlwZS5cbiAqIEByZXR1cm4ge0xvb2t1cERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzLCBTZXJ2aWNlQ2xhc3M+fSBBbiBpbnN0YW5jZSBvZiBgTG9va3VwRGF0YVByb3ZpZGVySW5zdGAgY29uZmlndXJlZCBhY2NvcmRpbmcgdG8gdGhlIHByb3ZpZGVkIG9wdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb29rdXBEYXRhUHJvdmlkZXI8XG4gICAgTW9kZWwsXG4gICAgU2VydmljZSA9IGFueSxcbiAgICBTb3J0cyA9IGtleW9mIE1vZGVsLFxuICAgIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBrZXlvZiBNb2RlbCxcbiAgICBTZXJ2aWNlQ2xhc3MgPSBTZXJ2aWNlIGV4dGVuZHMgdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPlxuPihvcHRzPzoge1xuICAgIHR5cGU/OiBUeXBlRGVzY3JpcHRvcjxNb2RlbD4gfCBNb2RlbERlc2NyaXB0b3I8TW9kZWw+O1xuICAgIHNlcnZpY2U/OiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+O1xuICAgIGZpbHRlcnNUeXBlPzogVHlwZURlc2NyaXB0b3I8RmlsdGVycz4gfCBNb2RlbERlc2NyaXB0b3I8RmlsdGVycz47XG4gICAgc29ydHNUeXBlPzogVHlwZURlc2NyaXB0b3I8U29ydHM+IHwgTW9kZWxEZXNjcmlwdG9yPFNvcnRzPjtcbn0pOiBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPiB7XG4gICAgcmV0dXJuIG5ldyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPihvcHRzPy5zZXJ2aWNlIGFzIFNlcnZpY2VDbGFzcyk7XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataProviderInst } from '@mediusinc/mng-commons/core';
|
|
2
2
|
export class LookupDataProviderInst extends DataProviderInst {
|
|
3
|
-
constructor(
|
|
4
|
-
super(
|
|
3
|
+
constructor(serviceType) {
|
|
4
|
+
super(serviceType);
|
|
5
5
|
this._lookup = () => [];
|
|
6
6
|
}
|
|
7
7
|
get lookup() {
|
|
@@ -12,4 +12,4 @@ export class LookupDataProviderInst extends DataProviderInst {
|
|
|
12
12
|
return this;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLmRhdGEtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9mb3JtL2FwaS9zcmMvZGF0YS1wcm92aWRlcnMvbG9va3VwLmRhdGEtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGdCQUFnQixFQUEyRSxNQUFNLDZCQUE2QixDQUFDO0FBRXZJLE1BQU0sT0FBTyxzQkFDVCxTQUFRLGdCQUE4QztJQUt0RCxZQUFtQixXQUF5QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFIYixZQUFPLEdBQW1FLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUk3RixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVLENBQUMsRUFBa0U7UUFDekUsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhUHJvdmlkZXJJbnN0LCBJTG9va3VwRGF0YVByb3ZpZGVyLCBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGUsIFNlcnZpY2VDbGFzc09wdFR5cGV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBMb29rdXBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlID0gYW55LCBTb3J0cyA9IGtleW9mIE1vZGVsLCBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWwsIFNlcnZpY2VDbGFzcyA9IFNlcnZpY2VDbGFzc09wdFR5cGU8U2VydmljZT4+XG4gICAgZXh0ZW5kcyBEYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlLCBTZXJ2aWNlQ2xhc3M+XG4gICAgaW1wbGVtZW50cyBJTG9va3VwRGF0YVByb3ZpZGVyPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycywgU2VydmljZUNsYXNzPlxue1xuICAgIHByb3RlY3RlZCBfbG9va3VwOiBMb29rdXBEYXRhUHJvdmlkZXJMb29rdXBGblR5cGU8TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPiA9ICgpID0+IFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZpY2VUeXBlOiBTZXJ2aWNlQ2xhc3MpIHtcbiAgICAgICAgc3VwZXIoc2VydmljZVR5cGUpO1xuICAgIH1cblxuICAgIGdldCBsb29rdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb29rdXA7XG4gICAgfVxuXG4gICAgd2l0aExvb2t1cChmbjogTG9va3VwRGF0YVByb3ZpZGVyTG9va3VwRm5UeXBlPE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4pOiB0aGlzIHtcbiAgICAgICAgdGhpcy5fbG9va3VwID0gZm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cbiJdfQ==
|