@acorex/platform 1.0.0
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/README.md +7 -0
- package/auth/README.md +3 -0
- package/auth/index.d.ts +16 -0
- package/auth/lib/application/application.loader.d.ts +9 -0
- package/auth/lib/application/application.types.d.ts +10 -0
- package/auth/lib/auth-registry.service.d.ts +12 -0
- package/auth/lib/auth.guard.d.ts +2 -0
- package/auth/lib/auth.module.d.ts +20 -0
- package/auth/lib/auth.strategy.d.ts +28 -0
- package/auth/lib/errors.types.d.ts +6 -0
- package/auth/lib/feature/feature.loader.d.ts +7 -0
- package/auth/lib/feature/feature.types.d.ts +6 -0
- package/auth/lib/permission/permission.directive.d.ts +16 -0
- package/auth/lib/permission/permission.guard.d.ts +2 -0
- package/auth/lib/permission/permission.loader.d.ts +7 -0
- package/auth/lib/permission/permission.types.d.ts +1 -0
- package/auth/lib/session.service.d.ts +51 -0
- package/auth/lib/tenant/tenant.loader.d.ts +9 -0
- package/auth/lib/tenant/tenant.types.d.ts +8 -0
- package/auth/lib/user/user.types.d.ts +6 -0
- package/common/README.md +3 -0
- package/common/index.d.ts +11 -0
- package/common/lib/common.module.d.ts +21 -0
- package/common/lib/configs/app.config.d.ts +19 -0
- package/common/lib/data/data-provider.types.d.ts +11 -0
- package/common/lib/data/index.d.ts +1 -0
- package/common/lib/errors/error-handler-registry.service.d.ts +12 -0
- package/common/lib/errors/error-handler.types.d.ts +3 -0
- package/common/lib/errors/global-error-handler.d.ts +11 -0
- package/common/lib/errors/index.d.ts +3 -0
- package/common/lib/layout/component-slot/component-slot-loader.service.d.ts +11 -0
- package/common/lib/layout/component-slot/component-slot-registery.service.d.ts +9 -0
- package/common/lib/layout/component-slot/component-slot.directive.d.ts +12 -0
- package/common/lib/layout/component-slot/component-slot.module.d.ts +15 -0
- package/common/lib/layout/component-slot/component-slot.types.d.ts +14 -0
- package/common/lib/layout/component-slot/index.d.ts +5 -0
- package/common/lib/menu/index.d.ts +2 -0
- package/common/lib/menu/menu.loader.d.ts +17 -0
- package/common/lib/menu/menu.types.d.ts +13 -0
- package/common/lib/settings/index.d.ts +3 -0
- package/common/lib/settings/settings.loader.d.ts +8 -0
- package/common/lib/settings/settings.service.d.ts +9 -0
- package/common/lib/settings/settings.types.d.ts +5 -0
- package/common/lib/shared/logo.types.d.ts +19 -0
- package/common/lib/shared/state-persistence/index.d.ts +3 -0
- package/common/lib/shared/state-persistence/state-persistence.actions.d.ts +1 -0
- package/common/lib/shared/state-persistence/state-persistence.module.d.ts +8 -0
- package/common/lib/shared/state-persistence/state-persistence.reducers.d.ts +3 -0
- package/common/lib/store/common.actions.d.ts +14 -0
- package/common/lib/store/common.effects.d.ts +11 -0
- package/common/lib/store/index.d.ts +2 -0
- package/common/lib/utils/clipboard-service.d.ts +7 -0
- package/common/lib/utils/index.d.ts +3 -0
- package/common/lib/utils/router-util.service.d.ts +12 -0
- package/common/lib/utils/sticky.directive.d.ts +24 -0
- package/esm2022/acorex-platform.mjs +5 -0
- package/esm2022/auth/acorex-platform-auth.mjs +5 -0
- package/esm2022/auth/index.mjs +17 -0
- package/esm2022/auth/lib/application/application.loader.mjs +26 -0
- package/esm2022/auth/lib/application/application.types.mjs +2 -0
- package/esm2022/auth/lib/auth-registry.service.mjs +29 -0
- package/esm2022/auth/lib/auth.guard.mjs +18 -0
- package/esm2022/auth/lib/auth.module.mjs +84 -0
- package/esm2022/auth/lib/auth.strategy.mjs +2 -0
- package/esm2022/auth/lib/errors.types.mjs +13 -0
- package/esm2022/auth/lib/feature/feature.loader.mjs +14 -0
- package/esm2022/auth/lib/feature/feature.types.mjs +2 -0
- package/esm2022/auth/lib/permission/permission.directive.mjs +51 -0
- package/esm2022/auth/lib/permission/permission.guard.mjs +16 -0
- package/esm2022/auth/lib/permission/permission.loader.mjs +14 -0
- package/esm2022/auth/lib/permission/permission.types.mjs +2 -0
- package/esm2022/auth/lib/session.service.mjs +240 -0
- package/esm2022/auth/lib/tenant/tenant.loader.mjs +23 -0
- package/esm2022/auth/lib/tenant/tenant.types.mjs +2 -0
- package/esm2022/auth/lib/user/user.types.mjs +2 -0
- package/esm2022/common/acorex-platform-common.mjs +5 -0
- package/esm2022/common/index.mjs +12 -0
- package/esm2022/common/lib/common.module.mjs +123 -0
- package/esm2022/common/lib/configs/app.config.mjs +27 -0
- package/esm2022/common/lib/data/data-provider.types.mjs +3 -0
- package/esm2022/common/lib/data/index.mjs +2 -0
- package/esm2022/common/lib/errors/error-handler-registry.service.mjs +29 -0
- package/esm2022/common/lib/errors/error-handler.types.mjs +2 -0
- package/esm2022/common/lib/errors/global-error-handler.mjs +36 -0
- package/esm2022/common/lib/errors/index.mjs +4 -0
- package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +56 -0
- package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +28 -0
- package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +24 -0
- package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +72 -0
- package/esm2022/common/lib/layout/component-slot/component-slot.types.mjs +2 -0
- package/esm2022/common/lib/layout/component-slot/index.mjs +6 -0
- package/esm2022/common/lib/menu/index.mjs +3 -0
- package/esm2022/common/lib/menu/menu.loader.mjs +39 -0
- package/esm2022/common/lib/menu/menu.types.mjs +2 -0
- package/esm2022/common/lib/settings/index.mjs +4 -0
- package/esm2022/common/lib/settings/settings.loader.mjs +17 -0
- package/esm2022/common/lib/settings/settings.service.mjs +20 -0
- package/esm2022/common/lib/settings/settings.types.mjs +2 -0
- package/esm2022/common/lib/shared/logo.types.mjs +21 -0
- package/esm2022/common/lib/shared/state-persistence/index.mjs +4 -0
- package/esm2022/common/lib/shared/state-persistence/state-persistence.actions.mjs +3 -0
- package/esm2022/common/lib/shared/state-persistence/state-persistence.module.mjs +36 -0
- package/esm2022/common/lib/shared/state-persistence/state-persistence.reducers.mjs +30 -0
- package/esm2022/common/lib/store/common.actions.mjs +5 -0
- package/esm2022/common/lib/store/common.effects.mjs +31 -0
- package/esm2022/common/lib/store/index.mjs +3 -0
- package/esm2022/common/lib/utils/clipboard-service.mjs +26 -0
- package/esm2022/common/lib/utils/index.mjs +4 -0
- package/esm2022/common/lib/utils/router-util.service.mjs +43 -0
- package/esm2022/common/lib/utils/sticky.directive.mjs +74 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/layouts/acorex-platform-layouts.mjs +5 -0
- package/esm2022/layouts/index.mjs +5 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.mjs +58 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.component.mjs +50 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/admin-child-layout.module.mjs +57 -0
- package/esm2022/layouts/lib/admin/admin-child-layout/index.mjs +4 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.component.mjs +74 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/admin-root-layout.module.mjs +92 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.mjs +14 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.mjs +29 -0
- package/esm2022/layouts/lib/admin/admin-root-layout/index.mjs +5 -0
- package/esm2022/layouts/lib/admin/admin.module.mjs +75 -0
- package/esm2022/layouts/lib/admin/admin.routes.mjs +37 -0
- package/esm2022/layouts/lib/admin/custom-reuse.strategy.mjs +20 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +105 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +137 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +125 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +180 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/index.mjs +3 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +200 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/index.mjs +6 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +56 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +108 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +76 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +57 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +283 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/index.mjs +5 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +333 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +156 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +86 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +66 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +82 -0
- package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/index.mjs +2 -0
- package/esm2022/layouts/lib/admin/entity-layout/index.mjs +4 -0
- package/esm2022/layouts/lib/admin/entity-layout/store/entity.actions.mjs +18 -0
- package/esm2022/layouts/lib/admin/entity-layout/store/entity.effects.mjs +76 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +91 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +153 -0
- package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +98 -0
- package/esm2022/layouts/lib/admin/entity.resolver.mjs +21 -0
- package/esm2022/layouts/lib/admin/index.mjs +8 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.actions.mjs +12 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.effects.mjs +29 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.reducers.mjs +60 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.selectors.mjs +8 -0
- package/esm2022/layouts/lib/admin/store/admin-layout.state.mjs +16 -0
- package/esm2022/layouts/lib/admin/store/index.mjs +6 -0
- package/esm2022/layouts/lib/layout.module.mjs +63 -0
- package/esm2022/layouts/lib/layout.routes.mjs +15 -0
- package/esm2022/layouts/lib/shared/components/content-view/content-view.page.mjs +64 -0
- package/esm2022/layouts/lib/shared/components/content-view/content-view.type.mjs +2 -0
- package/esm2022/layouts/lib/shared/components/error-401/error-401.component.mjs +29 -0
- package/esm2022/layouts/lib/shared/components/error-404/error-404.component.mjs +22 -0
- package/esm2022/layouts/lib/shared/components/error-offline/error-offline.component.mjs +16 -0
- package/esm2022/layouts/lib/shared/components/index.mjs +9 -0
- package/esm2022/layouts/lib/shared/components/logo/logo.component.mjs +38 -0
- package/esm2022/layouts/lib/shared/components/slots/footer-text-slot.component.mjs +20 -0
- package/esm2022/layouts/lib/shared/components/slots/navbar-slot.component.mjs +36 -0
- package/esm2022/layouts/lib/shared/components/slots/theme-slot.component.mjs +48 -0
- package/esm2022/layouts/lib/shared/entity/entity-registery.service.mjs +70 -0
- package/esm2022/layouts/lib/shared/entity/entity.class.mjs +32 -0
- package/esm2022/layouts/lib/shared/entity/entity.loader.mjs +13 -0
- package/esm2022/layouts/lib/shared/entity/index.mjs +4 -0
- package/esm2022/layouts/lib/shared/index.mjs +5 -0
- package/esm2022/layouts/lib/shared/services/index.mjs +2 -0
- package/esm2022/layouts/lib/shared/services/layout.service.mjs +79 -0
- package/esm2022/layouts/lib/shared/workflows/common.workflow.mjs +110 -0
- package/esm2022/layouts/lib/shared/workflows/error-handler.mjs +24 -0
- package/esm2022/layouts/lib/shared/workflows/index.mjs +3 -0
- package/esm2022/layouts/lib/widgets/avatar/avatar-widget-edit.component.mjs +102 -0
- package/esm2022/layouts/lib/widgets/avatar/avatar-widget-view.component.mjs +33 -0
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-column.component.mjs +53 -0
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.mjs +22 -0
- package/esm2022/layouts/lib/widgets/checkbox/checkbox-widget-view.component.mjs +47 -0
- package/esm2022/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.mjs +147 -0
- package/esm2022/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.mjs +135 -0
- package/esm2022/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.mjs +125 -0
- package/esm2022/layouts/lib/widgets/common-widgets.module.mjs +479 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-column.component.mjs +44 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.mjs +175 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.mjs +230 -0
- package/esm2022/layouts/lib/widgets/dateTime/dateTime-widget-view.component.mjs +71 -0
- package/esm2022/layouts/lib/widgets/email/email-widget-column.component.mjs +73 -0
- package/esm2022/layouts/lib/widgets/email/email-widget-edit.component.mjs +249 -0
- package/esm2022/layouts/lib/widgets/email/email-widget-view.component.mjs +108 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-column.component.mjs +27 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-edit.component.mjs +200 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-filter.component.mjs +27 -0
- package/esm2022/layouts/lib/widgets/file/file-widget-view.component.mjs +153 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-edit.component.mjs +189 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-filter.component.mjs +27 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-types.mjs +2 -0
- package/esm2022/layouts/lib/widgets/gallery/gallery-widget-view.component.mjs +173 -0
- package/esm2022/layouts/lib/widgets/index.mjs +2 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-column.component.mjs +43 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-edit.component.mjs +74 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-filter.component.mjs +139 -0
- package/esm2022/layouts/lib/widgets/lookup/lookup-widget-view.component.mjs +54 -0
- package/esm2022/layouts/lib/widgets/map/map-widget-edit.component.mjs +91 -0
- package/esm2022/layouts/lib/widgets/map/map-widget-view.component.mjs +63 -0
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-column.component.mjs +71 -0
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-edit.component.mjs +136 -0
- package/esm2022/layouts/lib/widgets/messenger/messenger-widget-view.component.mjs +132 -0
- package/esm2022/layouts/lib/widgets/number/number-widget-edit.component.mjs +46 -0
- package/esm2022/layouts/lib/widgets/number/number-widget-view.component.mjs +30 -0
- package/esm2022/layouts/lib/widgets/password/change-password.component.mjs +175 -0
- package/esm2022/layouts/lib/widgets/password/password-widget-column.component.mjs +77 -0
- package/esm2022/layouts/lib/widgets/password/password-widget-edit.component.mjs +34 -0
- package/esm2022/layouts/lib/widgets/password/password-widget-view.component.mjs +109 -0
- package/esm2022/layouts/lib/widgets/phone/phone-widget-column.component.mjs +91 -0
- package/esm2022/layouts/lib/widgets/phone/phone-widget-edit.component.mjs +315 -0
- package/esm2022/layouts/lib/widgets/phone/phone-widget-view.component.mjs +123 -0
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-column.component.mjs +69 -0
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.mjs +67 -0
- package/esm2022/layouts/lib/widgets/rich-text/rich-text-widget-view.component.mjs +34 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-column.component.mjs +43 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.mjs +53 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.mjs +41 -0
- package/esm2022/layouts/lib/widgets/selection-list/selection-list-widget-view.component.mjs +45 -0
- package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.mjs +128 -0
- package/esm2022/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.mjs +41 -0
- package/esm2022/layouts/lib/widgets/text/largetext-widget-edit.component.mjs +37 -0
- package/esm2022/layouts/lib/widgets/text/text-widget-column.component.mjs +47 -0
- package/esm2022/layouts/lib/widgets/text/text-widget-edit.component.mjs +162 -0
- package/esm2022/layouts/lib/widgets/text/text-widget-view.component.mjs +66 -0
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-column.component.mjs +57 -0
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-edit.component.mjs +25 -0
- package/esm2022/layouts/lib/widgets/toggle/toggle-widget-view.component.mjs +49 -0
- package/esm2022/mocks/acorex-platform-mocks.mjs +5 -0
- package/esm2022/mocks/index.mjs +7 -0
- package/esm2022/mocks/lib/mocks.module.mjs +15 -0
- package/esm2022/mocks/lib/services/mocker.service.mjs +124 -0
- package/esm2022/mocks/lib/storage/storage.mock.service.mjs +186 -0
- package/esm2022/native/acorex-platform-native.mjs +5 -0
- package/esm2022/native/index.mjs +3 -0
- package/esm2022/native/lib/native.module.mjs +16 -0
- package/esm2022/native/lib/native.service.mjs +133 -0
- package/esm2022/schema/acorex-platform-schema.mjs +5 -0
- package/esm2022/schema/index.mjs +14 -0
- package/esm2022/schema/lib/component-loader.mjs +2 -0
- package/esm2022/schema/lib/formats.mjs +2 -0
- package/esm2022/schema/lib/operators.mjs +50 -0
- package/esm2022/schema/lib/schema-registery.service.mjs +33 -0
- package/esm2022/schema/lib/schema.mjs +2 -0
- package/esm2022/schema/lib/schema.module.mjs +23 -0
- package/esm2022/schema/lib/widget/widget-base.mjs +110 -0
- package/esm2022/schema/lib/widget/widget-column-renderer.mjs +99 -0
- package/esm2022/schema/lib/widget/widget-filter-renderer.mjs +133 -0
- package/esm2022/schema/lib/widget/widget-renderer.mjs +144 -0
- package/esm2022/schema/lib/widget/widget-token.mjs +3 -0
- package/esm2022/workflow/acorex-platform-workflow.mjs +5 -0
- package/esm2022/workflow/index.mjs +7 -0
- package/esm2022/workflow/lib/errors.types.mjs +8 -0
- package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +23 -0
- package/esm2022/workflow/lib/workflow-registery.service.mjs +39 -0
- package/esm2022/workflow/lib/workflow.module.mjs +96 -0
- package/esm2022/workflow/lib/workflow.service.mjs +141 -0
- package/esm2022/workflow/lib/workflow.types.mjs +52 -0
- package/fesm2022/acorex-platform-auth.mjs +502 -0
- package/fesm2022/acorex-platform-auth.mjs.map +1 -0
- package/fesm2022/acorex-platform-common.mjs +699 -0
- package/fesm2022/acorex-platform-common.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs +104 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-edit.component-PZr1lXj-.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs +36 -0
- package/fesm2022/acorex-platform-layouts-avatar-widget-view.component-pJJYkvdH.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs +150 -0
- package/fesm2022/acorex-platform-layouts-boolean-widget-filter.component-H056Q5Gz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-change-password.component-QMAm6dxN.mjs +178 -0
- package/fesm2022/acorex-platform-layouts-change-password.component-QMAm6dxN.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs +56 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-column.component-vRJI5S-w.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs +25 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-edit.component-P4cD_Nwg.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs +50 -0
- package/fesm2022/acorex-platform-layouts-checkbox-widget-view.component-m6bF8XFR.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs +47 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-column.component-qeQRJePy.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs +178 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-edit.component-zeJXGXY8.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs +233 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-filter.component-DJ6esclU.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs +74 -0
- package/fesm2022/acorex-platform-layouts-dateTime-widget-view.component-BrwycTWz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs +76 -0
- package/fesm2022/acorex-platform-layouts-email-widget-column.component-ac8gqsFT.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs +252 -0
- package/fesm2022/acorex-platform-layouts-email-widget-edit.component-m2dI7y9X.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs +111 -0
- package/fesm2022/acorex-platform-layouts-email-widget-view.component-XrV8va7z.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs +108 -0
- package/fesm2022/acorex-platform-layouts-entity-create-view.component-8rtifIvM.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs +89 -0
- package/fesm2022/acorex-platform-layouts-entity-modify-view.component-VeTkP3-n.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs +30 -0
- package/fesm2022/acorex-platform-layouts-file-widget-column.component-v7kAdIQ9.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs +203 -0
- package/fesm2022/acorex-platform-layouts-file-widget-edit.component-Wrq7ZL9R.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs +30 -0
- package/fesm2022/acorex-platform-layouts-file-widget-filter.component-1-NJh38j.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs +156 -0
- package/fesm2022/acorex-platform-layouts-file-widget-view.component-mXBrKX0K.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs +192 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-edit.component-cWNvVwum.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs +30 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-filter.component-OCz0hj5i.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs +176 -0
- package/fesm2022/acorex-platform-layouts-gallery-widget-view.component-xU52uaP0.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs +40 -0
- package/fesm2022/acorex-platform-layouts-largetext-widget-edit.component-Um_eBRFi.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs +46 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-column.component-Ts0MJe8O.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs +119 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-edit.component-l5nSr9Cm.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs +181 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-filter.component-gp5skvmz.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs +57 -0
- package/fesm2022/acorex-platform-layouts-lookup-widget-view.component-ftFXFj6k.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs +94 -0
- package/fesm2022/acorex-platform-layouts-map-widget-edit.component-SOQvPhmX.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs +66 -0
- package/fesm2022/acorex-platform-layouts-map-widget-view.component-1Lj9efbd.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs +74 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-column.component-W7ZY-W84.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs +139 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-edit.component-dAX8nirB.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs +135 -0
- package/fesm2022/acorex-platform-layouts-messenger-widget-view.component-9TJiFdq-.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs +49 -0
- package/fesm2022/acorex-platform-layouts-number-widget-edit.component-DDi-o_Zn.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs +138 -0
- package/fesm2022/acorex-platform-layouts-number-widget-filter.component-DPGSzdNm.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs +33 -0
- package/fesm2022/acorex-platform-layouts-number-widget-view.component-hqkAR0LG.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs +80 -0
- package/fesm2022/acorex-platform-layouts-password-widget-column.component-ic1jykZL.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs +37 -0
- package/fesm2022/acorex-platform-layouts-password-widget-edit.component-D8xI17yk.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs +112 -0
- package/fesm2022/acorex-platform-layouts-password-widget-view.component-E2vtPKRO.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs +94 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-column.component-s04WZfzv.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs +318 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-edit.component-MKzlZ0_B.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs +126 -0
- package/fesm2022/acorex-platform-layouts-phone-widget-view.component-NEO22XO7.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs +72 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-column.component-P0YzXTIB.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs +70 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-edit.component-ro2yg7PR.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs +37 -0
- package/fesm2022/acorex-platform-layouts-rich-text-widget-view.component--Rzxm2a6.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs +46 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-column.component-9FTkDGmq.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs +56 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-edit.component-FpOQ12Ie.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs +44 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-filter.component-hGk-ZZ78.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs +48 -0
- package/fesm2022/acorex-platform-layouts-selection-list-widget-view.component-s9xq___Y.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs +131 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-edit.component-W28Uk9zO.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs +44 -0
- package/fesm2022/acorex-platform-layouts-signature-pad-widget-view.component-R40Ml757.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs +128 -0
- package/fesm2022/acorex-platform-layouts-string-widget-filter.component-4oZ6BVis.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs +50 -0
- package/fesm2022/acorex-platform-layouts-text-widget-column.component-qhh6MT79.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs +165 -0
- package/fesm2022/acorex-platform-layouts-text-widget-edit.component-TC127Dq8.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs +69 -0
- package/fesm2022/acorex-platform-layouts-text-widget-view.component-65eOj0qR.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs +60 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-column.component-uxOXR-bL.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs +28 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-edit.component-R44L1pgJ.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs +52 -0
- package/fesm2022/acorex-platform-layouts-toggle-widget-view.component-DTOeAUiy.mjs.map +1 -0
- package/fesm2022/acorex-platform-layouts.mjs +3732 -0
- package/fesm2022/acorex-platform-layouts.mjs.map +1 -0
- package/fesm2022/acorex-platform-mocks.mjs +332 -0
- package/fesm2022/acorex-platform-mocks.mjs.map +1 -0
- package/fesm2022/acorex-platform-native.mjs +154 -0
- package/fesm2022/acorex-platform-native.mjs.map +1 -0
- package/fesm2022/acorex-platform-schema.mjs +572 -0
- package/fesm2022/acorex-platform-schema.mjs.map +1 -0
- package/fesm2022/acorex-platform-workflow.mjs +350 -0
- package/fesm2022/acorex-platform-workflow.mjs.map +1 -0
- package/fesm2022/acorex-platform.mjs +6 -0
- package/fesm2022/acorex-platform.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/layouts/README.md +3 -0
- package/layouts/index.d.ts +4 -0
- package/layouts/lib/admin/admin-child-layout/admin-child-features-list.component.d.ts +22 -0
- package/layouts/lib/admin/admin-child-layout/admin-child-layout.component.d.ts +21 -0
- package/layouts/lib/admin/admin-child-layout/admin-child-layout.module.d.ts +17 -0
- package/layouts/lib/admin/admin-child-layout/index.d.ts +3 -0
- package/layouts/lib/admin/admin-root-layout/admin-root-layout.component.d.ts +30 -0
- package/layouts/lib/admin/admin-root-layout/admin-root-layout.module.d.ts +25 -0
- package/layouts/lib/admin/admin-root-layout/components/admin-footer/admin-footer.component.d.ts +5 -0
- package/layouts/lib/admin/admin-root-layout/components/admin-header/admin-header.component.d.ts +10 -0
- package/layouts/lib/admin/admin-root-layout/index.d.ts +4 -0
- package/layouts/lib/admin/admin.module.d.ts +11 -0
- package/layouts/lib/admin/admin.routes.d.ts +2 -0
- package/layouts/lib/admin/custom-reuse.strategy.d.ts +8 -0
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.d.ts +20 -0
- package/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.d.ts +54 -0
- package/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.d.ts +48 -0
- package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +41 -0
- package/layouts/lib/admin/entity-layout/entity-details-view/index.d.ts +2 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.d.ts +47 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/index.d.ts +5 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.d.ts +35 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.d.ts +18 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +63 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/index.d.ts +4 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +110 -0
- package/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.d.ts +41 -0
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.d.ts +25 -0
- package/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.d.ts +31 -0
- package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/entity-quick-view/index.d.ts +1 -0
- package/layouts/lib/admin/entity-layout/index.d.ts +3 -0
- package/layouts/lib/admin/entity-layout/store/entity.actions.d.ts +48 -0
- package/layouts/lib/admin/entity-layout/store/entity.effects.d.ts +22 -0
- package/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.d.ts +28 -0
- package/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.d.ts +33 -0
- package/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.d.ts +31 -0
- package/layouts/lib/admin/entity.resolver.d.ts +4 -0
- package/layouts/lib/admin/index.d.ts +7 -0
- package/layouts/lib/admin/store/admin-layout.actions.d.ts +8 -0
- package/layouts/lib/admin/store/admin-layout.effects.d.ts +10 -0
- package/layouts/lib/admin/store/admin-layout.reducers.d.ts +24 -0
- package/layouts/lib/admin/store/admin-layout.selectors.d.ts +5 -0
- package/layouts/lib/admin/store/admin-layout.state.d.ts +14 -0
- package/layouts/lib/admin/store/index.d.ts +5 -0
- package/layouts/lib/layout.module.d.ts +9 -0
- package/layouts/lib/layout.routes.d.ts +2 -0
- package/layouts/lib/shared/components/content-view/content-view.page.d.ts +23 -0
- package/layouts/lib/shared/components/content-view/content-view.type.d.ts +16 -0
- package/layouts/lib/shared/components/error-401/error-401.component.d.ts +13 -0
- package/layouts/lib/shared/components/error-404/error-404.component.d.ts +8 -0
- package/layouts/lib/shared/components/error-offline/error-offline.component.d.ts +9 -0
- package/layouts/lib/shared/components/index.d.ts +8 -0
- package/layouts/lib/shared/components/logo/logo.component.d.ts +8 -0
- package/layouts/lib/shared/components/slots/footer-text-slot.component.d.ts +6 -0
- package/layouts/lib/shared/components/slots/navbar-slot.component.d.ts +10 -0
- package/layouts/lib/shared/components/slots/theme-slot.component.d.ts +8 -0
- package/layouts/lib/shared/entity/entity-registery.service.d.ts +34 -0
- package/layouts/lib/shared/entity/entity.class.d.ts +145 -0
- package/layouts/lib/shared/entity/entity.loader.d.ts +9 -0
- package/layouts/lib/shared/entity/index.d.ts +3 -0
- package/layouts/lib/shared/index.d.ts +4 -0
- package/layouts/lib/shared/services/index.d.ts +1 -0
- package/layouts/lib/shared/services/layout.service.d.ts +19 -0
- package/layouts/lib/shared/workflows/common.workflow.d.ts +52 -0
- package/layouts/lib/shared/workflows/error-handler.d.ts +8 -0
- package/layouts/lib/shared/workflows/index.d.ts +2 -0
- package/layouts/lib/widgets/avatar/avatar-widget-edit.component.d.ts +10 -0
- package/layouts/lib/widgets/avatar/avatar-widget-view.component.d.ts +8 -0
- package/layouts/lib/widgets/checkbox/checkbox-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/checkbox/checkbox-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/checkbox/checkbox-widget-view.component.d.ts +11 -0
- package/layouts/lib/widgets/common-widget-filter/boolean-widget-filter.component.d.ts +17 -0
- package/layouts/lib/widgets/common-widget-filter/number-widget-filter.component.d.ts +11 -0
- package/layouts/lib/widgets/common-widget-filter/string-widget-filter.component.d.ts +11 -0
- package/layouts/lib/widgets/common-widgets.module.d.ts +32 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-edit.component.d.ts +24 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-filter.component.d.ts +16 -0
- package/layouts/lib/widgets/dateTime/dateTime-widget-view.component.d.ts +11 -0
- package/layouts/lib/widgets/email/email-widget-column.component.d.ts +16 -0
- package/layouts/lib/widgets/email/email-widget-edit.component.d.ts +28 -0
- package/layouts/lib/widgets/email/email-widget-view.component.d.ts +16 -0
- package/layouts/lib/widgets/file/file-widget-column.component.d.ts +8 -0
- package/layouts/lib/widgets/file/file-widget-edit.component.d.ts +17 -0
- package/layouts/lib/widgets/file/file-widget-filter.component.d.ts +6 -0
- package/layouts/lib/widgets/file/file-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/gallery/gallery-widget-edit.component.d.ts +15 -0
- package/layouts/lib/widgets/gallery/gallery-widget-filter.component.d.ts +6 -0
- package/layouts/lib/widgets/gallery/gallery-widget-types.d.ts +10 -0
- package/layouts/lib/widgets/gallery/gallery-widget-view.component.d.ts +16 -0
- package/layouts/lib/widgets/index.d.ts +1 -0
- package/layouts/lib/widgets/lookup/lookup-widget-column.component.d.ts +16 -0
- package/layouts/lib/widgets/lookup/lookup-widget-edit.component.d.ts +15 -0
- package/layouts/lib/widgets/lookup/lookup-widget-filter.component.d.ts +16 -0
- package/layouts/lib/widgets/lookup/lookup-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/map/map-widget-edit.component.d.ts +15 -0
- package/layouts/lib/widgets/map/map-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/messenger/messenger-widget-column.component.d.ts +15 -0
- package/layouts/lib/widgets/messenger/messenger-widget-edit.component.d.ts +14 -0
- package/layouts/lib/widgets/messenger/messenger-widget-view.component.d.ts +17 -0
- package/layouts/lib/widgets/number/number-widget-edit.component.d.ts +7 -0
- package/layouts/lib/widgets/number/number-widget-view.component.d.ts +8 -0
- package/layouts/lib/widgets/password/change-password.component.d.ts +16 -0
- package/layouts/lib/widgets/password/password-widget-column.component.d.ts +14 -0
- package/layouts/lib/widgets/password/password-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/password/password-widget-view.component.d.ts +18 -0
- package/layouts/lib/widgets/phone/phone-widget-column.component.d.ts +15 -0
- package/layouts/lib/widgets/phone/phone-widget-edit.component.d.ts +29 -0
- package/layouts/lib/widgets/phone/phone-widget-view.component.d.ts +18 -0
- package/layouts/lib/widgets/rich-text/rich-text-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/rich-text/rich-text-widget-edit.component.d.ts +33 -0
- package/layouts/lib/widgets/rich-text/rich-text-widget-view.component.d.ts +10 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-column.component.d.ts +16 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-edit.component.d.ts +10 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-filter.component.d.ts +9 -0
- package/layouts/lib/widgets/selection-list/selection-list-widget-view.component.d.ts +15 -0
- package/layouts/lib/widgets/signature-pad/signature-pad-widget-edit.component.d.ts +19 -0
- package/layouts/lib/widgets/signature-pad/signature-pad-widget-view.component.d.ts +8 -0
- package/layouts/lib/widgets/text/largetext-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/text/text-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/text/text-widget-edit.component.d.ts +23 -0
- package/layouts/lib/widgets/text/text-widget-view.component.d.ts +11 -0
- package/layouts/lib/widgets/toggle/toggle-widget-column.component.d.ts +11 -0
- package/layouts/lib/widgets/toggle/toggle-widget-edit.component.d.ts +6 -0
- package/layouts/lib/widgets/toggle/toggle-widget-view.component.d.ts +11 -0
- package/mocks/README.md +3 -0
- package/mocks/index.d.ts +3 -0
- package/mocks/lib/mocks.module.d.ts +7 -0
- package/mocks/lib/services/mocker.service.d.ts +29 -0
- package/mocks/lib/storage/storage.mock.service.d.ts +25 -0
- package/native/README.md +4 -0
- package/native/index.d.ts +2 -0
- package/native/lib/native.module.d.ts +6 -0
- package/native/lib/native.service.d.ts +26 -0
- package/package.json +67 -0
- package/schema/README.md +3 -0
- package/schema/index.d.ts +11 -0
- package/schema/lib/component-loader.d.ts +24 -0
- package/schema/lib/formats.d.ts +8 -0
- package/schema/lib/operators.d.ts +22 -0
- package/schema/lib/schema-registery.service.d.ts +20 -0
- package/schema/lib/schema.d.ts +21 -0
- package/schema/lib/schema.module.d.ts +12 -0
- package/schema/lib/widget/widget-base.d.ts +43 -0
- package/schema/lib/widget/widget-column-renderer.d.ts +27 -0
- package/schema/lib/widget/widget-filter-renderer.d.ts +30 -0
- package/schema/lib/widget/widget-renderer.d.ts +26 -0
- package/schema/lib/widget/widget-token.d.ts +15 -0
- package/workflow/README.md +4 -0
- package/workflow/index.d.ts +6 -0
- package/workflow/lib/errors.types.d.ts +4 -0
- package/workflow/lib/workflow-event-dispatcher.service.d.ts +10 -0
- package/workflow/lib/workflow-registery.service.d.ts +17 -0
- package/workflow/lib/workflow.module.d.ts +25 -0
- package/workflow/lib/workflow.service.d.ts +23 -0
- package/workflow/lib/workflow.types.d.ts +61 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { AXDataSource } from '@acorex/components/common';
|
|
2
|
+
import { AXPSchemaRegistryService } from '@acorex/platform/schema';
|
|
3
|
+
import { Injectable, InjectionToken, inject } from '@angular/core';
|
|
4
|
+
import { cloneDeep } from 'lodash-es';
|
|
5
|
+
import { BehaviorSubject, defaultIfEmpty, first, map, of, switchMap } from 'rxjs';
|
|
6
|
+
import { AXPEntityListViewConfigEmpty, AXPEntityRegistryService, AXPLayoutService, } from '../../../shared';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class AXPListViewLoaderDefault {
|
|
9
|
+
constructor(config, schemaService) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.schemaService = schemaService;
|
|
12
|
+
this._dataSource = new AXDataSource(this.entity.dataSource);
|
|
13
|
+
this._inlineFilterItems = [];
|
|
14
|
+
this._props$ = new BehaviorSubject(this.props);
|
|
15
|
+
this.getProp = (name) => this.entity.properties.find((c) => c.name == name);
|
|
16
|
+
//****************** Views ******************//
|
|
17
|
+
this._currentView = 'default';
|
|
18
|
+
this._views$ = new BehaviorSubject(this.views);
|
|
19
|
+
//****************** Columns ******************//
|
|
20
|
+
this._currentDisplayColumns$ = new BehaviorSubject([]);
|
|
21
|
+
this._columns$ = new BehaviorSubject(this.columns);
|
|
22
|
+
//****************** Sort ******************//
|
|
23
|
+
this._currentSorts$ = new BehaviorSubject([]);
|
|
24
|
+
//****************** Conditions ******************//
|
|
25
|
+
this._currentConditions$ = new BehaviorSubject([]);
|
|
26
|
+
this.setView(this.views[0].name);
|
|
27
|
+
this._inlineFilterItems = this.entity.properties
|
|
28
|
+
.filter((property) => property.canInlineFilter)
|
|
29
|
+
.map((item) => {
|
|
30
|
+
const schema = this.schemaService.resolve(item.schema);
|
|
31
|
+
return { name: item.name, dataType: schema?.dataType, title: item.title };
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
get entity() {
|
|
35
|
+
if (!this._config) {
|
|
36
|
+
this._config = cloneDeep(this.config);
|
|
37
|
+
}
|
|
38
|
+
return this._config;
|
|
39
|
+
}
|
|
40
|
+
get dataSource() {
|
|
41
|
+
return this._dataSource;
|
|
42
|
+
}
|
|
43
|
+
//****************** Properties ******************//
|
|
44
|
+
get props() {
|
|
45
|
+
return this.entity.properties;
|
|
46
|
+
}
|
|
47
|
+
get properties$() {
|
|
48
|
+
return this._props$;
|
|
49
|
+
}
|
|
50
|
+
get views() {
|
|
51
|
+
return this.entity.views.list.views;
|
|
52
|
+
}
|
|
53
|
+
get views$() {
|
|
54
|
+
return this._views$;
|
|
55
|
+
}
|
|
56
|
+
get view$() {
|
|
57
|
+
return this.views$.pipe(switchMap((views) => {
|
|
58
|
+
const view = views.find((c) => c.name === this._currentView);
|
|
59
|
+
if (view) {
|
|
60
|
+
return of(view);
|
|
61
|
+
}
|
|
62
|
+
else if (this.views.length > 0) {
|
|
63
|
+
return of(this.views[0]);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return of(AXPEntityListViewConfigEmpty);
|
|
67
|
+
}
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
get publicViews$() {
|
|
71
|
+
return this.views$.pipe(map((c) => c.filter((v) => v.fixed)));
|
|
72
|
+
}
|
|
73
|
+
get customViews$() {
|
|
74
|
+
return this.views$.pipe(map((c) => c.filter((v) => !v.fixed)));
|
|
75
|
+
}
|
|
76
|
+
get hasCustomViews$() {
|
|
77
|
+
return this.customViews$.pipe(map((c) => c.length > 0));
|
|
78
|
+
}
|
|
79
|
+
setView(name) {
|
|
80
|
+
let propNames = [];
|
|
81
|
+
this.properties$.pipe(first()).subscribe((properties) => {
|
|
82
|
+
propNames = properties.map((p) => p.name);
|
|
83
|
+
});
|
|
84
|
+
this._currentView = name;
|
|
85
|
+
const updatedView = this._views$.value.find((c) => c.name === this._currentView) || AXPEntityListViewConfigEmpty;
|
|
86
|
+
const currentViews = this._views$.value;
|
|
87
|
+
const updatedViews = currentViews.map((view) => {
|
|
88
|
+
if (view.name === updatedView.name) {
|
|
89
|
+
return updatedView;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return view;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
this._currentConditions$.next(cloneDeep(updatedView.conditions.filter((c) => propNames.includes(c.name))));
|
|
96
|
+
this._currentSorts$.next(cloneDeep(updatedView.sorts.filter((s) => propNames.includes(s.name))));
|
|
97
|
+
// this._columns$.next(updatedView.columns);
|
|
98
|
+
this._currentDisplayColumns$.next(cloneDeep(updatedView.columns.filter((c) => propNames.includes(c.name))));
|
|
99
|
+
this._views$.next(updatedViews);
|
|
100
|
+
//apply conditions and sorts:
|
|
101
|
+
this.dataSource.filter({
|
|
102
|
+
field: null,
|
|
103
|
+
logic: 'and',
|
|
104
|
+
operator: null,
|
|
105
|
+
filters: updatedView.conditions.map((c) => ({
|
|
106
|
+
field: c.name,
|
|
107
|
+
value: c.value,
|
|
108
|
+
operator: { type: c.operator },
|
|
109
|
+
})),
|
|
110
|
+
});
|
|
111
|
+
const convertedSortItems = updatedView.sorts.map((s) => ({
|
|
112
|
+
field: s.name,
|
|
113
|
+
dir: s.dir,
|
|
114
|
+
}));
|
|
115
|
+
this.dataSource.sort(...convertedSortItems);
|
|
116
|
+
this.dataSource.refresh();
|
|
117
|
+
}
|
|
118
|
+
createView(newView) {
|
|
119
|
+
const currentViews = this._views$.getValue();
|
|
120
|
+
currentViews.push(newView);
|
|
121
|
+
this._views$.next(currentViews);
|
|
122
|
+
this.setView(newView.name);
|
|
123
|
+
}
|
|
124
|
+
updateView(updatedView) {
|
|
125
|
+
const currentViews = this._views$.getValue().map((view) => (view.name === updatedView.name ? updatedView : view));
|
|
126
|
+
this._views$.next(currentViews);
|
|
127
|
+
this.setView(updatedView.name);
|
|
128
|
+
}
|
|
129
|
+
deleteView(viewName) {
|
|
130
|
+
const currentViews = this._views$.getValue().filter((view) => view.name !== viewName);
|
|
131
|
+
this._views$.next(currentViews);
|
|
132
|
+
this.setView(this.views[0].name);
|
|
133
|
+
}
|
|
134
|
+
get columns() {
|
|
135
|
+
return this.entity.properties.map((p) => ({
|
|
136
|
+
name: p.name,
|
|
137
|
+
title: p.title,
|
|
138
|
+
schema: p.schema,
|
|
139
|
+
}));
|
|
140
|
+
}
|
|
141
|
+
get columns$() {
|
|
142
|
+
return this._columns$.pipe(defaultIfEmpty([]));
|
|
143
|
+
}
|
|
144
|
+
get displayColumns$() {
|
|
145
|
+
return this._currentDisplayColumns$.pipe(defaultIfEmpty([]));
|
|
146
|
+
}
|
|
147
|
+
get displayColumnsCount$() {
|
|
148
|
+
return this.view$.pipe(map((view) => {
|
|
149
|
+
return view.columns.filter((column) => column.visible).length;
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
updateColumns(items) {
|
|
153
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
154
|
+
view.columns = cloneDeep(items);
|
|
155
|
+
this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
resetColumns() {
|
|
159
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
160
|
+
this._currentDisplayColumns$.next(cloneDeep(view.columns));
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
setColumnVisibility(name, visible) {
|
|
164
|
+
const updatedColumns = this._currentDisplayColumns$.getValue().map((column) => {
|
|
165
|
+
if (column.name === name) {
|
|
166
|
+
return { ...column, visible };
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
return column;
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
this._currentDisplayColumns$.next(updatedColumns);
|
|
173
|
+
}
|
|
174
|
+
get sorts$() {
|
|
175
|
+
return this._currentSorts$.pipe(defaultIfEmpty([]));
|
|
176
|
+
}
|
|
177
|
+
get sortsCount$() {
|
|
178
|
+
return this.view$.pipe(map((c) => c.sorts.length));
|
|
179
|
+
}
|
|
180
|
+
addSort() {
|
|
181
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
182
|
+
const currentSorts = this._currentSorts$.getValue();
|
|
183
|
+
const name = view.columns.find((c) => !currentSorts.some((s) => s.name == c.name))?.name ?? '';
|
|
184
|
+
if (name) {
|
|
185
|
+
const sorts = [...currentSorts, { name, dir: 'asc' }];
|
|
186
|
+
this._currentSorts$.next(sorts);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
removeSort(item) {
|
|
191
|
+
const currentSorts = this._currentSorts$.getValue();
|
|
192
|
+
const sorts = currentSorts.filter((c) => c != item);
|
|
193
|
+
this._currentSorts$.next(sorts);
|
|
194
|
+
}
|
|
195
|
+
resetSort() {
|
|
196
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
197
|
+
this._currentSorts$.next(cloneDeep(view.sorts));
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
updateSort(items) {
|
|
201
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
202
|
+
view.sorts = cloneDeep(items);
|
|
203
|
+
this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
|
|
204
|
+
const convertedSortItems = items.map((s) => ({
|
|
205
|
+
field: s.name,
|
|
206
|
+
dir: s.dir,
|
|
207
|
+
}));
|
|
208
|
+
this.dataSource.sort(...convertedSortItems);
|
|
209
|
+
this.dataSource.refresh();
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
get conditions$() {
|
|
213
|
+
return this._currentConditions$.pipe(defaultIfEmpty([]));
|
|
214
|
+
}
|
|
215
|
+
get conditionsCount$() {
|
|
216
|
+
return this.view$.pipe(map((c) => c.conditions.length));
|
|
217
|
+
}
|
|
218
|
+
getInlineFilterTitles() {
|
|
219
|
+
return this._inlineFilterItems.map((item) => item.title);
|
|
220
|
+
}
|
|
221
|
+
addCondition(selectedFields) {
|
|
222
|
+
const prevConditions = this._currentConditions$.getValue();
|
|
223
|
+
const conditionsMap = new Map(prevConditions.map((item) => [item.name, item]));
|
|
224
|
+
const newFields = selectedFields.map((field) => conditionsMap.get(field.name) || { name: field.name, operator: field.opr });
|
|
225
|
+
this._currentConditions$.next(newFields);
|
|
226
|
+
}
|
|
227
|
+
removeCondition(item) {
|
|
228
|
+
const currentConditions = this._currentConditions$.getValue();
|
|
229
|
+
const conditions = currentConditions.filter((c) => c != item);
|
|
230
|
+
this._currentConditions$.next(conditions);
|
|
231
|
+
}
|
|
232
|
+
updateConditions(items) {
|
|
233
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
234
|
+
view.conditions = cloneDeep(items);
|
|
235
|
+
this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
|
|
236
|
+
});
|
|
237
|
+
this.applyAllConditions();
|
|
238
|
+
}
|
|
239
|
+
handleInlineSearch(value) {
|
|
240
|
+
const inlineConditions = [];
|
|
241
|
+
this._inlineFilterItems?.forEach((property) => {
|
|
242
|
+
if (property?.dataType == 'string' || property?.dataType == 'number') {
|
|
243
|
+
inlineConditions.push({
|
|
244
|
+
name: property.name,
|
|
245
|
+
value: property.dataType == 'number' ? parseFloat(value) : value,
|
|
246
|
+
operator: property.dataType == 'string' ? 'contains' : 'equal',
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
251
|
+
view.inlineConditions = cloneDeep(inlineConditions);
|
|
252
|
+
});
|
|
253
|
+
this.applyAllConditions();
|
|
254
|
+
}
|
|
255
|
+
applyAllConditions() {
|
|
256
|
+
const inlineConditions = {
|
|
257
|
+
field: null,
|
|
258
|
+
operator: null,
|
|
259
|
+
logic: 'or',
|
|
260
|
+
filters: [],
|
|
261
|
+
};
|
|
262
|
+
const mainConditions = {
|
|
263
|
+
field: null,
|
|
264
|
+
operator: null,
|
|
265
|
+
logic: 'and',
|
|
266
|
+
filters: [],
|
|
267
|
+
};
|
|
268
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
269
|
+
if (view.inlineConditions && view.inlineConditions.length) {
|
|
270
|
+
view.inlineConditions?.forEach((c) => {
|
|
271
|
+
if (c.value) {
|
|
272
|
+
inlineConditions.filters?.push({
|
|
273
|
+
field: c.name,
|
|
274
|
+
operator: { type: c.operator },
|
|
275
|
+
value: c.value,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
if (view.conditions.length) {
|
|
281
|
+
view.conditions.forEach((c) => {
|
|
282
|
+
mainConditions.filters?.push({
|
|
283
|
+
field: c.name,
|
|
284
|
+
operator: { type: c.operator },
|
|
285
|
+
value: c.value,
|
|
286
|
+
});
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
this.dataSource.filter({
|
|
290
|
+
field: null,
|
|
291
|
+
logic: 'and',
|
|
292
|
+
operator: null,
|
|
293
|
+
filters: [mainConditions, inlineConditions],
|
|
294
|
+
});
|
|
295
|
+
this.dataSource.refresh();
|
|
296
|
+
this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
resetConditions() {
|
|
300
|
+
this.view$.pipe(first()).subscribe((view) => {
|
|
301
|
+
this._currentConditions$.next(cloneDeep(view.conditions));
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
export const AXP_LISTVIEW_LOADER = new InjectionToken('AXP_LISTVIEW_LOADER');
|
|
306
|
+
export class AXPListViewLoaderFactory {
|
|
307
|
+
constructor() {
|
|
308
|
+
this.cache = new Map();
|
|
309
|
+
this.entityService = inject(AXPEntityRegistryService);
|
|
310
|
+
this.schemaService = inject(AXPSchemaRegistryService);
|
|
311
|
+
this.layout = inject(AXPLayoutService);
|
|
312
|
+
}
|
|
313
|
+
async create(moduleName, entityName) {
|
|
314
|
+
this.layout.setNavigationLoading(true);
|
|
315
|
+
const config = await this.entityService.resolve(moduleName, entityName);
|
|
316
|
+
let result = this.cache.get(config.name);
|
|
317
|
+
if (result) {
|
|
318
|
+
this.layout.setNavigationLoading(false);
|
|
319
|
+
return result;
|
|
320
|
+
}
|
|
321
|
+
result = new AXPListViewLoaderDefault(config, this.schemaService);
|
|
322
|
+
this.cache.set(config.name, result);
|
|
323
|
+
this.layout.setNavigationLoading(false);
|
|
324
|
+
return result;
|
|
325
|
+
}
|
|
326
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewLoaderFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
327
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewLoaderFactory, providedIn: 'root' }); }
|
|
328
|
+
}
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewLoaderFactory, decorators: [{
|
|
330
|
+
type: Injectable,
|
|
331
|
+
args: [{ providedIn: 'root' }]
|
|
332
|
+
}] });
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9saXN0LXZpZXcuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQW9ELE1BQU0sMkJBQTJCLENBQUM7QUFDM0csT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBYyxjQUFjLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlGLE9BQU8sRUFPTCw0QkFBNEIsRUFFNUIsd0JBQXdCLEVBQ3hCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDOztBQTRDekIsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxZQUFvQixNQUF1QixFQUFVLGFBQXVDO1FBQXhFLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBSHBGLGdCQUFXLEdBQWlCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsdUJBQWtCLEdBQW9FLEVBQUUsQ0FBQztRQTRCekYsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFNaEUsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUFpQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFB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RSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0UsTUFBTSxTQUFTLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FDbEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FDdEYsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBMkMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBa0M7UUFDaEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBcUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENB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QUUsVUFBa0I7UUFDeEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNELE1BQU0sR0FBRyxJQUFJLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OEdBbEJVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRFgsTUFBTTs7MkZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWERhdGFTb3VyY2UsIEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiwgQVhEYXRhU291cmNlU29ydE9wdGlvbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9zY2hlbWEnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVmYXVsdElmRW1wdHksIGZpcnN0LCBtYXAsIG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsXG4gIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnLFxuICBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyxcbiAgQVhQRW50aXR5TGlzdFZpZXdDb25maWdFbXB0eSxcbiAgQVhQRW50aXR5UHJvcGVydHksXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQTGF5b3V0U2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBMaXN0Vmlld0xvYWRlciB7XG4gIGdldCBwcm9wZXJ0aWVzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVByb3BlcnR5W10+O1xuICBnZXRQcm9wKG5hbWU6IHN0cmluZyk6IEFYUEVudGl0eVByb3BlcnR5IHwgdW5kZWZpbmVkO1xuXG4gIGdldCB2aWV3cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ1tdPjtcbiAgZ2V0IHB1YmxpY1ZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+O1xuICBnZXQgY3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT47XG4gIGdldCBoYXNDdXN0b21WaWV3cyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZ2V0IHZpZXckKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWc+O1xuICBzZXRWaWV3KG5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gIGNyZWF0ZVZpZXcodmlldzogQVhQRW50aXR5TGlzdFZpZXdDb25maWcpOiB2b2lkO1xuICB1cGRhdGVWaWV3KHZpZXc6IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnKTogdm9pZDtcbiAgZGVsZXRlVmlldyh2aWV3TmFtZTogc3RyaW5nKTogdm9pZDtcblxuICBnZXQgY29sdW1ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Q29sdW1uQ29uZmlnW10+O1xuICBnZXQgZGlzcGxheUNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT47XG4gIGdldCBkaXNwbGF5Q29sdW1uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIHNldENvbHVtblZpc2liaWxpdHkobmFtZTogc3RyaW5nLCB2aXNpYmxlOiBib29sZWFuKTogdm9pZDtcbiAgdXBkYXRlQ29sdW1ucyhpdGVtczogQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXSk6IHZvaWQ7XG4gIHJlc2V0Q29sdW1ucygpOiB2b2lkO1xuXG4gIGdldCBzb3J0cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0U29ydENvbmZpZ1tdPjtcbiAgZ2V0IHNvcnRzQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgYWRkU29ydCgpOiB2b2lkO1xuICByZXNldFNvcnQoKTogdm9pZDtcbiAgcmVtb3ZlU29ydChpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZyk6IHZvaWQ7XG4gIHVwZGF0ZVNvcnQoaXRlbXM6IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10pOiB2b2lkO1xuXG4gIGdldCBjb25kaXRpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT47XG4gIGdldCBjb25kaXRpb25zQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgZ2V0SW5saW5lRmlsdGVyVGl0bGVzKCk6IHN0cmluZ1tdO1xuXG4gIGFkZENvbmRpdGlvbihzZWxlY3RlZEZpZWxkczogeyBuYW1lOiBzdHJpbmc7IG9wcjogc3RyaW5nIH1bXSk6IHZvaWQ7XG4gIHJlc2V0Q29uZGl0aW9ucygpOiB2b2lkO1xuICByZW1vdmVDb25kaXRpb24oaXRlbTogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZyk6IHZvaWQ7XG4gIGhhbmRsZUlubGluZVNlYXJjaCh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbiAgdXBkYXRlQ29uZGl0aW9ucyhpdGVtczogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdKTogdm9pZDtcblxuICBnZXQgZGF0YVNvdXJjZSgpOiBBWERhdGFTb3VyY2U7XG4gIGdldCBlbnRpdHkoKTogQVhQRW50aXR5Q29uZmlnO1xufVxuXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdMb2FkZXJEZWZhdWx0IGltcGxlbWVudHMgQVhQTGlzdFZpZXdMb2FkZXIge1xuICBwcml2YXRlIF9jb25maWchOiBBWFBFbnRpdHlDb25maWc7XG4gIHByaXZhdGUgX2RhdGFTb3VyY2U6IEFYRGF0YVNvdXJjZSA9IG5ldyBBWERhdGFTb3VyY2UodGhpcy5lbnRpdHkuZGF0YVNvdXJjZSk7XG4gIHByaXZhdGUgX2lubGluZUZpbHRlckl0ZW1zOiB7IG5hbWU6IHN0cmluZzsgZGF0YVR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZDsgdGl0bGU6IHN0cmluZyB9W10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQVhQRW50aXR5Q29uZmlnLCBwcml2YXRlIHNjaGVtYVNlcnZpY2U6IEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSkge1xuICAgIHRoaXMuc2V0Vmlldyh0aGlzLnZpZXdzWzBdLm5hbWUpO1xuXG4gICAgdGhpcy5faW5saW5lRmlsdGVySXRlbXMgPSB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzXG4gICAgICAuZmlsdGVyKChwcm9wZXJ0eSkgPT4gcHJvcGVydHkuY2FuSW5saW5lRmlsdGVyKVxuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLnNjaGVtYVNlcnZpY2UucmVzb2x2ZShpdGVtLnNjaGVtYSk7XG4gICAgICAgIHJldHVybiB7IG5hbWU6IGl0ZW0ubmFtZSwgZGF0YVR5cGU6IHNjaGVtYT8uZGF0YVR5cGUsIHRpdGxlOiBpdGVtLnRpdGxlIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldCBlbnRpdHkoKTogQVhQRW50aXR5Q29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIGdldCBkYXRhU291cmNlKCk6IEFYRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBQcm9wZXJ0aWVzICoqKioqKioqKioqKioqKioqKi8vXG4gIHByaXZhdGUgZ2V0IHByb3BzKCk6IEFYUEVudGl0eVByb3BlcnR5W10ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzO1xuICB9XG4gIHByaXZhdGUgX3Byb3BzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5UHJvcGVydHlbXT4odGhpcy5wcm9wcyk7XG5cbiAgcHVibGljIGdldCBwcm9wZXJ0aWVzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcHMkO1xuICB9XG5cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHkgfCB1bmRlZmluZWQgPT4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5maW5kKChjKSA9PiBjLm5hbWUgPT0gbmFtZSk7XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogVmlld3MgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIF9jdXJyZW50VmlldyA9ICdkZWZhdWx0JztcblxuICBwcml2YXRlIGdldCB2aWV3cygpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkudmlld3MubGlzdC52aWV3cztcbiAgfVxuXG4gIHByaXZhdGUgX3ZpZXdzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4odGhpcy52aWV3cyk7XG4gIHB1YmxpYyBnZXQgdmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl92aWV3cyQ7XG4gIH1cbiAgcHVibGljIGdldCB2aWV3JCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnPiB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHZpZXdzKSA9PiB7XG4gICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cy5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3KTtcbiAgICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgICByZXR1cm4gb2Yodmlldyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52aWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHRoaXMudmlld3NbMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ0VtcHR5KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBwdWJsaWNWaWV3cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudmlld3MkLnBpcGUobWFwKChjKSA9PiBjLmZpbHRlcigodikgPT4gdi5maXhlZCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdzJC5waXBlKG1hcCgoYykgPT4gYy5maWx0ZXIoKHYpID0+ICF2LmZpeGVkKSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBoYXNDdXN0b21WaWV3cyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY3VzdG9tVmlld3MkLnBpcGUobWFwKChjKSA9PiBjLmxlbmd0aCA+IDApKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRWaWV3KG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBwcm9wTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgdGhpcy5wcm9wZXJ0aWVzJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgocHJvcGVydGllcykgPT4ge1xuICAgICAgcHJvcE5hbWVzID0gcHJvcGVydGllcy5tYXAoKHApID0+IHAubmFtZSk7XG4gICAgfSk7XG4gICAgdGhpcy5fY3VycmVudFZpZXcgPSBuYW1lO1xuICAgIGNvbnN0IHVwZGF0ZWRWaWV3ID0gdGhpcy5fdmlld3MkLnZhbHVlLmZpbmQoKGMpID0+IGMubmFtZSA9PT0gdGhpcy5fY3VycmVudFZpZXcpIHx8IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnRW1wdHk7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy5fdmlld3MkLnZhbHVlO1xuICAgIGNvbnN0IHVwZGF0ZWRWaWV3cyA9IGN1cnJlbnRWaWV3cy5tYXAoKHZpZXcpID0+IHtcbiAgICAgIGlmICh2aWV3Lm5hbWUgPT09IHVwZGF0ZWRWaWV3Lm5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRWaWV3O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZpZXc7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQubmV4dChjbG9uZURlZXAodXBkYXRlZFZpZXcuY29uZGl0aW9ucy5maWx0ZXIoKGMpID0+IHByb3BOYW1lcy5pbmNsdWRlcyhjLm5hbWUpKSkpO1xuICAgIHRoaXMuX2N1cnJlbnRTb3J0cyQubmV4dChjbG9uZURlZXAodXBkYXRlZFZpZXcuc29ydHMuZmlsdGVyKChzKSA9PiBwcm9wTmFtZXMuaW5jbHVkZXMocy5uYW1lKSkpKTtcbiAgICAvLyB0aGlzLl9jb2x1bW5zJC5uZXh0KHVwZGF0ZWRWaWV3LmNvbHVtbnMpO1xuICAgIHRoaXMuX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQubmV4dChjbG9uZURlZXAodXBkYXRlZFZpZXcuY29sdW1ucy5maWx0ZXIoKGMpID0+IHByb3BOYW1lcy5pbmNsdWRlcyhjLm5hbWUpKSkpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHVwZGF0ZWRWaWV3cyk7XG5cbiAgICAvL2FwcGx5IGNvbmRpdGlvbnMgYW5kIHNvcnRzOlxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xuICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgZmlsdGVyczogdXBkYXRlZFZpZXcuY29uZGl0aW9ucy5tYXAoKGMpID0+ICh7XG4gICAgICAgIGZpZWxkOiBjLm5hbWUsXG4gICAgICAgIHZhbHVlOiBjLnZhbHVlLFxuICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiBjLm9wZXJhdG9yIH0sXG4gICAgICB9KSkgYXMgYW55LFxuICAgIH0pO1xuICAgIGNvbnN0IGNvbnZlcnRlZFNvcnRJdGVtczogQVhEYXRhU291cmNlU29ydE9wdGlvbltdID0gdXBkYXRlZFZpZXcuc29ydHMubWFwKChzKSA9PiAoe1xuICAgICAgZmllbGQ6IHMubmFtZSxcbiAgICAgIGRpcjogcy5kaXIsXG4gICAgfSkpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0KC4uLmNvbnZlcnRlZFNvcnRJdGVtcyk7XG5cbiAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICB9XG5cbiAgY3JlYXRlVmlldyhuZXdWaWV3OiBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3cyA9IHRoaXMuX3ZpZXdzJC5nZXRWYWx1ZSgpO1xuICAgIGN1cnJlbnRWaWV3cy5wdXNoKG5ld1ZpZXcpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KGN1cnJlbnRWaWV3cyk7XG4gICAgdGhpcy5zZXRWaWV3KG5ld1ZpZXcubmFtZSk7XG4gIH1cbiAgdXBkYXRlVmlldyh1cGRhdGVkVmlldzogQVhQRW50aXR5TGlzdFZpZXdDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3MgPSB0aGlzLl92aWV3cyQuZ2V0VmFsdWUoKS5tYXAoKHZpZXcpID0+ICh2aWV3Lm5hbWUgPT09IHVwZGF0ZWRWaWV3Lm5hbWUgPyB1cGRhdGVkVmlldyA6IHZpZXcpKTtcbiAgICB0aGlzLl92aWV3cyQubmV4dChjdXJyZW50Vmlld3MpO1xuICAgIHRoaXMuc2V0Vmlldyh1cGRhdGVkVmlldy5uYW1lKTtcbiAgfVxuICBkZWxldGVWaWV3KHZpZXdOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3MgPSB0aGlzLl92aWV3cyQuZ2V0VmFsdWUoKS5maWx0ZXIoKHZpZXcpID0+IHZpZXcubmFtZSAhPT0gdmlld05hbWUpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KGN1cnJlbnRWaWV3cyk7XG4gICAgdGhpcy5zZXRWaWV3KHRoaXMudmlld3NbMF0ubmFtZSk7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBDb2x1bW5zICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgcHJpdmF0ZSBfY3VycmVudERpc3BsYXlDb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4oW10pO1xuXG4gIHByaXZhdGUgZ2V0IGNvbHVtbnMoKTogQVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5lbnRpdHkucHJvcGVydGllcy5tYXAoKHApID0+ICh7XG4gICAgICBuYW1lOiBwLm5hbWUsXG4gICAgICB0aXRsZTogcC50aXRsZSxcbiAgICAgIHNjaGVtYTogcC5zY2hlbWEsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3RDb2x1bW5Db25maWdbXT4odGhpcy5jb2x1bW5zKTtcblxuICBwdWJsaWMgZ2V0IGNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheUNvbHVtbnNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3JC5waXBlKFxuICAgICAgbWFwKCh2aWV3KSA9PiB7XG4gICAgICAgIHJldHVybiB2aWV3LmNvbHVtbnMuZmlsdGVyKChjb2x1bW4pID0+IGNvbHVtbi52aXNpYmxlKS5sZW5ndGg7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVDb2x1bW5zKGl0ZW1zOiBBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdmlldy5jb2x1bW5zID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldENvbHVtbnMoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5uZXh0KGNsb25lRGVlcCh2aWV3LmNvbHVtbnMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldENvbHVtblZpc2liaWxpdHkobmFtZTogc3RyaW5nLCB2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgY29uc3QgdXBkYXRlZENvbHVtbnMgPSB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLmdldFZhbHVlKCkubWFwKChjb2x1bW4pID0+IHtcbiAgICAgIGlmIChjb2x1bW4ubmFtZSA9PT0gbmFtZSkge1xuICAgICAgICByZXR1cm4geyAuLi5jb2x1bW4sIHZpc2libGUgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb2x1bW47XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5uZXh0KHVwZGF0ZWRDb2x1bW5zKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFNvcnQgKioqKioqKioqKioqKioqKioqLy9cbiAgcHJpdmF0ZSBfY3VycmVudFNvcnRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4oW10pO1xuXG4gIHB1YmxpYyBnZXQgc29ydHMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50U29ydHMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydHNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3JC5waXBlKG1hcCgoYykgPT4gYy5zb3J0cy5sZW5ndGgpKTtcbiAgfVxuXG4gIGFkZFNvcnQoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgY29uc3QgY3VycmVudFNvcnRzID0gdGhpcy5fY3VycmVudFNvcnRzJC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3QgbmFtZSA9IHZpZXcuY29sdW1ucy5maW5kKChjKSA9PiAhY3VycmVudFNvcnRzLnNvbWUoKHMpID0+IHMubmFtZSA9PSBjLm5hbWUpKT8ubmFtZSA/PyAnJztcbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIGNvbnN0IHNvcnRzID0gWy4uLmN1cnJlbnRTb3J0cywgeyBuYW1lLCBkaXI6ICdhc2MnIH0gYXMgQVhQRW50aXR5TGlzdFNvcnRDb25maWddO1xuICAgICAgICB0aGlzLl9jdXJyZW50U29ydHMkLm5leHQoc29ydHMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlU29ydChpdGVtOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRTb3J0cyA9IHRoaXMuX2N1cnJlbnRTb3J0cyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzb3J0cyA9IGN1cnJlbnRTb3J0cy5maWx0ZXIoKGMpID0+IGMgIT0gaXRlbSk7XG4gICAgdGhpcy5fY3VycmVudFNvcnRzJC5uZXh0KHNvcnRzKTtcbiAgfVxuXG4gIHJlc2V0U29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50U29ydHMkLm5leHQoY2xvbmVEZWVwKHZpZXcuc29ydHMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHVwZGF0ZVNvcnQoaXRlbXM6IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10pOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB2aWV3LnNvcnRzID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgICBjb25zdCBjb252ZXJ0ZWRTb3J0SXRlbXM6IEFYRGF0YVNvdXJjZVNvcnRPcHRpb25bXSA9IGl0ZW1zLm1hcCgocykgPT4gKHtcbiAgICAgICAgZmllbGQ6IHMubmFtZSxcbiAgICAgICAgZGlyOiBzLmRpcixcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0KC4uLmNvbnZlcnRlZFNvcnRJdGVtcyk7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogQ29uZGl0aW9ucyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgX2N1cnJlbnRDb25kaXRpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdPihbXSk7XG5cbiAgcHVibGljIGdldCBjb25kaXRpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG4gIHB1YmxpYyBnZXQgY29uZGl0aW9uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnZpZXckLnBpcGUobWFwKChjKSA9PiBjLmNvbmRpdGlvbnMubGVuZ3RoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SW5saW5lRmlsdGVyVGl0bGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5faW5saW5lRmlsdGVySXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLnRpdGxlKTtcbiAgfVxuXG4gIGFkZENvbmRpdGlvbihzZWxlY3RlZEZpZWxkczogeyBuYW1lOiBzdHJpbmc7IG9wcjogYW55OyB2YWx1ZT86IGFueSB9W10pOiB2b2lkIHtcbiAgICBjb25zdCBwcmV2Q29uZGl0aW9ucyA9IHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IGNvbmRpdGlvbnNNYXAgPSBuZXcgTWFwKHByZXZDb25kaXRpb25zLm1hcCgoaXRlbSkgPT4gW2l0ZW0ubmFtZSwgaXRlbV0pKTtcblxuICAgIGNvbnN0IG5ld0ZpZWxkcyA9IHNlbGVjdGVkRmllbGRzLm1hcChcbiAgICAgIChmaWVsZCkgPT4gY29uZGl0aW9uc01hcC5nZXQoZmllbGQubmFtZSkgfHwgeyBuYW1lOiBmaWVsZC5uYW1lLCBvcGVyYXRvcjogZmllbGQub3ByIH1cbiAgICApO1xuICAgIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5uZXh0KG5ld0ZpZWxkcyBhcyBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10pO1xuICB9XG5cbiAgcmVtb3ZlQ29uZGl0aW9uKGl0ZW06IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Q29uZGl0aW9ucyA9IHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IGNvbmRpdGlvbnMgPSBjdXJyZW50Q29uZGl0aW9ucy5maWx0ZXIoKGMpID0+IGMgIT0gaXRlbSk7XG4gICAgdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLm5leHQoY29uZGl0aW9ucyk7XG4gIH1cbiAgdXBkYXRlQ29uZGl0aW9ucyhpdGVtczogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdmlldy5jb25kaXRpb25zID0gY2xvbmVEZWVwKGl0ZW1zKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgfSk7XG4gICAgdGhpcy5hcHBseUFsbENvbmRpdGlvbnMoKTtcbiAgfVxuXG4gIGhhbmRsZUlubGluZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgY29uc3QgaW5saW5lQ29uZGl0aW9uczogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdID0gW107XG5cbiAgICB0aGlzLl9pbmxpbmVGaWx0ZXJJdGVtcz8uZm9yRWFjaCgocHJvcGVydHkpID0+IHtcbiAgICAgIGlmIChwcm9wZXJ0eT8uZGF0YVR5cGUgPT0gJ3N0cmluZycgfHwgcHJvcGVydHk/LmRhdGFUeXBlID09ICdudW1iZXInKSB7XG4gICAgICAgIGlubGluZUNvbmRpdGlvbnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogcHJvcGVydHkubmFtZSxcbiAgICAgICAgICB2YWx1ZTogcHJvcGVydHkuZGF0YVR5cGUgPT0gJ251bWJlcicgPyBwYXJzZUZsb2F0KHZhbHVlKSA6IHZhbHVlLFxuICAgICAgICAgIG9wZXJhdG9yOiBwcm9wZXJ0eS5kYXRhVHlwZSA9PSAnc3RyaW5nJyA/ICdjb250YWlucycgOiAnZXF1YWwnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB2aWV3LmlubGluZUNvbmRpdGlvbnMgPSBjbG9uZURlZXAoaW5saW5lQ29uZGl0aW9ucyk7XG4gICAgfSk7XG4gICAgdGhpcy5hcHBseUFsbENvbmRpdGlvbnMoKTtcbiAgfVxuXG4gIGFwcGx5QWxsQ29uZGl0aW9ucygpIHtcbiAgICBjb25zdCBpbmxpbmVDb25kaXRpb25zOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICBsb2dpYzogJ29yJyxcbiAgICAgIGZpbHRlcnM6IFtdLFxuICAgIH07XG5cbiAgICBjb25zdCBtYWluQ29uZGl0aW9uczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0ge1xuICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgZmlsdGVyczogW10sXG4gICAgfTtcblxuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIGlmICh2aWV3LmlubGluZUNvbmRpdGlvbnMgJiYgdmlldy5pbmxpbmVDb25kaXRpb25zLmxlbmd0aCkge1xuICAgICAgICB2aWV3LmlubGluZUNvbmRpdGlvbnM/LmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICBpZiAoYy52YWx1ZSkge1xuICAgICAgICAgICAgaW5saW5lQ29uZGl0aW9ucy5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgICAgICAgZmllbGQ6IGMubmFtZSxcbiAgICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogYy5vcGVyYXRvciB9IGFzIGFueSxcbiAgICAgICAgICAgICAgdmFsdWU6IGMudmFsdWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHZpZXcuY29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgdmlldy5jb25kaXRpb25zLmZvckVhY2goKGMpID0+IHtcbiAgICAgICAgICBtYWluQ29uZGl0aW9ucy5maWx0ZXJzPy5wdXNoKHtcbiAgICAgICAgICAgIGZpZWxkOiBjLm5hbWUsXG4gICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiBjLm9wZXJhdG9yIH0gYXMgYW55LFxuICAgICAgICAgICAgdmFsdWU6IGMudmFsdWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih7XG4gICAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgICAgbG9naWM6ICdhbmQnLFxuICAgICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICAgIGZpbHRlcnM6IFttYWluQ29uZGl0aW9ucywgaW5saW5lQ29uZGl0aW9uc10sXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5yZWZyZXNoKCk7XG4gICAgICB0aGlzLl92aWV3cyQubmV4dCh0aGlzLl92aWV3cyQudmFsdWUubWFwKCh2KSA9PiAodi5uYW1lID09PSB0aGlzLl9jdXJyZW50VmlldyA/IHZpZXcgOiB2KSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRDb25kaXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5uZXh0KGNsb25lRGVlcCh2aWV3LmNvbmRpdGlvbnMpKTtcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgQVhQX0xJU1RWSUVXX0xPQURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWFBMaXN0Vmlld0xvYWRlcj4oJ0FYUF9MSVNUVklFV19MT0FERVInKTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWFBMaXN0Vmlld0xvYWRlckZhY3Rvcnkge1xuICBwcml2YXRlIGNhY2hlOiBNYXA8c3RyaW5nLCBBWFBMaXN0Vmlld0xvYWRlcj4gPSBuZXcgTWFwKCk7XG4gIHByaXZhdGUgZW50aXR5U2VydmljZSA9IGluamVjdChBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIHNjaGVtYVNlcnZpY2UgPSBpbmplY3QoQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0U2VydmljZSk7XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZShtb2R1bGVOYW1lOiBzdHJpbmcsIGVudGl0eU5hbWU6IHN0cmluZyk6IFByb21pc2U8QVhQTGlzdFZpZXdMb2FkZXI+IHtcbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyh0cnVlKTtcbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCB0aGlzLmVudGl0eVNlcnZpY2UucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5jYWNoZS5nZXQoY29uZmlnLm5hbWUpO1xuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJlc3VsdCA9IG5ldyBBWFBMaXN0Vmlld0xvYWRlckRlZmF1bHQoY29uZmlnLCB0aGlzLnNjaGVtYVNlcnZpY2UpO1xuICAgIHRoaXMuY2FjaGUuc2V0KGNvbmZpZy5uYW1lLCByZXN1bHQpO1xuICAgIHRoaXMubGF5b3V0LnNldE5hdmlnYXRpb25Mb2FkaW5nKGZhbHNlKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { AXActionSheetModule } from '@acorex/components/action-sheet';
|
|
2
|
+
import { AXBadgeModule } from '@acorex/components/badge';
|
|
3
|
+
import { AXButtonModule } from '@acorex/components/button';
|
|
4
|
+
import { AXCollapseModule } from '@acorex/components/collapse';
|
|
5
|
+
import { AXCommonModule } from '@acorex/components/common';
|
|
6
|
+
import { AXDataTableModule } from '@acorex/components/data-table';
|
|
7
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
8
|
+
import { AXDialogModule } from '@acorex/components/dialog';
|
|
9
|
+
import { AXDrawerModule } from '@acorex/components/drawer';
|
|
10
|
+
import { AXDropdownModule } from '@acorex/components/dropdown';
|
|
11
|
+
import { AXFormModule } from '@acorex/components/form';
|
|
12
|
+
import { AXImageModule } from '@acorex/components/image';
|
|
13
|
+
import { AXListModule } from '@acorex/components/list';
|
|
14
|
+
import { AXLoadingModule } from '@acorex/components/loading';
|
|
15
|
+
import { AXPopoverModule } from '@acorex/components/popover';
|
|
16
|
+
import { AXSelectBoxModule } from '@acorex/components/select-box';
|
|
17
|
+
import { AXSwitchModule } from '@acorex/components/switch';
|
|
18
|
+
import { AXTabsModule } from '@acorex/components/tabs';
|
|
19
|
+
import { AXTextBoxModule } from '@acorex/components/text-box';
|
|
20
|
+
import { CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDropList } from '@angular/cdk/drag-drop';
|
|
21
|
+
import { CommonModule } from '@angular/common';
|
|
22
|
+
import { NgModule } from '@angular/core';
|
|
23
|
+
import { FormsModule } from '@angular/forms';
|
|
24
|
+
import { AXPListViewOptionConditionsComponent, AXPListViewOptionFilterOperatorComponent, AXPListViewOptionSortingComponent, AXPListViewOptionsColumnsComponent, } from './components';
|
|
25
|
+
import { AXPEntityListViewComponent } from './entity-list-view.component';
|
|
26
|
+
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
|
27
|
+
import { AXLabelModule } from '@acorex/components/label';
|
|
28
|
+
import { AXSearchBoxModule } from '@acorex/components/search-box';
|
|
29
|
+
import { AXSelectionListModule } from '@acorex/components/selection-list';
|
|
30
|
+
import { AXPSchemaModule } from '@acorex/platform/schema';
|
|
31
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
32
|
+
import { AXPCommonWidgetModule } from '../../../widgets/common-widgets.module';
|
|
33
|
+
import { AXPEntityCreateCustomViewComponent } from './components/entity-custom-view/entity-custom-view.component';
|
|
34
|
+
import * as i0 from "@angular/core";
|
|
35
|
+
export class AXPListViewModule {
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
37
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, declarations: [AXPEntityListViewComponent,
|
|
38
|
+
AXPEntityCreateCustomViewComponent,
|
|
39
|
+
AXPListViewOptionsColumnsComponent,
|
|
40
|
+
AXPListViewOptionConditionsComponent,
|
|
41
|
+
AXPListViewOptionFilterOperatorComponent,
|
|
42
|
+
AXPListViewOptionSortingComponent], imports: [CommonModule,
|
|
43
|
+
FormsModule,
|
|
44
|
+
AXCommonModule,
|
|
45
|
+
AXDataTableModule,
|
|
46
|
+
AXButtonModule,
|
|
47
|
+
AXDecoratorModule,
|
|
48
|
+
AXBadgeModule,
|
|
49
|
+
AXDropdownModule,
|
|
50
|
+
AXPopoverModule,
|
|
51
|
+
AXImageModule,
|
|
52
|
+
AXSwitchModule,
|
|
53
|
+
AXDrawerModule,
|
|
54
|
+
AXLoadingModule,
|
|
55
|
+
AXTabsModule,
|
|
56
|
+
AXSelectBoxModule,
|
|
57
|
+
AXFormModule,
|
|
58
|
+
AXListModule,
|
|
59
|
+
AXTextBoxModule,
|
|
60
|
+
AXSearchBoxModule,
|
|
61
|
+
AXLabelModule,
|
|
62
|
+
AXCollapseModule,
|
|
63
|
+
AXActionSheetModule,
|
|
64
|
+
AXSelectionListModule,
|
|
65
|
+
AXImageModule,
|
|
66
|
+
AXDialogModule,
|
|
67
|
+
AXDropdownButtonModule,
|
|
68
|
+
//
|
|
69
|
+
CdkDropList,
|
|
70
|
+
CdkDrag,
|
|
71
|
+
CdkDragPlaceholder,
|
|
72
|
+
CdkDragHandle,
|
|
73
|
+
PortalModule,
|
|
74
|
+
AXPSchemaModule,
|
|
75
|
+
AXPCommonWidgetModule] }); }
|
|
76
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, imports: [CommonModule,
|
|
77
|
+
FormsModule,
|
|
78
|
+
AXCommonModule,
|
|
79
|
+
AXDataTableModule,
|
|
80
|
+
AXButtonModule,
|
|
81
|
+
AXDecoratorModule,
|
|
82
|
+
AXBadgeModule,
|
|
83
|
+
AXDropdownModule,
|
|
84
|
+
AXPopoverModule,
|
|
85
|
+
AXImageModule,
|
|
86
|
+
AXSwitchModule,
|
|
87
|
+
AXDrawerModule,
|
|
88
|
+
AXLoadingModule,
|
|
89
|
+
AXTabsModule,
|
|
90
|
+
AXSelectBoxModule,
|
|
91
|
+
AXFormModule,
|
|
92
|
+
AXListModule,
|
|
93
|
+
AXTextBoxModule,
|
|
94
|
+
AXSearchBoxModule,
|
|
95
|
+
AXLabelModule,
|
|
96
|
+
AXCollapseModule,
|
|
97
|
+
AXActionSheetModule,
|
|
98
|
+
AXSelectionListModule,
|
|
99
|
+
AXImageModule,
|
|
100
|
+
AXDialogModule,
|
|
101
|
+
AXDropdownButtonModule,
|
|
102
|
+
PortalModule,
|
|
103
|
+
AXPSchemaModule,
|
|
104
|
+
AXPCommonWidgetModule] }); }
|
|
105
|
+
}
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AXPListViewModule, decorators: [{
|
|
107
|
+
type: NgModule,
|
|
108
|
+
args: [{
|
|
109
|
+
imports: [
|
|
110
|
+
CommonModule,
|
|
111
|
+
FormsModule,
|
|
112
|
+
AXCommonModule,
|
|
113
|
+
AXDataTableModule,
|
|
114
|
+
AXButtonModule,
|
|
115
|
+
AXDecoratorModule,
|
|
116
|
+
AXBadgeModule,
|
|
117
|
+
AXDropdownModule,
|
|
118
|
+
AXPopoverModule,
|
|
119
|
+
AXImageModule,
|
|
120
|
+
AXSwitchModule,
|
|
121
|
+
AXDrawerModule,
|
|
122
|
+
AXLoadingModule,
|
|
123
|
+
AXTabsModule,
|
|
124
|
+
AXSelectBoxModule,
|
|
125
|
+
AXFormModule,
|
|
126
|
+
AXListModule,
|
|
127
|
+
AXTextBoxModule,
|
|
128
|
+
AXSearchBoxModule,
|
|
129
|
+
AXLabelModule,
|
|
130
|
+
AXCollapseModule,
|
|
131
|
+
AXActionSheetModule,
|
|
132
|
+
AXSelectionListModule,
|
|
133
|
+
AXImageModule,
|
|
134
|
+
AXDialogModule,
|
|
135
|
+
AXDropdownButtonModule,
|
|
136
|
+
//
|
|
137
|
+
CdkDropList,
|
|
138
|
+
CdkDrag,
|
|
139
|
+
CdkDragPlaceholder,
|
|
140
|
+
CdkDragHandle,
|
|
141
|
+
PortalModule,
|
|
142
|
+
AXPSchemaModule,
|
|
143
|
+
AXPCommonWidgetModule,
|
|
144
|
+
],
|
|
145
|
+
declarations: [
|
|
146
|
+
AXPEntityListViewComponent,
|
|
147
|
+
AXPEntityCreateCustomViewComponent,
|
|
148
|
+
AXPListViewOptionsColumnsComponent,
|
|
149
|
+
AXPListViewOptionConditionsComponent,
|
|
150
|
+
AXPListViewOptionFilterOperatorComponent,
|
|
151
|
+
AXPListViewOptionSortingComponent,
|
|
152
|
+
],
|
|
153
|
+
providers: [],
|
|
154
|
+
}]
|
|
155
|
+
}] });
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9saXN0LXZpZXcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFB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QkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxzQkFBc0I7d0JBQ3RCLEVBQUU7d0JBQ0YsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YscUJBQXFCO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osMEJBQTBCO3dCQUMxQixrQ0FBa0M7d0JBQ2xDLGtDQUFrQzt3QkFDbEMsb0NBQW9DO3dCQUNwQyx3Q0FBd0M7d0JBQ3hDLGlDQUFpQztxQkFDbEM7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEFjdGlvblNoZWV0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2FjdGlvbi1zaGVldCc7XG5pbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWENvbGxhcHNlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbGxhcHNlJztcbmltcG9ydCB7IEFYQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGFUYWJsZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYSW1hZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UnO1xuaW1wb3J0IHsgQVhMaXN0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xpc3QnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWFN3aXRjaE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zd2l0Y2gnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdIYW5kbGUsIENka0RyYWdQbGFjZWhvbGRlciwgQ2RrRHJvcExpc3QgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBBWFBMaXN0Vmlld09wdGlvbkNvbmRpdGlvbnNDb21wb25lbnQsXG4gIEFYUExpc3RWaWV3T3B0aW9uRmlsdGVyT3BlcmF0b3JDb21wb25lbnQsXG4gIEFYUExpc3RWaWV3T3B0aW9uU29ydGluZ0NvbXBvbmVudCxcbiAgQVhQTGlzdFZpZXdPcHRpb25zQ29sdW1uc0NvbXBvbmVudCxcbn0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEFYUEVudGl0eUxpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9lbnRpdHktbGlzdC12aWV3LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQVhQU2NoZW1hTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9zY2hlbWEnO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBBWFBDb21tb25XaWRnZXRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi93aWRnZXRzL2NvbW1vbi13aWRnZXRzLm1vZHVsZSc7XG5pbXBvcnQgeyBBWFBFbnRpdHlDcmVhdGVDdXN0b21WaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudGl0eS1jdXN0b20tdmlldy9lbnRpdHktY3VzdG9tLXZpZXcuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWENvbW1vbk1vZHVsZSxcbiAgICBBWERhdGFUYWJsZU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYSW1hZ2VNb2R1bGUsXG4gICAgQVhTd2l0Y2hNb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhMaXN0TW9kdWxlLFxuICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWExhYmVsTW9kdWxlLFxuICAgIEFYQ29sbGFwc2VNb2R1bGUsXG4gICAgQVhBY3Rpb25TaGVldE1vZHVsZSxcbiAgICBBWFNlbGVjdGlvbkxpc3RNb2R1bGUsXG4gICAgQVhJbWFnZU1vZHVsZSxcbiAgICBBWERpYWxvZ01vZHVsZSxcbiAgICBBWERyb3Bkb3duQnV0dG9uTW9kdWxlLFxuICAgIC8vXG4gICAgQ2RrRHJvcExpc3QsXG4gICAgQ2RrRHJhZyxcbiAgICBDZGtEcmFnUGxhY2Vob2xkZXIsXG4gICAgQ2RrRHJhZ0hhbmRsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgQVhQU2NoZW1hTW9kdWxlLFxuICAgIEFYUENvbW1vbldpZGdldE1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQVhQRW50aXR5TGlzdFZpZXdDb21wb25lbnQsXG4gICAgQVhQRW50aXR5Q3JlYXRlQ3VzdG9tVmlld0NvbXBvbmVudCxcbiAgICBBWFBMaXN0Vmlld09wdGlvbnNDb2x1bW5zQ29tcG9uZW50LFxuICAgIEFYUExpc3RWaWV3T3B0aW9uQ29uZGl0aW9uc0NvbXBvbmVudCxcbiAgICBBWFBMaXN0Vmlld09wdGlvbkZpbHRlck9wZXJhdG9yQ29tcG9uZW50LFxuICAgIEFYUExpc3RWaWV3T3B0aW9uU29ydGluZ0NvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdNb2R1bGUge31cbiJdfQ==
|