nuxeo-development-framework 3.8.1 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/nuxeo-development-framework.umd.js +32267 -31027
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +2 -2
- package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
- package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
- package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +2 -2
- package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
- package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +2 -2
- package/esm2015/lib/components/comments/services/comment-api.service.js +3 -3
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +3 -3
- package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +2 -2
- package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +3 -3
- package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +3 -3
- package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +2 -2
- package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
- package/esm2015/lib/components/cts-tags/services/tags-api.service.js +2 -2
- package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +6 -6
- package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
- package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +23 -11
- package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +2 -2
- package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +2 -2
- package/esm2015/lib/components/documents/services/document-templates.service.js +3 -3
- package/esm2015/lib/components/documents/services/documents.service.js +3 -3
- package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +2 -2
- package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +2 -2
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +3 -3
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +5 -5
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +3 -3
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +2 -2
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -4
- package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +2 -2
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +2 -2
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +3 -3
- package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +3 -3
- package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +3 -3
- package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +2 -2
- package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +5 -5
- package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
- package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +3 -3
- package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +78 -0
- package/esm2015/lib/components/file-manger/file-manager.abstract.js +459 -301
- package/esm2015/lib/components/file-manger/file-manger.module.js +10 -5
- package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +7 -0
- package/esm2015/lib/components/file-manger/models/index.js +4 -0
- package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +2 -0
- package/esm2015/lib/components/file-manger/models/pagination-response.model.js +6 -0
- package/esm2015/lib/components/latest-activity/services/activity-log.service.js +3 -3
- package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +2 -2
- package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +154 -0
- package/esm2015/lib/components/notifications/components/base-notifications.component.js +35 -0
- package/esm2015/lib/components/notifications/components/index.js +7 -0
- package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +44 -0
- package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +41 -129
- package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +34 -0
- package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +26 -0
- package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +75 -165
- package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +59 -0
- package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +53 -175
- package/esm2015/lib/components/notifications/components/notifications-list/options.js +24 -0
- package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +43 -0
- package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +28 -0
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +30 -0
- package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +163 -0
- package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +28 -0
- package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +158 -0
- package/esm2015/lib/components/notifications/constants/date.js +8 -0
- package/esm2015/lib/components/notifications/constants/index.js +5 -0
- package/esm2015/lib/components/notifications/constants/pagination.js +5 -0
- package/esm2015/lib/components/notifications/constants/panel.js +5 -0
- package/esm2015/lib/components/notifications/constants/status.js +10 -0
- package/esm2015/lib/components/notifications/containers/index.js +3 -0
- package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +98 -0
- package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +18 -0
- package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +67 -0
- package/esm2015/lib/components/notifications/directives/button.directive.js +28 -0
- package/esm2015/lib/components/notifications/directives/index.js +3 -0
- package/esm2015/lib/components/notifications/directives/notification.directive.js +28 -0
- package/esm2015/lib/components/notifications/index.js +2 -0
- package/esm2015/lib/components/notifications/models/common.js +2 -0
- package/esm2015/lib/components/notifications/models/index.js +11 -0
- package/esm2015/lib/components/notifications/models/notification-definition.model.js +2 -0
- package/esm2015/lib/components/notifications/models/notification-options.js +2 -0
- package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +2 -0
- package/esm2015/lib/components/notifications/models/notification-subscription.model.js +2 -0
- package/esm2015/lib/components/notifications/models/notification.model.js +2 -0
- package/esm2015/lib/components/notifications/models/notifications-list-options.js +3 -0
- package/esm2015/lib/components/notifications/models/paging-response.model.js +2 -0
- package/esm2015/lib/components/notifications/models/params.model.js +2 -0
- package/esm2015/lib/components/notifications/models/vocabularies.js +2 -0
- package/esm2015/lib/components/notifications/notifications.module.js +80 -46
- package/esm2015/lib/components/notifications/public-api.js +9 -0
- package/esm2015/lib/components/notifications/services/index.js +2 -0
- package/esm2015/lib/components/notifications/services/listener.service.js +19 -0
- package/esm2015/lib/components/notifications/services/notifications.service.js +155 -0
- package/esm2015/lib/components/notifications/services/params.service.js +31 -0
- package/esm2015/lib/components/notifications/services/response.service.js +65 -0
- package/esm2015/lib/components/notifications/utilities/index.js +2 -0
- package/esm2015/lib/components/notifications/utilities/response.adapter.js +12 -0
- package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +3 -3
- package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
- package/esm2015/lib/components/permissions/permission.service.js +2 -2
- package/esm2015/lib/components/permissions/permissions/permissions.component.js +3 -3
- package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +2 -2
- package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +2 -2
- package/esm2015/lib/components/table/table/table.component.js +3 -3
- package/esm2015/lib/components/{notifications → toasts}/components/notification-toast/notification-toast.component.js +8 -12
- package/esm2015/lib/components/toasts/index.js +2 -0
- package/esm2015/lib/components/toasts/public-api.js +3 -0
- package/esm2015/lib/components/toasts/toasts.module.js +19 -0
- package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +2 -2
- package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +2 -2
- package/esm2015/lib/core/adapters/adapter.service.js +1 -1
- package/esm2015/lib/core/core.module.js +1 -1
- package/esm2015/lib/core/env/env-manager.js +1 -1
- package/esm2015/lib/core/env/index.js +1 -1
- package/esm2015/lib/core/models/api-response.model.js +2 -0
- package/esm2015/lib/core/models/automation-response.model.js +2 -0
- package/esm2015/lib/core/models/base-response.models.js +2 -0
- package/esm2015/lib/core/models/index.js +5 -0
- package/esm2015/lib/core/services/callApi/call-api.service.js +1 -1
- package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
- package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
- package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
- package/esm2015/lib/core/services/extension/extension-element.js +1 -1
- package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
- package/esm2015/lib/core/services/extension/extension.service.js +1 -1
- package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
- package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +3 -3
- package/esm2015/lib/core/services/translation/translation.service.js +3 -3
- package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
- package/esm2015/lib/core/utilities/utility.service.js +1 -1
- package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +2 -2
- package/esm2015/lib/directive/permissions/evaluators.service.js +2 -2
- package/esm2015/lib/directive/permissions/permissions.directive.js +2 -2
- package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +2 -2
- package/esm2015/lib/directive/rtl/set-rtl.directive.js +2 -2
- package/esm2015/lib/shared-services/dynamic-form.service.js +2 -2
- package/esm2015/lib/shared-services/file-manager.service.js +456 -222
- package/esm2015/lib/shared-services/global-admin.service.js +1 -1
- package/esm2015/lib/shared-services/mainfolder.service.js +3 -3
- package/esm2015/lib/shared-services/publishing-document.service.js +3 -3
- package/esm2015/lib/shared-services/recently-viewed.service.js +3 -3
- package/esm2015/lib/shared-services/shared-docs.service.js +3 -3
- package/esm2015/lib/shared-services/upload-file.service.js +2 -2
- package/esm2015/lib/shared-services/upload-managment.service.js +2 -2
- package/esm2015/lib/shared-services/user.service.js +3 -3
- package/esm2015/public-api.js +145 -149
- package/fesm2015/nuxeo-development-framework.js +24280 -23143
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/activities-log/activities-log/activities-log.service.d.ts +1 -1
- package/lib/components/attachment-item/attachment-item/attachment-item.component.d.ts +1 -1
- package/lib/components/comments/components/comment-item/comment-item.component.d.ts +1 -1
- package/lib/components/comments/components/comments-dashlet/comments-dashlet.component.d.ts +1 -1
- package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +1 -1
- package/lib/components/comments/services/comment-api.service.d.ts +2 -2
- package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +2 -2
- package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +1 -1
- package/lib/components/correspondence-relation/components/versions/versions.component.d.ts +1 -1
- package/lib/components/correspondence-relation/services/correspondence-realation.service.d.ts +2 -2
- package/lib/components/correspondence-relation/services/viewer-files.service.d.ts +2 -2
- package/lib/components/create-entity/create-entity/create-entity.component.d.ts +1 -1
- package/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.d.ts +1 -1
- package/lib/components/cts-tags/services/tags-api.service.d.ts +1 -1
- package/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.d.ts +1 -1
- package/lib/components/custom-toastr/interfaces/toast-type.interface.d.ts +1 -1
- package/lib/components/custom-toastr/services/custom-toastr.service.d.ts +8 -4
- package/lib/components/documents/components/attachments-list/attachments-list.component.d.ts +1 -1
- package/lib/components/documents/components/document-list/documents-list.component.d.ts +1 -1
- package/lib/components/documents/services/document-templates.service.d.ts +2 -2
- package/lib/components/documents/services/documents.service.d.ts +2 -2
- package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +1 -1
- package/lib/components/dynamic-chart/services/chart-data.service.d.ts +1 -1
- package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form/form-builder.service.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +4 -4
- package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +2 -2
- package/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +1 -1
- package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +3 -3
- package/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.d.ts +1 -1
- package/lib/components/dynamic-form/services/dynamic-form-update.service.d.ts +1 -1
- package/lib/components/dynamic-search/dynamic-search/dynamic-search.component.d.ts +1 -1
- package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +2 -2
- package/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.d.ts +2 -2
- package/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.d.ts +2 -2
- package/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.d.ts +1 -1
- package/lib/components/dynamic-view/date-viewer/date-viewer.component.d.ts +1 -1
- package/lib/components/dynamic-view/department-viewer/department-viewer.component.d.ts +1 -1
- package/lib/components/file-manger/components/clipboard/clipboard.component.d.ts +1 -1
- package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +3 -3
- package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +1 -1
- package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +3 -3
- package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +3 -3
- package/lib/components/file-manger/components/sidepanel/sidepanel.component.d.ts +2 -2
- package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +2 -2
- package/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.d.ts +12 -0
- package/lib/components/file-manger/file-manager.abstract.d.ts +20 -8
- package/lib/components/file-manger/file-manger.module.d.ts +37 -36
- package/lib/components/file-manger/models/file-manager-config.model.d.ts +8 -0
- package/lib/components/file-manger/models/index.d.ts +3 -0
- package/lib/components/file-manger/models/pagination-payload.mode.d.ts +3 -0
- package/lib/components/file-manger/models/pagination-response.model.d.ts +30 -0
- package/lib/components/latest-activity/services/activity-log.service.d.ts +2 -2
- package/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.d.ts +1 -1
- package/lib/components/notifications/components/base-list-notfications.component.d.ts +40 -0
- package/lib/components/notifications/components/base-notifications.component.d.ts +20 -0
- package/lib/components/notifications/components/index.d.ts +6 -0
- package/lib/components/notifications/components/notification-item/get-icon.pipe.d.ts +8 -0
- package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +21 -22
- package/lib/components/notifications/components/notification-source-select/notification-source-select.component.d.ts +12 -0
- package/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.d.ts +8 -0
- package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +29 -30
- package/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.d.ts +19 -0
- package/lib/components/notifications/components/notifications-list/notifications-list.component.d.ts +15 -54
- package/lib/components/notifications/components/notifications-list/options.d.ts +2 -0
- package/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.d.ts +15 -0
- package/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.d.ts +8 -0
- package/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.d.ts +3 -0
- package/lib/components/notifications/components/notifications-settings/notifications-settings.component.d.ts +40 -0
- package/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.d.ts +9 -0
- package/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.d.ts +43 -0
- package/lib/components/notifications/constants/date.d.ts +7 -0
- package/lib/components/notifications/constants/index.d.ts +4 -0
- package/lib/components/notifications/constants/pagination.d.ts +4 -0
- package/lib/components/notifications/constants/panel.d.ts +4 -0
- package/lib/components/notifications/constants/status.d.ts +9 -0
- package/lib/components/notifications/containers/index.d.ts +2 -0
- package/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.d.ts +27 -0
- package/lib/components/notifications/containers/notifications-list-container/options.d.ts +2 -0
- package/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.d.ts +22 -0
- package/lib/components/notifications/directives/button.directive.d.ts +9 -0
- package/lib/components/notifications/directives/index.d.ts +2 -0
- package/lib/components/notifications/directives/notification.directive.d.ts +9 -0
- package/lib/components/notifications/index.d.ts +1 -0
- package/lib/components/notifications/models/common.d.ts +64 -0
- package/lib/components/notifications/models/index.d.ts +10 -0
- package/lib/components/notifications/models/notification-definition.model.d.ts +17 -0
- package/lib/components/notifications/models/notification-options.d.ts +7 -0
- package/lib/components/notifications/models/notification-setting.presenter.d.ts +24 -0
- package/lib/components/notifications/models/notification-subscription.model.d.ts +13 -0
- package/lib/components/notifications/models/notification.model.d.ts +16 -0
- package/lib/components/notifications/models/notifications-list-options.d.ts +34 -0
- package/lib/components/notifications/models/paging-response.model.d.ts +12 -0
- package/lib/components/notifications/models/params.model.d.ts +6 -0
- package/lib/components/notifications/models/vocabularies.d.ts +12 -0
- package/lib/components/notifications/notifications.module.d.ts +32 -16
- package/lib/components/notifications/public-api.d.ts +8 -0
- package/lib/components/notifications/services/index.d.ts +1 -0
- package/lib/components/notifications/services/listener.service.d.ts +8 -0
- package/lib/components/notifications/services/notifications.service.d.ts +55 -0
- package/lib/components/notifications/services/params.service.d.ts +19 -0
- package/lib/components/notifications/services/response.service.d.ts +19 -0
- package/lib/components/notifications/utilities/index.d.ts +1 -0
- package/lib/components/notifications/utilities/response.adapter.d.ts +3 -0
- package/lib/components/pdf-tron/pdftron/pdftron.component.d.ts +2 -2
- package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +1 -1
- package/lib/components/permissions/permission.service.d.ts +1 -1
- package/lib/components/permissions/permissions/permissions.component.d.ts +2 -2
- package/lib/components/select-users-by-department/select-users-by-departments/department-management.service.d.ts +1 -1
- package/lib/components/table/dynamic-column/dynamic-column.component.d.ts +1 -1
- package/lib/components/table/table/table.component.d.ts +2 -2
- package/lib/components/{notifications → toasts}/components/notification-toast/notification-toast.component.d.ts +2 -4
- package/lib/components/toasts/index.d.ts +1 -0
- package/lib/components/toasts/public-api.d.ts +2 -0
- package/lib/components/toasts/toasts.module.d.ts +8 -0
- package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +1 -1
- package/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.d.ts +1 -1
- package/lib/core/models/api-response.model.d.ts +24 -0
- package/lib/core/models/automation-response.model.d.ts +24 -0
- package/lib/core/models/base-response.models.d.ts +12 -0
- package/lib/core/models/index.d.ts +4 -0
- package/lib/core/services/nuxeo/nuxeo.service.d.ts +1 -1
- package/lib/core/services/translation/translation.service.d.ts +3 -3
- package/lib/directive/app-has-role/app-has-role.directive.d.ts +1 -1
- package/lib/directive/permissions/evaluators.service.d.ts +1 -1
- package/lib/directive/permissions/permissions.directive.d.ts +1 -1
- package/lib/directive/rtl/set-dir-rtl.directive.d.ts +1 -1
- package/lib/directive/rtl/set-rtl.directive.d.ts +1 -1
- package/lib/shared-services/dynamic-form.service.d.ts +1 -1
- package/lib/shared-services/file-manager.service.d.ts +27 -19
- package/lib/shared-services/mainfolder.service.d.ts +2 -2
- package/lib/shared-services/publishing-document.service.d.ts +2 -2
- package/lib/shared-services/recently-viewed.service.d.ts +2 -2
- package/lib/shared-services/shared-docs.service.d.ts +2 -2
- package/lib/shared-services/upload-file.service.d.ts +1 -1
- package/lib/shared-services/upload-managment.service.d.ts +1 -1
- package/lib/shared-services/user.service.d.ts +2 -2
- package/package.json +1 -1
- package/public-api.d.ts +139 -143
- package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +0 -22
- package/esm2015/lib/components/notifications/notifications.service.js +0 -358
- package/lib/components/notifications/components/notification-options/notification-options.component.d.ts +0 -10
- package/lib/components/notifications/notifications.service.d.ts +0 -87
|
@@ -5,8 +5,8 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
import * as i1 from "../permission.service";
|
|
6
6
|
import * as i2 from "@angular/material/dialog";
|
|
7
7
|
import * as i3 from "../../custom-toastr/services/custom-toastr.service";
|
|
8
|
-
import * as i4 from "../../../
|
|
9
|
-
import * as i5 from "../../../
|
|
8
|
+
import * as i4 from "../../../core/services/translation/translation.service";
|
|
9
|
+
import * as i5 from "../../../core/services/nuxeo/nuxeo.service";
|
|
10
10
|
import * as i6 from "../../../shared-services/user.service";
|
|
11
11
|
import * as i7 from "../../../directive/permissions/evaluators.service";
|
|
12
12
|
import * as i8 from "@angular/material/divider";
|
|
@@ -232,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
232
232
|
}], sourcePage: [{
|
|
233
233
|
type: Input
|
|
234
234
|
}] } });
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVczRyxNQUFNLE9BQU8sb0JBQW9CO0lBc0IvQixZQUFvQixpQkFBb0MsRUFDOUMsb0JBQStCLEVBQy9CLGFBQWtDLEVBQ2xDLGdCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixRQUFxQixFQUNyQixnQkFBb0M7UUFOMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUM5Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVc7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBbkI5QyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBRXBDLHFCQUFn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LENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxDQUFDOztrSEFwTlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsbUxDaEJqQyx1MExBaUlBOzRGRGpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDO3dSQUlDLFVBQVU7c0JBRFQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wZXJtaXNzaW9ucy9ldmFsdWF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcGVybWlzc2lvbnNUeXBlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBkb2N1bWVudElkO1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9jdW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBhbGxvd0FkZEFuZEJsb2NrXHJcbiAgQElucHV0KClcclxuICBzb3VyY2VQYWdlID0gJydcclxuICBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICB1c2VyVmlzaWJsZVBlcm1pc3Npb25zOiBhbnk7XHJcbiAgbG9jYWxQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIGluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgZGVwYXJ0bWVudFBlcm1pc3Npb25zID0gW107XHJcbiAgc2hhcmVQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIHdvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICBzdGF0dXM9bnVsbDsvL3RvIGtub3cgaW5oZXJpdGVkIFBlcm1pc3Npb25zIGlmIGJsb2NrIG9yIG5vdFxyXG4gIGFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPWZhbHNlO1xyXG4gIGJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGFsbERlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGRQZXJtaXNzaW9uc0RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV2YWx1YXRvclNlcnZpY2UgOiBFdmFsdWF0b3JzU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbXHJcbiAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuY3JlYXRlQW5kQWRkQW5vdGhlci5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcbiAgICAgIH0pXHJcbiAgICBdKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNoZWNrSWZVc2VyQ2FuRG9BY3Rpb25zT25QZXJtaXNzaW9ucygpO1xyXG4gICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgKHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMCkgPyB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJyA6IHRoaXMuc3RhdHVzID0gJ2Jsb2NrJztcclxuICB9XHJcblxyXG4gIGFkZFBlcm1pc3Npb25MYWJlbChhcnIscGVybWlzc2lvbkFycikge1xyXG4gICAgYXJyLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLmlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCkpe1xyXG4gICAgICAgIGVsZW1lbnQucGVybWlzc2lvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYHJpZ2h0cy4ke2VsZW1lbnQucGVybWlzc2lvbn1gKVxyXG4gICAgICAgIHBlcm1pc3Npb25BcnIucHVzaChlbGVtZW50KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCl7XHJcbiAgICBsZXQgaXNBZG1pbmlzdHJhdG9yID0gZmFsc2U7XHJcbiAgICBpZihlbGVtZW50LmdyYW50ZWQgPT09IGZhbHNlKXtcclxuICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChlbGVtZW50LnVzZXJuYW1lICYmIGVsZW1lbnQudXNlcm5hbWVbJ2VudGl0eS10eXBlJ10gPT09ICdncm91cCcgJiYgZWxlbWVudC51c2VybmFtZS5ncm91cG5hbWUgPT09ICdhZG1pbmlzdHJhdG9ycycpe1xyXG4gICAgICBpc0FkbWluaXN0cmF0b3IgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmKGVsZW1lbnQudXNlcm5hbWUudXNlckdyb3Vwcyl7XHJcbiAgICAgICAgZWxlbWVudC51c2VybmFtZS51c2VyR3JvdXBzLm1hcChncm91cCA9PiB7XHJcbiAgICAgICAgICBpZihncm91cC5uYW1lID09PSAnYWRtaW5pc3RyYXRvcnMnKXtcclxuICAgICAgICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzQWRtaW5pc3RyYXRvcjtcclxuICB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW3RoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0UGVybWlzc2lvbnNGb3JEb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnBlcm1pc3Npb25zVHlwZSA9IHJlcy5jb250ZXh0UGFyYW1ldGVycy5hY2xzO1xyXG4gICAgICB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMgPSByZXMuY29udGV4dFBhcmFtZXRlcnMudXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuICAgICAgZm9yIChsZXQgcCBvZiB0aGlzLnBlcm1pc3Npb25zVHlwZSkge1xyXG4gICAgICAgIGlmIChwLm5hbWUgPT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgdGhpcy5sb2NhbFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5sb2NhbFBlcm1pc3Npb25zKTtcclxuICAgICAgICAgIHRoaXMubG9jYWxQZXJtaXNzaW9ucyA9IHRoaXMubG9jYWxQZXJtaXNzaW9ucy5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmNyZWF0b3IgPT09IG51bGwgfHwgZWxlbWVudC5jcmVhdG9yID09PSAnc3lzdGVtJyB8fCBlbGVtZW50LmNyZWF0b3I/LnByb3BlcnRpZXM/LnVzZXJuYW1lICE9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy51c2VybmFtZSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lID09ICdpbmhlcml0ZWQnKSB7XHJcbiAgICAgICAgICB0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdkZXB0U3BhY2UnKSkge1xyXG4gICAgICAgICAgdGhpcy5kZXBhcnRtZW50UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLmRlcGFydG1lbnRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdzaGFyZScpKSB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlUGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLnNoYXJlUGVybWlzc2lvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygncm91dGluZycpKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLndvcmtmbG93UGVybWlzc2lvbnMpXHJcbiAgICAgICAgfSAgICBcclxuICAgICAgfVxyXG4gICAgICAodGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT0gMCkgPyB0aGlzLnN0YXR1cyA9ICdibG9jaycgOiB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJzsgIFxyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sZXJyID0+IHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICApXSk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKCkge1xyXG4gICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IHRydWU7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5QRVJNSVNTSU9OX0JMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gXCJ1bmJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9CTE9DS19GQUlMJyk7XHJcbiAgICB9XHJcbiAgICApXSlcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKSB7XHJcbiAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gdHJ1ZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFt0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodGhpcy5kb2N1bWVudElkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcykgeyAgIFxyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnc3VjY2VzcycsICdUT0FTVEVSLlNVQ0NFU1MnLCBcIlRPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX0ZBSUwnKTtcclxuICAgIH0pXSlcclxuICB9XHJcblxyXG4gIGFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFsuLi50aGlzLmFsbERlcGFydG1lbnRVc2Vyc107XHJcbiAgICB0aGlzLmxvY2FsUGVybWlzc2lvbnMuZm9yRWFjaChwZXJtID0+IHtcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMuZm9yRWFjaCgodXNlciwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAocGVybS51c2VybmFtZS5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB1c2VyLnByb3BlcnRpZXMudXNlcm5hbWVcclxuICAgICAgICAgICYmIHBlcm0uY3JlYXRvci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUpIHtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzLnNwbGljZShpbmRleCwgMSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xyXG4gICAgICBpZDogdGhpcy5kb2N1bWVudElkLFxyXG4gICAgICByaWdodHM6IHRoaXMudXNlclZpc2libGVQZXJtaXNzaW9uc1xyXG4gICAgfTtcclxuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICczNSUnO1xyXG4gICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9ICc3MCUnO1xyXG4gICAgLy8gYmVmb3Igb3BlbmluZyBtb2RhbCB3ZSBkaWFibGUgY2xpY2tvdXQgc2lkZSBlZmZlY3QgdG8gcHJldmVudCBkZXRhaWxzIHNpZGUgbWVudSBmcm9tIGNsb3Npbmcgd2hlbiBjbGlja2luZyBpbiB0aGUgbW9kYWxcclxuICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IHRydWU7XHJcbiAgICBsZXQgZGlhbG9mUmVmID0gdGhpcy5hZGRQZXJtaXNzaW9uc0RpYWxvZy5vcGVuKFxyXG4gICAgICBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCwgXHJcbiAgICAgIGRpYWxvZ0NvbmZpZyk7XHJcbiAgICBkaWFsb2ZSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgLy8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICAgIGlmKHJlcykge1xyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBjaGVja0lmVXNlckNhbkRvQWN0aW9uc09uUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc01hbmFnZVBlcm1pc3Npb25FbmFibGVkJykudGhlbihpc0VuYWJsZWQgPT4ge1xyXG4gICAgICBpZiAoaXNFbmFibGVkKSB7XHJcbiAgICAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc0RlcGFydG1lbnREb2N1bWVudENvbnRyb2xsZXInICwge2VudGl0eSA6IHRoaXMuZG9jdW1lbnR9KS50aGVuKHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9PiB7XHJcbiAgICAgICAgLy8gbGV0IHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIudXNlckdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgICAvLyAgIGlmIChncm91cC5uYW1lID09PSAnZG1zX2RvY3VtZW50X2NvbnRyb2xsZXInKSB7XHJcbiAgICAgICAgLy8gICAgIHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IHRydWU7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgaWYgKHVzZXJJbkNvbnRyb2xsZXJHcm91cCkge1xyXG4gICAgICAgICAgbGV0IGRlcENvZGUgPSB0aGlzLnVzZXJTZXJ2LmdldFVzZXJEZXBhcnRtZW50RnJvbVBhdGgodGhpcy5kb2N1bWVudC5wYXRoKTtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0RGVwTWVtYmVycyhkZXBDb2RlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMgPSByZXMudXNlcnMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICAgIGVbJ2Rpc3BsYXlMYWJlbCddID0gZS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArICcgJyArIGUucHJvcGVydGllcy5sYXN0TmFtZTtcclxuICAgICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsRGVwYXJ0bWVudFVzZXJzID0gWy4uLnRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzXTtcclxuICAgICAgICAgICAgcmVzLnVzZXJzLmZvckVhY2godXNlciA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHVzZXIucHJvcGVydGllcy51c2VybmFtZSA9PT0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcbiAgICAgICAgICAgICAgICAmJiAoKHRoaXMuZG9jdW1lbnQudHlwZSA9PT0gJ0Rtc0ZvbGRlcicgJiYgdGhpcy5kb2N1bWVudC5wYXRoLmluY2x1ZGVzKCcvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9ETVMvJykpIHx8ICh0aGlzLmRvY3VtZW50LnR5cGUgPT09ICdGb2xkZXInICYmIHRoaXMuZG9jdW1lbnQucGF0aC5pbmNsdWRlcygnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvRE1TV29ya3NwYWNlcy8nKSkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyByZXR1cm4gY2xpY2sgb3V0c2lkZSBlZmZlY3QgdG8gd29yayB0byBjbG9zZSBzaWRlIG1lbnUgd2hlbiBjbGlja2luZyBvdXQgc2lkZSBpdFxyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmZvckVhY2goZSA9PiBlLnVuc3Vic2NyaWJlKCkpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoLWF1dG8gbXQtMyBweC0wIHBiLTRcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxyXG4gICAgPCEtLUxvY2FsUGVybWlzc2lvbiBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic291cmNlUGFnZSAhPSAnbXlGaWxlcydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmxvY2FsXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiAmJiAhaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwZXJtaXNzaW9uc1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi5uZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW2FsbG93RGVsZXRlQW5kRWRpdF09XCJhbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwibG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibG9jYWxQZXJtaXNzaW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vbG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI25vbG9jYWxQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLm5vTG9jYWxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1Jbmhlcml0ZWRQZXJtaXNzaW9uIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIG10LTNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmluaGVyaXRlZFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0dXMgIT0gbnVsbCAmJiBhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1cyA9PSAnYmxvY2snOyBlbHNlIHVuYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidW5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi51bmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN1bmJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCIgKm5nSWY9XCIhYmxvY2tPclVuYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJibG9ja09yVW5ibG9ja1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMDsgZWxzZSBub2luaGVyaXRlZFBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJpbmhlcml0ZWRQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9pbmhlcml0ZWRQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3tcInBlcm1pc3Npb24ubm9Jbmhlcml0ZWRcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1kZXBhcnRtZW50UGVybWlzc2lvbnMgTGlzdCBJdGVtcy0tPlxyXG4gICAgPGRpdiAqbmdJZj1cImRlcGFydG1lbnRQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi5kZXBhcnRtZW50UGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwiZGVwYXJ0bWVudFBlcm1pc3Npb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1zaGFyZVBlcm1pc3Npb25zIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJzaGFyZVBlcm1pc3Npb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLnNoYXJlUGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwic2hhcmVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0td29ya2Zsb3dQZXJtaXNzaW9ucyBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwid29ya2Zsb3dQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi53b3JrZmxvd1Blcm1pc3Npb25zXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibWF0LWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGVcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICAoZ2V0UGVybWlzc2lvbnMpPVwiZ2V0UGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgIFtwZXJtaXNzaW9uc0FycmF5XT1cIndvcmtmbG93UGVybWlzc2lvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctZnVsbCBoLWZ1bGxcIj5cclxuICAgICAgICA8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgW3N0cm9rZVdpZHRoXT1cIjZcIiBvdmVybGF5PVwidHJ1ZVwiIFtkaWFtZXRlcl09XCI3NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNERBQTRELENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVczRyxNQUFNLE9BQU8sb0JBQW9CO0lBc0IvQixZQUFvQixpQkFBb0MsRUFDOUMsb0JBQStCLEVBQy9CLGFBQWtDLEVBQ2xDLGdCQUFvQyxFQUNwQyxZQUEwQixFQUMxQixRQUFxQixFQUNyQixnQkFBb0M7UUFOMUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUM5Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVc7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQXFCO1FBQ2xDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBb0I7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9CO1FBbkI5QyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBRXBDLHFCQUFn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LENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUNuRCxDQUFDOztrSEFwTlUsb0JBQW9CO3NHQUFwQixvQkFBb0IsbUxDaEJqQyx1MExBaUlBOzRGRGpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDO3dSQUlDLFVBQVU7c0JBRFQsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBR04sVUFBVTtzQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dDb25maWcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2FkZC1wZXJtaXNzaW9ucy1kaWFsb2cvYWRkLXBlcm1pc3Npb25zLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFdmFsdWF0b3JzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZS9wZXJtaXNzaW9ucy9ldmFsdWF0b3JzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcGVybWlzc2lvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGVybWlzc2lvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcGVybWlzc2lvbnNUeXBlOiBhbnk7XHJcbiAgQElucHV0KClcclxuICBkb2N1bWVudElkO1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9jdW1lbnQ7XHJcbiAgQElucHV0KClcclxuICBhbGxvd0FkZEFuZEJsb2NrXHJcbiAgQElucHV0KClcclxuICBzb3VyY2VQYWdlID0gJydcclxuICBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICB1c2VyVmlzaWJsZVBlcm1pc3Npb25zOiBhbnk7XHJcbiAgbG9jYWxQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIGluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgZGVwYXJ0bWVudFBlcm1pc3Npb25zID0gW107XHJcbiAgc2hhcmVQZXJtaXNzaW9ucyA9IFtdO1xyXG4gIHdvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICBzdGF0dXM9bnVsbDsvL3RvIGtub3cgaW5oZXJpdGVkIFBlcm1pc3Npb25zIGlmIGJsb2NrIG9yIG5vdFxyXG4gIGFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPWZhbHNlO1xyXG4gIGJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGFsbERlcGFydG1lbnRVc2VycyA9IFtdO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGVybWlzc2lvblNlcnZpY2U6IFBlcm1pc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhZGRQZXJtaXNzaW9uc0RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSB0b3N0ZXJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydjogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGV2YWx1YXRvclNlcnZpY2UgOiBFdmFsdWF0b3JzU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbXHJcbiAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuY3JlYXRlQW5kQWRkQW5vdGhlci5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25zKCk7XHJcbiAgICAgIH0pXHJcbiAgICBdKTtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNoZWNrSWZVc2VyQ2FuRG9BY3Rpb25zT25QZXJtaXNzaW9ucygpO1xyXG4gICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgKHRoaXMuaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMCkgPyB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJyA6IHRoaXMuc3RhdHVzID0gJ2Jsb2NrJztcclxuICB9XHJcblxyXG4gIGFkZFBlcm1pc3Npb25MYWJlbChhcnIscGVybWlzc2lvbkFycikge1xyXG4gICAgYXJyLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLmlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCkpe1xyXG4gICAgICAgIGVsZW1lbnQucGVybWlzc2lvbkxhYmVsID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoYHJpZ2h0cy4ke2VsZW1lbnQucGVybWlzc2lvbn1gKVxyXG4gICAgICAgIHBlcm1pc3Npb25BcnIucHVzaChlbGVtZW50KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGlzSXRlbUNvbnRhaW5BZG1pbmlzdHJhdG9yR3JvdXAoZWxlbWVudCl7XHJcbiAgICBsZXQgaXNBZG1pbmlzdHJhdG9yID0gZmFsc2U7XHJcbiAgICBpZihlbGVtZW50LmdyYW50ZWQgPT09IGZhbHNlKXtcclxuICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmIChlbGVtZW50LnVzZXJuYW1lICYmIGVsZW1lbnQudXNlcm5hbWVbJ2VudGl0eS10eXBlJ10gPT09ICdncm91cCcgJiYgZWxlbWVudC51c2VybmFtZS5ncm91cG5hbWUgPT09ICdhZG1pbmlzdHJhdG9ycycpe1xyXG4gICAgICBpc0FkbWluaXN0cmF0b3IgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmKGVsZW1lbnQudXNlcm5hbWUudXNlckdyb3Vwcyl7XHJcbiAgICAgICAgZWxlbWVudC51c2VybmFtZS51c2VyR3JvdXBzLm1hcChncm91cCA9PiB7XHJcbiAgICAgICAgICBpZihncm91cC5uYW1lID09PSAnYWRtaW5pc3RyYXRvcnMnKXtcclxuICAgICAgICAgICAgaXNBZG1pbmlzdHJhdG9yID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzQWRtaW5pc3RyYXRvcjtcclxuICB9XHJcblxyXG4gIGdldFBlcm1pc3Npb25zKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC5jb25jYXQoW3RoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0UGVybWlzc2lvbnNGb3JEb2N1bWVudCh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnBlcm1pc3Npb25zVHlwZSA9IHJlcy5jb250ZXh0UGFyYW1ldGVycy5hY2xzO1xyXG4gICAgICB0aGlzLnVzZXJWaXNpYmxlUGVybWlzc2lvbnMgPSByZXMuY29udGV4dFBhcmFtZXRlcnMudXNlclZpc2libGVQZXJtaXNzaW9ucztcclxuICAgICAgZm9yIChsZXQgcCBvZiB0aGlzLnBlcm1pc3Npb25zVHlwZSkge1xyXG4gICAgICAgIGlmIChwLm5hbWUgPT0gJ2xvY2FsJykge1xyXG4gICAgICAgICAgdGhpcy5sb2NhbFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5sb2NhbFBlcm1pc3Npb25zKTtcclxuICAgICAgICAgIHRoaXMubG9jYWxQZXJtaXNzaW9ucyA9IHRoaXMubG9jYWxQZXJtaXNzaW9ucy5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChlbGVtZW50LmNyZWF0b3IgPT09IG51bGwgfHwgZWxlbWVudC5jcmVhdG9yID09PSAnc3lzdGVtJyB8fCBlbGVtZW50LmNyZWF0b3I/LnByb3BlcnRpZXM/LnVzZXJuYW1lICE9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy51c2VybmFtZSlcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGVsZW1lbnRbJ2N1cnJlbnRVc2VySXNQZXJtaXNzaW9uT3duZXInXSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lID09ICdpbmhlcml0ZWQnKSB7XHJcbiAgICAgICAgICB0aGlzLmluaGVyaXRlZFBlcm1pc3Npb25zID0gW107XHJcbiAgICAgICAgICB0aGlzLmFkZFBlcm1pc3Npb25MYWJlbChwLmFjZXMsdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdkZXB0U3BhY2UnKSkge1xyXG4gICAgICAgICAgdGhpcy5kZXBhcnRtZW50UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLmRlcGFydG1lbnRQZXJtaXNzaW9ucylcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAocC5uYW1lLmluY2x1ZGVzKCdzaGFyZScpKSB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlUGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLnNoYXJlUGVybWlzc2lvbnMpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHAubmFtZS5pbmNsdWRlcygncm91dGluZycpKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtmbG93UGVybWlzc2lvbnMgPSBbXTtcclxuICAgICAgICAgIHRoaXMuYWRkUGVybWlzc2lvbkxhYmVsKHAuYWNlcyx0aGlzLndvcmtmbG93UGVybWlzc2lvbnMpXHJcbiAgICAgICAgfSAgICBcclxuICAgICAgfVxyXG4gICAgICAodGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucy5sZW5ndGggPT0gMCkgPyB0aGlzLnN0YXR1cyA9ICdibG9jaycgOiB0aGlzLnN0YXR1cyA9ICd1bmJsb2NrJzsgIFxyXG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sZXJyID0+IHRoaXMubG9hZGluZyA9IGZhbHNlXHJcbiAgICApXSk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGJsb2NrUGVybWlzc2lvbkluaGVyaXRhbmNlKCkge1xyXG4gICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IHRydWU7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmNvbmNhdChbdGhpcy5wZXJtaXNzaW9uU2VydmljZS5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSh0aGlzLmRvY3VtZW50SWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5nZXRQZXJtaXNzaW9ucygpO1xyXG4gICAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdzdWNjZXNzJywgJ1RPQVNURVIuU1VDQ0VTUycsIFwiVE9BU1RFUi5QRVJNSVNTSU9OX0JMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc3RhdHVzID0gXCJ1bmJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5pbmhlcml0ZWRQZXJtaXNzaW9ucyA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9CTE9DS19GQUlMJyk7XHJcbiAgICB9XHJcbiAgICApXSlcclxuICB9XHJcblxyXG4gIHVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKSB7XHJcbiAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gdHJ1ZTtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuY29uY2F0KFt0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLnVuYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UodGhpcy5kb2N1bWVudElkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcykgeyAgIFxyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKTtcclxuICAgICAgICB0aGlzLnRvc3RlclNlcnZpY2Uuc2hvdygnc3VjY2VzcycsICdUT0FTVEVSLlNVQ0NFU1MnLCBcIlRPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX1NVQ0NFU1NcIik7XHJcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBcImJsb2NrXCI7XHJcbiAgICAgICAgdGhpcy5ibG9ja09yVW5ibG9jayA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9LCBlcnIgPT4ge1xyXG4gICAgICB0aGlzLmJsb2NrT3JVbmJsb2NrID0gZmFsc2U7XHJcbiAgICAgIHRoaXMudG9zdGVyU2VydmljZS5zaG93KCdlcnJvcicsICdUT0FTVEVSLkVSUk9SJywgJ1RPQVNURVIuUEVSTUlTU0lPTl9VTkJMT0NLX0ZBSUwnKTtcclxuICAgIH0pXSlcclxuICB9XHJcblxyXG4gIGFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLnBlcm1pc3Npb25TZXJ2aWNlLmRlcGFydG1lbnRVc2VycyA9IFsuLi50aGlzLmFsbERlcGFydG1lbnRVc2Vyc107XHJcbiAgICB0aGlzLmxvY2FsUGVybWlzc2lvbnMuZm9yRWFjaChwZXJtID0+IHtcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMuZm9yRWFjaCgodXNlciwgaW5kZXgpID0+IHtcclxuICAgICAgICBpZiAocGVybS51c2VybmFtZS5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB1c2VyLnByb3BlcnRpZXMudXNlcm5hbWVcclxuICAgICAgICAgICYmIHBlcm0uY3JlYXRvci5wcm9wZXJ0aWVzLnVzZXJuYW1lID09PSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUpIHtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzLnNwbGljZShpbmRleCwgMSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBkaWFsb2dDb25maWcgPSBuZXcgTWF0RGlhbG9nQ29uZmlnKCk7XHJcbiAgICBkaWFsb2dDb25maWcuZGlzYWJsZUNsb3NlID0gZmFsc2U7XHJcbiAgICBkaWFsb2dDb25maWcuYXV0b0ZvY3VzID0gdHJ1ZTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0ge1xyXG4gICAgICBpZDogdGhpcy5kb2N1bWVudElkLFxyXG4gICAgICByaWdodHM6IHRoaXMudXNlclZpc2libGVQZXJtaXNzaW9uc1xyXG4gICAgfTtcclxuICAgIGRpYWxvZ0NvbmZpZy53aWR0aCA9ICczNSUnO1xyXG4gICAgZGlhbG9nQ29uZmlnLmhlaWdodCA9ICc3MCUnO1xyXG4gICAgLy8gYmVmb3Igb3BlbmluZyBtb2RhbCB3ZSBkaWFibGUgY2xpY2tvdXQgc2lkZSBlZmZlY3QgdG8gcHJldmVudCBkZXRhaWxzIHNpZGUgbWVudSBmcm9tIGNsb3Npbmcgd2hlbiBjbGlja2luZyBpbiB0aGUgbW9kYWxcclxuICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZGlzYWJsZUNsaWNrT3V0U2lkZSA9IHRydWU7XHJcbiAgICBsZXQgZGlhbG9mUmVmID0gdGhpcy5hZGRQZXJtaXNzaW9uc0RpYWxvZy5vcGVuKFxyXG4gICAgICBBZGRQZXJtaXNzaW9uc0RpYWxvZ0NvbXBvbmVudCwgXHJcbiAgICAgIGRpYWxvZ0NvbmZpZyk7XHJcbiAgICBkaWFsb2ZSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgLy8gcmV0dXJuIGNsaWNrIG91dHNpZGUgZWZmZWN0IHRvIHdvcmsgdG8gY2xvc2Ugc2lkZSBtZW51IHdoZW4gY2xpY2tpbmcgb3V0IHNpZGUgaXRcclxuICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICAgIGlmKHJlcykge1xyXG4gICAgICAgIHRoaXMuZ2V0UGVybWlzc2lvbnMoKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuICBjaGVja0lmVXNlckNhbkRvQWN0aW9uc09uUGVybWlzc2lvbnMoKSB7XHJcbiAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc01hbmFnZVBlcm1pc3Npb25FbmFibGVkJykudGhlbihpc0VuYWJsZWQgPT4ge1xyXG4gICAgICBpZiAoaXNFbmFibGVkKSB7XHJcbiAgICAgICB0aGlzLmV2YWx1YXRvclNlcnZpY2UuZXZhbHVhdGVSdWxlKCdpc0RlcGFydG1lbnREb2N1bWVudENvbnRyb2xsZXInICwge2VudGl0eSA6IHRoaXMuZG9jdW1lbnR9KS50aGVuKHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9PiB7XHJcbiAgICAgICAgLy8gbGV0IHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IGZhbHNlO1xyXG4gICAgICAgIC8vIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIudXNlckdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcclxuICAgICAgICAvLyAgIGlmIChncm91cC5uYW1lID09PSAnZG1zX2RvY3VtZW50X2NvbnRyb2xsZXInKSB7XHJcbiAgICAgICAgLy8gICAgIHVzZXJJbkNvbnRyb2xsZXJHcm91cCA9IHRydWU7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgaWYgKHVzZXJJbkNvbnRyb2xsZXJHcm91cCkge1xyXG4gICAgICAgICAgbGV0IGRlcENvZGUgPSB0aGlzLnVzZXJTZXJ2LmdldFVzZXJEZXBhcnRtZW50RnJvbVBhdGgodGhpcy5kb2N1bWVudC5wYXRoKTtcclxuICAgICAgICAgIHRoaXMucGVybWlzc2lvblNlcnZpY2UuZ2V0RGVwTWVtYmVycyhkZXBDb2RlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kZXBhcnRtZW50VXNlcnMgPSByZXMudXNlcnMubWFwKGUgPT4ge1xyXG4gICAgICAgICAgICAgIGVbJ2Rpc3BsYXlMYWJlbCddID0gZS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArICcgJyArIGUucHJvcGVydGllcy5sYXN0TmFtZTtcclxuICAgICAgICAgICAgICByZXR1cm4gZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuYWxsRGVwYXJ0bWVudFVzZXJzID0gWy4uLnRoaXMucGVybWlzc2lvblNlcnZpY2UuZGVwYXJ0bWVudFVzZXJzXTtcclxuICAgICAgICAgICAgcmVzLnVzZXJzLmZvckVhY2godXNlciA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKHVzZXIucHJvcGVydGllcy51c2VybmFtZSA9PT0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnVzZXJuYW1lXHJcbiAgICAgICAgICAgICAgICAmJiAoKHRoaXMuZG9jdW1lbnQudHlwZSA9PT0gJ0Rtc0ZvbGRlcicgJiYgdGhpcy5kb2N1bWVudC5wYXRoLmluY2x1ZGVzKCcvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9ETVMvJykpIHx8ICh0aGlzLmRvY3VtZW50LnR5cGUgPT09ICdGb2xkZXInICYmIHRoaXMuZG9jdW1lbnQucGF0aC5pbmNsdWRlcygnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvRE1TV29ya3NwYWNlcy8nKSkpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb24gPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICB9KVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyByZXR1cm4gY2xpY2sgb3V0c2lkZSBlZmZlY3QgdG8gd29yayB0byBjbG9zZSBzaWRlIG1lbnUgd2hlbiBjbGlja2luZyBvdXQgc2lkZSBpdFxyXG4gICAgdGhpcy5wZXJtaXNzaW9uU2VydmljZS5kaXNhYmxlQ2xpY2tPdXRTaWRlID0gZmFsc2U7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmZvckVhY2goZSA9PiBlLnVuc3Vic2NyaWJlKCkpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJoLWF1dG8gbXQtMyBweC0wIHBiLTRcIiAqbmdJZj1cIiFsb2FkaW5nOyBlbHNlIGxvYWRlclwiPlxyXG4gICAgPCEtLUxvY2FsUGVybWlzc2lvbiBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic291cmNlUGFnZSAhPSAnbXlGaWxlcydcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmxvY2FsXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYWxsb3dBZGRfQmxvY2tfRGVsZXRlUGVybWlzc2lvbiAmJiAhaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld0xvY2FsUGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFwZXJtaXNzaW9uc1R5cGVcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi5uZXdcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW2FsbG93RGVsZXRlQW5kRWRpdF09XCJhbGxvd0FkZF9CbG9ja19EZWxldGVQZXJtaXNzaW9uXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwibG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibG9jYWxQZXJtaXNzaW9ucy5sZW5ndGggPiAwOyBlbHNlIG5vbG9jYWxQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctdGVtcGxhdGUgI25vbG9jYWxQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLm5vTG9jYWxcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1Jbmhlcml0ZWRQZXJtaXNzaW9uIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuIG10LTNcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLmluaGVyaXRlZFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFsbG93QWRkX0Jsb2NrX0RlbGV0ZVBlcm1pc3Npb25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhvdmVyOnRleHQtYmx1ZS03MDAgdGV4dC1ibHVlLTUwMCBtYi0xIHRleHQtYmFzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdGF0dXMgIT0gbnVsbCAmJiBhbGxvd0FkZEFuZEJsb2NrXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInN0YXR1cyA9PSAnYmxvY2snOyBlbHNlIHVuYmxvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidW5ibG9ja1Blcm1pc3Npb25Jbmhlcml0YW5jZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwicGVybWlzc2lvbi51bmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN1bmJsb2NrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiYmxvY2tQZXJtaXNzaW9uSW5oZXJpdGFuY2UoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgXCJwZXJtaXNzaW9uLmJsb2NrXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cIm1hdC1kaXZpZGVyXCIgKm5nSWY9XCIhYmxvY2tPclVuYmxvY2tcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJibG9ja09yVW5ibG9ja1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuICAgICAgICA8YXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5oZXJpdGVkUGVybWlzc2lvbnMubGVuZ3RoID4gMDsgZWxzZSBub2luaGVyaXRlZFBlcm1pc3Npb25zXCJcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICBbcGVybWlzc2lvbnNBcnJheV09XCJpbmhlcml0ZWRQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9pbmhlcml0ZWRQZXJtaXNzaW9ucz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXBlcm1zc2lvbiBwLTMgdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAge3tcInBlcm1pc3Npb24ubm9Jbmhlcml0ZWRcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwhLS1kZXBhcnRtZW50UGVybWlzc2lvbnMgTGlzdCBJdGVtcy0tPlxyXG4gICAgPGRpdiAqbmdJZj1cImRlcGFydG1lbnRQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi5kZXBhcnRtZW50UGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwiZGVwYXJ0bWVudFBlcm1pc3Npb25zXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9hcHAtcGVybWlzc2lvbnMtdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS1zaGFyZVBlcm1pc3Npb25zIExpc3QgSXRlbXMtLT5cclxuICAgIDxkaXYgKm5nSWY9XCJzaGFyZVBlcm1pc3Npb25zLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC1ncmF5LTUwMCB0ZXh0LWJhc2VcIj57e1xyXG4gICAgICAgICAgICAgICAgXCJwZXJtaXNzaW9uLnNoYXJlUGVybWlzc2lvbnNcIiB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJtYXQtZGl2aWRlclwiPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgPGFwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZVxyXG4gICAgICAgICAgICBbZG9jdW1lbnRJZF09XCJkb2N1bWVudElkXCJcclxuICAgICAgICAgICAgW3VzZXJWaXNpYmxlUGVybWlzc2lvbnNdPVwidXNlclZpc2libGVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgICAgIChnZXRQZXJtaXNzaW9ucyk9XCJnZXRQZXJtaXNzaW9ucygpXCJcclxuICAgICAgICAgICAgW3Blcm1pc3Npb25zQXJyYXldPVwic2hhcmVQZXJtaXNzaW9uc1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDwvYXBwLXBlcm1pc3Npb25zLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0td29ya2Zsb3dQZXJtaXNzaW9ucyBMaXN0IEl0ZW1zLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwid29ya2Zsb3dQZXJtaXNzaW9ucy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cganVzdGlmeS1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtZ3JheS01MDAgdGV4dC1iYXNlXCI+e3tcclxuICAgICAgICAgICAgICAgIFwicGVybWlzc2lvbi53b3JrZmxvd1Blcm1pc3Npb25zXCIgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG1hdC1kaXZpZGVyIGNsYXNzPVwibWF0LWRpdmlkZXJcIj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxhcHAtcGVybWlzc2lvbnMtdGVtcGxhdGVcclxuICAgICAgICAgICAgW2RvY3VtZW50SWRdPVwiZG9jdW1lbnRJZFwiXHJcbiAgICAgICAgICAgIFt1c2VyVmlzaWJsZVBlcm1pc3Npb25zXT1cInVzZXJWaXNpYmxlUGVybWlzc2lvbnNcIlxyXG4gICAgICAgICAgICAoZ2V0UGVybWlzc2lvbnMpPVwiZ2V0UGVybWlzc2lvbnMoKVwiXHJcbiAgICAgICAgICAgIFtwZXJtaXNzaW9uc0FycmF5XT1cIndvcmtmbG93UGVybWlzc2lvbnNcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L2FwcC1wZXJtaXNzaW9ucy10ZW1wbGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbG9hZGVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHctZnVsbCBoLWZ1bGxcIj5cclxuICAgICAgICA8bWF0LXNwaW5uZXIgW3ZhbHVlXT1cIjkwXCIgW3N0cm9rZVdpZHRoXT1cIjZcIiBvdmVybGF5PVwidHJ1ZVwiIFtkaWFtZXRlcl09XCI3NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { from } from 'rxjs';
|
|
3
3
|
import { catchError } from 'rxjs/operators';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../../../
|
|
5
|
+
import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
|
|
6
6
|
export class DepartmentManagementService {
|
|
7
7
|
constructor(nuxeoService) {
|
|
8
8
|
this.nuxeoService = nuxeoService;
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
24
24
|
providedIn: 'root',
|
|
25
25
|
}]
|
|
26
26
|
}], ctorParameters: function () { return [{ type: i1.NuxeoService }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1tYW5hZ2VtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC11c2Vycy1ieS1kZXBhcnRtZW50L3NlbGVjdC11c2Vycy1ieS1kZXBhcnRtZW50cy9kZXBhcnRtZW50LW1hbmFnZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNdkQsTUFBTSxPQUFPLDJCQUEyQjtJQUN0QyxZQUNVLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO0lBQ2pDLENBQUM7SUFHSixhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxFQUFFO1FBQ2xDLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixPQUFPLENBQUMsc0NBQXNDLFNBQVMsRUFBRSxDQUFDO2FBQzFELFdBQVcsaUJBQUcsQ0FBQyxFQUFFLEdBQUcsSUFBSyxNQUFNLEVBQUc7YUFDbEMsR0FBRyxFQUFFLENBQ1QsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7eUhBakJVLDJCQUEyQjs2SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuXHJcbiAgZ2V0RGVwTWVtYmVycyhkZXB0VGl0bGUsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXF1ZXN0KGBncm91cC1tZW1iZXJzL2FsbC1tZW1iZXJzL2Rtc191c2VyXyR7ZGVwdFRpdGxlfWApXHJcbiAgICAgICAgLnF1ZXJ5UGFyYW1zKHsgcTogJyonLCAuLi5wYXJhbXMgfSlcclxuICAgICAgICAuZ2V0KClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn0iXX0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, Input, ViewChild, ViewContainerRef, ViewEncapsulation, } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../
|
|
3
|
+
import * as i1 from "../../../core/services/extension/extension.service";
|
|
4
4
|
export class DynamicColumnComponent {
|
|
5
5
|
constructor(extensions, componentFactoryResolver) {
|
|
6
6
|
this.extensions = extensions;
|
|
@@ -61,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
61
61
|
}], column: [{
|
|
62
62
|
type: Input
|
|
63
63
|
}] } });
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb2x1bW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS9keW5hbWljLWNvbHVtbi9keW5hbWljLWNvbHVtbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxLQUFLLEVBS0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQWlCdkIsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUNVLFVBQTRCLEVBQzVCLHdCQUFrRDtRQURsRCxlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1Qiw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO0lBQ3pELENBQUM7SUFFSixRQUFRO1FBQ04sTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEUsSUFBSSxhQUFhLEVBQUU7WUFDakIsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksT0FBTyxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM3RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7YUFDdkI7U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDakQ7SUFDSCxDQUFDOztvSEFoRFUsc0JBQXNCO3dHQUF0QixzQkFBc0IscVBBQ0gsZ0JBQWdCLGdFQWJwQywwQ0FBMEM7NEZBWXpDLHNCQUFzQjtrQkFkbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO29CQUNyQyxNQUFNLEVBQUU7d0JBQ047Ozs7O0tBS0M7cUJBQ0Y7aUJBQ0Y7OElBR0MsT0FBTztzQkFETixTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUk5RCxFQUFFO3NCQURELEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBFeHRlbnNpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvc2VydmljZXMvZXh0ZW5zaW9uL2V4dGVuc2lvbi5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjdHMtZHluYW1pYy1jb2x1bW5cIixcclxuICB0ZW1wbGF0ZTogYCA8bmctY29udGFpbmVyICNjb250ZW50PjwvbmctY29udGFpbmVyPiBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgaG9zdDogeyBjbGFzczogXCJjdHMtZHluYW1pYy1jb2x1bW5cIiB9LFxyXG4gIHN0eWxlczogW1xyXG4gICAgYFxyXG4gICAgICAuY3RzLWR5bmFtaWMtY29sdW1uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIGAsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGNvbnRlbnQ6IFZpZXdDb250YWluZXJSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBjb250ZXh0OiBhbnk7XHJcbiAgQElucHV0KClcclxuICBjb2x1bW46IGFueTtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZXh0ZW5zaW9uczogRXh0ZW5zaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50VHlwZSA9IHRoaXMuZXh0ZW5zaW9ucy5nZXRDb21wb25lbnRCeUlkKHRoaXMuaWQpO1xyXG4gICAgaWYgKGNvbXBvbmVudFR5cGUpIHtcclxuICAgICAgY29uc3QgZmFjdG9yeSA9XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50VHlwZSk7XHJcbiAgICAgIGlmIChmYWN0b3J5KSB7XHJcbiAgICAgICAgdGhpcy5jb250ZW50LmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSB0aGlzLmNvbnRlbnQuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIDApO1xyXG4gICAgICAgIHRoaXMudXBkYXRlSW5zdGFuY2UoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgdGhpcy51cGRhdGVJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUluc3RhbmNlKCkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50UmVmICYmIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSB0aGlzLmNvbnRleHQ7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbHVtbiA9IHRoaXMuY29sdW1uO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../
|
|
3
|
+
import * as i1 from "../../../core/services/nuxeo/nuxeo.service";
|
|
4
4
|
import * as i2 from "../../../configuration/app-config.service";
|
|
5
|
-
import * as i3 from "../../../
|
|
5
|
+
import * as i3 from "../../../core/services/translation/translation.service";
|
|
6
6
|
import * as i4 from "@swimlane/ngx-datatable";
|
|
7
7
|
import * as i5 from "@angular/material/checkbox";
|
|
8
8
|
import * as i6 from "../../dynamic-view/dropdown-viewer/dropdown-viewer.component";
|
|
@@ -236,4 +236,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
236
236
|
}], showActionsAsMenu: [{
|
|
237
237
|
type: Input
|
|
238
238
|
}] } });
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQU12Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFPSCxNQUFNLE9BQU8sY0FBYztJQTZEekIsWUFBbUIsWUFBMEIsRUFBVSxTQUE0QixFQUFTLFdBQStCO1FBQXhHLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE1RDNILDhDQUE4QztRQUNwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsNERBQTREO1FBQ2xELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEQsbURBQW1EO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5QyxtRUFBbUU7UUFDekQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLHNDQUFzQztRQUM1QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QywrQ0FBK0M7UUFDdkMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztR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d0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2x1bW5Nb2RlLCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUvcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYSBtdWx0aS1wdXJwb3NlIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBkdW1iIGRhdGEgdGFibGUgdGhhdCBjYW4gYmUgY29uZmlndXJlZCB0byBzaG93IGFueSBsaXN0IG9mIGRhdGEsXHJcbiAqIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNvbmZpZ3VyaW5nIHRoZSB0YWJsZVxyXG4gKiBhbmQgdGhlIGpzb24gc3RydWN0dXJlIGZvciB0aGUgaW5wdXRzIHBsZWFzZSBjaGVjayBbQ29uZmlndXJhdGlvbiBGaWxlXXtAbGluayAuLi9hZGRpdGlvbmFsLWRvY3VtZW50YXRpb24vY29uZmlnLWZpbGUuaHRtbH1cclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqXHJcbiAqICMjIyByZWxhdGVkIExpbmtzOlxyXG4gKiAtIFtQYWdpbmF0aW9uIENvbXBvbmVudF17QGxpbmsgUGFnaW5hdGlvbkNvbXBvbmVudH1cclxuICogLSBbRHluYW1pYyBUYWJsZV17QGxpbmsgRHluYW1pY1RhYmxlQ29tcG9uZW50fVxyXG4gKiAtIFtDb25maWd1cmF0aW9uIEZpbGVde0BsaW5rIC4uL2FkZGl0aW9uYWwtZG9jdW1lbnRhdGlvbi9jb25maWctZmlsZS5odG1sfVxyXG4gKlxyXG4gKiBAdGl0bGVcclxuICogRGF0YSBUYWJsZVxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLXRhYmxlXHJcbiAqICAgICBbcm93c109XCJyb3dzXCJcclxuICogICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gKiAgICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgIFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuICogICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gKiAgICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gKiAgICAgW3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG4gKiAgICAgW3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG4gKiAgICAgKG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICogICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIlxyXG4gKiAgICAgKG9uU29ydGluZyk9XCJvblNvcnQoJGV2ZW50KVwiXHJcbiAqICA+PC9jdHMtdGFibGU+XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyAqL1xyXG4gIEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG4gIEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyBJY29uICovXHJcbiAgQE91dHB1dCgpIG9uSWNvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gcGVyZm9ybSBhY3Rpb24gb24gcm93IChkZWx0ZSwgZWRpdCwgLi4uICkgKi9cclxuICBAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNvcnRpbmcgdGFibGUgKi9cclxuICBAT3V0cHV0KCkgb25Tb3J0aW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgLyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNlbGVjdGluZyBtdWx0aXBsZSByb3cgKi9cclxuICBAT3V0cHV0KCkgb25NdWx0aVJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBhcmF5IG9mIHJvd3MgcGFzc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIHJvd3M7XHJcbiAgLyoqIGFycmF5IG9mIGNvbHVtbnMgcGFhc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM7XHJcbiAgLyoqIGFycmF5IG9mIGNvbHVtbnMgcGFhc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCBmb3Igc21hbGxlciBzY3JlZW5zICovXHJcbiAgQElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM7XHJcbiAgLyoqIHRvIGRlZmluZSB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nID0gJyc7XHJcbiAgLyoqIHN0YXRpYyAgcGF0aCBmb3IgdHJhbnNsYXRpb24gcGFzc2VkIGZyb20gb3V0IHNpZGUgYWNjb3JkaW5nIHRvIGVhY2ggcGFnZSB0cmFuc2xhdGlvbiBwYXRoICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KCkgcGFnZUNvdW50O1xyXG4gIC8qKiBUb3RhbCBSZWNvcmRzY291bnQgKi9cclxuICBASW5wdXQoKSB0b3RhbFJlY29yZHM7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KCkgcm93Q3Vyc29yID0gZmFsc2U7XHJcbiAgLyoqIE1heCBmdWxsIHdpZHRoIGluIFBYIHwgYXV0byAqL1xyXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9ICdhdXRvJztcclxuICAvKiogVm9jYWJ1bGFyeSBUcmFuc2xhdGlvbiBwcmVmaXggKi9cclxuICBASW5wdXQoKSB2b2NJdGVtVHJhbnNsYXRpb25QcmVmaXg7XHJcbiAgLyoqIFRhYmxlIE1vZGU6IGxpc3QgfCBjYXJkICovXHJcbiAgQElucHV0KCkgdGFibGVNb2RlID0gJ2xpc3QnO1xyXG4gIC8qKiBhY3Rpb24gdG8gYmUgaW4gY2FyZCBtb2RlICovXHJcbiAgQElucHV0KCkgdGFibGVBY3Rpb25zO1xyXG4gIEBJbnB1dCgpIGZvcm1hdCA9IFwiTU1NTSBkLCB5XCI7XHJcbiAgQElucHV0KCkgZGVmdWx0U29ydCA9IG51bGw7XHJcbiAgbGFuZ1N1YnNjcmlwdGlvbiA6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBoaWdobGlnaHRTZWxlY3RlZENhcmQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG5cclxuICAvKiogdG8gc2hvdyAxc3Qgcm93IHdpdGggY3VzdG9tIHRlbXBsYXRlIGluIHRoZSB0YWJsZSovXHJcbiAgQElucHV0KCkgY3VzdG9tRmlyc3RSb3cgPSBmYWxzZTtcclxuICAvKiogZmxhZ2UgdXNlZCB0byBkaXNhYmxlIGFjdGlvbnMgaWYgdGhlcmUgd2FzIG11bHRpIHNlbGVjdGVkIHJvd3MgKi9cclxuXHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbnNBc01lbnUgPSBmYWxzZTsgLy8gZmxhZ2UgdG8gc2hvdyBhY3Rpb24gaW4gbWVudSBvciBzaWRlIGJ5IHNpZGVcclxuXHJcbiAgZGlzYWJsZWRBY3Rpb25zID0gZmFsc2U7XHJcbiAgaXNBcmFiaWMgPSBmYWxzZTtcclxuICB0YWJsZVdpZHRoID0gJ2F1dG8nO1xyXG4gIHRhYmxlQ29sdW1ucyA9IFtdO1xyXG4gIGN1cnJlbnRSb3c7XHJcbiAgc2VsZWN0ZWQgPSBbXTtcclxuICBwYWdlTnVtYmVyID0gMTtcclxuICByZXNwb25zaXZlVmlldyA9IGZhbHNlO1xyXG4gIHN0YXR1c0ljb25zID0ge307IC8vIG9iamVjdCB0byBjb250YWlucyBhbGwgc3RhdHVzIGljb25zIGlmIGV4aXN0XHJcbiAgZGlyZWN0aW9uSWNvbnMgPSB7fTsgLy8gb2JqZWN0IHRvIGNvbnRhaW5zIGFsbCBkaXJlY3Rpb24gaWNvbnMgaWYgZXhpc3RcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsIHByaXZhdGUgYXBwQ29uZmlnIDogQXBwQ29uZmlnU2VydmljZSxwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UpIHtcclxuICAgIHRoaXMuZm9ybWF0ID0gdGhpcy5hcHBDb25maWcubXlDb25maWd1cmF0aW9uWydkYXRlRm9ybWF0ZSddO1xyXG4gICAgdGhpcy5zdGF0dXNJY29ucyA9IHRoaXMuYXBwQ29uZmlnLm15Q29uZmlndXJhdGlvblsnc3RhdHVzSWNvbnMnXTtcclxuICAgIHRoaXMuZGlyZWN0aW9uSWNvbnMgPSB0aGlzLmFwcENvbmZpZy5teUNvbmZpZ3VyYXRpb25bJ2RpcmVjdGlvbkljb25zJ107XHJcbiAgICB0aGlzLmxhbmdTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmlzQXJhYmljID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblJlc2l6ZSh3aW5kb3cuaW5uZXJXaWR0aCk7XHJcbiAgfVxyXG5cclxuICAvLyBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIGNsaWNraW5nIG9uIHNpbmdsZSByb3dcclxuICByb3dEZXRhaWxzKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ21vdXNlZW50ZXInKSB7XHJcbiAgICAgIGlmIChldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmNvbHVtbi5wcm9wICE9PSAnJyApIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRSb3cgPSBldmVudC5yb3c7XHJcbiAgICAgICAgdGhpcy5vblJvd1NlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50Um93KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBpY29uU2VsZWN0ZWQoZXZlbnQ6IE1vdXNlRXZlbnQsIHJvdykge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uSWNvblNlbGVjdGVkLmVtaXQocm93KTtcclxuICB9XHJcblxyXG4gIC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcbiAgcGVyZm9ybUFjdGlvbihzaW5nbGVSb3csIGFjdGlvblR5cGUpIHtcclxuICAgIGlmKCF0aGlzLmRpc2FibGVkQWN0aW9ucylcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdCh7XHJcbiAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgIHJvdzogc2luZ2xlUm93LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgY2hlY2tib3ggaWYgdGFibGUgaGFzIG9uZXNcclxuICBvblNlbGVjdChldmVudCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ29uIHNlbGVjdCByb3cgY2xpY2snKTtcclxuICAgIHRoaXMub25NdWx0aVJvd1NlbGVjdGVkLmVtaXQoZXZlbnQuc2VsZWN0ZWQpO1xyXG4gICAgaWYodGhpcy5tdWx0aVNlbGVjdFJvd3MgJiYgZXZlbnQuc2VsZWN0ZWQubGVuZ3RoID4gMCl7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWRBY3Rpb25zID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmRpc2FibGVkQWN0aW9ucyA9IGZhbHNlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgc29ydGluZyBmdW5jdGlvbmFsaXR5IG9mIHRoZSB0YWJsZVxyXG4gIG9uU29ydChldmVudCkge1xyXG4gICAgbGV0IHNvcnQgPSB7XHJcbiAgICAgIHNvcnRCeTogZXZlbnQuY29sdW1uLmhlYWRlckNsYXNzLFxyXG4gICAgICBzb3J0T3JkZXI6IGV2ZW50Lm5ld1ZhbHVlLFxyXG4gICAgfTtcclxuICAgIHRoaXMub25Tb3J0aW5nLmVtaXQoc29ydCk7XHJcbiAgfVxyXG5cclxuICBhc3NpZ25UYWJsZUNvbHVtbnMoZXZlbnQpIHtcclxuICAgIHRoaXMub25SZXNpemUoZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgb25SZXNpemUod2lkdGgpIHtcclxuICAgIGlmICh3aWR0aCA+IDE0MDApIHtcclxuICAgICAgdGhpcy50YWJsZVdpZHRoID0gJ2F1dG8nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZVdpZHRoID0gdGhpcy5mdWxsV2lkdGg7XHJcbiAgICB9XHJcbiAgICBpZiAod2lkdGggPCA3NjgpIHtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBbXTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSB0aGlzLnJlc3BvbnNpdmVDb2x1bW5zO1xyXG4gICAgICB0aGlzLnJlc3BvbnNpdmVWaWV3ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2l2ZVZpZXcgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBbXTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSB0aGlzLmNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYXJkU2VsZWN0ZWQoY2FyZCkge1xyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkKSB7XHJcbiAgICAgIHRoaXMucm93cy5tYXAocm93ID0+IHtcclxuICAgICAgICByb3dbJ2lzU2VsZWN0ZWQnXSA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgICBjYXJkWydpc1NlbGVjdGVkJ10gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblJvd1NlbGVjdGVkLmVtaXQoY2FyZCk7XHJcbiAgfVxyXG5cclxuICBjYXJkRm9jdXNlZChpbmRleCkge1xyXG4gICAgdGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChpbmRleCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbmVyLXRhYmxlLWNvbnRhaW5lclwiIFtzdHlsZV09XCInd2lkdGg6JyArIHRhYmxlV2lkdGhcIiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2xpc3QnICYmICFyZXNwb25zaXZlVmlld1wiPlxyXG4gIDxuZ3gtZGF0YXRhYmxlXHJcbiAgICBbbmdDbGFzc109XCJ7J292ZXJmbG93VmlzaWJsZSc6IGN1c3RvbUZpcnN0Um93fVwiXHJcbiAgICBjbGFzcz1cImxhcmdlLXRhYmxlXCJcclxuICAgIFtyb3dzXT1cInJvd3NcIlxyXG4gICAgW3N1bW1hcnlSb3ddPVwiY3VzdG9tRmlyc3RSb3dcIlxyXG4gICAgW2NvbHVtbk1vZGVdPVwiJ2ZvcmNlJ1wiXHJcbiAgICBbZXh0ZXJuYWxTb3J0aW5nXT1cInRydWVcIlxyXG4gICAgKGFjdGl2YXRlKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgKHNvcnQpPVwib25Tb3J0KCRldmVudClcIlxyXG4gICAgKHdpbmRvdzpyZXNpemUpPVwiYXNzaWduVGFibGVDb2x1bW5zKCRldmVudClcIlxyXG4gICAgW3Jvd0hlaWdodF09XCInYXV0bydcIlxyXG4gICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCJcclxuICAgIFtzZWxlY3Rpb25UeXBlXT1cIm11bHRpU2VsZWN0Um93cyA/ICdjaGVja2JveCcgOiAnc2luZ2xlJ1wiXHJcbiAgICBbc29ydHNdPVwiW3sgcHJvcDogZGVmdWx0U29ydD8ubmFtZSwgZGlyOiBkZWZ1bHRTb3J0Py5kaXIgfV1cIlxyXG4gID5cclxuXHJcbiAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG4gIFt3aWR0aF09XCIzMFwiXHJcbiAgW3NvcnRhYmxlXT1cImZhbHNlXCJcclxuICBbcHJvcF09XCInJ1wiXHJcbiAgW2NhbkF1dG9SZXNpemVdPVwiZmFsc2VcIlxyXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxyXG4gIFtyZXNpemVhYmxlXT1cImZhbHNlXCJcclxuPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgbmd4LWRhdGF0YWJsZS1oZWFkZXItdGVtcGxhdGVcclxuICAgIGxldC12YWx1ZT1cInZhbHVlXCJcclxuICAgIGxldC1hbGxSb3dzU2VsZWN0ZWQ9XCJhbGxSb3dzU2VsZWN0ZWRcIlxyXG4gICAgbGV0LXNlbGVjdEZuPVwic2VsZWN0Rm5cIlxyXG4gID5cclxuICAgIDwhLS0gPGlucHV0IGNsYXNzPVwiY2hlY2tib3gtaW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJhbGxSb3dzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cInNlbGVjdEZuKCFhbGxSb3dzU2VsZWN0ZWQpXCIgLz4gLS0+XHJcbiAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIFtjaGVja2VkXT1cImFsbFJvd3NTZWxlY3RlZFwiIChjaGFuZ2UpPVwic2VsZWN0Rm4oIWFsbFJvd3NTZWxlY3RlZClcIj5cclxuICA8L21hdC1jaGVja2JveD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlXHJcbiAgICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICBsZXQtaXNTZWxlY3RlZD1cImlzU2VsZWN0ZWRcIlxyXG4gICAgbGV0LW9uQ2hlY2tib3hDaGFuZ2VGbj1cIm9uQ2hlY2tib3hDaGFuZ2VGblwiXHJcbiAgPlxyXG4gICAgPCEtLSA8aW5wdXQgY2xhc3M9XCJjaGVja2JveC1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2VGbigkZXZlbnQpXCIgLz4gLS0+XHJcbiAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2VGbighYWxsUm93c1NlbGVjdGVkKVwiPlxyXG4gICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuICAgIDwhLS0gfCB0cmFuc2xhdGUgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgdGFibGVDb2x1bW5zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnBlcm1pc3Npb249XCJ7bmFtZTogY29sdW1uLnBlcm1pc3Npb259XCI+XHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uICpuZ0lmPVwiY29sdW1uLmRpc3BsYXlcIiBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcclxuICAgICAgICAgIFtuYW1lXT1cInByZWZpeCArIGNvbHVtbi5uYW1lIHwgdHJhbnNsYXRlXCIgW3Byb3BdPVwiY29sdW1uLnByb3BcIiBbcmVzaXplYWJsZV09XCJmYWxzZVwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgW21heFdpZHRoXT1cImNvbHVtbi5zaXplXCIgW2hlYWRlckNsYXNzXT1cImNvbHVtbi5oZWFkZXJDbGFzcyA/IGNvbHVtbi5oZWFkZXJDbGFzcyA6ICcnXCJcclxuICAgICAgICAgIFtzdW1tYXJ5VGVtcGxhdGVdPVwiKGN1c3RvbUZpcnN0Um93KSA/IGN1c3RvbVJvd1RlbXBsYXRlIDogbnVsbFwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiIGxldC1pbmRleD1cImluZGV4XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgdmFsdWUgPyB2YWx1ZSA6IFwiLS1cIiB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3ZvY2FidWxhcnknXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWRyb3Bkb3duLXZpZXdlciBbd2l0aE91dExhYmVsXT1cInRydWVcIiBbdmFsdWVdPVwidmFsdWVcIiBbZHJvcGRvd25JZF09XCJjb2x1bW4udm9jYWJ1bGFyeUlkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2N0cy1kcm9wZG93bi12aWV3ZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnVm9jQ2VsbCdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICh2YWx1ZSA/IGNvbHVtbi52b2NhYnVsYXJ5SWQgKyAnLicgKyB2YWx1ZSA6IFwiLS1cIikgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICdWb2NJdGVtJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgdm9jSXRlbVRyYW5zbGF0aW9uUHJlZml4ICsgdmFsdWUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWRlcGFydG1lbnQtdmlld2VyIFtub1N0eWxlXT1cInRydWVcIiBbdmFsdWVdPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDwvY3RzLWRlcGFydG1lbnQtdmlld2VyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3N0YXR1cydcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUge3sgdmFsdWUgfX1cIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXNJY29ucyAmJiBzdGF0dXNJY29ucyAhPT0ge31cIiBjbGFzcz1cInN0YXR1cy1pY29uIHt7c3RhdHVzSWNvbnNbdmFsdWVdfX1cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHt7XCJTVEFUUy5cIiArIHZhbHVlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAncm9sZSdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7IFwicm9sZS5cIiArICh2YWx1ZSA/IHZhbHVlIDogXCItLVwiKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICdhY3Rpb25zJyAmJiByb3dzLmxlbmd0aCAhPT0gMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRpc2FibGVkQWN0aW9ucyA/ICdkaXNhYmxlZC1hY3Rpb25zLXdyYXBwZXInIDogJ2FjdGlvbnMtd3JhcHBlcidcIiAqbmdJZj1cIiFzaG93QWN0aW9uc0FzTWVudVwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJiaSBiaS10cmFzaCBkZWxldGUtaWNvblwiIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdyAsICdkZWxldGUnKVwiPjwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktcGVuY2lsLXNxdWFyZSBlZGl0LWljb25cIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdVUERBVEUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2VkaXQnKVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd2b2MtdGFibGUnXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLXRyYXNoXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGUnKVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgICBlbnRpdHlUeXBlID09PSAndm9jLXRhYmxlJyB8fCBlbnRpdHlUeXBlID09PSAnZGVwYXJ0bWVudCcgfHxcclxuICAgICAgICAgICAgICAgICAgZW50aXR5VHlwZSA9PT0gJ3NpZ25lcnMnXHJcbiAgICAgICAgICAgICAgICBcIj48L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1wbHVzLXNxdWFyZVwiIG1hdFRvb2x0aXA9XCJ7eyAnVVNFUl9NQU5HTUVOVC5hZGRUb0RlcGFydG1lbnQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIiAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd1c2VycycgJiYgcm93LmlzSW5pdGlhbFwiPjwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbHVtbi5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIiBtYXRUb29sdGlwPVwie3sgYWN0aW9uLnRvb2x0aXAgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgYWN0aW9uLmFjdGlvbk5hbWUpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGlcclxuICAgICAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAncmVnaXN0ZXJDb3JyZXNwb25kYW5jZScsIGVudGl0eTogcm93IH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctaW4tcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLlJFR0lTVEVSJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdyZWdpc3RlcicpXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ3NlbmRDb3JyZXNwb25kYW5jZScsIGVudGl0eTogcm93IH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1lbnZlbG9wZVwiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgJ0xJU1RJTkcuU0VORCcgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnc2VuZCcpXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2Nsb3NlQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmkteC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdjbG9zZScpXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2FyY2hpdmVDb3JyZXNwb25kYW5jZScsIGVudGl0eTogcm93IH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1mb2xkZXItc3ltbGlua1wiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgJ0xJU1RJTkcuQVJDSElWRScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnYXJjaGl2ZScpXCJcclxuICAgICAgICAgICAgICA+PC9pPiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRpc2FibGVkQWN0aW9ucyA/ICdkaXNhYmxlZC1hY3Rpb25zLXdyYXBwZXInIDogJ2FjdGlvbnMtd3JhcHBlcidcIiAqbmdJZj1cInNob3dBY3Rpb25zQXNNZW51XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLW1lbnUtdHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkQWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRocmVlLWRvdHMtdmVydGljYWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImRhdGF0YWJsZS1hY3Rpb25zLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2VkaXQnKVwiICpuZ0lmPVwiZW50aXR5VHlwZSA9PT0gJ3ZvYy10YWJsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBlbmNpbC1zcXVhcmUgZWRpdC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHRcIj57eyAnVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGUnKVwiICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgIGVudGl0eVR5cGUgPT09ICd2b2MtdGFibGUnIHx8IGVudGl0eVR5cGUgPT09ICdkZXBhcnRtZW50JyB8fFxyXG4gICAgICAgICAgICAgICAgICBlbnRpdHlUeXBlID09PSAnc2lnbmVycydcclxuICAgICAgICAgICAgICAgIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tdGV4dFwiPnt7ICdkZWxldGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2RlbGV0ZScpXCIgKm5nSWY9XCJlbnRpdHlUeXBlID09PSAndXNlcnMnICYmIHJvdy5pc0luaXRpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBsdXMtc3F1YXJlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHRcIj57eyAnVVNFUl9NQU5HTUVOVC5hZGRUb0RlcGFydG1lbnQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnR0YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2x1bW4uYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCBhY3Rpb24uYWN0aW9uTmFtZSlcIiAqcGVybWlzc2lvbj1cInsgbmFtZTogYWN0aW9uLnBlcm1pc3Npb24sIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGFjdGlvbi5pY29uIH19XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tdGV4dFwiPnt7IGFjdGlvbi50b29sdGlwIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnR0YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWRhdGUtdmlld2VyIFt3aXRoT3V0TGFiZWxdPVwidHJ1ZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiPjwvY3RzLWRhdGUtdmlld2VyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgIDxjdHMtZHluYW1pYy1jb2x1bW4gW2lkXT1cImNvbHVtbi50ZW1wbGF0ZVwiIFtjb2x1bW5dPVwiY29sdW1uXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnZGlyZWN0aW9uJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpY29uU2VsZWN0ZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLXdyYXBwZXIge3sgdmFsdWUgfX0ge3sgcm93LnN0YXRlIH19XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZXItc3RhdHVzLXdyYXBwZXJcIiBtYXRUb29sdGlwPVwie3sgJ1NUQVRTLicgKyByb3cuc3RhdGUgfCB0cmFuc2xhdGUgfX1cIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2lzRmF2b3JpdGUnLCBlbnRpdHk6IHJvdyB9XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmF2LWljb24taW5kaWNhdG9yIGJpIGJpLXN0YXItZmlsbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e2RpcmVjdGlvbkljb25zID8gZGlyZWN0aW9uSWNvbnNbJ2luY29taW5nJ10gOiAnYmkgYmktYm94LWFycm93LWRvd24nfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LnR5cGUgPT09ICdJbmNvbWluZ0NvcnJlc3BvbmRlbmNlJ1wiXHJcbiAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e2RpcmVjdGlvbkljb25zID8gZGlyZWN0aW9uSWNvbnNbJ291dGdvaW5nJ10gOiAnYmkgYmktYm94LWFycm93LXVwIG91dGdvaW5nJ319XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJvdy50eXBlID09PSAnT3V0Z29pbmdDb3JyZXNwb25kZW5jZSdcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3tkaXJlY3Rpb25JY29ucyA/IGRpcmVjdGlvbkljb25zWydpbnRlcm5hbCddIDogJ2JpIGJpLWJveC1hcnJvdy1yaWdodCBpbnRlcm5hbCd9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyb3cudHlwZSA9PT0gJ0ludGVybmFsQ29ycmVzcG9uZGVuY2UnXCJcclxuICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJ2YWx1ZSB7eyB2YWx1ZSB9fVwiPnt7IFwiU1RBVFMuXCIgKyB2YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbVJvd1RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBvdmVyZmxvdy12aXNpYmxlXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWNvbHVtbiBbaWRdPVwiY29sdW1uLmN1c3RvbTFzdENlbGxUZW1wbGF0ZVwiIFtjb2x1bW5dPVwiY29sdW1uXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmd4LWRhdGF0YWJsZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwicmVzcG9uc2l2ZVZpZXcgJiYgdGFibGVNb2RlICE9PSAnY2FyZCdcIiAod2luZG93OnJlc2l6ZSk9XCJhc3NpZ25UYWJsZUNvbHVtbnMoJGV2ZW50KVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZC1jYXJkJzogaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkICYmIHJvdz8uaXNTZWxlY3RlZH1cIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1lbW8tdGl0bGVcIj5cclxuICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzLnJlZmVyZW5jZU51bWJlciB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi13cmFwXCI+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnYWN0aW9ucycgJiYgcm93cy5sZW5ndGggIT09IDBcIiBjbGFzcz1cImFjdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBlbmNpbC1zcXVhcmUgZWRpdC1pY29uXCIgbWF0VG9vbHRpcD1cInt7ICdVUERBVEUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdlZGl0JylcIiAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd2b2MtdGFibGUnXCI+PC9pPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRyYXNoXCIgbWF0VG9vbHRpcD1cInt7ICdkZWxldGUnIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlUeXBlID09PSAndm9jLXRhYmxlJyB8fCBlbnRpdHlUeXBlID09PSAnZGVwYXJ0bWVudCcgfHxcclxuICAgICAgICAgICAgICAgIGVudGl0eVR5cGUgPT09ICdzaWduZXJzJ1xyXG4gICAgICAgICAgICAgIFwiPjwvaT5cclxuXHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktcGx1cy1zcXVhcmVcIiBtYXRUb29sdGlwPVwie3sgJ1VTRVJfTUFOR01FTlQuYWRkVG9EZXBhcnRtZW50JyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIiAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd1c2VycycgJiYgcm93LmlzSW5pdGlhbFwiPjwvaT5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgcHJvcGVydHkuYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxpICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csIGFjdGlvbi5hY3Rpb25OYW1lKVwiPjwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPHNwYW4gIGNsYXNzPVwiYWN0aW9uXCIgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdGFibGVBY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxpICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIiBtYXRUb29sdGlwPVwie3sgYWN0aW9uLnRvb2x0aXAgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgYWN0aW9uLmFjdGlvbk5hbWUpXCI+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ0YWJsZUNvbHVtbnMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLWJvZHlcIiAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgdGFibGVDb2x1bW5zXCIgKGNsaWNrKT1cImNhcmRTZWxlY3RlZChyb3cpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia2V5XCI+e3sgcHJlZml4ICsgcHJvcGVydHkua2V5IHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXX19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ293bmVyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5Lm93bmVyXT8uW3Byb3BlcnR5LnZhbHVlXSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdkYXRlJ1wiPlxyXG4gICAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXSB8IGxvY2FsaXplZERhdGU6Zm9ybWF0Oihpc0FyYWJpYz8gJ2FyLUFSJyA6ICdlbi1VUycpIH19XHJcbiAgICAgICAgICAgICAgPCEtLSA8Y3RzLWRhdGUtdmlld2VyIFt3aXRoT3V0TGFiZWxdPVwidHJ1ZVwiIFt2YWx1ZV09XCJyb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV1cIiA+PC9jdHMtZGF0ZS12aWV3ZXI+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdzdGF0dXMnXCIgY2xhc3M9XCJ2YWx1ZSB7eyByb3dbcHJvcGVydHkudmFsdWVdfX1cIj57e1xyXG4gICAgICAgICAgICAgIFwiU1RBVFMuXCIgKyByb3dbcHJvcGVydHkudmFsdWVdIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICd2b2NhYnVsYXJ5J1wiIGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRyb3Bkb3duLXZpZXdlciBbd2l0aE91dExhYmVsXT1cInRydWVcIiBbdmFsdWVdPVwicm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdXCJcclxuICAgICAgICAgICAgICAgIFtkcm9wZG93bklkXT1cInByb3BlcnR5LnZvY2FidWxhcnlJZFwiPlxyXG4gICAgICAgICAgICAgIDwvY3RzLWRyb3Bkb3duLXZpZXdlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGlyZWN0aW9uJ1wiIChjbGljayk9XCJpY29uU2VsZWN0ZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy13cmFwcGVyIHt7IHByb3BlcnR5LnZhbHVlIH19IHt7IHJvdy5zdGF0ZSB9fVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5lci1zdGF0dXMtd3JhcHBlclwiIG1hdFRvb2x0aXA9XCJ7eyAnU1RBVFMuJyArIHJvdy5zdGF0ZSB8IHRyYW5zbGF0ZSB9fVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2lzRmF2b3JpdGUnLCBlbnRpdHk6IHJvdyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmF2LWljb24taW5kaWNhdG9yIGJpIGJpLXN0YXItZmlsbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctZG93blwiICpuZ0lmPVwicm93LnR5cGUgPT09ICdJbmNvbWluZ0NvcnJlc3BvbmRlbmNlJ1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktYm94LWFycm93LXVwIG91dGdvaW5nXCIgKm5nSWY9XCJyb3cudHlwZSA9PT0gJ091dGdvaW5nQ29ycmVzcG9uZGVuY2UnXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctcmlnaHQgaW50ZXJuYWxcIiAqbmdJZj1cInJvdy50eXBlID09PSAnSW50ZXJuYWxDb3JyZXNwb25kZW5jZSdcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdjdXN0b20nXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWNvbHVtbiBbaWRdPVwicHJvcGVydHkudGVtcGxhdGVcIiBbY29sdW1uXT1cInByb3BlcnR5XCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5lci1jYXJkLWNvbnRhaW5lciB7e2VudGl0eVR5cGV9fVwiIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KVwiICpuZ0lmPVwidGFibGVDb2x1bW5zLmxlbmd0aCA9PT0gMVwiPlxyXG4gICAgICA8Y3RzLWR5bmFtaWMtY29sdW1uIFtpZF09XCJjb2x1bW5zWzBdLnRlbXBsYXRlXCIgW2NvbHVtbl09XCJjb2x1bW5zWzBdXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgIDwvY3RzLWR5bmFtaWMtY29sdW1uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2NhcmQnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICB7eyByb3cucHJvcGVydGllcy5yZWZlcmVuY2VOdW1iZXIgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24td3JhcFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25cIiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHRhYmxlQWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8aSAqcGVybWlzc2lvbj1cInsgbmFtZTogYWN0aW9uLnBlcm1pc3Npb24sIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInt7IGFjdGlvbi5pY29uIH19XCIgbWF0VG9vbHRpcD1cInt7IGFjdGlvbi50b29sdGlwIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csIGFjdGlvbi5hY3Rpb25OYW1lKVwiPjwvaT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxidXR0b24gKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdkZWxldGVNZW1vJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGVNZW1vJylcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS10cmFzaFwiIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5PTkxZX0RFTEVURScgfCB0cmFuc2xhdGUgfX1cIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKnBlcm1pc3Npb249XCJ7IG5hbWU6ICd0ZXJtaW5hdGVEZWxlZ2F0aW9uJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICd0ZXJtaW5hdGVEZWxlZ2F0aW9uJylcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS10cmFzaFwiIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5DQU5DRUwnIHwgdHJhbnNsYXRlIH19XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInB1Ymxpc2gtc3RhdGVcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ21lbW9QdWJsaXNoZWQnLCBlbnRpdHk6IHJvdyAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyfVwiPlxyXG4gICAgICAgICAgICB7eyBcIk1FTU9TLlBVQkxJU0hFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInB1Ymxpc2gtc3RhdGVcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2RlbGVnYXRpb25GaW5pc2hlZCcsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgIHt7IFwiZGVsZWdhdGlvbnMuZmluaXNoZWRcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWJsaXNoLXN0YXRlXCJcclxuICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdkZWxlZ2F0aW9uQWN0aXZlJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIj5cclxuICAgICAgICAgICAge3sgXCJkZWxlZ2F0aW9ucy5hY3RpdmVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLWJvZHlcIiAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgY29sdW1uc1wiIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KTtjYXJkRm9jdXNlZChpKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrZXlcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgIT09ICdkZWZhdWx0J1wiPnt7IHByZWZpeCArIHByb3BlcnR5LmtleSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrZXlcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2ludGVybmFsSXNFbmFibGVkJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIj5cclxuICAgICAgICAgICAge3sgcHJlZml4ICsgcHJvcGVydHkua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAndGV4dCdcIj5cclxuICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAndXNlcidcIj5cclxuICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdLmZ1bGxOYW1lIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAge3tyb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfCBsb2NhbGl6ZWREYXRlOmZvcm1hdDooaXNBcmFiaWM/ICdhci1BUicgOiAnZW4tVVMnKX19XHJcbiAgICAgICAgICAgIDwhLS0gPGN0cy1kYXRlLXZpZXdlciBbd2l0aE91dExhYmVsXT1cInRydWVcIiBbdmFsdWVdPVwicm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdXCIgPjwvY3RzLWRhdGUtdmlld2VyPiAtLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdib29sZWFuJ1wiPlxyXG4gICAgICAgICAgICB7eyAocm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdID8gJ1llcyc6J05vJykgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdkZWZhdWx0J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdpbnRlcm5hbElzRW5hYmxlZCcsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2N1c3RvbSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV1cIj5cclxuICAgICAgICAgICAgICB7eyBpdGVtIHwgdHJhbnNsYXRlIH19IHt7XCIsIFwiIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2R5bmFtaWNDYXJkJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkcy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtY2FyZFwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQtY2FyZCc6IGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCAmJiByb3c/LmlzU2VsZWN0ZWR9XCJcclxuICAgICAgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW5zLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVtby1ib2R5XCIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIGNvbHVtbnNcIiAoY2xpY2spPVwiY2FyZFNlbGVjdGVkKHJvdylcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrZXlcIj57eyBwcmVmaXggKyBwcm9wZXJ0eS5rZXkgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIHwgbG9jYWxpemVkRGF0ZTpmb3JtYXQ6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJykgfX1cclxuICAgICAgICAgICAgICA8IS0tIDxjdHMtZGF0ZS12aWV3ZXIgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCIgW3ZhbHVlXT1cInJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXVwiID48L2N0cy1kYXRlLXZpZXdlcj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5lci1jYXJkLWNvbnRhaW5lciB7e2VudGl0eVR5cGV9fVwiIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KVwiICpuZ0lmPVwiY29sdW1ucy5sZW5ndGggPT09IDFcIj5cclxuICAgICAgICA8Y3RzLWR5bmFtaWMtY29sdW1uIFtpZF09XCJjb2x1bW5zWzBdLnRlbXBsYXRlXCIgW2NvbHVtbl09XCJjb2x1bW5zWzBdXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7OztBQU12Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFPSCxNQUFNLE9BQU8sY0FBYztJQTZEekIsWUFBbUIsWUFBMEIsRUFBVSxTQUE0QixFQUFTLFdBQStCO1FBQXhHLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUE1RDNILDhDQUE4QztRQUNwQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsNERBQTREO1FBQ2xELHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEQsbURBQW1EO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5QyxtRUFBbUU7UUFDekQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzNDLHNDQUFzQztRQUM1QixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2QywrQ0FBK0M7UUFDdkMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztR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d0JBQXdCO3NCQUFoQyxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2x1bW5Nb2RlLCBTZWxlY3Rpb25UeXBlIH0gZnJvbSAnQHN3aW1sYW5lL25neC1kYXRhdGFibGUvcHVibGljLWFwaSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYSBtdWx0aS1wdXJwb3NlIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBkdW1iIGRhdGEgdGFibGUgdGhhdCBjYW4gYmUgY29uZmlndXJlZCB0byBzaG93IGFueSBsaXN0IG9mIGRhdGEsXHJcbiAqIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGNvbmZpZ3VyaW5nIHRoZSB0YWJsZVxyXG4gKiBhbmQgdGhlIGpzb24gc3RydWN0dXJlIGZvciB0aGUgaW5wdXRzIHBsZWFzZSBjaGVjayBbQ29uZmlndXJhdGlvbiBGaWxlXXtAbGluayAuLi9hZGRpdGlvbmFsLWRvY3VtZW50YXRpb24vY29uZmlnLWZpbGUuaHRtbH1cclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqXHJcbiAqICMjIyByZWxhdGVkIExpbmtzOlxyXG4gKiAtIFtQYWdpbmF0aW9uIENvbXBvbmVudF17QGxpbmsgUGFnaW5hdGlvbkNvbXBvbmVudH1cclxuICogLSBbRHluYW1pYyBUYWJsZV17QGxpbmsgRHluYW1pY1RhYmxlQ29tcG9uZW50fVxyXG4gKiAtIFtDb25maWd1cmF0aW9uIEZpbGVde0BsaW5rIC4uL2FkZGl0aW9uYWwtZG9jdW1lbnRhdGlvbi9jb25maWctZmlsZS5odG1sfVxyXG4gKlxyXG4gKiBAdGl0bGVcclxuICogRGF0YSBUYWJsZVxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLXRhYmxlXHJcbiAqICAgICBbcm93c109XCJyb3dzXCJcclxuICogICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gKiAgICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgIFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuICogICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gKiAgICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG4gKiAgICAgW3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG4gKiAgICAgW3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG4gKiAgICAgKG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICogICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIlxyXG4gKiAgICAgKG9uU29ydGluZyk9XCJvblNvcnQoJGV2ZW50KVwiXHJcbiAqICA+PC9jdHMtdGFibGU+XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyAqL1xyXG4gIEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG4gIEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBzZWxlY3Rpbmcgc2luZ2xlIHJvdyBJY29uICovXHJcbiAgQE91dHB1dCgpIG9uSWNvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gcGVyZm9ybSBhY3Rpb24gb24gcm93IChkZWx0ZSwgZWRpdCwgLi4uICkgKi9cclxuICBAT3V0cHV0KCkgYWN0aW9uT25Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNvcnRpbmcgdGFibGUgKi9cclxuICBAT3V0cHV0KCkgb25Tb3J0aW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgLyoqIGV2ZW50IHQgZW1pdCB3aGVuIHNlbGVjdGluZyBtdWx0aXBsZSByb3cgKi9cclxuICBAT3V0cHV0KCkgb25NdWx0aVJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBhcmF5IG9mIHJvd3MgcGFzc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIHJvd3M7XHJcbiAgLyoqIGFycmF5IG9mIGNvbHVtbnMgcGFhc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCAqL1xyXG4gIEBJbnB1dCgpIGNvbHVtbnM7XHJcbiAgLyoqIGFycmF5IG9mIGNvbHVtbnMgcGFhc2VkIGZyb20gb3V0IHNpZGUgdGhlIGNvbXBvbmVudCBmb3Igc21hbGxlciBzY3JlZW5zICovXHJcbiAgQElucHV0KCkgcmVzcG9uc2l2ZUNvbHVtbnM7XHJcbiAgLyoqIHRvIGRlZmluZSB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nID0gJyc7XHJcbiAgLyoqIHN0YXRpYyAgcGF0aCBmb3IgdHJhbnNsYXRpb24gcGFzc2VkIGZyb20gb3V0IHNpZGUgYWNjb3JkaW5nIHRvIGVhY2ggcGFnZSB0cmFuc2xhdGlvbiBwYXRoICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KCkgcGFnZUNvdW50O1xyXG4gIC8qKiBUb3RhbCBSZWNvcmRzY291bnQgKi9cclxuICBASW5wdXQoKSB0b3RhbFJlY29yZHM7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KCkgcm93Q3Vyc29yID0gZmFsc2U7XHJcbiAgLyoqIE1heCBmdWxsIHdpZHRoIGluIFBYIHwgYXV0byAqL1xyXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9ICdhdXRvJztcclxuICAvKiogVm9jYWJ1bGFyeSBUcmFuc2xhdGlvbiBwcmVmaXggKi9cclxuICBASW5wdXQoKSB2b2NJdGVtVHJhbnNsYXRpb25QcmVmaXg7XHJcbiAgLyoqIFRhYmxlIE1vZGU6IGxpc3QgfCBjYXJkICovXHJcbiAgQElucHV0KCkgdGFibGVNb2RlID0gJ2xpc3QnO1xyXG4gIC8qKiBhY3Rpb24gdG8gYmUgaW4gY2FyZCBtb2RlICovXHJcbiAgQElucHV0KCkgdGFibGVBY3Rpb25zO1xyXG4gIEBJbnB1dCgpIGZvcm1hdCA9IFwiTU1NTSBkLCB5XCI7XHJcbiAgQElucHV0KCkgZGVmdWx0U29ydCA9IG51bGw7XHJcbiAgbGFuZ1N1YnNjcmlwdGlvbiA6IFN1YnNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBoaWdobGlnaHRTZWxlY3RlZENhcmQgPSBmYWxzZTtcclxuXHJcbiAgLyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG5cclxuICAvKiogdG8gc2hvdyAxc3Qgcm93IHdpdGggY3VzdG9tIHRlbXBsYXRlIGluIHRoZSB0YWJsZSovXHJcbiAgQElucHV0KCkgY3VzdG9tRmlyc3RSb3cgPSBmYWxzZTtcclxuICAvKiogZmxhZ2UgdXNlZCB0byBkaXNhYmxlIGFjdGlvbnMgaWYgdGhlcmUgd2FzIG11bHRpIHNlbGVjdGVkIHJvd3MgKi9cclxuXHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbnNBc01lbnUgPSBmYWxzZTsgLy8gZmxhZ2UgdG8gc2hvdyBhY3Rpb24gaW4gbWVudSBvciBzaWRlIGJ5IHNpZGVcclxuXHJcbiAgZGlzYWJsZWRBY3Rpb25zID0gZmFsc2U7XHJcbiAgaXNBcmFiaWMgPSBmYWxzZTtcclxuICB0YWJsZVdpZHRoID0gJ2F1dG8nO1xyXG4gIHRhYmxlQ29sdW1ucyA9IFtdO1xyXG4gIGN1cnJlbnRSb3c7XHJcbiAgc2VsZWN0ZWQgPSBbXTtcclxuICBwYWdlTnVtYmVyID0gMTtcclxuICByZXNwb25zaXZlVmlldyA9IGZhbHNlO1xyXG4gIHN0YXR1c0ljb25zID0ge307IC8vIG9iamVjdCB0byBjb250YWlucyBhbGwgc3RhdHVzIGljb25zIGlmIGV4aXN0XHJcbiAgZGlyZWN0aW9uSWNvbnMgPSB7fTsgLy8gb2JqZWN0IHRvIGNvbnRhaW5zIGFsbCBkaXJlY3Rpb24gaWNvbnMgaWYgZXhpc3RcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsIHByaXZhdGUgYXBwQ29uZmlnIDogQXBwQ29uZmlnU2VydmljZSxwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UpIHtcclxuICAgIHRoaXMuZm9ybWF0ID0gdGhpcy5hcHBDb25maWcubXlDb25maWd1cmF0aW9uWydkYXRlRm9ybWF0ZSddO1xyXG4gICAgdGhpcy5zdGF0dXNJY29ucyA9IHRoaXMuYXBwQ29uZmlnLm15Q29uZmlndXJhdGlvblsnc3RhdHVzSWNvbnMnXTtcclxuICAgIHRoaXMuZGlyZWN0aW9uSWNvbnMgPSB0aGlzLmFwcENvbmZpZy5teUNvbmZpZ3VyYXRpb25bJ2RpcmVjdGlvbkljb25zJ107XHJcbiAgICB0aGlzLmxhbmdTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmlzQXJhYmljID0gcmVzO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5vblJlc2l6ZSh3aW5kb3cuaW5uZXJXaWR0aCk7XHJcbiAgfVxyXG5cclxuICAvLyBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCB3aGVuIGNsaWNraW5nIG9uIHNpbmdsZSByb3dcclxuICByb3dEZXRhaWxzKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ21vdXNlZW50ZXInKSB7XHJcbiAgICAgIGlmIChldmVudC50eXBlID09PSAnY2xpY2snICYmIGV2ZW50LmNvbHVtbi5wcm9wICE9PSAnJyApIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRSb3cgPSBldmVudC5yb3c7XHJcbiAgICAgICAgdGhpcy5vblJvd1NlbGVjdGVkLmVtaXQodGhpcy5jdXJyZW50Um93KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBpY29uU2VsZWN0ZWQoZXZlbnQ6IE1vdXNlRXZlbnQsIHJvdykge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uSWNvblNlbGVjdGVkLmVtaXQocm93KTtcclxuICB9XHJcblxyXG4gIC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcbiAgcGVyZm9ybUFjdGlvbihzaW5nbGVSb3csIGFjdGlvblR5cGUpIHtcclxuICAgIGlmKCF0aGlzLmRpc2FibGVkQWN0aW9ucylcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdCh7XHJcbiAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgIHJvdzogc2luZ2xlUm93LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgY2hlY2tib3ggaWYgdGFibGUgaGFzIG9uZXNcclxuICBvblNlbGVjdChldmVudCkge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ29uIHNlbGVjdCByb3cgY2xpY2snKTtcclxuICAgIHRoaXMub25NdWx0aVJvd1NlbGVjdGVkLmVtaXQoZXZlbnQuc2VsZWN0ZWQpO1xyXG4gICAgaWYodGhpcy5tdWx0aVNlbGVjdFJvd3MgJiYgZXZlbnQuc2VsZWN0ZWQubGVuZ3RoID4gMCl7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWRBY3Rpb25zID0gdHJ1ZTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmRpc2FibGVkQWN0aW9ucyA9IGZhbHNlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBoYW5kbGUgc29ydGluZyBmdW5jdGlvbmFsaXR5IG9mIHRoZSB0YWJsZVxyXG4gIG9uU29ydChldmVudCkge1xyXG4gICAgbGV0IHNvcnQgPSB7XHJcbiAgICAgIHNvcnRCeTogZXZlbnQuY29sdW1uLmhlYWRlckNsYXNzLFxyXG4gICAgICBzb3J0T3JkZXI6IGV2ZW50Lm5ld1ZhbHVlLFxyXG4gICAgfTtcclxuICAgIHRoaXMub25Tb3J0aW5nLmVtaXQoc29ydCk7XHJcbiAgfVxyXG5cclxuICBhc3NpZ25UYWJsZUNvbHVtbnMoZXZlbnQpIHtcclxuICAgIHRoaXMub25SZXNpemUoZXZlbnQudGFyZ2V0LmlubmVyV2lkdGgpO1xyXG4gIH1cclxuXHJcbiAgb25SZXNpemUod2lkdGgpIHtcclxuICAgIGlmICh3aWR0aCA+IDE0MDApIHtcclxuICAgICAgdGhpcy50YWJsZVdpZHRoID0gJ2F1dG8nO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZVdpZHRoID0gdGhpcy5mdWxsV2lkdGg7XHJcbiAgICB9XHJcbiAgICBpZiAod2lkdGggPCA3NjgpIHtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBbXTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSB0aGlzLnJlc3BvbnNpdmVDb2x1bW5zO1xyXG4gICAgICB0aGlzLnJlc3BvbnNpdmVWaWV3ID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2l2ZVZpZXcgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSBbXTtcclxuICAgICAgdGhpcy50YWJsZUNvbHVtbnMgPSB0aGlzLmNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYXJkU2VsZWN0ZWQoY2FyZCkge1xyXG4gICAgaWYgKHRoaXMuaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkKSB7XHJcbiAgICAgIHRoaXMucm93cy5tYXAocm93ID0+IHtcclxuICAgICAgICByb3dbJ2lzU2VsZWN0ZWQnXSA9IGZhbHNlO1xyXG4gICAgICB9KVxyXG4gICAgICBjYXJkWydpc1NlbGVjdGVkJ10gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblJvd1NlbGVjdGVkLmVtaXQoY2FyZCk7XHJcbiAgfVxyXG5cclxuICBjYXJkRm9jdXNlZChpbmRleCkge1xyXG4gICAgdGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChpbmRleCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJpbmVyLXRhYmxlLWNvbnRhaW5lclwiIFtzdHlsZV09XCInd2lkdGg6JyArIHRhYmxlV2lkdGhcIiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2xpc3QnICYmICFyZXNwb25zaXZlVmlld1wiPlxyXG4gIDxuZ3gtZGF0YXRhYmxlXHJcbiAgICBbbmdDbGFzc109XCJ7J292ZXJmbG93VmlzaWJsZSc6IGN1c3RvbUZpcnN0Um93fVwiXHJcbiAgICBjbGFzcz1cImxhcmdlLXRhYmxlXCJcclxuICAgIFtyb3dzXT1cInJvd3NcIlxyXG4gICAgW3N1bW1hcnlSb3ddPVwiY3VzdG9tRmlyc3RSb3dcIlxyXG4gICAgW2NvbHVtbk1vZGVdPVwiJ2ZvcmNlJ1wiXHJcbiAgICBbZXh0ZXJuYWxTb3J0aW5nXT1cInRydWVcIlxyXG4gICAgKGFjdGl2YXRlKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcbiAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgKHNvcnQpPVwib25Tb3J0KCRldmVudClcIlxyXG4gICAgKHdpbmRvdzpyZXNpemUpPVwiYXNzaWduVGFibGVDb2x1bW5zKCRldmVudClcIlxyXG4gICAgW3Jvd0hlaWdodF09XCInYXV0bydcIlxyXG4gICAgW3NlbGVjdGVkXT1cInNlbGVjdGVkXCJcclxuICAgIFtzZWxlY3Rpb25UeXBlXT1cIm11bHRpU2VsZWN0Um93cyA/ICdjaGVja2JveCcgOiAnc2luZ2xlJ1wiXHJcbiAgICBbc29ydHNdPVwiW3sgcHJvcDogZGVmdWx0U29ydD8ubmFtZSwgZGlyOiBkZWZ1bHRTb3J0Py5kaXIgfV1cIlxyXG4gID5cclxuXHJcbiAgPG5neC1kYXRhdGFibGUtY29sdW1uXHJcbiAgKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG4gIFt3aWR0aF09XCIzMFwiXHJcbiAgW3NvcnRhYmxlXT1cImZhbHNlXCJcclxuICBbcHJvcF09XCInJ1wiXHJcbiAgW2NhbkF1dG9SZXNpemVdPVwiZmFsc2VcIlxyXG4gIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxyXG4gIFtyZXNpemVhYmxlXT1cImZhbHNlXCJcclxuPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgbmd4LWRhdGF0YWJsZS1oZWFkZXItdGVtcGxhdGVcclxuICAgIGxldC12YWx1ZT1cInZhbHVlXCJcclxuICAgIGxldC1hbGxSb3dzU2VsZWN0ZWQ9XCJhbGxSb3dzU2VsZWN0ZWRcIlxyXG4gICAgbGV0LXNlbGVjdEZuPVwic2VsZWN0Rm5cIlxyXG4gID5cclxuICAgIDwhLS0gPGlucHV0IGNsYXNzPVwiY2hlY2tib3gtaW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJhbGxSb3dzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cInNlbGVjdEZuKCFhbGxSb3dzU2VsZWN0ZWQpXCIgLz4gLS0+XHJcbiAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIFtjaGVja2VkXT1cImFsbFJvd3NTZWxlY3RlZFwiIChjaGFuZ2UpPVwic2VsZWN0Rm4oIWFsbFJvd3NTZWxlY3RlZClcIj5cclxuICA8L21hdC1jaGVja2JveD5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDxuZy10ZW1wbGF0ZVxyXG4gICAgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlXHJcbiAgICBsZXQtdmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICBsZXQtaXNTZWxlY3RlZD1cImlzU2VsZWN0ZWRcIlxyXG4gICAgbGV0LW9uQ2hlY2tib3hDaGFuZ2VGbj1cIm9uQ2hlY2tib3hDaGFuZ2VGblwiXHJcbiAgPlxyXG4gICAgPCEtLSA8aW5wdXQgY2xhc3M9XCJjaGVja2JveC1pbnB1dFwiIHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2VGbigkZXZlbnQpXCIgLz4gLS0+XHJcbiAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWRcIiAoY2hhbmdlKT1cIm9uQ2hlY2tib3hDaGFuZ2VGbighYWxsUm93c1NlbGVjdGVkKVwiPlxyXG4gICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZ3gtZGF0YXRhYmxlLWNvbHVtbj5cclxuICAgIDwhLS0gfCB0cmFuc2xhdGUgLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgdGFibGVDb2x1bW5zOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKnBlcm1pc3Npb249XCJ7bmFtZTogY29sdW1uLnBlcm1pc3Npb259XCI+XHJcbiAgICAgICAgPG5neC1kYXRhdGFibGUtY29sdW1uICpuZ0lmPVwiY29sdW1uLmRpc3BsYXlcIiBbc29ydGFibGVdPVwiY29sdW1uLnNvcnRhYmxlXCJcclxuICAgICAgICAgIFtuYW1lXT1cInByZWZpeCArIGNvbHVtbi5uYW1lIHwgdHJhbnNsYXRlXCIgW3Byb3BdPVwiY29sdW1uLnByb3BcIiBbcmVzaXplYWJsZV09XCJmYWxzZVwiIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgW21heFdpZHRoXT1cImNvbHVtbi5zaXplXCIgW2hlYWRlckNsYXNzXT1cImNvbHVtbi5oZWFkZXJDbGFzcyA/IGNvbHVtbi5oZWFkZXJDbGFzcyA6ICcnXCJcclxuICAgICAgICAgIFtzdW1tYXJ5VGVtcGxhdGVdPVwiKGN1c3RvbUZpcnN0Um93KSA/IGN1c3RvbVJvd1RlbXBsYXRlIDogbnVsbFwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiIGxldC1pbmRleD1cImluZGV4XCIgbmd4LWRhdGF0YWJsZS1jZWxsLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgdmFsdWUgPyB2YWx1ZSA6IFwiLS1cIiB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3ZvY2FidWxhcnknXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWRyb3Bkb3duLXZpZXdlciBbd2l0aE91dExhYmVsXT1cInRydWVcIiBbdmFsdWVdPVwidmFsdWVcIiBbZHJvcGRvd25JZF09XCJjb2x1bW4udm9jYWJ1bGFyeUlkXCI+XHJcbiAgICAgICAgICAgICAgICA8L2N0cy1kcm9wZG93bi12aWV3ZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnVm9jQ2VsbCdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7ICh2YWx1ZSA/IGNvbHVtbi52b2NhYnVsYXJ5SWQgKyAnLicgKyB2YWx1ZSA6IFwiLS1cIikgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICdWb2NJdGVtJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAge3sgdm9jSXRlbVRyYW5zbGF0aW9uUHJlZml4ICsgdmFsdWUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWRlcGFydG1lbnQtdmlld2VyIFtub1N0eWxlXT1cInRydWVcIiBbdmFsdWVdPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICAgIDwvY3RzLWRlcGFydG1lbnQtdmlld2VyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ3N0YXR1cydcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUge3sgdmFsdWUgfX1cIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzdGF0dXNJY29ucyAmJiBzdGF0dXNJY29ucyAhPT0ge31cIiBjbGFzcz1cInN0YXR1cy1pY29uIHt7c3RhdHVzSWNvbnNbdmFsdWVdfX1cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIHt7XCJTVEFUUy5cIiArIHZhbHVlIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAncm9sZSdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7IFwicm9sZS5cIiArICh2YWx1ZSA/IHZhbHVlIDogXCItLVwiKSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29sdW1uLnR5cGUgPT09ICdhY3Rpb25zJyAmJiByb3dzLmxlbmd0aCAhPT0gMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRpc2FibGVkQWN0aW9ucyA/ICdkaXNhYmxlZC1hY3Rpb25zLXdyYXBwZXInIDogJ2FjdGlvbnMtd3JhcHBlcidcIiAqbmdJZj1cIiFzaG93QWN0aW9uc0FzTWVudVwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJiaSBiaS10cmFzaCBkZWxldGUtaWNvblwiIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdyAsICdkZWxldGUnKVwiPjwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgPGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmktcGVuY2lsLXNxdWFyZSBlZGl0LWljb25cIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdVUERBVEUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2VkaXQnKVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd2b2MtdGFibGUnXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJpIGJpLXRyYXNoXCJcclxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJ7eyAnZGVsZXRlJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGUnKVwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgICBlbnRpdHlUeXBlID09PSAndm9jLXRhYmxlJyB8fCBlbnRpdHlUeXBlID09PSAnZGVwYXJ0bWVudCcgfHxcclxuICAgICAgICAgICAgICAgICAgZW50aXR5VHlwZSA9PT0gJ3NpZ25lcnMnXHJcbiAgICAgICAgICAgICAgICBcIj48L2k+XHJcblxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1wbHVzLXNxdWFyZVwiIG1hdFRvb2x0aXA9XCJ7eyAnVVNFUl9NQU5HTUVOVC5hZGRUb0RlcGFydG1lbnQnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIiAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd1c2VycycgJiYgcm93LmlzSW5pdGlhbFwiPjwvaT5cclxuXHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbHVtbi5hY3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIiBtYXRUb29sdGlwPVwie3sgYWN0aW9uLnRvb2x0aXAgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgYWN0aW9uLmFjdGlvbk5hbWUpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGlcclxuICAgICAgICAgICAgICAgICpwZXJtaXNzaW9uPVwieyBuYW1lOiAncmVnaXN0ZXJDb3JyZXNwb25kYW5jZScsIGVudGl0eTogcm93IH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctaW4tcmlnaHRcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLlJFR0lTVEVSJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdyZWdpc3RlcicpXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ3NlbmRDb3JyZXNwb25kYW5jZScsIGVudGl0eTogcm93IH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1lbnZlbG9wZVwiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgJ0xJU1RJTkcuU0VORCcgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnc2VuZCcpXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2Nsb3NlQ29ycmVzcG9uZGFuY2UnLCBlbnRpdHk6IHJvdyB9XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmkgYmkteC1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cInt7ICdMSVNUSU5HLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdjbG9zZScpXCJcclxuICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2FyY2hpdmVDb3JyZXNwb25kYW5jZScsIGVudGl0eTogcm93IH1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiaSBiaS1mb2xkZXItc3ltbGlua1wiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwie3sgJ0xJU1RJTkcuQVJDSElWRScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnYXJjaGl2ZScpXCJcclxuICAgICAgICAgICAgICA+PC9pPiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cImRpc2FibGVkQWN0aW9ucyA/ICdkaXNhYmxlZC1hY3Rpb25zLXdyYXBwZXInIDogJ2FjdGlvbnMtd3JhcHBlcidcIiAqbmdJZj1cInNob3dBY3Rpb25zQXNNZW51XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLW1lbnUtdHJpZ2dlclwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkQWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRocmVlLWRvdHMtdmVydGljYWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImRhdGF0YWJsZS1hY3Rpb25zLW1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2VkaXQnKVwiICpuZ0lmPVwiZW50aXR5VHlwZSA9PT0gJ3ZvYy10YWJsZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBlbmNpbC1zcXVhcmUgZWRpdC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHRcIj57eyAnVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGUnKVwiICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgIGVudGl0eVR5cGUgPT09ICd2b2MtdGFibGUnIHx8IGVudGl0eVR5cGUgPT09ICdkZXBhcnRtZW50JyB8fFxyXG4gICAgICAgICAgICAgICAgICBlbnRpdHlUeXBlID09PSAnc2lnbmVycydcclxuICAgICAgICAgICAgICAgIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tdGV4dFwiPnt7ICdkZWxldGUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgJ2RlbGV0ZScpXCIgKm5nSWY9XCJlbnRpdHlUeXBlID09PSAndXNlcnMnICYmIHJvdy5pc0luaXRpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBsdXMtc3F1YXJlXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLXRleHRcIj57eyAnVVNFUl9NQU5HTUVOVC5hZGRUb0RlcGFydG1lbnQnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnR0YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2x1bW4uYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCBhY3Rpb24uYWN0aW9uTmFtZSlcIiAqcGVybWlzc2lvbj1cInsgbmFtZTogYWN0aW9uLnBlcm1pc3Npb24sIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7IGFjdGlvbi5pY29uIH19XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tdGV4dFwiPnt7IGFjdGlvbi50b29sdGlwIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnR0YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8L21hdC1tZW51PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2x1bW4udHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGwtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y3RzLWRhdGUtdmlld2VyIFt3aXRoT3V0TGFiZWxdPVwidHJ1ZVwiIFt2YWx1ZV09XCJ2YWx1ZVwiPjwvY3RzLWRhdGUtdmlld2VyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnY3VzdG9tJ1wiPlxyXG4gICAgICAgICAgICAgIDxjdHMtZHluYW1pYy1jb2x1bW4gW2lkXT1cImNvbHVtbi50ZW1wbGF0ZVwiIFtjb2x1bW5dPVwiY29sdW1uXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbHVtbi50eXBlID09PSAnZGlyZWN0aW9uJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJpY29uU2VsZWN0ZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic3RhdHVzLXdyYXBwZXIge3sgdmFsdWUgfX0ge3sgcm93LnN0YXRlIH19XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImluZXItc3RhdHVzLXdyYXBwZXJcIiBtYXRUb29sdGlwPVwie3sgJ1NUQVRTLicgKyByb3cuc3RhdGUgfCB0cmFuc2xhdGUgfX1cIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2lzRmF2b3JpdGUnLCBlbnRpdHk6IHJvdyB9XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmF2LWljb24taW5kaWNhdG9yIGJpIGJpLXN0YXItZmlsbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e2RpcmVjdGlvbkljb25zID8gZGlyZWN0aW9uSWNvbnNbJ2luY29taW5nJ10gOiAnYmkgYmktYm94LWFycm93LWRvd24nfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicm93LnR5cGUgPT09ICdJbmNvbWluZ0NvcnJlc3BvbmRlbmNlJ1wiXHJcbiAgICAgICAgICAgICAgICAgID48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ7e2RpcmVjdGlvbkljb25zID8gZGlyZWN0aW9uSWNvbnNbJ291dGdvaW5nJ10gOiAnYmkgYmktYm94LWFycm93LXVwIG91dGdvaW5nJ319XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInJvdy50eXBlID09PSAnT3V0Z29pbmdDb3JyZXNwb25kZW5jZSdcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8aVxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwie3tkaXJlY3Rpb25JY29ucyA/IGRpcmVjdGlvbkljb25zWydpbnRlcm5hbCddIDogJ2JpIGJpLWJveC1hcnJvdy1yaWdodCBpbnRlcm5hbCd9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJyb3cudHlwZSA9PT0gJ0ludGVybmFsQ29ycmVzcG9uZGVuY2UnXCJcclxuICAgICAgICAgICAgICAgICAgPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJ2YWx1ZSB7eyB2YWx1ZSB9fVwiPnt7IFwiU1RBVFMuXCIgKyB2YWx1ZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbVJvd1RlbXBsYXRlIGxldC1yb3c9XCJyb3dcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiIG5neC1kYXRhdGFibGUtY2VsbC10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBvdmVyZmxvdy12aXNpYmxlXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWNvbHVtbiBbaWRdPVwiY29sdW1uLmN1c3RvbTFzdENlbGxUZW1wbGF0ZVwiIFtjb2x1bW5dPVwiY29sdW1uXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25neC1kYXRhdGFibGUtY29sdW1uPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmd4LWRhdGF0YWJsZT5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwicmVzcG9uc2l2ZVZpZXcgJiYgdGFibGVNb2RlICE9PSAnY2FyZCdcIiAod2luZG93OnJlc2l6ZSk9XCJhc3NpZ25UYWJsZUNvbHVtbnMoJGV2ZW50KVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgW25nQ2xhc3NdPVwieydzZWxlY3RlZC1jYXJkJzogaGlnaGxpZ2h0U2VsZWN0ZWRDYXJkICYmIHJvdz8uaXNTZWxlY3RlZH1cIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgcm93IG9mIHJvd3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1lbW8tdGl0bGVcIj5cclxuICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzLnJlZmVyZW5jZU51bWJlciB9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi13cmFwXCI+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnYWN0aW9ucycgJiYgcm93cy5sZW5ndGggIT09IDBcIiBjbGFzcz1cImFjdGlvbnMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXBlbmNpbC1zcXVhcmUgZWRpdC1pY29uXCIgbWF0VG9vbHRpcD1cInt7ICdVUERBVEUnIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdlZGl0JylcIiAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd2b2MtdGFibGUnXCI+PC9pPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImJpIGJpLXRyYXNoXCIgbWF0VG9vbHRpcD1cInt7ICdkZWxldGUnIHwgdHJhbnNsYXRlIH19XCIgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlUeXBlID09PSAndm9jLXRhYmxlJyB8fCBlbnRpdHlUeXBlID09PSAnZGVwYXJ0bWVudCcgfHxcclxuICAgICAgICAgICAgICAgIGVudGl0eVR5cGUgPT09ICdzaWduZXJzJ1xyXG4gICAgICAgICAgICAgIFwiPjwvaT5cclxuXHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktcGx1cy1zcXVhcmVcIiBtYXRUb29sdGlwPVwie3sgJ1VTRVJfTUFOR01FTlQuYWRkVG9EZXBhcnRtZW50JyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInBlcmZvcm1BY3Rpb24ocm93LCAnZGVsZXRlJylcIiAqbmdJZj1cImVudGl0eVR5cGUgPT09ICd1c2VycycgJiYgcm93LmlzSW5pdGlhbFwiPjwvaT5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgcHJvcGVydHkuYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxpICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ7eyBhY3Rpb24uaWNvbiB9fVwiIG1hdFRvb2x0aXA9XCJ7eyBhY3Rpb24udG9vbHRpcCB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csIGFjdGlvbi5hY3Rpb25OYW1lKVwiPjwvaT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgPHNwYW4gIGNsYXNzPVwiYWN0aW9uXCIgICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdGFibGVBY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIDxpICpwZXJtaXNzaW9uPVwieyBuYW1lOiBhY3Rpb24ucGVybWlzc2lvbiwgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwie3sgYWN0aW9uLmljb24gfX1cIiBtYXRUb29sdGlwPVwie3sgYWN0aW9uLnRvb2x0aXAgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJwZXJmb3JtQWN0aW9uKHJvdywgYWN0aW9uLmFjdGlvbk5hbWUpXCI+PC9pPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJ0YWJsZUNvbHVtbnMubGVuZ3RoID4gMVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLWJvZHlcIiAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgdGFibGVDb2x1bW5zXCIgKGNsaWNrKT1cImNhcmRTZWxlY3RlZChyb3cpXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwia2V5XCI+e3sgcHJlZml4ICsgcHJvcGVydHkua2V5IHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXX19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ293bmVyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5Lm93bmVyXT8uW3Byb3BlcnR5LnZhbHVlXSB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdkYXRlJ1wiPlxyXG4gICAgICAgICAgICAgIHt7IHJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXSB8IGxvY2FsaXplZERhdGU6Zm9ybWF0Oihpc0FyYWJpYz8gJ2FyLUFSJyA6ICdlbi1VUycpIH19XHJcbiAgICAgICAgICAgICAgPCEtLSA8Y3RzLWRhdGUtdmlld2VyIFt3aXRoT3V0TGFiZWxdPVwidHJ1ZVwiIFt2YWx1ZV09XCJyb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV1cIiA+PC9jdHMtZGF0ZS12aWV3ZXI+IC0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdzdGF0dXMnXCIgY2xhc3M9XCJ2YWx1ZSB7eyByb3dbcHJvcGVydHkudmFsdWVdfX1cIj57e1xyXG4gICAgICAgICAgICAgIFwiU1RBVFMuXCIgKyByb3dbcHJvcGVydHkudmFsdWVdIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICd2b2NhYnVsYXJ5J1wiIGNsYXNzPVwiY2VsbC10ZXh0LXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRyb3Bkb3duLXZpZXdlciBbd2l0aE91dExhYmVsXT1cInRydWVcIiBbdmFsdWVdPVwicm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdXCJcclxuICAgICAgICAgICAgICAgIFtkcm9wZG93bklkXT1cInByb3BlcnR5LnZvY2FidWxhcnlJZFwiPlxyXG4gICAgICAgICAgICAgIDwvY3RzLWRyb3Bkb3duLXZpZXdlcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGlyZWN0aW9uJ1wiIChjbGljayk9XCJpY29uU2VsZWN0ZWQoJGV2ZW50LCByb3cpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInN0YXR1cy13cmFwcGVyIHt7IHByb3BlcnR5LnZhbHVlIH19IHt7IHJvdy5zdGF0ZSB9fVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5lci1zdGF0dXMtd3JhcHBlclwiIG1hdFRvb2x0aXA9XCJ7eyAnU1RBVFMuJyArIHJvdy5zdGF0ZSB8IHRyYW5zbGF0ZSB9fVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2lzRmF2b3JpdGUnLCBlbnRpdHk6IHJvdyB9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmF2LWljb24taW5kaWNhdG9yIGJpIGJpLXN0YXItZmlsbFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctZG93blwiICpuZ0lmPVwicm93LnR5cGUgPT09ICdJbmNvbWluZ0NvcnJlc3BvbmRlbmNlJ1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiYmkgYmktYm94LWFycm93LXVwIG91dGdvaW5nXCIgKm5nSWY9XCJyb3cudHlwZSA9PT0gJ091dGdvaW5nQ29ycmVzcG9uZGVuY2UnXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS1ib3gtYXJyb3ctcmlnaHQgaW50ZXJuYWxcIiAqbmdJZj1cInJvdy50eXBlID09PSAnSW50ZXJuYWxDb3JyZXNwb25kZW5jZSdcIj48L2k+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdjdXN0b20nXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1keW5hbWljLWNvbHVtbiBbaWRdPVwicHJvcGVydHkudGVtcGxhdGVcIiBbY29sdW1uXT1cInByb3BlcnR5XCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5lci1jYXJkLWNvbnRhaW5lciB7e2VudGl0eVR5cGV9fVwiIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KVwiICpuZ0lmPVwidGFibGVDb2x1bW5zLmxlbmd0aCA9PT0gMVwiPlxyXG4gICAgICA8Y3RzLWR5bmFtaWMtY29sdW1uIFtpZF09XCJjb2x1bW5zWzBdLnRlbXBsYXRlXCIgW2NvbHVtbl09XCJjb2x1bW5zWzBdXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgIDwvY3RzLWR5bmFtaWMtY29sdW1uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2NhcmQnXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmRzLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpbmdsZS1jYXJkXCIgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLXRpdGxlXCI+XHJcbiAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICB7eyByb3cucHJvcGVydGllcy5yZWZlcmVuY2VOdW1iZXIgfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24td3JhcFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25cIiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHRhYmxlQWN0aW9uc1wiPlxyXG4gICAgICAgICAgICA8aSAqcGVybWlzc2lvbj1cInsgbmFtZTogYWN0aW9uLnBlcm1pc3Npb24sIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInt7IGFjdGlvbi5pY29uIH19XCIgbWF0VG9vbHRpcD1cInt7IGFjdGlvbi50b29sdGlwIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csIGFjdGlvbi5hY3Rpb25OYW1lKVwiPjwvaT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxidXR0b24gKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdkZWxldGVNZW1vJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICdkZWxldGVNZW1vJylcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS10cmFzaFwiIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5PTkxZX0RFTEVURScgfCB0cmFuc2xhdGUgfX1cIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKnBlcm1pc3Npb249XCJ7IG5hbWU6ICd0ZXJtaW5hdGVEZWxlZ2F0aW9uJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicGVyZm9ybUFjdGlvbihyb3csICd0ZXJtaW5hdGVEZWxlZ2F0aW9uJylcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJiaSBiaS10cmFzaFwiIG1hdFRvb2x0aXA9XCJ7eyAnTElTVElORy5DQU5DRUwnIHwgdHJhbnNsYXRlIH19XCI+PC9pPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInB1Ymxpc2gtc3RhdGVcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ21lbW9QdWJsaXNoZWQnLCBlbnRpdHk6IHJvdyAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyfVwiPlxyXG4gICAgICAgICAgICB7eyBcIk1FTU9TLlBVQkxJU0hFRFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInB1Ymxpc2gtc3RhdGVcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2RlbGVnYXRpb25GaW5pc2hlZCcsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgIHt7IFwiZGVsZWdhdGlvbnMuZmluaXNoZWRcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwdWJsaXNoLXN0YXRlXCJcclxuICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdkZWxlZ2F0aW9uQWN0aXZlJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIj5cclxuICAgICAgICAgICAge3sgXCJkZWxlZ2F0aW9ucy5hY3RpdmVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW1vLWJvZHlcIiAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgY29sdW1uc1wiIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KTtjYXJkRm9jdXNlZChpKVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrZXlcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgIT09ICdkZWZhdWx0J1wiPnt7IHByZWZpeCArIHByb3BlcnR5LmtleSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGVmYXVsdCdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrZXlcIlxyXG4gICAgICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogJ2ludGVybmFsSXNFbmFibGVkJywgZW50aXR5OiByb3cgLCB1c2VyOiBudXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlcn1cIj5cclxuICAgICAgICAgICAge3sgcHJlZml4ICsgcHJvcGVydHkua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAndGV4dCdcIj5cclxuICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAndXNlcidcIj5cclxuICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdLmZ1bGxOYW1lIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgKm5nSWY9XCJwcm9wZXJ0eS50eXBlID09PSAnZGF0ZSdcIj5cclxuICAgICAgICAgICAge3tyb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV0gfCBsb2NhbGl6ZWREYXRlOmZvcm1hdDooaXNBcmFiaWM/ICdhci1BUicgOiAnZW4tVVMnKX19XHJcbiAgICAgICAgICAgIDwhLS0gPGN0cy1kYXRlLXZpZXdlciBbd2l0aE91dExhYmVsXT1cInRydWVcIiBbdmFsdWVdPVwicm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdXCIgPjwvY3RzLWRhdGUtdmlld2VyPiAtLT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdib29sZWFuJ1wiPlxyXG4gICAgICAgICAgICB7eyAocm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdID8gJ1llcyc6J05vJykgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5LnR5cGUgPT09ICdkZWZhdWx0J1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgKnBlcm1pc3Npb249XCJ7IG5hbWU6ICdpbnRlcm5hbElzRW5hYmxlZCcsIGVudGl0eTogcm93ICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJ9XCI+XHJcbiAgICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2N1c3RvbSdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHRcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3cucHJvcGVydGllc1twcm9wZXJ0eS52YWx1ZV1cIj5cclxuICAgICAgICAgICAgICB7eyBpdGVtIHwgdHJhbnNsYXRlIH19IHt7XCIsIFwiIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInRhYmxlTW9kZSA9PT0gJ2R5bmFtaWNDYXJkJ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkcy1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtY2FyZFwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQtY2FyZCc6IGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCAmJiByb3c/LmlzU2VsZWN0ZWR9XCJcclxuICAgICAgKm5nRm9yPVwibGV0IHJvdyBvZiByb3dzXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW5zLmxlbmd0aCA+IDFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVtby1ib2R5XCIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIGNvbHVtbnNcIiAoY2xpY2spPVwiY2FyZFNlbGVjdGVkKHJvdylcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJrZXlcIj57eyBwcmVmaXggKyBwcm9wZXJ0eS5rZXkgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ3RleHQnXCI+XHJcbiAgICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiICpuZ0lmPVwicHJvcGVydHkudHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICAgICAge3sgcm93LnByb3BlcnRpZXNbcHJvcGVydHkudmFsdWVdIHwgbG9jYWxpemVkRGF0ZTpmb3JtYXQ6KGlzQXJhYmljPyAnYXItQVInIDogJ2VuLVVTJykgfX1cclxuICAgICAgICAgICAgICA8IS0tIDxjdHMtZGF0ZS12aWV3ZXIgW3dpdGhPdXRMYWJlbF09XCJ0cnVlXCIgW3ZhbHVlXT1cInJvdy5wcm9wZXJ0aWVzW3Byb3BlcnR5LnZhbHVlXVwiID48L2N0cy1kYXRlLXZpZXdlcj4gLS0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5lci1jYXJkLWNvbnRhaW5lciB7e2VudGl0eVR5cGV9fVwiIChjbGljayk9XCJjYXJkU2VsZWN0ZWQocm93KVwiICpuZ0lmPVwiY29sdW1ucy5sZW5ndGggPT09IDFcIj5cclxuICAgICAgICA8Y3RzLWR5bmFtaWMtY29sdW1uIFtpZF09XCJjb2x1bW5zWzBdLnRlbXBsYXRlXCIgW2NvbHVtbl09XCJjb2x1bW5zWzBdXCIgW2NvbnRleHRdPVwicm93XCI+XHJcbiAgICAgICAgPC9jdHMtZHluYW1pYy1jb2x1bW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -2,20 +2,16 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { Toast } from 'ngx-toastr';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import { takeUntil } from 'rxjs/operators';
|
|
5
|
-
import { UserPreferenceValues, } from '../../../../
|
|
5
|
+
import { UserPreferenceValues, } from '../../../../core/services/user/user-preferences.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "ngx-toastr";
|
|
8
|
-
import * as i2 from "
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "@angular/material/icon";
|
|
11
|
-
import * as i5 from "@angular/cdk/bidi";
|
|
12
|
-
import * as i6 from "@angular/common";
|
|
8
|
+
import * as i2 from "../../../../core/services/user/user-preferences.service";
|
|
9
|
+
import * as i3 from "@angular/common";
|
|
13
10
|
export class NotificationToastComponent extends Toast {
|
|
14
|
-
constructor(toastrService, toastPackage,
|
|
11
|
+
constructor(toastrService, toastPackage, userPreferenceService) {
|
|
15
12
|
super(toastrService, toastPackage);
|
|
16
13
|
this.toastrService = toastrService;
|
|
17
14
|
this.toastPackage = toastPackage;
|
|
18
|
-
this.router = router;
|
|
19
15
|
this.userPreferenceService = userPreferenceService;
|
|
20
16
|
this.onDestroy$ = new Subject();
|
|
21
17
|
}
|
|
@@ -43,8 +39,8 @@ export class NotificationToastComponent extends Toast {
|
|
|
43
39
|
// );
|
|
44
40
|
}
|
|
45
41
|
}
|
|
46
|
-
NotificationToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationToastComponent, deps: [{ token: i1.ToastrService }, { token: i1.ToastPackage }, { token: i2.
|
|
47
|
-
NotificationToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationToastComponent, selector: "app-notification-toast", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"toast-container\"\r\n [style.display]=\"state.value === 'inactive' ? 'none' : ''\"\r\n [dir]=\"lang\"\r\n>\r\n <ng-container (click)=\"navigateToDetais()\">\r\n <div class=\"icon-container rounded-s-md\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"25.667\"\r\n height=\"30\"\r\n viewBox=\"0 0 21.667 26\"\r\n >\r\n <g\r\n id=\"Group_1724\"\r\n data-name=\"Group 1724\"\r\n transform=\"translate(-1562 -49)\"\r\n >\r\n <g\r\n id=\"Group_1714\"\r\n data-name=\"Group 1714\"\r\n transform=\"translate(1562 49)\"\r\n >\r\n <path\r\n id=\"Path_6882\"\r\n data-name=\"Path 6882\"\r\n d=\"M63.661,18.322a7.256,7.256,0,0,1-2.577-5.552V9.75a7.589,7.589,0,0,0-6.5-7.5V1.083a1.083,1.083,0,1,0-2.167,0v1.17a7.589,7.589,0,0,0-6.5,7.5v3.02a7.264,7.264,0,0,1-2.587,5.561,1.9,1.9,0,0,0,1.233,3.336H62.438a1.9,1.9,0,0,0,1.223-3.344Z\"\r\n transform=\"translate(-42.667)\"\r\n fill=\"#fff\"\r\n />\r\n <path\r\n id=\"Path_6883\"\r\n data-name=\"Path 6883\"\r\n d=\"M181.6,451.25a4.069,4.069,0,0,0,3.98-3.25h-7.96A4.069,4.069,0,0,0,181.6,451.25Z\"\r\n transform=\"translate(-170.768 -425.25)\"\r\n fill=\"#fff\"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"toast-content-container\">\r\n <div\r\n *ngIf=\"title\"\r\n [class]=\"options.titleClass\"\r\n [attr.aria-label]=\"title\"\r\n class=\"toast-content\"\r\n >\r\n {{ title }}\r\n </div>\r\n <div\r\n *ngIf=\"message\"\r\n role=\"alert\"\r\n aria-live=\"polite\"\r\n [class]=\"options.messageClass\"\r\n [attr.aria-label]=\"message\"\r\n class=\"message\"\r\n >\r\n {{ message }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"options.closeButton\" (click)=\"remove()\" class=\"remove\">\r\n <mat-icon class=\"\">close</mat-icon>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.toast-container{cursor:pointer;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-left:16px;margin-right:16px;position:relative;width:400px;height:80px;box-shadow:0 0 4px #0000003b;background-color:#fff;border-radius:5px}.toast-container .icon-container{background-color:#1a96c6;grid-column:span 1/span 1;display:flex;align-items:center;justify-content:center}.toast-container .toast-content-container{grid-column:span 3/span 3;display:flex;flex-direction:column;padding-top:4px;padding-bottom:4px;padding-inline-start:8px;overflow:hidden}.toast-container .toast-content-container .toast-content{font-size:15px;color:#6a768e;overflow:hidden}.toast-container .toast-content-container .message{color:#1a96c6;font-size:14px;line-height:20px}.toast-container .remove{grid-column:span 1/span 1;cursor:pointer;display:flex;justify-content:flex-end;padding-inline-end:8px}.toast-container .remove mat-icon{color:#8f98aa;font-size:20px;line-height:28px}.rounded-s-md{border-top-left-radius:6px;border-bottom-left-radius:6px}[dir=rtl] .rounded-s-md{border-top-right-radius:6px;border-bottom-right-radius:6px}\n"], components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
42
|
+
NotificationToastComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationToastComponent, deps: [{ token: i1.ToastrService }, { token: i1.ToastPackage }, { token: i2.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
NotificationToastComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NotificationToastComponent, selector: "app-notification-toast", usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"toast-container\"\r\n [style.display]=\"state.value === 'inactive' ? 'none' : ''\"\r\n [dir]=\"lang\"\r\n>\r\n <ng-container (click)=\"navigateToDetais()\">\r\n <div class=\"icon-container rounded-s-md\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"25.667\"\r\n height=\"30\"\r\n viewBox=\"0 0 21.667 26\"\r\n >\r\n <g\r\n id=\"Group_1724\"\r\n data-name=\"Group 1724\"\r\n transform=\"translate(-1562 -49)\"\r\n >\r\n <g\r\n id=\"Group_1714\"\r\n data-name=\"Group 1714\"\r\n transform=\"translate(1562 49)\"\r\n >\r\n <path\r\n id=\"Path_6882\"\r\n data-name=\"Path 6882\"\r\n d=\"M63.661,18.322a7.256,7.256,0,0,1-2.577-5.552V9.75a7.589,7.589,0,0,0-6.5-7.5V1.083a1.083,1.083,0,1,0-2.167,0v1.17a7.589,7.589,0,0,0-6.5,7.5v3.02a7.264,7.264,0,0,1-2.587,5.561,1.9,1.9,0,0,0,1.233,3.336H62.438a1.9,1.9,0,0,0,1.223-3.344Z\"\r\n transform=\"translate(-42.667)\"\r\n fill=\"#fff\"\r\n />\r\n <path\r\n id=\"Path_6883\"\r\n data-name=\"Path 6883\"\r\n d=\"M181.6,451.25a4.069,4.069,0,0,0,3.98-3.25h-7.96A4.069,4.069,0,0,0,181.6,451.25Z\"\r\n transform=\"translate(-170.768 -425.25)\"\r\n fill=\"#fff\"\r\n />\r\n </g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"toast-content-container\">\r\n <div\r\n *ngIf=\"title\"\r\n [class]=\"options.titleClass\"\r\n [attr.aria-label]=\"title\"\r\n class=\"toast-content\"\r\n >\r\n {{ title }}\r\n </div>\r\n <div\r\n *ngIf=\"message\"\r\n role=\"alert\"\r\n aria-live=\"polite\"\r\n [class]=\"options.messageClass\"\r\n [attr.aria-label]=\"message\"\r\n class=\"message\"\r\n >\r\n {{ message }}\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"options.closeButton\" (click)=\"remove()\" class=\"remove\">\r\n <mat-icon class=\"\">close</mat-icon>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.toast-container{cursor:pointer;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-left:16px;margin-right:16px;position:relative;width:400px;height:80px;box-shadow:0 0 4px #0000003b;background-color:#fff;border-radius:5px}.toast-container .icon-container{background-color:#1a96c6;grid-column:span 1/span 1;display:flex;align-items:center;justify-content:center}.toast-container .toast-content-container{grid-column:span 3/span 3;display:flex;flex-direction:column;padding-top:4px;padding-bottom:4px;padding-inline-start:8px;overflow:hidden}.toast-container .toast-content-container .toast-content{font-size:15px;color:#6a768e;overflow:hidden}.toast-container .toast-content-container .message{color:#1a96c6;font-size:14px;line-height:20px}.toast-container .remove{grid-column:span 1/span 1;cursor:pointer;display:flex;justify-content:flex-end;padding-inline-end:8px}.toast-container .remove mat-icon{color:#8f98aa;font-size:20px;line-height:28px}.rounded-s-md{border-top-left-radius:6px;border-bottom-left-radius:6px}[dir=rtl] .rounded-s-md{border-top-right-radius:6px;border-bottom-right-radius:6px}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
48
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NotificationToastComponent, decorators: [{
|
|
49
45
|
type: Component,
|
|
50
46
|
args: [{
|
|
@@ -53,5 +49,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
53
49
|
styleUrls: ['./notification-toast.component.scss'],
|
|
54
50
|
// encapsulation: ViewEncapsulation.None,
|
|
55
51
|
}]
|
|
56
|
-
}], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i1.ToastPackage }, { type: i2.
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
}], ctorParameters: function () { return [{ type: i1.ToastrService }, { type: i1.ToastPackage }, { type: i2.UserPreferencesService }]; } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXRvYXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3RzL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLXRvYXN0L25vdGlmaWNhdGlvbi10b2FzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0cy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi10b2FzdC9ub3RpZmljYXRpb24tdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUErQixNQUFNLFlBQVksQ0FBQztBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBRUwsb0JBQW9CLEdBQ3JCLE1BQU0seURBQXlELENBQUM7Ozs7O0FBUWpFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxLQUFLO0lBSW5ELFlBQ1ksYUFBNEIsRUFDL0IsWUFBMEIsRUFDMUIscUJBQThDO1FBRXJELEtBQUssQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFKekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF5QjtRQUovQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztJQU81QyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQzFELElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzlCLElBQUksQ0FBQyxxQkFBcUI7aUJBQ3ZCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7aUJBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNoQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUM5QyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUNELGdCQUFnQjtRQUNkLHdCQUF3QjtRQUN4QixNQUFNO1FBQ04sUUFBUTtRQUNSLGdEQUFnRDtRQUNoRCxTQUFTO1FBQ1QsT0FBTztRQUNQLE1BQU07UUFDTixrREFBa0Q7UUFDbEQsTUFBTTtRQUNOLEtBQUs7SUFDUCxDQUFDOzt3SEFqQ1UsMEJBQTBCOzRHQUExQiwwQkFBMEIscUZDZnZDLDBxRUFrRUE7NEZEbkRhLDBCQUEwQjtrQkFOdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztvQkFDbEQseUNBQXlDO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRvYXN0LCBUb2FzdFBhY2thZ2UsIFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgVXNlclByZWZlcmVuY2VzU2VydmljZSxcclxuICBVc2VyUHJlZmVyZW5jZVZhbHVlcyxcclxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3VzZXIvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW5vdGlmaWNhdGlvbi10b2FzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi10b2FzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLXRvYXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgLy8gZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvblRvYXN0Q29tcG9uZW50IGV4dGVuZHMgVG9hc3QgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGlkO1xyXG4gIGxhbmc7XHJcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCB0b2FzdHJTZXJ2aWNlOiBUb2FzdHJTZXJ2aWNlLFxyXG4gICAgcHVibGljIHRvYXN0UGFja2FnZTogVG9hc3RQYWNrYWdlLFxyXG4gICAgcHVibGljIHVzZXJQcmVmZXJlbmNlU2VydmljZT86IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKHRvYXN0clNlcnZpY2UsIHRvYXN0UGFja2FnZSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pZCA9IHRoaXMudG9hc3RQYWNrYWdlLnRvYXN0UmVmLmNvbXBvbmVudEluc3RhbmNlLmlkO1xyXG4gICAgaWYgKHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMudXNlclByZWZlcmVuY2VTZXJ2aWNlXHJcbiAgICAgICAgLnNlbGVjdChVc2VyUHJlZmVyZW5jZVZhbHVlcy5Mb2NhbGUpXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgobG9jYWxlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxhbmcgPSBsb2NhbGUgPT09ICdhcicgPyAncnRsJyA6ICdsdHInO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBuYXZpZ2F0ZVRvRGV0YWlzKCkge1xyXG4gICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoXHJcbiAgICAvLyAgIFtcclxuICAgIC8vICAgICB7XHJcbiAgICAvLyAgICAgICBvdXRsZXRzOiB7IHZpZXdlcjogWyd2aWV3JywgdGhpcy5pZF0gfSxcclxuICAgIC8vICAgICB9LFxyXG4gICAgLy8gICBdLFxyXG4gICAgLy8gICB7XHJcbiAgICAvLyAgICAgcXVlcnlQYXJhbXM6IHsgbG9jYXRpb246IHRoaXMucm91dGVyLnVybCB9LFxyXG4gICAgLy8gICB9XHJcbiAgICAvLyApO1xyXG4gIH1cclxufSIsIjxkaXZcclxuICBjbGFzcz1cInRvYXN0LWNvbnRhaW5lclwiXHJcbiAgW3N0eWxlLmRpc3BsYXldPVwic3RhdGUudmFsdWUgPT09ICdpbmFjdGl2ZScgPyAnbm9uZScgOiAnJ1wiXHJcbiAgW2Rpcl09XCJsYW5nXCJcclxuPlxyXG4gIDxuZy1jb250YWluZXIgKGNsaWNrKT1cIm5hdmlnYXRlVG9EZXRhaXMoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyIHJvdW5kZWQtcy1tZFwiPlxyXG4gICAgICA8c3ZnXHJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgd2lkdGg9XCIyNS42NjdcIlxyXG4gICAgICAgIGhlaWdodD1cIjMwXCJcclxuICAgICAgICB2aWV3Qm94PVwiMCAwIDIxLjY2NyAyNlwiXHJcbiAgICAgID5cclxuICAgICAgICA8Z1xyXG4gICAgICAgICAgaWQ9XCJHcm91cF8xNzI0XCJcclxuICAgICAgICAgIGRhdGEtbmFtZT1cIkdyb3VwIDE3MjRcIlxyXG4gICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNTYyIC00OSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxnXHJcbiAgICAgICAgICAgIGlkPVwiR3JvdXBfMTcxNFwiXHJcbiAgICAgICAgICAgIGRhdGEtbmFtZT1cIkdyb3VwIDE3MTRcIlxyXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTU2MiA0OSlcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgIGlkPVwiUGF0aF82ODgyXCJcclxuICAgICAgICAgICAgICBkYXRhLW5hbWU9XCJQYXRoIDY4ODJcIlxyXG4gICAgICAgICAgICAgIGQ9XCJNNjMuNjYxLDE4LjMyMmE3LjI1Niw3LjI1NiwwLDAsMS0yLjU3Ny01LjU1MlY5Ljc1YTcuNTg5LDcuNTg5LDAsMCwwLTYuNS03LjVWMS4wODNhMS4wODMsMS4wODMsMCwxLDAtMi4xNjcsMHYxLjE3YTcuNTg5LDcuNTg5LDAsMCwwLTYuNSw3LjV2My4wMmE3LjI2NCw3LjI2NCwwLDAsMS0yLjU4Nyw1LjU2MSwxLjksMS45LDAsMCwwLDEuMjMzLDMuMzM2SDYyLjQzOGExLjksMS45LDAsMCwwLDEuMjIzLTMuMzQ0WlwiXHJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC00Mi42NjcpXCJcclxuICAgICAgICAgICAgICBmaWxsPVwiI2ZmZlwiXHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgaWQ9XCJQYXRoXzY4ODNcIlxyXG4gICAgICAgICAgICAgIGRhdGEtbmFtZT1cIlBhdGggNjg4M1wiXHJcbiAgICAgICAgICAgICAgZD1cIk0xODEuNiw0NTEuMjVhNC4wNjksNC4wNjksMCwwLDAsMy45OC0zLjI1aC03Ljk2QTQuMDY5LDQuMDY5LDAsMCwwLDE4MS42LDQ1MS4yNVpcIlxyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTcwLjc2OCAtNDI1LjI1KVwiXHJcbiAgICAgICAgICAgICAgZmlsbD1cIiNmZmZcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9nPlxyXG4gICAgICAgIDwvZz5cclxuICAgICAgPC9zdmc+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0b2FzdC1jb250ZW50LWNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJ0aXRsZVwiXHJcbiAgICAgICAgW2NsYXNzXT1cIm9wdGlvbnMudGl0bGVDbGFzc1wiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJ0aXRsZVwiXHJcbiAgICAgICAgY2xhc3M9XCJ0b2FzdC1jb250ZW50XCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHRpdGxlIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJtZXNzYWdlXCJcclxuICAgICAgICByb2xlPVwiYWxlcnRcIlxyXG4gICAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXHJcbiAgICAgICAgW2NsYXNzXT1cIm9wdGlvbnMubWVzc2FnZUNsYXNzXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1lc3NhZ2VcIlxyXG4gICAgICAgIGNsYXNzPVwibWVzc2FnZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBtZXNzYWdlIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiAqbmdJZj1cIm9wdGlvbnMuY2xvc2VCdXR0b25cIiAoY2xpY2spPVwicmVtb3ZlKClcIiBjbGFzcz1cInJlbW92ZVwiPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './public-api';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RvYXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './components/notification-toast/notification-toast.component';
|
|
2
|
+
export * from './toasts.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdG9hc3RzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi10b2FzdC9ub3RpZmljYXRpb24tdG9hc3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90b2FzdHMubW9kdWxlJztcclxuIl19
|