@vendure/admin-ui 3.0.3 → 3.0.4
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/catalog/components/collection-data-table/collection-data-table.component.d.ts +3 -5
- package/catalog/components/collection-list/collection-list.component.d.ts +1 -0
- package/catalog/components/facet-list/facet-list.component.d.ts +1 -0
- package/catalog/components/product-list/product-list.component.d.ts +3 -1
- package/catalog/components/product-variant-list/product-variant-list.component.d.ts +1 -1
- package/core/common/base-list.component.d.ts +13 -0
- package/core/common/version.d.ts +1 -1
- package/core/data/providers/base-data.service.d.ts +19 -2
- package/core/data/providers/collection-data.service.d.ts +2 -2
- package/core/data/providers/data.service.d.ts +3 -3
- package/core/data/query-result.d.ts +60 -4
- package/core/data/utils/add-custom-fields.d.ts +1 -1
- package/core/providers/alerts/alerts.service.d.ts +3 -0
- package/core/providers/auth/auth.service.d.ts +3 -1
- package/core/providers/data-table/data-table-config.service.d.ts +12 -0
- package/core/public_api.d.ts +1 -0
- package/core/shared/components/data-table-2/data-table2.component.d.ts +5 -5
- package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +3 -4
- package/customer/components/customer-group-list/customer-group-list.component.d.ts +2 -0
- package/customer/components/customer-list/customer-list.component.d.ts +1 -0
- package/esm2022/catalog/catalog.module.mjs +5 -5
- package/esm2022/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/asset-detail/asset-detail.component.mjs +4 -4
- package/esm2022/catalog/components/asset-list/asset-list.component.mjs +4 -4
- package/esm2022/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +4 -4
- package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +11 -13
- package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +4 -4
- package/esm2022/catalog/components/collection-list/collection-breadcrumb.pipe.mjs +4 -4
- package/esm2022/catalog/components/collection-list/collection-list.component.mjs +6 -5
- package/esm2022/catalog/components/collection-tree/collection-tree-node.component.mjs +4 -4
- package/esm2022/catalog/components/collection-tree/collection-tree.component.mjs +4 -4
- package/esm2022/catalog/components/collection-tree/collection-tree.service.mjs +4 -4
- package/esm2022/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/create-facet-value-dialog/create-facet-value-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/create-product-option-group-dialog/create-product-option-group-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/create-product-variant-dialog/create-product-variant-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/facet-detail/facet-detail.component.mjs +4 -4
- package/esm2022/catalog/components/facet-list/facet-list.component.mjs +6 -5
- package/esm2022/catalog/components/generate-product-variants/generate-product-variants.component.mjs +4 -4
- package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/option-value-input/option-value-input.component.mjs +4 -4
- package/esm2022/catalog/components/product-detail/product-detail.component.mjs +4 -4
- package/esm2022/catalog/components/product-list/product-list.component.mjs +7 -5
- package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +4 -4
- package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +4 -4
- package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +4 -4
- package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +4 -4
- package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +4 -4
- package/esm2022/catalog/components/product-variants-table/product-variants-table.component.mjs +4 -4
- package/esm2022/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +4 -4
- package/esm2022/catalog/components/variant-price-detail/variant-price-detail.component.mjs +4 -4
- package/esm2022/catalog/components/variant-price-strategy-detail/variant-price-strategy-detail.component.mjs +4 -4
- package/esm2022/catalog/providers/product-detail/product-detail.service.mjs +4 -4
- package/esm2022/catalog/providers/routing/product-variants-resolver.mjs +4 -4
- package/esm2022/core/app.component.mjs +4 -4
- package/esm2022/core/app.component.module.mjs +5 -5
- package/esm2022/core/common/base-list.component.mjs +26 -10
- package/esm2022/core/common/version.mjs +2 -2
- package/esm2022/core/components/alerts/alerts.component.mjs +4 -4
- package/esm2022/core/components/app-shell/app-shell.component.mjs +5 -5
- package/esm2022/core/components/base-nav/base-nav.component.mjs +4 -4
- package/esm2022/core/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/core/components/channel-switcher/channel-switcher.component.mjs +4 -4
- package/esm2022/core/components/main-nav/main-nav.component.mjs +4 -4
- package/esm2022/core/components/notification/notification.component.mjs +4 -4
- package/esm2022/core/components/overlay-host/overlay-host.component.mjs +4 -4
- package/esm2022/core/components/settings-nav/settings-nav.component.mjs +4 -4
- package/esm2022/core/components/theme-switcher/theme-switcher.component.mjs +4 -4
- package/esm2022/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +4 -4
- package/esm2022/core/components/user-menu/user-menu.component.mjs +4 -4
- package/esm2022/core/core.module.mjs +5 -5
- package/esm2022/core/data/data.module.mjs +7 -7
- package/esm2022/core/data/providers/base-data.service.mjs +10 -11
- package/esm2022/core/data/providers/collection-data.service.mjs +3 -3
- package/esm2022/core/data/providers/data.service.mjs +8 -8
- package/esm2022/core/data/providers/fetch-adapter.mjs +4 -4
- package/esm2022/core/data/providers/interceptor.mjs +4 -4
- package/esm2022/core/data/providers/product-data.service.mjs +4 -2
- package/esm2022/core/data/query-result.mjs +96 -10
- package/esm2022/core/data/server-config.mjs +4 -4
- package/esm2022/core/data/utils/add-custom-fields.mjs +48 -30
- package/esm2022/core/extension/components/angular-route.component.mjs +7 -7
- package/esm2022/core/extension/components/route.component.mjs +4 -4
- package/esm2022/core/extension/providers/page-metadata.service.mjs +4 -4
- package/esm2022/core/providers/alerts/alerts.service.mjs +16 -6
- package/esm2022/core/providers/auth/auth.service.mjs +13 -9
- package/esm2022/core/providers/breadcrumb/breadcrumb.service.mjs +4 -4
- package/esm2022/core/providers/bulk-action-registry/bulk-action-registry.service.mjs +4 -4
- package/esm2022/core/providers/channel/channel.service.mjs +4 -4
- package/esm2022/core/providers/component-registry/component-registry.service.mjs +4 -4
- package/esm2022/core/providers/currency/currency.service.mjs +4 -4
- package/esm2022/core/providers/custom-detail-component/custom-detail-component.service.mjs +4 -4
- package/esm2022/core/providers/custom-field-component/custom-field-component.service.mjs +4 -4
- package/esm2022/core/providers/custom-history-entry-component/history-entry-component.service.mjs +4 -4
- package/esm2022/core/providers/dashboard-widget/dashboard-widget.service.mjs +4 -4
- package/esm2022/core/providers/data-table/data-table-config.service.mjs +43 -0
- package/esm2022/core/providers/guard/auth.guard.mjs +4 -4
- package/esm2022/core/providers/health-check/health-check.service.mjs +4 -4
- package/esm2022/core/providers/i18n/custom-message-format-compiler.mjs +4 -4
- package/esm2022/core/providers/i18n/i18n.service.mjs +4 -4
- package/esm2022/core/providers/job-queue/job-queue.service.mjs +4 -4
- package/esm2022/core/providers/local-storage/local-storage.service.mjs +4 -4
- package/esm2022/core/providers/localization/localization.service.mjs +4 -4
- package/esm2022/core/providers/modal/modal.service.mjs +4 -4
- package/esm2022/core/providers/nav-builder/nav-builder.service.mjs +4 -4
- package/esm2022/core/providers/notification/notification.service.mjs +4 -4
- package/esm2022/core/providers/overlay-host/overlay-host.service.mjs +4 -4
- package/esm2022/core/providers/page/page.service.mjs +4 -4
- package/esm2022/core/providers/permissions/permissions.service.mjs +4 -4
- package/esm2022/core/public_api.mjs +2 -1
- package/esm2022/core/shared/components/action-bar/action-bar.component.mjs +10 -10
- package/esm2022/core/shared/components/action-bar-dropdown-menu/action-bar-dropdown-menu.component.mjs +4 -4
- package/esm2022/core/shared/components/action-bar-items/action-bar-base.component.mjs +4 -4
- package/esm2022/core/shared/components/action-bar-items/action-bar-items.component.mjs +4 -4
- package/esm2022/core/shared/components/address-form/address-form.component.mjs +4 -4
- package/esm2022/core/shared/components/affixed-input/affixed-input.component.mjs +4 -4
- package/esm2022/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-file-input/asset-file-input.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-gallery/asset-gallery.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +4 -4
- package/esm2022/core/shared/components/asset-search-input/asset-search-input.component.mjs +4 -4
- package/esm2022/core/shared/components/assets/assets.component.mjs +4 -4
- package/esm2022/core/shared/components/assign-to-channel-dialog/assign-to-channel-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/bulk-action-menu/bulk-action-menu.component.mjs +4 -4
- package/esm2022/core/shared/components/card/card.component.mjs +7 -7
- package/esm2022/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +4 -4
- package/esm2022/core/shared/components/channel-badge/channel-badge.component.mjs +4 -4
- package/esm2022/core/shared/components/chart/chart.component.mjs +4 -4
- package/esm2022/core/shared/components/chip/chip.component.mjs +4 -4
- package/esm2022/core/shared/components/configurable-input/configurable-input.component.mjs +4 -4
- package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +4 -4
- package/esm2022/core/shared/components/currency-input/currency-input.component.mjs +4 -4
- package/esm2022/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +4 -4
- package/esm2022/core/shared/components/custom-field-control/custom-field-control.component.mjs +4 -4
- package/esm2022/core/shared/components/customer-label/customer-label.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table/data-table-column.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table/data-table.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-2/data-table-column.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-2/data-table-custom-component.service.mjs +4 -4
- package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +5 -5
- package/esm2022/core/shared/components/data-table-2/data-table-search.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +45 -53
- package/esm2022/core/shared/components/data-table-column-picker/data-table-column-picker.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-filter-label/data-table-filter-label.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-filter-presets/add-filter-preset-button.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +25 -37
- package/esm2022/core/shared/components/data-table-filter-presets/rename-filter-preset-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/data-table-filters/custom-filter-component.directive.mjs +4 -4
- package/esm2022/core/shared/components/data-table-filters/data-table-filters.component.mjs +4 -4
- package/esm2022/core/shared/components/datetime-picker/datetime-picker.component.mjs +4 -4
- package/esm2022/core/shared/components/datetime-picker/datetime-picker.service.mjs +4 -4
- package/esm2022/core/shared/components/dropdown/dropdown-item.directive.mjs +4 -4
- package/esm2022/core/shared/components/dropdown/dropdown-menu.component.mjs +4 -4
- package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +4 -4
- package/esm2022/core/shared/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/core/shared/components/duplicate-entity-dialog/duplicate-entity-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +4 -4
- package/esm2022/core/shared/components/entity-info/entity-info.component.mjs +4 -4
- package/esm2022/core/shared/components/extension-host/extension-host.component.mjs +4 -4
- package/esm2022/core/shared/components/extension-host/extension-host.service.mjs +4 -4
- package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +4 -4
- package/esm2022/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +4 -4
- package/esm2022/core/shared/components/focal-point-control/focal-point-control.component.mjs +4 -4
- package/esm2022/core/shared/components/form-field/form-field-control.directive.mjs +4 -4
- package/esm2022/core/shared/components/form-field/form-field.component.mjs +4 -4
- package/esm2022/core/shared/components/form-item/form-item.component.mjs +4 -4
- package/esm2022/core/shared/components/formatted-address/formatted-address.component.mjs +4 -4
- package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +4 -4
- package/esm2022/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +4 -4
- package/esm2022/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +4 -4
- package/esm2022/core/shared/components/labeled-data/labeled-data.component.mjs +4 -4
- package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +4 -4
- package/esm2022/core/shared/components/language-selector/language-selector.component.mjs +4 -4
- package/esm2022/core/shared/components/localized-text/localized-text.component.mjs +4 -4
- package/esm2022/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +4 -4
- package/esm2022/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +4 -4
- package/esm2022/core/shared/components/modal-dialog/dialog-title.directive.mjs +4 -4
- package/esm2022/core/shared/components/modal-dialog/modal-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/object-tree/object-tree.component.mjs +4 -4
- package/esm2022/core/shared/components/order-state-label/order-state-label.component.mjs +4 -4
- package/esm2022/core/shared/components/page/page.component.mjs +4 -4
- package/esm2022/core/shared/components/page-block/page-block.component.mjs +4 -4
- package/esm2022/core/shared/components/page-body/page-body.component.mjs +4 -4
- package/esm2022/core/shared/components/page-detail-layout/page-detail-layout.component.mjs +4 -4
- package/esm2022/core/shared/components/page-detail-layout/page-detail-sidebar.component.mjs +4 -4
- package/esm2022/core/shared/components/page-entity-info/page-entity-info.component.mjs +4 -4
- package/esm2022/core/shared/components/page-header/page-header.component.mjs +4 -4
- package/esm2022/core/shared/components/page-header-description/page-header-description.component.mjs +4 -4
- package/esm2022/core/shared/components/page-header-tabs/page-header-tabs.component.mjs +4 -4
- package/esm2022/core/shared/components/page-title/page-title.component.mjs +4 -4
- package/esm2022/core/shared/components/pagination-controls/pagination-controls.component.mjs +4 -4
- package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/product-search-input/product-search-input.component.mjs +4 -4
- package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +4 -4
- package/esm2022/core/shared/components/radio-card/radio-card-fieldset.component.mjs +4 -4
- package/esm2022/core/shared/components/radio-card/radio-card.component.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +4 -4
- package/esm2022/core/shared/components/select-toggle/select-toggle.component.mjs +4 -4
- package/esm2022/core/shared/components/simple-dialog/simple-dialog.component.mjs +4 -4
- package/esm2022/core/shared/components/split-view/split-view.component.mjs +4 -4
- package/esm2022/core/shared/components/split-view/split-view.directive.mjs +7 -7
- package/esm2022/core/shared/components/status-badge/status-badge.component.mjs +4 -4
- package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +4 -4
- package/esm2022/core/shared/components/table-row-action/table-row-action.component.mjs +4 -4
- package/esm2022/core/shared/components/tag-selector/tag-selector.component.mjs +4 -4
- package/esm2022/core/shared/components/timeline-entry/timeline-entry.component.mjs +4 -4
- package/esm2022/core/shared/components/title-input/title-input.component.mjs +4 -4
- package/esm2022/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +4 -4
- package/esm2022/core/shared/components/zone-selector/zone-selector.component.mjs +4 -4
- package/esm2022/core/shared/directives/disabled.directive.mjs +4 -4
- package/esm2022/core/shared/directives/if-default-channel-active.directive.mjs +4 -4
- package/esm2022/core/shared/directives/if-directive-base.mjs +4 -4
- package/esm2022/core/shared/directives/if-multichannel.directive.mjs +4 -4
- package/esm2022/core/shared/directives/if-permissions.directive.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +10 -10
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +4 -4
- package/esm2022/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +4 -4
- package/esm2022/core/shared/pipes/asset-preview.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/channel-label.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/custom-field-description.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/custom-field-label.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/duration.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/file-size.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/has-permission.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/locale-base.pipe.mjs +6 -6
- package/esm2022/core/shared/pipes/locale-currency-name.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/locale-currency.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/locale-date.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/locale-language-name.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/locale-region-name.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/sentence-case.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/sort.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/string-to-color.pipe.mjs +4 -4
- package/esm2022/core/shared/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/core/shared/providers/routing/can-deactivate-detail-guard.mjs +4 -4
- package/esm2022/core/shared/shared.module.mjs +5 -5
- package/esm2022/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +4 -4
- package/esm2022/customer/components/address-card/address-card.component.mjs +4 -4
- package/esm2022/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +4 -4
- package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +4 -4
- package/esm2022/customer/components/customer-group-detail/customer-group-detail.component.mjs +4 -4
- package/esm2022/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +4 -4
- package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +7 -5
- package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +4 -4
- package/esm2022/customer/components/customer-history/customer-history-entry-host.component.mjs +4 -4
- package/esm2022/customer/components/customer-history/customer-history.component.mjs +4 -4
- package/esm2022/customer/components/customer-list/customer-list.component.mjs +6 -5
- package/esm2022/customer/components/customer-status-label/customer-status-label.component.mjs +4 -4
- package/esm2022/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +4 -4
- package/esm2022/customer/customer.module.mjs +5 -5
- package/esm2022/dashboard/components/dashboard/dashboard.component.mjs +4 -4
- package/esm2022/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +4 -4
- package/esm2022/dashboard/dashboard.module.mjs +5 -5
- package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +8 -8
- package/esm2022/dashboard/widgets/order-chart-widget/order-chart-widget.component.mjs +4 -4
- package/esm2022/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +8 -8
- package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +8 -8
- package/esm2022/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +8 -8
- package/esm2022/login/components/login/login.component.mjs +4 -4
- package/esm2022/login/login.module.mjs +5 -5
- package/esm2022/login/providers/login.guard.mjs +4 -4
- package/esm2022/marketing/components/promotion-detail/promotion-detail.component.mjs +4 -4
- package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +6 -5
- package/esm2022/marketing/marketing.module.mjs +5 -5
- package/esm2022/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +4 -4
- package/esm2022/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +4 -4
- package/esm2022/order/components/coupon-code-selector/coupon-code-selector.component.mjs +4 -4
- package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +4 -4
- package/esm2022/order/components/draft-order-variant-selector/draft-order-variant-selector.component.mjs +4 -4
- package/esm2022/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +4 -4
- package/esm2022/order/components/fulfillment-card/fulfillment-card.component.mjs +4 -4
- package/esm2022/order/components/fulfillment-detail/fulfillment-detail.component.mjs +4 -4
- package/esm2022/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +4 -4
- package/esm2022/order/components/line-fulfillment/line-fulfillment.component.mjs +4 -4
- package/esm2022/order/components/line-refunds/line-refunds.component.mjs +4 -4
- package/esm2022/order/components/modification-detail/modification-detail.component.mjs +4 -4
- package/esm2022/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +4 -4
- package/esm2022/order/components/order-data-table/order-data-table.component.mjs +4 -17
- package/esm2022/order/components/order-data-table/order-total-column.component.mjs +4 -4
- package/esm2022/order/components/order-detail/order-detail.component.mjs +4 -4
- package/esm2022/order/components/order-editor/order-editor.component.mjs +4 -4
- package/esm2022/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +4 -4
- package/esm2022/order/components/order-history/order-history-entry-host.component.mjs +4 -4
- package/esm2022/order/components/order-history/order-history.component.mjs +4 -4
- package/esm2022/order/components/order-list/order-list.component.mjs +6 -5
- package/esm2022/order/components/order-modification-summary/order-modification-summary.component.mjs +4 -4
- package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +4 -4
- package/esm2022/order/components/order-process-graph/order-process-edge.component.mjs +4 -4
- package/esm2022/order/components/order-process-graph/order-process-graph.component.mjs +4 -4
- package/esm2022/order/components/order-process-graph/order-process-node.component.mjs +4 -4
- package/esm2022/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +4 -4
- package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +4 -4
- package/esm2022/order/components/order-table/order-table.component.mjs +4 -4
- package/esm2022/order/components/payment-detail/payment-detail.component.mjs +4 -4
- package/esm2022/order/components/payment-for-refund-selector/payment-for-refund-selector.component.mjs +4 -4
- package/esm2022/order/components/payment-state-label/payment-state-label.component.mjs +4 -4
- package/esm2022/order/components/refund-detail/refund-detail.component.mjs +4 -4
- package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +4 -4
- package/esm2022/order/components/refund-state-label/refund-state-label.component.mjs +4 -4
- package/esm2022/order/components/select-address-dialog/select-address-dialog.component.mjs +4 -4
- package/esm2022/order/components/select-customer-dialog/select-customer-dialog.component.mjs +4 -4
- package/esm2022/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.mjs +4 -4
- package/esm2022/order/components/seller-orders-card/seller-orders-card.component.mjs +4 -4
- package/esm2022/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +4 -4
- package/esm2022/order/components/simple-item-list/simple-item-list.component.mjs +4 -4
- package/esm2022/order/order.module.mjs +5 -5
- package/esm2022/order/providers/order-transition.service.mjs +4 -4
- package/esm2022/order/providers/routing/order.guard.mjs +4 -4
- package/esm2022/react/components/react-custom-column.component.mjs +4 -4
- package/esm2022/react/components/react-custom-detail.component.mjs +4 -4
- package/esm2022/react/components/react-form-input.component.mjs +4 -4
- package/esm2022/react/components/react-route.component.mjs +4 -4
- package/esm2022/react/directives/react-component-host.directive.mjs +4 -4
- package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +4 -4
- package/esm2022/settings/components/admin-detail/admin-detail.component.mjs +4 -4
- package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +6 -5
- package/esm2022/settings/components/channel-detail/channel-detail.component.mjs +4 -4
- package/esm2022/settings/components/channel-list/channel-list.component.mjs +6 -5
- package/esm2022/settings/components/country-detail/country-detail.component.mjs +4 -4
- package/esm2022/settings/components/country-list/country-list.component.mjs +6 -5
- package/esm2022/settings/components/global-settings/global-settings.component.mjs +4 -4
- package/esm2022/settings/components/payment-method-detail/payment-method-detail.component.mjs +4 -4
- package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +6 -5
- package/esm2022/settings/components/permission-grid/permission-grid.component.mjs +4 -4
- package/esm2022/settings/components/profile/profile.component.mjs +4 -4
- package/esm2022/settings/components/role-detail/role-detail.component.mjs +4 -4
- package/esm2022/settings/components/role-list/role-list.component.mjs +6 -5
- package/esm2022/settings/components/seller-detail/seller-detail.component.mjs +4 -4
- package/esm2022/settings/components/seller-list/seller-list.component.mjs +6 -5
- package/esm2022/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +4 -4
- package/esm2022/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +4 -4
- package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +6 -5
- package/esm2022/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +4 -4
- package/esm2022/settings/components/stock-location-detail/stock-location-detail.component.mjs +4 -4
- package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +6 -5
- package/esm2022/settings/components/tax-category-detail/tax-category-detail.component.mjs +4 -4
- package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +6 -5
- package/esm2022/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +4 -4
- package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +6 -5
- package/esm2022/settings/components/test-address-form/test-address-form.component.mjs +4 -4
- package/esm2022/settings/components/test-order-builder/test-order-builder.component.mjs +4 -4
- package/esm2022/settings/components/test-shipping-methods/test-shipping-methods.component.mjs +4 -4
- package/esm2022/settings/components/zone-detail/zone-detail.component.mjs +4 -4
- package/esm2022/settings/components/zone-list/zone-list.component.mjs +6 -5
- package/esm2022/settings/components/zone-member-list/zone-member-controls.directive.mjs +4 -4
- package/esm2022/settings/components/zone-member-list/zone-member-list-header.directive.mjs +4 -4
- package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +4 -4
- package/esm2022/settings/providers/routing/profile-resolver.mjs +4 -4
- package/esm2022/settings/settings.module.mjs +5 -5
- package/esm2022/system/components/health-check/health-check.component.mjs +4 -4
- package/esm2022/system/components/job-list/job-list.component.mjs +4 -4
- package/esm2022/system/components/job-state-label/job-state-label.component.mjs +4 -4
- package/esm2022/system/system.module.mjs +5 -5
- package/fesm2022/vendure-admin-ui-catalog.mjs +120 -118
- package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-core.mjs +1027 -876
- package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-customer.mjs +48 -45
- package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-dashboard.mjs +41 -41
- package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-login.mjs +10 -10
- package/fesm2022/vendure-admin-ui-login.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-marketing.mjs +12 -11
- package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-order.mjs +135 -147
- package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-react.mjs +15 -15
- package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-settings.mjs +131 -120
- package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
- package/fesm2022/vendure-admin-ui-system.mjs +13 -13
- package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
- package/marketing/components/promotion-list/promotion-list.component.d.ts +1 -0
- package/order/components/order-data-table/order-data-table.component.d.ts +2 -3
- package/order/components/order-list/order-list.component.d.ts +1 -0
- package/package.json +14 -14
- package/settings/components/administrator-list/administrator-list.component.d.ts +1 -0
- package/settings/components/channel-list/channel-list.component.d.ts +1 -0
- package/settings/components/country-list/country-list.component.d.ts +1 -0
- package/settings/components/payment-method-list/payment-method-list.component.d.ts +1 -0
- package/settings/components/role-list/role-list.component.d.ts +1 -0
- package/settings/components/seller-list/seller-list.component.d.ts +1 -0
- package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +1 -0
- package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -0
- package/settings/components/tax-category-list/tax-category-list.component.d.ts +1 -0
- package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +1 -0
- package/settings/components/zone-list/zone-list.component.d.ts +1 -0
- package/static/theme.min.css +1 -1
|
@@ -370,8 +370,8 @@ export class SettingsModule {
|
|
|
370
370
|
});
|
|
371
371
|
SettingsModule.hasRegisteredTabsAndBulkActions = true;
|
|
372
372
|
}
|
|
373
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
374
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
373
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, deps: [{ token: i1.BulkActionRegistryService }, { token: i1.PageService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
374
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, declarations: [TaxCategoryListComponent,
|
|
375
375
|
TaxCategoryDetailComponent,
|
|
376
376
|
AdministratorListComponent,
|
|
377
377
|
RoleListComponent,
|
|
@@ -405,7 +405,7 @@ export class SettingsModule {
|
|
|
405
405
|
ZoneDetailComponent,
|
|
406
406
|
StockLocationListComponent,
|
|
407
407
|
StockLocationDetailComponent], imports: [SharedModule, i2.RouterModule] }); }
|
|
408
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
408
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, providers: [
|
|
409
409
|
{
|
|
410
410
|
provide: ROUTES,
|
|
411
411
|
useFactory: (pageService) => createRoutes(pageService),
|
|
@@ -414,7 +414,7 @@ export class SettingsModule {
|
|
|
414
414
|
},
|
|
415
415
|
], imports: [SharedModule, RouterModule.forChild([])] }); }
|
|
416
416
|
}
|
|
417
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SettingsModule, decorators: [{
|
|
418
418
|
type: NgModule,
|
|
419
419
|
args: [{
|
|
420
420
|
imports: [SharedModule, RouterModule.forChild([])],
|
|
@@ -464,4 +464,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
464
464
|
],
|
|
465
465
|
}]
|
|
466
466
|
}], ctorParameters: () => [{ type: i1.BulkActionRegistryService }, { type: i1.PageService }] });
|
|
467
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFFSCwyQkFBMkIsRUFDM0IsOEJBQThCLEVBQzlCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsK0JBQStCLEVBQy9CLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsWUFBWSxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFNUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDL0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDakgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENB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TyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDOzRCQUNuRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3RCO3FCQUNKO29CQUNELFlBQVksRUFBRTt3QkFDVix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGlDQUFpQzt3QkFDakMsc0NBQXNDO3dCQUN0QyxpQkFBaUI7d0JBQ2pCLCtCQUErQjt3QkFDL0IsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiw0QkFBNEI7cUJBQy9CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyLFxyXG4gICAgR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q2hhbm5lbERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UGF5bWVudE1ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Um9sZURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U2VsbGVyRGV0YWlsRG9jdW1lbnQsXHJcbiAgICBHZXRTaGlwcGluZ01ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U3RvY2tMb2NhdGlvbkRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0VGF4Q2F0ZWdvcnlEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFpvbmVEZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NIQU5ORUxfQ09ERSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLWNvbnN0YW50cyc7XHJcblxyXG5pbXBvcnQgeyBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkbWluRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluLWRldGFpbC9hZG1pbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluaXN0cmF0b3ItbGlzdC9hZG1pbmlzdHJhdG9yLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQWRtaW5pc3RyYXRvckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRtaW5pc3RyYXRvci1saXN0L2FkbWluaXN0cmF0b3ItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFubmVsRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtZGV0YWlsL2NoYW5uZWwtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZUNoYW5uZWxzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IENoYW5uZWxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ291bnRyeURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3VudHJ5LWRldGFpbC9jb3VudHJ5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvdW50cnktbGlzdC9jb3VudHJ5LWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQ291bnRyeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY291bnRyeS1saXN0L2NvdW50cnktbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nbG9iYWwtc2V0dGluZ3MvZ2xvYmFsLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRNZXRob2REZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1tZXRob2QtZGV0YWlsL3BheW1lbnQtbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlUGF5bWVudE1ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtbWV0aG9kLWxpc3QvcGF5bWVudC1tZXRob2QtbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXltZW50LW1ldGhvZC1saXN0L3BheW1lbnQtbWV0aG9kLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGVybWlzc2lvbi1ncmlkL3Blcm1pc3Npb24tZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb2xlRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtZGV0YWlsL3JvbGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVJvbGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9yb2xlLWxpc3Qvcm9sZS1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFJvbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtbGlzdC9yb2xlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsbGVyRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1kZXRhaWwvc2VsbGVyLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVTZWxsZXJzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxsZXItbGlzdC9zZWxsZXItbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxsZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1saXN0L3NlbGxlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nRWxpZ2liaWxpdHlUZXN0UmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0L3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwvc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVNoaXBwaW5nTWV0aG9kc0J1bGtBY3Rpb24sXHJcbiAgICByZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1saXN0L3NoaXBwaW5nLW1ldGhvZC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGlwcGluZy1tZXRob2QtbGlzdC9zaGlwcGluZy1tZXRob2QtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFRlc3RSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2hpcHBpbmctbWV0aG9kLXRlc3QtcmVzdWx0L3NoaXBwaW5nLW1ldGhvZC10ZXN0LXJlc3VsdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLWRldGFpbC9zdG9jay1sb2NhdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIGFzc2lnblN0b2NrTG9jYXRpb25zVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVN0b2NrTG9jYXRpb25zQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVN0b2NrTG9jYXRpb25zRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi1saXN0L3N0b2NrLWxvY2F0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgU3RvY2tMb2NhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tbGlzdC9zdG9jay1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRheENhdGVnb3J5RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RheC1jYXRlZ29yeS1kZXRhaWwvdGF4LWNhdGVnb3J5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVUYXhDYXRlZ29yaWVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtY2F0ZWdvcnktbGlzdC90YXgtY2F0ZWdvcnktbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LWNhdGVnb3J5LWxpc3QvdGF4LWNhdGVnb3J5LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGF4UmF0ZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1kZXRhaWwvdGF4LXJhdGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVRheFJhdGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1saXN0L3RheC1yYXRlLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgVGF4UmF0ZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LXJhdGUtbGlzdC90YXgtcmF0ZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlc3RBZGRyZXNzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LWFkZHJlc3MtZm9ybS90ZXN0LWFkZHJlc3MtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXN0T3JkZXJCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rlc3Qtb3JkZXItYnVpbGRlci90ZXN0LW9yZGVyLWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LXNoaXBwaW5nLW1ldGhvZHMvdGVzdC1zaGlwcGluZy1tZXRob2RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1kZXRhaWwvem9uZS1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlWm9uZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbGlzdC96b25lLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgWm9uZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1saXN0L3pvbmUtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1jb250cm9scy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyByZW1vdmVab25lTWVtYmVyc0J1bGtBY3Rpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC1oZWFkZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWm9uZU1lbWJlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGNyZWF0ZVJvdXRlcyB9IGZyb20gJy4vc2V0dGluZ3Mucm91dGVzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUk9VVEVTLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAocGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlKSA9PiBjcmVhdGVSb3V0ZXMocGFnZVNlcnZpY2UpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgZGVwczogW1BhZ2VTZXJ2aWNlXSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRheENhdGVnb3J5TGlzdENvbXBvbmVudCxcclxuICAgICAgICBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEFkbWluRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFBlcm1pc3Npb25HcmlkQ29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ01ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RPcmRlckJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVGVzdEFkZHJlc3NGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTZWxsZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kVGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ0VsaWdpYmlsaXR5VGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBab25lTGlzdENvbXBvbmVudCxcclxuICAgICAgICBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlLFxyXG4gICAgICAgIFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSxcclxuICAgICAgICBQcm9maWxlQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RTaGlwcGluZ01ldGhvZHNDb21wb25lbnQsXHJcbiAgICAgICAgWm9uZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzTW9kdWxlIHtcclxuICAgIHByaXZhdGUgc3RhdGljIGhhc1JlZ2lzdGVyZWRUYWJzQW5kQnVsa0FjdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlOiBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLCBwYWdlU2VydmljZTogUGFnZVNlcnZpY2UpIHtcclxuICAgICAgICBpZiAoU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZVNlbGxlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQ2hhbm5lbHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUm9sZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlU2hpcHBpbmdNZXRob2RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVTaGlwcGluZ01ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVQYXltZW50TWV0aG9kc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlVGF4Q2F0ZWdvcmllc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVUYXhSYXRlc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlWm9uZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlWm9uZU1lbWJlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU3RvY2tMb2NhdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVTdG9ja0xvY2F0aW9uc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlU3RvY2tMb2NhdGlvbnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2VsbGVyLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2VsbGVycycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2VsbGVyTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzZWxsZXItZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5zZWxsZXInKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTZWxsZXJEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NlbGxlcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctc2VsbGVyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY2hhbm5lbC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNoYW5uZWxzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdjaGFubmVsLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuY2hhbm5lbCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ2hhbm5lbERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRDaGFubmVsRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdjaGFubmVsJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlbnRpdHkuY29kZSA9PT0gREVGQVVMVF9DSEFOTkVMX0NPREVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdjb21tb24uZGVmYXVsdC1jaGFubmVsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZW50aXR5LmNvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1jaGFubmVsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnYWRtaW5pc3RyYXRvci1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmFkbWluaXN0cmF0b3JzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdhZG1pbmlzdHJhdG9yLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuYWRtaW5pc3RyYXRvcicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQWRtaW5EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnYWRtaW5pc3RyYXRvcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7ZW50aXR5LmZpcnN0TmFtZX0gJHtlbnRpdHkubGFzdE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfKCdhZG1pbi5jcmVhdGUtbmV3LWFkbWluaXN0cmF0b3InKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdyb2xlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucm9sZXMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFJvbGVMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3JvbGUtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5yb2xlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFJvbGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3JvbGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5LmRlc2NyaXB0aW9uIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1yb2xlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2hpcHBpbmctbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2RMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnNoaXBwaW5nLW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2REZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0U2hpcHBpbmdNZXRob2REZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NoaXBwaW5nTWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1zaGlwcGluZy1tZXRob2QnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzaGlwcGluZy1tZXRob2QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGVzdC1zaGlwcGluZy1tZXRob2RzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAndGVzdCcsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwYXltZW50LW1ldGhvZC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnBheW1lbnQtbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncGF5bWVudC1tZXRob2QtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRQYXltZW50TWV0aG9kRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdwYXltZW50TWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1jYXRlZ29yeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnRheC1jYXRlZ29yaWVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAndGF4LWNhdGVnb3J5LWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGF4LWNhdGVnb3J5JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRUYXhDYXRlZ29yeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAndGF4Q2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1jYXRlZ29yeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1yYXRlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIudGF4LXJhdGVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICd0YXgtcmF0ZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnRheC1yYXRlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3RheFJhdGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1yYXRlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNvdW50cmllcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogQ291bnRyeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLmNvdW50cnknKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnY291bnRyeScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctY291bnRyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3pvbmUtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi56b25lcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogWm9uZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnem9uZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnpvbmUnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFpvbmVEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Wm9uZURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnem9uZScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctem9uZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2dsb2JhbC1zZXR0aW5nLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi5nbG9iYWwtc2V0dGluZ3MnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2ZpbGUnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucHJvZmlsZScpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZmlsZUNvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc3RvY2stbG9jYXRpb24tbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbnMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFN0b2NrTG9jYXRpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3N0b2NrLWxvY2F0aW9uLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU3RvY2tMb2NhdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTdG9ja0xvY2F0aW9uRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdzdG9ja0xvY2F0aW9uJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnY2F0YWxvZy5jcmVhdGUtbmV3LXN0b2NrLWxvY2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucyA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
467
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9zZXR0aW5ncy9zcmMvc2V0dGluZ3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3RFLE9BQU8sRUFFSCwyQkFBMkIsRUFDM0IsOEJBQThCLEVBQzlCLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsK0JBQStCLEVBQy9CLDhCQUE4QixFQUM5Qiw0QkFBNEIsRUFDNUIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsWUFBWSxHQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFNUUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDL0gsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDakgsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDMUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDOUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDL0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0RBQXNELENB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TyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ2xELFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsTUFBTTs0QkFDZixVQUFVLEVBQUUsQ0FBQyxXQUF3QixFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDOzRCQUNuRSxLQUFLLEVBQUUsSUFBSTs0QkFDWCxJQUFJLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3RCO3FCQUNKO29CQUNELFlBQVksRUFBRTt3QkFDVix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsb0JBQW9CO3dCQUNwQixzQkFBc0I7d0JBQ3RCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGlDQUFpQzt3QkFDakMsc0NBQXNDO3dCQUN0QyxpQkFBaUI7d0JBQ2pCLCtCQUErQjt3QkFDL0IsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDJCQUEyQjt3QkFDM0IsZ0JBQWdCO3dCQUNoQiw0QkFBNEI7d0JBQzVCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiw0QkFBNEI7cUJBQy9CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBST1VURVMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyLFxyXG4gICAgR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q2hhbm5lbERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0UGF5bWVudE1ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0Um9sZURldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U2VsbGVyRGV0YWlsRG9jdW1lbnQsXHJcbiAgICBHZXRTaGlwcGluZ01ldGhvZERldGFpbERvY3VtZW50LFxyXG4gICAgR2V0U3RvY2tMb2NhdGlvbkRldGFpbERvY3VtZW50LFxyXG4gICAgR2V0VGF4Q2F0ZWdvcnlEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgIEdldFpvbmVEZXRhaWxEb2N1bWVudCxcclxuICAgIFBhZ2VTZXJ2aWNlLFxyXG4gICAgU2hhcmVkTW9kdWxlLFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0NIQU5ORUxfQ09ERSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLWNvbnN0YW50cyc7XHJcblxyXG5pbXBvcnQgeyBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nL2FkZC1jb3VudHJ5LXRvLXpvbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkbWluRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluLWRldGFpbC9hZG1pbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2FkbWluaXN0cmF0b3ItbGlzdC9hZG1pbmlzdHJhdG9yLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQWRtaW5pc3RyYXRvckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRtaW5pc3RyYXRvci1saXN0L2FkbWluaXN0cmF0b3ItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFubmVsRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtZGV0YWlsL2NoYW5uZWwtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZUNoYW5uZWxzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFubmVsLWxpc3QvY2hhbm5lbC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IENoYW5uZWxMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtbGlzdC9jaGFubmVsLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ291bnRyeURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3VudHJ5LWRldGFpbC9jb3VudHJ5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvdW50cnktbGlzdC9jb3VudHJ5LWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgQ291bnRyeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY291bnRyeS1saXN0L2NvdW50cnktbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHbG9iYWxTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9nbG9iYWwtc2V0dGluZ3MvZ2xvYmFsLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRNZXRob2REZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGF5bWVudC1tZXRob2QtZGV0YWlsL3BheW1lbnQtbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uLFxyXG4gICAgZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uLFxyXG4gICAgcmVtb3ZlUGF5bWVudE1ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BheW1lbnQtbWV0aG9kLWxpc3QvcGF5bWVudC1tZXRob2QtbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYXltZW50LW1ldGhvZC1saXN0L3BheW1lbnQtbWV0aG9kLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGVybWlzc2lvbkdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGVybWlzc2lvbi1ncmlkL3Blcm1pc3Npb24tZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9maWxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb2xlRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtZGV0YWlsL3JvbGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVJvbGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9yb2xlLWxpc3Qvcm9sZS1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFJvbGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JvbGUtbGlzdC9yb2xlLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsbGVyRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1kZXRhaWwvc2VsbGVyLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVTZWxsZXJzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxsZXItbGlzdC9zZWxsZXItbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxsZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGxlci1saXN0L3NlbGxlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nRWxpZ2liaWxpdHlUZXN0UmVzdWx0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0L3NoaXBwaW5nLWVsaWdpYmlsaXR5LXRlc3QtcmVzdWx0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwvc2hpcHBpbmctbWV0aG9kLWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVNoaXBwaW5nTWV0aG9kc0J1bGtBY3Rpb24sXHJcbiAgICByZW1vdmVTaGlwcGluZ01ldGhvZHNGcm9tQ2hhbm5lbEJ1bGtBY3Rpb24sXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3NoaXBwaW5nLW1ldGhvZC1saXN0L3NoaXBwaW5nLW1ldGhvZC1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zaGlwcGluZy1tZXRob2QtbGlzdC9zaGlwcGluZy1tZXRob2QtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaGlwcGluZ01ldGhvZFRlc3RSZXN1bHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2hpcHBpbmctbWV0aG9kLXRlc3QtcmVzdWx0L3NoaXBwaW5nLW1ldGhvZC10ZXN0LXJlc3VsdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uLWRldGFpbC9zdG9jay1sb2NhdGlvbi1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIGFzc2lnblN0b2NrTG9jYXRpb25zVG9DaGFubmVsQnVsa0FjdGlvbixcclxuICAgIGRlbGV0ZVN0b2NrTG9jYXRpb25zQnVsa0FjdGlvbixcclxuICAgIHJlbW92ZVN0b2NrTG9jYXRpb25zRnJvbUNoYW5uZWxCdWxrQWN0aW9uLFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9zdG9jay1sb2NhdGlvbi1saXN0L3N0b2NrLWxvY2F0aW9uLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgU3RvY2tMb2NhdGlvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24tbGlzdC9zdG9jay1sb2NhdGlvbi1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRheENhdGVnb3J5RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RheC1jYXRlZ29yeS1kZXRhaWwvdGF4LWNhdGVnb3J5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBkZWxldGVUYXhDYXRlZ29yaWVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtY2F0ZWdvcnktbGlzdC90YXgtY2F0ZWdvcnktbGlzdC1idWxrLWFjdGlvbnMnO1xyXG5pbXBvcnQgeyBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LWNhdGVnb3J5LWxpc3QvdGF4LWNhdGVnb3J5LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGF4UmF0ZURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1kZXRhaWwvdGF4LXJhdGUtZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGRlbGV0ZVRheFJhdGVzQnVsa0FjdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy90YXgtcmF0ZS1saXN0L3RheC1yYXRlLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgVGF4UmF0ZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGF4LXJhdGUtbGlzdC90YXgtcmF0ZS1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlc3RBZGRyZXNzRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LWFkZHJlc3MtZm9ybS90ZXN0LWFkZHJlc3MtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXN0T3JkZXJCdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rlc3Qtb3JkZXItYnVpbGRlci90ZXN0LW9yZGVyLWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZXN0LXNoaXBwaW5nLW1ldGhvZHMvdGVzdC1zaGlwcGluZy1tZXRob2RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVEZXRhaWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1kZXRhaWwvem9uZS1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgZGVsZXRlWm9uZXNCdWxrQWN0aW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbGlzdC96b25lLWxpc3QtYnVsay1hY3Rpb25zJztcclxuaW1wb3J0IHsgWm9uZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1saXN0L3pvbmUtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBab25lTWVtYmVyQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1jb250cm9scy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyByZW1vdmVab25lTWVtYmVyc0J1bGtBY3Rpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LWJ1bGstYWN0aW9ucyc7XHJcbmltcG9ydCB7IFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL3pvbmUtbWVtYmVyLWxpc3Qvem9uZS1tZW1iZXItbGlzdC1oZWFkZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWm9uZU1lbWJlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvem9uZS1tZW1iZXItbGlzdC96b25lLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGNyZWF0ZVJvdXRlcyB9IGZyb20gJy4vc2V0dGluZ3Mucm91dGVzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbU2hhcmVkTW9kdWxlLCBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoW10pXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogUk9VVEVTLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAocGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlKSA9PiBjcmVhdGVSb3V0ZXMocGFnZVNlcnZpY2UpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICAgICAgZGVwczogW1BhZ2VTZXJ2aWNlXSxcclxuICAgICAgICB9LFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFRheENhdGVnb3J5TGlzdENvbXBvbmVudCxcclxuICAgICAgICBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlTGlzdENvbXBvbmVudCxcclxuICAgICAgICBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEFkbWluRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFBlcm1pc3Npb25HcmlkQ29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgVGF4UmF0ZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICBDaGFubmVsRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ01ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kTGlzdENvbXBvbmVudCxcclxuICAgICAgICBQYXltZW50TWV0aG9kRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RPcmRlckJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVGVzdEFkZHJlc3NGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTZWxsZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFNoaXBwaW5nTWV0aG9kVGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBTaGlwcGluZ0VsaWdpYmlsaXR5VGVzdFJlc3VsdENvbXBvbmVudCxcclxuICAgICAgICBab25lTGlzdENvbXBvbmVudCxcclxuICAgICAgICBBZGRDb3VudHJ5VG9ab25lRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIFpvbmVNZW1iZXJMaXN0SGVhZGVyRGlyZWN0aXZlLFxyXG4gICAgICAgIFpvbmVNZW1iZXJDb250cm9sc0RpcmVjdGl2ZSxcclxuICAgICAgICBQcm9maWxlQ29tcG9uZW50LFxyXG4gICAgICAgIFRlc3RTaGlwcGluZ01ldGhvZHNDb21wb25lbnQsXHJcbiAgICAgICAgWm9uZURldGFpbENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uTGlzdENvbXBvbmVudCxcclxuICAgICAgICBTdG9ja0xvY2F0aW9uRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzTW9kdWxlIHtcclxuICAgIHByaXZhdGUgc3RhdGljIGhhc1JlZ2lzdGVyZWRUYWJzQW5kQnVsa0FjdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlOiBCdWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLCBwYWdlU2VydmljZTogUGFnZVNlcnZpY2UpIHtcclxuICAgICAgICBpZiAoU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJ1bGtBY3Rpb25SZWdpc3RyeVNlcnZpY2UucmVnaXN0ZXJCdWxrQWN0aW9uKGRlbGV0ZVNlbGxlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQ2hhbm5lbHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlQWRtaW5pc3RyYXRvcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUm9sZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU2hpcHBpbmdNZXRob2RzVG9DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlU2hpcHBpbmdNZXRob2RzRnJvbUNoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVTaGlwcGluZ01ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduUGF5bWVudE1ldGhvZHNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVQYXltZW50TWV0aG9kc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlUGF5bWVudE1ldGhvZHNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlVGF4Q2F0ZWdvcmllc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVUYXhSYXRlc0J1bGtBY3Rpb24pO1xyXG5cclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihkZWxldGVDb3VudHJpZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlWm9uZXNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24ocmVtb3ZlWm9uZU1lbWJlcnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oYXNzaWduU3RvY2tMb2NhdGlvbnNUb0NoYW5uZWxCdWxrQWN0aW9uKTtcclxuICAgICAgICBidWxrQWN0aW9uUmVnaXN0cnlTZXJ2aWNlLnJlZ2lzdGVyQnVsa0FjdGlvbihyZW1vdmVTdG9ja0xvY2F0aW9uc0Zyb21DaGFubmVsQnVsa0FjdGlvbik7XHJcbiAgICAgICAgYnVsa0FjdGlvblJlZ2lzdHJ5U2VydmljZS5yZWdpc3RlckJ1bGtBY3Rpb24oZGVsZXRlU3RvY2tMb2NhdGlvbnNCdWxrQWN0aW9uKTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2VsbGVyLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2VsbGVycycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2VsbGVyTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzZWxsZXItZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5zZWxsZXInKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFNlbGxlckRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTZWxsZXJEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NlbGxlcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctc2VsbGVyJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY2hhbm5lbC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNoYW5uZWxzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBDaGFubmVsTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdjaGFubmVsLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuY2hhbm5lbCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQ2hhbm5lbERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRDaGFubmVsRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdjaGFubmVsJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBlbnRpdHkuY29kZSA9PT0gREVGQVVMVF9DSEFOTkVMX0NPREVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdjb21tb24uZGVmYXVsdC1jaGFubmVsJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZW50aXR5LmNvZGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1jaGFubmVsJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnYWRtaW5pc3RyYXRvci1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmFkbWluaXN0cmF0b3JzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBBZG1pbmlzdHJhdG9yTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdhZG1pbmlzdHJhdG9yLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MuYWRtaW5pc3RyYXRvcicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogQWRtaW5EZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0QWRtaW5pc3RyYXRvckRldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnYWRtaW5pc3RyYXRvcicsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7ZW50aXR5LmZpcnN0TmFtZX0gJHtlbnRpdHkubGFzdE5hbWV9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfKCdhZG1pbi5jcmVhdGUtbmV3LWFkbWluaXN0cmF0b3InKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdyb2xlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucm9sZXMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFJvbGVMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3JvbGUtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5yb2xlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBSb2xlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFJvbGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3JvbGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5LmRlc2NyaXB0aW9uIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1yb2xlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc2hpcHBpbmctbWV0aG9kLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIuc2hpcHBpbmctbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2RMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3NoaXBwaW5nLW1ldGhvZC1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnNoaXBwaW5nLW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU2hpcHBpbmdNZXRob2REZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0U2hpcHBpbmdNZXRob2REZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3NoaXBwaW5nTWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1zaGlwcGluZy1tZXRob2QnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluazogW2VudGl0eT8uaWRdLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdzaGlwcGluZy1tZXRob2QtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGVzdC1zaGlwcGluZy1tZXRob2RzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAndGVzdCcsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogVGVzdFNoaXBwaW5nTWV0aG9kc0NvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICdwYXltZW50LW1ldGhvZC1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnBheW1lbnQtbWV0aG9kcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAncGF5bWVudC1tZXRob2QtZGV0YWlsJyxcclxuICAgICAgICAgICAgdGFiOiBfKCdzZXR0aW5ncy5wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogUGF5bWVudE1ldGhvZERldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRQYXltZW50TWV0aG9kRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdwYXltZW50TWV0aG9kJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnc2V0dGluZ3MuY3JlYXRlLW5ldy1wYXltZW50LW1ldGhvZCcpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1jYXRlZ29yeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLnRheC1jYXRlZ29yaWVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAndGF4LWNhdGVnb3J5LWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnc2V0dGluZ3MudGF4LWNhdGVnb3J5JyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhDYXRlZ29yeURldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRUYXhDYXRlZ29yeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAndGF4Q2F0ZWdvcnknLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1jYXRlZ29yeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3RheC1yYXRlLWxpc3QnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIudGF4LXJhdGVzJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlTGlzdENvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuICAgICAgICBwYWdlU2VydmljZS5yZWdpc3RlclBhZ2VUYWIoe1xyXG4gICAgICAgICAgICBwcmlvcml0eTogMCxcclxuICAgICAgICAgICAgbG9jYXRpb246ICd0YXgtcmF0ZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnRheC1yYXRlJyksXHJcbiAgICAgICAgICAgIHJvdXRlOiAnJyxcclxuICAgICAgICAgICAgY29tcG9uZW50OiBkZXRhaWxDb21wb25lbnRXaXRoUmVzb2x2ZXIoe1xyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBUYXhSYXRlRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgcXVlcnk6IEdldFRheFJhdGVEZXRhaWxEb2N1bWVudCxcclxuICAgICAgICAgICAgICAgIGVudGl0eUtleTogJ3RheFJhdGUnLFxyXG4gICAgICAgICAgICAgICAgZ2V0QnJlYWRjcnVtYnM6IGVudGl0eSA9PiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogZW50aXR5ID8gZW50aXR5Lm5hbWUgOiBfKCdzZXR0aW5ncy5jcmVhdGUtbmV3LXRheC1yYXRlJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1saXN0JyxcclxuICAgICAgICAgICAgdGFiOiBfKCdicmVhZGNydW1iLmNvdW50cmllcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogQ291bnRyeUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnY291bnRyeS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLmNvdW50cnknKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IENvdW50cnlEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Q291bnRyeURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnY291bnRyeScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctY291bnRyeScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3pvbmUtbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi56b25lcycpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogWm9uZUxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnem9uZS1kZXRhaWwnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ3NldHRpbmdzLnpvbmUnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IGRldGFpbENvbXBvbmVudFdpdGhSZXNvbHZlcih7XHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IFpvbmVEZXRhaWxDb21wb25lbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeTogR2V0Wm9uZURldGFpbERvY3VtZW50LFxyXG4gICAgICAgICAgICAgICAgZW50aXR5S2V5OiAnem9uZScsXHJcbiAgICAgICAgICAgICAgICBnZXRCcmVhZGNydW1iczogZW50aXR5ID0+IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiBlbnRpdHkgPyBlbnRpdHkubmFtZSA6IF8oJ3NldHRpbmdzLmNyZWF0ZS1uZXctem9uZScpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5rOiBbZW50aXR5Py5pZF0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ2dsb2JhbC1zZXR0aW5nLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnYnJlYWRjcnVtYi5nbG9iYWwtc2V0dGluZ3MnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IEdsb2JhbFNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3Byb2ZpbGUnLFxyXG4gICAgICAgICAgICB0YWI6IF8oJ2JyZWFkY3J1bWIucHJvZmlsZScpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogUHJvZmlsZUNvbXBvbmVudCxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgcGFnZVNlcnZpY2UucmVnaXN0ZXJQYWdlVGFiKHtcclxuICAgICAgICAgICAgcHJpb3JpdHk6IDAsXHJcbiAgICAgICAgICAgIGxvY2F0aW9uOiAnc3RvY2stbG9jYXRpb24tbGlzdCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbnMnKSxcclxuICAgICAgICAgICAgcm91dGU6ICcnLFxyXG4gICAgICAgICAgICBjb21wb25lbnQ6IFN0b2NrTG9jYXRpb25MaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHBhZ2VTZXJ2aWNlLnJlZ2lzdGVyUGFnZVRhYih7XHJcbiAgICAgICAgICAgIHByaW9yaXR5OiAwLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogJ3N0b2NrLWxvY2F0aW9uLWRldGFpbCcsXHJcbiAgICAgICAgICAgIHRhYjogXygnY2F0YWxvZy5zdG9jay1sb2NhdGlvbicpLFxyXG4gICAgICAgICAgICByb3V0ZTogJycsXHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogZGV0YWlsQ29tcG9uZW50V2l0aFJlc29sdmVyKHtcclxuICAgICAgICAgICAgICAgIGNvbXBvbmVudDogU3RvY2tMb2NhdGlvbkRldGFpbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgIHF1ZXJ5OiBHZXRTdG9ja0xvY2F0aW9uRGV0YWlsRG9jdW1lbnQsXHJcbiAgICAgICAgICAgICAgICBlbnRpdHlLZXk6ICdzdG9ja0xvY2F0aW9uJyxcclxuICAgICAgICAgICAgICAgIGdldEJyZWFkY3J1bWJzOiBlbnRpdHkgPT4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGVudGl0eSA/IGVudGl0eS5uYW1lIDogXygnY2F0YWxvZy5jcmVhdGUtbmV3LXN0b2NrLWxvY2F0aW9uJyksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IFtlbnRpdHk/LmlkXSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgU2V0dGluZ3NNb2R1bGUuaGFzUmVnaXN0ZXJlZFRhYnNBbmRCdWxrQWN0aW9ucyA9IHRydWU7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -8,11 +8,11 @@ export class HealthCheckComponent {
|
|
|
8
8
|
constructor(healthCheckService) {
|
|
9
9
|
this.healthCheckService = healthCheckService;
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HealthCheckComponent, deps: [{ token: i1.HealthCheckService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: HealthCheckComponent, selector: "vdr-health-check", ngImport: i0, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\r\n <div class=\"status-icon\">\r\n <clr-icon\r\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\r\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\r\n size=\"48\"\r\n ></clr-icon>\r\n </div>\r\n <div class=\"status-detail\">\r\n <ng-container *ngIf=\"status === 'ok'; else error\">\r\n {{ 'system.health-all-systems-up' | translate }}\r\n </ng-container>\r\n <ng-template #error>\r\n {{ 'system.health-error' | translate }}\r\n </ng-template>\r\n <div class=\"last-checked\">\r\n {{ 'system.health-last-checked' | translate }}:\r\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\r\n </div>\r\n </div>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\r\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\r\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n <vdr-page-block>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th class=\"left\">\r\n {{ 'common.name' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-status' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-message' | translate }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\r\n <td class=\"align-middle left\">{{ row.key }}</td>\r\n <td class=\"align-middle left\">\r\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\r\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\r\n <clr-icon shape=\"check-circle\"></clr-icon>\r\n {{ 'system.health-status-up' | translate }}\r\n </ng-container>\r\n <ng-template #down>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.health-status-down' | translate }}\r\n </ng-template>\r\n </vdr-chip>\r\n </td>\r\n <td class=\"align-middle left\">{{ row.result.message }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </vdr-page-block>\r\n</vdr-page-body>\r\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"], dependencies: [{ kind: "directive", type: i2.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HealthCheckComponent, decorators: [{
|
|
15
15
|
type: Component,
|
|
16
16
|
args: [{ selector: 'vdr-health-check', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"system-status-header\" *ngIf=\"healthCheckService.status$ | async as status\">\r\n <div class=\"status-icon\">\r\n <clr-icon\r\n [attr.shape]=\"status === 'ok' ? 'check-circle' : 'exclamation-circle'\"\r\n [ngClass]=\"{ 'is-success': status === 'ok', 'is-danger': status !== 'ok' }\"\r\n size=\"48\"\r\n ></clr-icon>\r\n </div>\r\n <div class=\"status-detail\">\r\n <ng-container *ngIf=\"status === 'ok'; else error\">\r\n {{ 'system.health-all-systems-up' | translate }}\r\n </ng-container>\r\n <ng-template #error>\r\n {{ 'system.health-error' | translate }}\r\n </ng-template>\r\n <div class=\"last-checked\">\r\n {{ 'system.health-last-checked' | translate }}:\r\n {{ healthCheckService.lastCheck$ | async | localeDate : 'mediumTime' }}\r\n </div>\r\n </div>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"system-status\"></vdr-action-bar-items>\r\n <button class=\"btn btn-secondary\" (click)=\"healthCheckService.refresh()\">\r\n <clr-icon shape=\"refresh\"></clr-icon> {{ 'system.health-refresh' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n <vdr-page-block>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th class=\"left\">\r\n {{ 'common.name' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-status' | translate }}\r\n </th>\r\n <th class=\"left\">\r\n {{ 'system.health-message' | translate }}\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of healthCheckService.details$ | async\">\r\n <td class=\"align-middle left\">{{ row.key }}</td>\r\n <td class=\"align-middle left\">\r\n <vdr-chip [colorType]=\"row.result.status === 'up' ? 'success' : 'error'\">\r\n <ng-container *ngIf=\"row.result.status === 'up'; else down\">\r\n <clr-icon shape=\"check-circle\"></clr-icon>\r\n {{ 'system.health-status-up' | translate }}\r\n </ng-container>\r\n <ng-template #down>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.health-status-down' | translate }}\r\n </ng-template>\r\n </vdr-chip>\r\n </td>\r\n <td class=\"align-middle left\">{{ row.result.message }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </vdr-page-block>\r\n</vdr-page-body>\r\n", styles: [".system-status-header{display:flex;justify-content:space-between;align-items:flex-start}.system-status-header .status-detail{font-weight:700;margin-inline-end:6px}.system-status-header .last-checked{font-weight:400;color:var(--color-grey-500)}\n"] }]
|
|
17
17
|
}], ctorParameters: () => [{ type: i1.HealthCheckService }] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhbHRoLWNoZWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc3lzdGVtL3NyYy9jb21wb25lbnRzL2hlYWx0aC1jaGVjay9oZWFsdGgtY2hlY2suY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvaGVhbHRoLWNoZWNrL2hlYWx0aC1jaGVjay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFTbkUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixZQUFtQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7K0dBRHBELG9CQUFvQjttR0FBcEIsb0JBQW9CLHdEQ1RqQyw4a0hBeUVBOzs0RkRoRWEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIZWFsdGhDaGVja1NlcnZpY2UgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItaGVhbHRoLWNoZWNrJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9oZWFsdGgtY2hlY2suY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vaGVhbHRoLWNoZWNrLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWx0aENoZWNrQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBoZWFsdGhDaGVja1NlcnZpY2U6IEhlYWx0aENoZWNrU2VydmljZSkge31cclxufVxyXG4iLCI8dmRyLXBhZ2UtaGVhZGVyPlxyXG4gICAgPHZkci1wYWdlLXRpdGxlPjwvdmRyLXBhZ2UtdGl0bGU+XHJcbjwvdmRyLXBhZ2UtaGVhZGVyPlxyXG48dmRyLXBhZ2UtYm9keT5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWFjdGlvbi1iYXI+XHJcbiAgICAgICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzeXN0ZW0tc3RhdHVzLWhlYWRlclwiICpuZ0lmPVwiaGVhbHRoQ2hlY2tTZXJ2aWNlLnN0YXR1cyQgfCBhc3luYyBhcyBzdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zaGFwZV09XCJzdGF0dXMgPT09ICdvaycgPyAnY2hlY2stY2lyY2xlJyA6ICdleGNsYW1hdGlvbi1jaXJjbGUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLXN1Y2Nlc3MnOiBzdGF0dXMgPT09ICdvaycsICdpcy1kYW5nZXInOiBzdGF0dXMgIT09ICdvaycgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiNDhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWRldGFpbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RhdHVzID09PSAnb2snOyBlbHNlIGVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnc3lzdGVtLmhlYWx0aC1hbGwtc3lzdGVtcy11cCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnc3lzdGVtLmhlYWx0aC1lcnJvcicgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhc3QtY2hlY2tlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtbGFzdC1jaGVja2VkJyB8IHRyYW5zbGF0ZSB9fTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlYWx0aENoZWNrU2VydmljZS5sYXN0Q2hlY2skIHwgYXN5bmMgfCBsb2NhbGVEYXRlIDogJ21lZGl1bVRpbWUnIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvdmRyLWFiLWxlZnQ+XHJcbiAgICAgICAgICAgIDx2ZHItYWItcmlnaHQ+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWFjdGlvbi1iYXItaXRlbXMgbG9jYXRpb25JZD1cInN5c3RlbS1zdGF0dXNcIj48L3Zkci1hY3Rpb24tYmFyLWl0ZW1zPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImhlYWx0aENoZWNrU2VydmljZS5yZWZyZXNoKClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJyZWZyZXNoXCI+PC9jbHItaWNvbj4ge3sgJ3N5c3RlbS5oZWFsdGgtcmVmcmVzaCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1yaWdodD5cclxuICAgICAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZVwiPlxyXG4gICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzPVwibGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm5hbWUnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uaGVhbHRoLXN0YXR1cycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzcz1cImxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtbWVzc2FnZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCByb3cgb2YgaGVhbHRoQ2hlY2tTZXJ2aWNlLmRldGFpbHMkIHwgYXN5bmNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJhbGlnbi1taWRkbGUgbGVmdFwiPnt7IHJvdy5rZXkgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImFsaWduLW1pZGRsZSBsZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcCBbY29sb3JUeXBlXT1cInJvdy5yZXN1bHQuc3RhdHVzID09PSAndXAnID8gJ3N1Y2Nlc3MnIDogJ2Vycm9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvdy5yZXN1bHQuc3RhdHVzID09PSAndXAnOyBlbHNlIGRvd25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJjaGVjay1jaXJjbGVcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uaGVhbHRoLXN0YXR1cy11cCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5oZWFsdGgtc3RhdHVzLWRvd24nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiYWxpZ24tbWlkZGxlIGxlZnRcIj57eyByb3cucmVzdWx0Lm1lc3NhZ2UgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuPC92ZHItcGFnZS1ib2R5PlxyXG4iXX0=
|
|
@@ -62,11 +62,11 @@ export class JobListComponent extends BaseListComponent {
|
|
|
62
62
|
cancelJob(id) {
|
|
63
63
|
this.dataService.settings.cancelJob(id).subscribe(() => this.refresh());
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: JobListComponent, selector: "vdr-job-list", usesInheritance: true, ngImport: i0, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-wrapper class=\"mr-2\">\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n <ng-select\r\n class=\"mr-2\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [formControl]=\"stateFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-option [value]=\"''\">\r\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'PENDING'\">\r\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'RUNNING'\">\r\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'COMPLETED'\">\r\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'FAILED'\">\r\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'CANCELLED'\">\r\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\r\n </ng-option>\r\n </ng-select>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n\r\n <vdr-data-table-2\r\n id=\"job-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\r\n <ng-template let-job=\"item\">\r\n {{ job.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\r\n <ng-template let-job=\"item\">\r\n {{ job.createdAt | timeAgo }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\r\n <ng-template let-job=\"item\">\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\r\n <ng-template let-job=\"item\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"button-small\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\r\n <ng-template let-job=\"item\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\r\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\r\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\r\n </div>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\r\n <ng-template let-job=\"item\">\r\n {{ job.duration | duration }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\r\n <ng-template let-job=\"item\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"button-small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n </vdr-data-table-2>\r\n</vdr-page-body>\r\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i3.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i3.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i6.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex"], outputs: ["pageChange", "itemsPerPageChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i7.JobStateLabelComponent, selector: "vdr-job-state-label", inputs: ["job"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i1.TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: i1.DurationPipe, name: "duration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: JobListComponent, deps: [{ token: i1.DataService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: JobListComponent, selector: "vdr-job-list", usesInheritance: true, ngImport: i0, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-wrapper class=\"mr-2\">\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n <ng-select\r\n class=\"mr-2\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [formControl]=\"stateFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-option [value]=\"''\">\r\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'PENDING'\">\r\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'RUNNING'\">\r\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'COMPLETED'\">\r\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'FAILED'\">\r\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'CANCELLED'\">\r\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\r\n </ng-option>\r\n </ng-select>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n\r\n <vdr-data-table-2\r\n id=\"job-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\r\n <ng-template let-job=\"item\">\r\n {{ job.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\r\n <ng-template let-job=\"item\">\r\n {{ job.createdAt | timeAgo }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\r\n <ng-template let-job=\"item\">\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\r\n <ng-template let-job=\"item\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"button-small\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\r\n <ng-template let-job=\"item\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\r\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\r\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\r\n </div>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\r\n <ng-template let-job=\"item\">\r\n {{ job.duration | duration }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\r\n <ng-template let-job=\"item\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"button-small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n </vdr-data-table-2>\r\n</vdr-page-body>\r\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"], dependencies: [{ kind: "directive", type: i3.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i3.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i3.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i3.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "component", type: i6.NgOptionComponent, selector: "ng-option", inputs: ["value", "disabled"] }, { kind: "directive", type: i6.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i6.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "component", type: i1.ActionBarComponent, selector: "vdr-action-bar" }, { kind: "component", type: i1.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { kind: "component", type: i1.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { kind: "component", type: i1.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "directive", type: i1.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i1.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i1.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i1.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "directive", type: i1.DropdownItemDirective, selector: "[vdrDropdownItem]" }, { kind: "component", type: i1.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { kind: "component", type: i1.ActionBarItemsComponent, selector: "vdr-action-bar-items" }, { kind: "component", type: i1.DataTable2Component, selector: "vdr-data-table-2", inputs: ["id", "items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "filters", "activeIndex"], outputs: ["pageChange", "itemsPerPageChange", "visibleColumnsChange"] }, { kind: "component", type: i1.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i1.PageHeaderComponent, selector: "vdr-page-header" }, { kind: "component", type: i1.PageTitleComponent, selector: "vdr-page-title", inputs: ["title"] }, { kind: "component", type: i1.PageBodyComponent, selector: "vdr-page-body" }, { kind: "component", type: i1.PageBlockComponent, selector: "vdr-page-block" }, { kind: "component", type: i7.JobStateLabelComponent, selector: "vdr-job-state-label", inputs: ["job"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i1.HasPermissionPipe, name: "hasPermission" }, { kind: "pipe", type: i1.TimeAgoPipe, name: "timeAgo" }, { kind: "pipe", type: i1.DurationPipe, name: "duration" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: JobListComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
70
|
args: [{ selector: 'vdr-job-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-page-header>\r\n <vdr-page-title></vdr-page-title>\r\n</vdr-page-header>\r\n<vdr-page-body>\r\n <vdr-page-block>\r\n <vdr-action-bar>\r\n <vdr-ab-left>\r\n <clr-checkbox-wrapper class=\"mr-2\">\r\n <input type=\"checkbox\" clrCheckbox [formControl]=\"liveUpdate\" name=\"live-update\" />\r\n <label>{{ 'common.live-update' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"job-list\"></vdr-action-bar-items>\r\n <ng-select\r\n class=\"mr-2\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n [formControl]=\"stateFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-option [value]=\"''\">\r\n <vdr-chip>{{ 'system.job-state-all' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'PENDING'\">\r\n <vdr-chip>{{ 'system.job-state-pending' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'RUNNING'\">\r\n <vdr-chip colorType=\"warning\">{{ 'system.job-state-running' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'COMPLETED'\">\r\n <vdr-chip colorType=\"success\">{{ 'system.job-state-completed' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'FAILED'\">\r\n <vdr-chip colorType=\"error\">{{ 'system.job-state-failed' | translate }}</vdr-chip>\r\n </ng-option>\r\n <ng-option [value]=\"'CANCELLED'\">\r\n <vdr-chip colorType=\"error\">{{ 'system.job-state-cancelled' | translate }}</vdr-chip>\r\n </ng-option>\r\n </ng-select>\r\n <ng-select\r\n [addTag]=\"false\"\r\n [items]=\"queues$ | async\"\r\n [hideSelected]=\"true\"\r\n [multiple]=\"false\"\r\n [markFirst]=\"false\"\r\n [clearable]=\"false\"\r\n [searchable]=\"false\"\r\n bindValue=\"name\"\r\n [formControl]=\"queueFilter\"\r\n (change)=\"refresh()\"\r\n >\r\n <ng-template ng-label-tmp ng-option-tmp let-item=\"item\">\r\n <ng-container *ngIf=\"item.name === 'all'; else others\">\r\n <vdr-chip>{{ 'system.all-job-queues' | translate }}</vdr-chip>\r\n </ng-container>\r\n <ng-template #others>\r\n <vdr-chip [colorFrom]=\"item.name\">{{ item.name }}</vdr-chip>\r\n </ng-template>\r\n </ng-template>\r\n </ng-select>\r\n </vdr-ab-right>\r\n </vdr-action-bar>\r\n </vdr-page-block>\r\n\r\n <vdr-data-table-2\r\n id=\"job-list\"\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n >\r\n <vdr-dt2-column [heading]=\"'common.id' | translate\" id=\"id\">\r\n <ng-template let-job=\"item\">\r\n {{ job.id }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'common.created-at' | translate\" id=\"created-at\">\r\n <ng-template let-job=\"item\">\r\n {{ job.createdAt | timeAgo }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-queue-name' | translate\" id=\"job-queue-name\" [optional]=\"false\">\r\n <ng-template let-job=\"item\">\r\n <vdr-chip [colorFrom]=\"job.queueName\">{{ job.queueName }}</vdr-chip>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-data' | translate\" id=\"job-data\" [optional]=\"false\">\r\n <ng-template let-job=\"item\">\r\n <vdr-dropdown *ngIf=\"job.data\">\r\n <button\r\n class=\"button-small\"\r\n vdrDropdownTrigger\r\n [title]=\"'system.job-data' | translate\"\r\n >\r\n <clr-icon shape=\"details\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.data\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-state' | translate\" id=\"job-state\">\r\n <ng-template let-job=\"item\">\r\n <vdr-job-state-label [job]=\"job\"></vdr-job-state-label>\r\n <div *ngIf=\"job.state === 'FAILED'\" class=\"retry-info\">after {{ job.attempts }} attempts</div>\r\n <div *ngIf=\"job.state === 'RUNNING' || job.state === 'RETRYING'\" class=\"retry-info\">\r\n attempting {{ job.attempts }} of {{ job.retries + 1 }}\r\n </div>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-duration' | translate\" id=\"job-duration\">\r\n <ng-template let-job=\"item\">\r\n {{ job.duration | duration }}\r\n </ng-template>\r\n </vdr-dt2-column>\r\n <vdr-dt2-column [heading]=\"'system.job-result' | translate\" id=\"job-result\">\r\n <ng-template let-job=\"item\">\r\n <vdr-dropdown *ngIf=\"hasResult(job)\">\r\n <button class=\"button-small mr-1\" vdrDropdownTrigger>\r\n <clr-icon shape=\"details\"></clr-icon>\r\n {{ 'system.job-result' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n <vdr-object-tree [value]=\"job.result\"></vdr-object-tree>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"job.error\">\r\n <button class=\"button-small\" vdrDropdownTrigger>\r\n <clr-icon shape=\"exclamation-circle\"></clr-icon>\r\n {{ 'system.job-error' | translate }}\r\n </button>\r\n <vdr-dropdown-menu>\r\n <div class=\"result-detail\">\r\n {{ job.error }}\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <vdr-dropdown *ngIf=\"!job.isSettled && job.state !== 'FAILED'\">\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\" size=\"12\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"cancelJob(job.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteSystem'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"ban\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-template>\r\n </vdr-dt2-column>\r\n </vdr-data-table-2>\r\n</vdr-page-body>\r\n", styles: [".result-detail{margin:0 12px}.retry-info{margin-inline-start:6px;color:var(--color-grey-400)}\n"] }]
|
|
71
71
|
}], ctorParameters: () => [{ type: i1.DataService }, { type: i2.Router }, { type: i2.ActivatedRoute }] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvam9iLWxpc3Qvam9iLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvam9iLWxpc3Qvam9iLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNILGlCQUFpQixFQU1qQixTQUFTLEdBQ1osTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBUXhELE1BQU0sT0FBTyxnQkFDVCxTQUFRLGlCQUFtRTtJQVEzRSxZQUFvQixXQUF3QixFQUFFLE1BQWMsRUFBRSxLQUFxQjtRQUMvRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBREwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKNUMsZUFBVSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBb0IsRUFBRSxDQUFDLENBQUM7UUFJakQsS0FBSyxDQUFDLFVBQVUsQ0FDWixDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsRUFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNqQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNYLE1BQU0sV0FBVyxHQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDM0MsT0FBTztnQkFDSCxPQUFPLEVBQUU7b0JBQ0wsSUFBSTtvQkFDSixJQUFJO29CQUNKLE1BQU0sRUFBRTt3QkFDSixHQUFHLFdBQVc7d0JBQ2QsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUN6RDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO3FCQUM1QjtpQkFDSjthQUNKLENBQUM7UUFDTixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ1osSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FDeEM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDbkMsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQzthQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBb0M7UUFDMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs4R0FoRVEsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsMkVDckI3QiwraVJBMEtBOzsyRkRySmEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlTGlzdENvbXBvbmVudCxcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0QWxsSm9ic1F1ZXJ5LFxyXG4gICAgR2V0Sm9iUXVldWVMaXN0UXVlcnksXHJcbiAgICBJdGVtT2YsXHJcbiAgICBKb2JTdGF0ZSxcclxuICAgIFNvcnRPcmRlcixcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItam9iLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2pvYi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2pvYi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEpvYkxpc3RDb21wb25lbnRcclxuICAgIGV4dGVuZHMgQmFzZUxpc3RDb21wb25lbnQ8R2V0QWxsSm9ic1F1ZXJ5LCBJdGVtT2Y8R2V0QWxsSm9ic1F1ZXJ5LCAnam9icyc+PlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gICAgcXVldWVzJDogT2JzZXJ2YWJsZTxHZXRKb2JRdWV1ZUxpc3RRdWVyeVsnam9iUXVldWVzJ10+O1xyXG4gICAgbGl2ZVVwZGF0ZSA9IG5ldyBGb3JtQ29udHJvbCh0cnVlKTtcclxuICAgIHF1ZXVlRmlsdGVyID0gbmV3IEZvcm1Db250cm9sKCdhbGwnKTtcclxuICAgIHN0YXRlRmlsdGVyID0gbmV3IEZvcm1Db250cm9sPEpvYlN0YXRlIHwgc3RyaW5nPignJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHJvdXRlcjogUm91dGVyLCByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgICBzdXBlcihyb3V0ZXIsIHJvdXRlKTtcclxuICAgICAgICBzdXBlci5zZXRRdWVyeUZuKFxyXG4gICAgICAgICAgICAoLi4uYXJnczogYW55W10pID0+IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3MuZ2V0QWxsSm9icyguLi5hcmdzKSxcclxuICAgICAgICAgICAgZGF0YSA9PiBkYXRhLmpvYnMsXHJcbiAgICAgICAgICAgIChza2lwLCB0YWtlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBxdWV1ZUZpbHRlciA9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWV1ZUZpbHRlci52YWx1ZSA9PT0gJ2FsbCcgPyBudWxsIDogeyBxdWV1ZU5hbWU6IHsgZXE6IHRoaXMucXVldWVGaWx0ZXIudmFsdWUgfSB9O1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdGVGaWx0ZXIgPSB0aGlzLnN0YXRlRmlsdGVyLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucXVldWVGaWx0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4oc3RhdGVGaWx0ZXIgPyB7IHN0YXRlOiB7IGVxOiBzdGF0ZUZpbHRlciB9IH0gOiB7fSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogU29ydE9yZGVyLkRFU0MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRpbWVyKDUwMDAsIDIwMDApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5saXZlVXBkYXRlLnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnF1ZXVlcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5nZXRKb2JRdWV1ZXMoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKHJlcyA9PiByZXMuam9iUXVldWVzKVxyXG4gICAgICAgICAgICAucGlwZShtYXAocXVldWVzID0+IFt7IG5hbWU6ICdhbGwnLCBydW5uaW5nOiB0cnVlIH0sIC4uLnF1ZXVlc10pKTtcclxuICAgIH1cclxuXHJcbiAgICBoYXNSZXN1bHQoam9iOiBJdGVtT2Y8R2V0QWxsSm9ic1F1ZXJ5LCAnam9icyc+KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gam9iLnJlc3VsdDtcclxuICAgICAgICBpZiAocmVzdWx0ID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoID4gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsSm9iKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzLmNhbmNlbEpvYihpZCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLXBhZ2UtaGVhZGVyPlxyXG4gICAgPHZkci1wYWdlLXRpdGxlPjwvdmRyLXBhZ2UtdGl0bGU+XHJcbjwvdmRyLXBhZ2UtaGVhZGVyPlxyXG48dmRyLXBhZ2UtYm9keT5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWFjdGlvbi1iYXI+XHJcbiAgICAgICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgICAgIDxjbHItY2hlY2tib3gtd3JhcHBlciBjbGFzcz1cIm1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xyQ2hlY2tib3ggW2Zvcm1Db250cm9sXT1cImxpdmVVcGRhdGVcIiBuYW1lPVwibGl2ZS11cGRhdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAnY29tbW9uLmxpdmUtdXBkYXRlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Nsci1jaGVja2JveC13cmFwcGVyPlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1sZWZ0PlxyXG4gICAgICAgICAgICA8dmRyLWFiLXJpZ2h0PlxyXG4gICAgICAgICAgICAgICAgPHZkci1hY3Rpb24tYmFyLWl0ZW1zIGxvY2F0aW9uSWQ9XCJqb2ItbGlzdFwiPjwvdmRyLWFjdGlvbi1iYXItaXRlbXM+XHJcbiAgICAgICAgICAgICAgICA8bmctc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtci0yXCJcclxuICAgICAgICAgICAgICAgICAgICBbYWRkVGFnXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbaGlkZVNlbGVjdGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21hcmtGaXJzdF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGF0ZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJyZWZyZXNoKClcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1vcHRpb24gW3ZhbHVlXT1cIicnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcD57eyAnc3lzdGVtLmpvYi1zdGF0ZS1hbGwnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInUEVORElORydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwPnt7ICdzeXN0ZW0uam9iLXN0YXRlLXBlbmRpbmcnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInUlVOTklORydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cIndhcm5pbmdcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1ydW5uaW5nJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLW9wdGlvbiBbdmFsdWVdPVwiJ0NPTVBMRVRFRCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cInN1Y2Nlc3NcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1jb21wbGV0ZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInRkFJTEVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXAgY29sb3JUeXBlPVwiZXJyb3JcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1mYWlsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInQ0FOQ0VMTEVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXAgY29sb3JUeXBlPVwiZXJyb3JcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1jYW5jZWxsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPG5nLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgIFthZGRUYWddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJxdWV1ZXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWFya0ZpcnN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1ZXVlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInJlZnJlc2goKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5uYW1lID09PSAnYWxsJzsgZWxzZSBvdGhlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcD57eyAnc3lzdGVtLmFsbC1qb2ItcXVldWVzJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI290aGVycz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcCBbY29sb3JGcm9tXT1cIml0ZW0ubmFtZVwiPnt7IGl0ZW0ubmFtZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1yaWdodD5cclxuICAgICAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuXHJcbiAgICA8dmRyLWRhdGEtdGFibGUtMlxyXG4gICAgICAgIGlkPVwiam9iLWxpc3RcIlxyXG4gICAgICAgIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiXHJcbiAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZSQgfCBhc3luY1wiXHJcbiAgICAgICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICAgICAgICAoaXRlbXNQZXJQYWdlQ2hhbmdlKT1cInNldEl0ZW1zUGVyUGFnZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5pZCcgfCB0cmFuc2xhdGVcIiBpZD1cImlkXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAge3sgam9iLmlkIH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiIGlkPVwiY3JlYXRlZC1hdFwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWpvYj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIHt7IGpvYi5jcmVhdGVkQXQgfCB0aW1lQWdvIH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ3N5c3RlbS5qb2ItcXVldWUtbmFtZScgfCB0cmFuc2xhdGVcIiBpZD1cImpvYi1xdWV1ZS1uYW1lXCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPHZkci1jaGlwIFtjb2xvckZyb21dPVwiam9iLnF1ZXVlTmFtZVwiPnt7IGpvYi5xdWV1ZU5hbWUgfX08L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICAgICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidzeXN0ZW0uam9iLWRhdGEnIHwgdHJhbnNsYXRlXCIgaWQ9XCJqb2ItZGF0YVwiIFtvcHRpb25hbF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWpvYj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24gKm5nSWY9XCJqb2IuZGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZHJEcm9wZG93blRyaWdnZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidzeXN0ZW0uam9iLWRhdGEnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImRldGFpbHNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItb2JqZWN0LXRyZWUgW3ZhbHVlXT1cImpvYi5kYXRhXCI+PC92ZHItb2JqZWN0LXRyZWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInc3lzdGVtLmpvYi1zdGF0ZScgfCB0cmFuc2xhdGVcIiBpZD1cImpvYi1zdGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWpvYj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDx2ZHItam9iLXN0YXRlLWxhYmVsIFtqb2JdPVwiam9iXCI+PC92ZHItam9iLXN0YXRlLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImpvYi5zdGF0ZSA9PT0gJ0ZBSUxFRCdcIiBjbGFzcz1cInJldHJ5LWluZm9cIj5hZnRlciB7eyBqb2IuYXR0ZW1wdHMgfX0gYXR0ZW1wdHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqb2Iuc3RhdGUgPT09ICdSVU5OSU5HJyB8fCBqb2Iuc3RhdGUgPT09ICdSRVRSWUlORydcIiBjbGFzcz1cInJldHJ5LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICBhdHRlbXB0aW5nIHt7IGpvYi5hdHRlbXB0cyB9fSBvZiB7eyBqb2IucmV0cmllcyArIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICAgICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidzeXN0ZW0uam9iLWR1cmF0aW9uJyB8IHRyYW5zbGF0ZVwiIGlkPVwiam9iLWR1cmF0aW9uXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAge3sgam9iLmR1cmF0aW9uIHwgZHVyYXRpb24gfX1cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInc3lzdGVtLmpvYi1yZXN1bHQnIHwgdHJhbnNsYXRlXCIgaWQ9XCJqb2ItcmVzdWx0XCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPHZkci1kcm9wZG93biAqbmdJZj1cImhhc1Jlc3VsdChqb2IpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbi1zbWFsbCBtci0xXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJkZXRhaWxzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5qb2ItcmVzdWx0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItb2JqZWN0LXRyZWUgW3ZhbHVlXT1cImpvYi5yZXN1bHRcIj48L3Zkci1vYmplY3QtdHJlZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgPHZkci1kcm9wZG93biAqbmdJZj1cImpvYi5lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24tc21hbGxcIiB2ZHJEcm9wZG93blRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uam9iLWVycm9yJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGpvYi5lcnJvciB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWRyb3Bkb3duICpuZ0lmPVwiIWpvYi5pc1NldHRsZWQgJiYgam9iLnN0YXRlICE9PSAnRkFJTEVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpY29uLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZWxsaXBzaXMtdmVydGljYWxcIiBzaXplPVwiMTJcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsSm9iKGpvYi5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoWydEZWxldGVTZXR0aW5ncycsICdEZWxldGVTeXN0ZW0nXSB8IGhhc1Blcm1pc3Npb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJiYW5cIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8L3Zkci1kYXRhLXRhYmxlLTI+XHJcbjwvdmRyLXBhZ2UtYm9keT5cclxuIl19
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvam9iLWxpc3Qvam9iLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvam9iLWxpc3Qvam9iLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNILGlCQUFpQixFQU1qQixTQUFTLEdBQ1osTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQWMsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBUXhELE1BQU0sT0FBTyxnQkFDVCxTQUFRLGlCQUFtRTtJQVEzRSxZQUFvQixXQUF3QixFQUFFLE1BQWMsRUFBRSxLQUFxQjtRQUMvRSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBREwsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFKNUMsZUFBVSxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsZ0JBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBb0IsRUFBRSxDQUFDLENBQUM7UUFJakQsS0FBSyxDQUFDLFVBQVUsQ0FDWixDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsRUFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUNqQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNYLE1BQU0sV0FBVyxHQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDM0MsT0FBTztnQkFDSCxPQUFPLEVBQUU7b0JBQ0wsSUFBSTtvQkFDSixJQUFJO29CQUNKLE1BQU0sRUFBRTt3QkFDSixHQUFHLFdBQVc7d0JBQ2QsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUN6RDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxJQUFJO3FCQUM1QjtpQkFDSjthQUNKLENBQUM7UUFDTixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQ1osSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FDeEM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO1FBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7YUFDbkMsWUFBWSxFQUFFO2FBQ2QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQzthQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBb0M7UUFDMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqQixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFVO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQzsrR0FoRVEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsMkVDckI3QiwraVJBMEtBOzs0RkRySmEsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNJLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgICBCYXNlTGlzdENvbXBvbmVudCxcclxuICAgIERhdGFTZXJ2aWNlLFxyXG4gICAgR2V0QWxsSm9ic1F1ZXJ5LFxyXG4gICAgR2V0Sm9iUXVldWVMaXN0UXVlcnksXHJcbiAgICBJdGVtT2YsXHJcbiAgICBKb2JTdGF0ZSxcclxuICAgIFNvcnRPcmRlcixcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGltZXIgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItam9iLWxpc3QnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2pvYi1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2pvYi1saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEpvYkxpc3RDb21wb25lbnRcclxuICAgIGV4dGVuZHMgQmFzZUxpc3RDb21wb25lbnQ8R2V0QWxsSm9ic1F1ZXJ5LCBJdGVtT2Y8R2V0QWxsSm9ic1F1ZXJ5LCAnam9icyc+PlxyXG4gICAgaW1wbGVtZW50cyBPbkluaXRcclxue1xyXG4gICAgcXVldWVzJDogT2JzZXJ2YWJsZTxHZXRKb2JRdWV1ZUxpc3RRdWVyeVsnam9iUXVldWVzJ10+O1xyXG4gICAgbGl2ZVVwZGF0ZSA9IG5ldyBGb3JtQ29udHJvbCh0cnVlKTtcclxuICAgIHF1ZXVlRmlsdGVyID0gbmV3IEZvcm1Db250cm9sKCdhbGwnKTtcclxuICAgIHN0YXRlRmlsdGVyID0gbmV3IEZvcm1Db250cm9sPEpvYlN0YXRlIHwgc3RyaW5nPignJyk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UsIHJvdXRlcjogUm91dGVyLCByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcclxuICAgICAgICBzdXBlcihyb3V0ZXIsIHJvdXRlKTtcclxuICAgICAgICBzdXBlci5zZXRRdWVyeUZuKFxyXG4gICAgICAgICAgICAoLi4uYXJnczogYW55W10pID0+IHRoaXMuZGF0YVNlcnZpY2Uuc2V0dGluZ3MuZ2V0QWxsSm9icyguLi5hcmdzKSxcclxuICAgICAgICAgICAgZGF0YSA9PiBkYXRhLmpvYnMsXHJcbiAgICAgICAgICAgIChza2lwLCB0YWtlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBxdWV1ZUZpbHRlciA9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5xdWV1ZUZpbHRlci52YWx1ZSA9PT0gJ2FsbCcgPyBudWxsIDogeyBxdWV1ZU5hbWU6IHsgZXE6IHRoaXMucXVldWVGaWx0ZXIudmFsdWUgfSB9O1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc3RhdGVGaWx0ZXIgPSB0aGlzLnN0YXRlRmlsdGVyLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNraXAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucXVldWVGaWx0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi4oc3RhdGVGaWx0ZXIgPyB7IHN0YXRlOiB7IGVxOiBzdGF0ZUZpbHRlciB9IH0gOiB7fSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWRBdDogU29ydE9yZGVyLkRFU0MsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRpbWVyKDUwMDAsIDIwMDApXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKCgpID0+ICEhdGhpcy5saXZlVXBkYXRlLnZhbHVlKSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnF1ZXVlcyQgPSB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzXHJcbiAgICAgICAgICAgIC5nZXRKb2JRdWV1ZXMoKVxyXG4gICAgICAgICAgICAubWFwU3RyZWFtKHJlcyA9PiByZXMuam9iUXVldWVzKVxyXG4gICAgICAgICAgICAucGlwZShtYXAocXVldWVzID0+IFt7IG5hbWU6ICdhbGwnLCBydW5uaW5nOiB0cnVlIH0sIC4uLnF1ZXVlc10pKTtcclxuICAgIH1cclxuXHJcbiAgICBoYXNSZXN1bHQoam9iOiBJdGVtT2Y8R2V0QWxsSm9ic1F1ZXJ5LCAnam9icyc+KTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gam9iLnJlc3VsdDtcclxuICAgICAgICBpZiAocmVzdWx0ID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoID4gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsSm9iKGlkOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnNldHRpbmdzLmNhbmNlbEpvYihpZCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLXBhZ2UtaGVhZGVyPlxyXG4gICAgPHZkci1wYWdlLXRpdGxlPjwvdmRyLXBhZ2UtdGl0bGU+XHJcbjwvdmRyLXBhZ2UtaGVhZGVyPlxyXG48dmRyLXBhZ2UtYm9keT5cclxuICAgIDx2ZHItcGFnZS1ibG9jaz5cclxuICAgICAgICA8dmRyLWFjdGlvbi1iYXI+XHJcbiAgICAgICAgICAgIDx2ZHItYWItbGVmdD5cclxuICAgICAgICAgICAgICAgIDxjbHItY2hlY2tib3gtd3JhcHBlciBjbGFzcz1cIm1yLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xyQ2hlY2tib3ggW2Zvcm1Db250cm9sXT1cImxpdmVVcGRhdGVcIiBuYW1lPVwibGl2ZS11cGRhdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAnY29tbW9uLmxpdmUtdXBkYXRlJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8L2Nsci1jaGVja2JveC13cmFwcGVyPlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1sZWZ0PlxyXG4gICAgICAgICAgICA8dmRyLWFiLXJpZ2h0PlxyXG4gICAgICAgICAgICAgICAgPHZkci1hY3Rpb24tYmFyLWl0ZW1zIGxvY2F0aW9uSWQ9XCJqb2ItbGlzdFwiPjwvdmRyLWFjdGlvbi1iYXItaXRlbXM+XHJcbiAgICAgICAgICAgICAgICA8bmctc2VsZWN0XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtci0yXCJcclxuICAgICAgICAgICAgICAgICAgICBbYWRkVGFnXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbaGlkZVNlbGVjdGVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW21hcmtGaXJzdF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzdGF0ZUZpbHRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJyZWZyZXNoKClcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1vcHRpb24gW3ZhbHVlXT1cIicnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcD57eyAnc3lzdGVtLmpvYi1zdGF0ZS1hbGwnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInUEVORElORydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwPnt7ICdzeXN0ZW0uam9iLXN0YXRlLXBlbmRpbmcnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInUlVOTklORydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cIndhcm5pbmdcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1ydW5uaW5nJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLW9wdGlvbiBbdmFsdWVdPVwiJ0NPTVBMRVRFRCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHZkci1jaGlwIGNvbG9yVHlwZT1cInN1Y2Nlc3NcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1jb21wbGV0ZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInRkFJTEVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXAgY29sb3JUeXBlPVwiZXJyb3JcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1mYWlsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctb3B0aW9uIFt2YWx1ZV09XCInQ0FOQ0VMTEVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dmRyLWNoaXAgY29sb3JUeXBlPVwiZXJyb3JcIj57eyAnc3lzdGVtLmpvYi1zdGF0ZS1jYW5jZWxsZWQnIHwgdHJhbnNsYXRlIH19PC92ZHItY2hpcD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPG5nLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgICAgIFthZGRUYWddPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJxdWV1ZXMkIHwgYXN5bmNcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbbWFya0ZpcnN0XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xlYXJhYmxlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYmluZFZhbHVlPVwibmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInF1ZXVlRmlsdGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInJlZnJlc2goKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5uYW1lID09PSAnYWxsJzsgZWxzZSBvdGhlcnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcD57eyAnc3lzdGVtLmFsbC1qb2ItcXVldWVzJyB8IHRyYW5zbGF0ZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI290aGVycz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItY2hpcCBbY29sb3JGcm9tXT1cIml0ZW0ubmFtZVwiPnt7IGl0ZW0ubmFtZSB9fTwvdmRyLWNoaXA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbmctc2VsZWN0PlxyXG4gICAgICAgICAgICA8L3Zkci1hYi1yaWdodD5cclxuICAgICAgICA8L3Zkci1hY3Rpb24tYmFyPlxyXG4gICAgPC92ZHItcGFnZS1ibG9jaz5cclxuXHJcbiAgICA8dmRyLWRhdGEtdGFibGUtMlxyXG4gICAgICAgIGlkPVwiam9iLWxpc3RcIlxyXG4gICAgICAgIFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiXHJcbiAgICAgICAgW2l0ZW1zUGVyUGFnZV09XCJpdGVtc1BlclBhZ2UkIHwgYXN5bmNcIlxyXG4gICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXMkIHwgYXN5bmNcIlxyXG4gICAgICAgIFtjdXJyZW50UGFnZV09XCJjdXJyZW50UGFnZSQgfCBhc3luY1wiXHJcbiAgICAgICAgKHBhZ2VDaGFuZ2UpPVwic2V0UGFnZU51bWJlcigkZXZlbnQpXCJcclxuICAgICAgICAoaXRlbXNQZXJQYWdlQ2hhbmdlKT1cInNldEl0ZW1zUGVyUGFnZSgkZXZlbnQpXCJcclxuICAgID5cclxuICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5pZCcgfCB0cmFuc2xhdGVcIiBpZD1cImlkXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAge3sgam9iLmlkIH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiIGlkPVwiY3JlYXRlZC1hdFwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWpvYj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIHt7IGpvYi5jcmVhdGVkQXQgfCB0aW1lQWdvIH19XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC92ZHItZHQyLWNvbHVtbj5cclxuICAgICAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ3N5c3RlbS5qb2ItcXVldWUtbmFtZScgfCB0cmFuc2xhdGVcIiBpZD1cImpvYi1xdWV1ZS1uYW1lXCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPHZkci1jaGlwIFtjb2xvckZyb21dPVwiam9iLnF1ZXVlTmFtZVwiPnt7IGpvYi5xdWV1ZU5hbWUgfX08L3Zkci1jaGlwPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICAgICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidzeXN0ZW0uam9iLWRhdGEnIHwgdHJhbnNsYXRlXCIgaWQ9XCJqb2ItZGF0YVwiIFtvcHRpb25hbF09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWpvYj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24gKm5nSWY9XCJqb2IuZGF0YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZHJEcm9wZG93blRyaWdnZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cIidzeXN0ZW0uam9iLWRhdGEnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImRldGFpbHNcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItb2JqZWN0LXRyZWUgW3ZhbHVlXT1cImpvYi5kYXRhXCI+PC92ZHItb2JqZWN0LXRyZWU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duLW1lbnU+XHJcbiAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInc3lzdGVtLmpvYi1zdGF0ZScgfCB0cmFuc2xhdGVcIiBpZD1cImpvYi1zdGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWpvYj1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDx2ZHItam9iLXN0YXRlLWxhYmVsIFtqb2JdPVwiam9iXCI+PC92ZHItam9iLXN0YXRlLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImpvYi5zdGF0ZSA9PT0gJ0ZBSUxFRCdcIiBjbGFzcz1cInJldHJ5LWluZm9cIj5hZnRlciB7eyBqb2IuYXR0ZW1wdHMgfX0gYXR0ZW1wdHM8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqb2Iuc3RhdGUgPT09ICdSVU5OSU5HJyB8fCBqb2Iuc3RhdGUgPT09ICdSRVRSWUlORydcIiBjbGFzcz1cInJldHJ5LWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICBhdHRlbXB0aW5nIHt7IGpvYi5hdHRlbXB0cyB9fSBvZiB7eyBqb2IucmV0cmllcyArIDEgfX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICAgICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidzeXN0ZW0uam9iLWR1cmF0aW9uJyB8IHRyYW5zbGF0ZVwiIGlkPVwiam9iLWR1cmF0aW9uXCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAge3sgam9iLmR1cmF0aW9uIHwgZHVyYXRpb24gfX1cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3Zkci1kdDItY29sdW1uPlxyXG4gICAgICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInc3lzdGVtLmpvYi1yZXN1bHQnIHwgdHJhbnNsYXRlXCIgaWQ9XCJqb2ItcmVzdWx0XCI+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtam9iPVwiaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgPHZkci1kcm9wZG93biAqbmdJZj1cImhhc1Jlc3VsdChqb2IpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbi1zbWFsbCBtci0xXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJkZXRhaWxzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ3N5c3RlbS5qb2ItcmVzdWx0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2ZHItb2JqZWN0LXRyZWUgW3ZhbHVlXT1cImpvYi5yZXN1bHRcIj48L3Zkci1vYmplY3QtdHJlZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgPHZkci1kcm9wZG93biAqbmdJZj1cImpvYi5lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24tc21hbGxcIiB2ZHJEcm9wZG93blRyaWdnZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImV4Y2xhbWF0aW9uLWNpcmNsZVwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdzeXN0ZW0uam9iLWVycm9yJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlc3VsdC1kZXRhaWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGpvYi5lcnJvciB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxyXG4gICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICA8dmRyLWRyb3Bkb3duICpuZ0lmPVwiIWpvYi5pc1NldHRsZWQgJiYgam9iLnN0YXRlICE9PSAnRkFJTEVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpY29uLWJ1dHRvblwiIHZkckRyb3Bkb3duVHJpZ2dlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZWxsaXBzaXMtdmVydGljYWxcIiBzaXplPVwiMTJcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudSB2ZHJQb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsSm9iKGpvYi5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiEoWydEZWxldGVTZXR0aW5ncycsICdEZWxldGVTeXN0ZW0nXSB8IGhhc1Blcm1pc3Npb24pXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkckRyb3Bkb3duSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJiYW5cIiBjbGFzcz1cImlzLWRhbmdlclwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC92ZHItZHJvcGRvd24tbWVudT5cclxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvdmRyLWR0Mi1jb2x1bW4+XHJcbiAgICA8L3Zkci1kYXRhLXRhYmxlLTI+XHJcbjwvdmRyLXBhZ2UtYm9keT5cclxuIl19
|
|
@@ -34,13 +34,13 @@ export class JobStateLabelComponent {
|
|
|
34
34
|
return 'warning';
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
38
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: JobStateLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: JobStateLabelComponent, selector: "vdr-job-state-label", inputs: { job: "job" }, ngImport: i0, template: "<vdr-chip [colorType]=\"colorType\">\r\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\r\n {{ job.state | titlecase }}\r\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\r\n {{ (job.progress / 100) | percent }}\r\n </span>\r\n</vdr-chip>\r\n", styles: [".progress{margin-inline-start:3px}clr-icon{min-width:12px}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ChipComponent, selector: "vdr-chip", inputs: ["icon", "invert", "colorFrom", "colorType"], outputs: ["iconClick"] }, { kind: "pipe", type: i2.PercentPipe, name: "percent" }, { kind: "pipe", type: i2.TitleCasePipe, name: "titlecase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: JobStateLabelComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ selector: 'vdr-job-state-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-chip [colorType]=\"colorType\">\r\n <clr-icon [attr.shape]=\"iconShape\" class=\"mr1\"></clr-icon>\r\n {{ job.state | titlecase }}\r\n <span *ngIf=\"job.state === 'RUNNING'\" class=\"progress\">\r\n {{ (job.progress / 100) | percent }}\r\n </span>\r\n</vdr-chip>\r\n", styles: [".progress{margin-inline-start:3px}clr-icon{min-width:12px}\n"] }]
|
|
43
43
|
}], propDecorators: { job: [{
|
|
44
44
|
type: Input
|
|
45
45
|
}] } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLXN0YXRlLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc3lzdGVtL3NyYy9jb21wb25lbnRzL2pvYi1zdGF0ZS1sYWJlbC9qb2Itc3RhdGUtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zeXN0ZW0vc3JjL2NvbXBvbmVudHMvam9iLXN0YXRlLWxhYmVsL2pvYi1zdGF0ZS1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQW1CLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQVFuRSxNQUFNLE9BQU8sc0JBQXNCO0lBSS9CLElBQUksU0FBUztRQUNULFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixLQUFLLFFBQVEsQ0FBQyxTQUFTO2dCQUNuQixPQUFPLGNBQWMsQ0FBQztZQUMxQixLQUFLLFFBQVEsQ0FBQyxNQUFNO2dCQUNoQixPQUFPLG9CQUFvQixDQUFDO1lBQ2hDLEtBQUssUUFBUSxDQUFDLFNBQVM7Z0JBQ25CLE9BQU8sS0FBSyxDQUFDO1lBQ2pCLEtBQUssUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUN0QixLQUFLLFFBQVEsQ0FBQyxRQUFRO2dCQUNsQixPQUFPLFdBQVcsQ0FBQztZQUN2QixLQUFLLFFBQVEsQ0FBQyxPQUFPO2dCQUNqQixPQUFPLE1BQU0sQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksU0FBUztRQUNULFFBQVEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixLQUFLLFFBQVEsQ0FBQyxTQUFTO2dCQUNuQixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDckIsS0FBSyxRQUFRLENBQUMsU0FBUztnQkFDbkIsT0FBTyxPQUFPLENBQUM7WUFDbkIsS0FBSyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ3RCLEtBQUssUUFBUSxDQUFDLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDO1lBQ2QsS0FBSyxRQUFRLENBQUMsT0FBTztnQkFDakIsT0FBTyxTQUFTLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7K0dBakNRLHNCQUFzQjttR0FBdEIsc0JBQXNCLG1GQ1RuQyxvU0FPQTs7NEZERWEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNJLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxHQUFHO3NCQURGLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSm9iSW5mb0ZyYWdtZW50LCBKb2JTdGF0ZSB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1qb2Itc3RhdGUtbGFiZWwnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9qb2Itc3RhdGUtbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2pvYi1zdGF0ZS1sYWJlbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBKb2JTdGF0ZUxhYmVsQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIGpvYjogSm9iSW5mb0ZyYWdtZW50O1xuXG4gICAgZ2V0IGljb25TaGFwZSgpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuam9iLnN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLkNPTVBMRVRFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2NoZWNrLWNpcmNsZSc7XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLkZBSUxFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2V4Y2xhbWF0aW9uLWNpcmNsZSc7XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLkNBTkNFTExFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Jhbic7XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLlBFTkRJTkc6XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLlJFVFJZSU5HOlxuICAgICAgICAgICAgICAgIHJldHVybiAnaG91cmdsYXNzJztcbiAgICAgICAgICAgIGNhc2UgSm9iU3RhdGUuUlVOTklORzpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3N5bmMnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNvbG9yVHlwZSgpOiBzdHJpbmcge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuam9iLnN0YXRlKSB7XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLkNPTVBMRVRFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3N1Y2Nlc3MnO1xuICAgICAgICAgICAgY2FzZSBKb2JTdGF0ZS5GQUlMRUQ6XG4gICAgICAgICAgICBjYXNlIEpvYlN0YXRlLkNBTkNFTExFRDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcbiAgICAgICAgICAgIGNhc2UgSm9iU3RhdGUuUEVORElORzpcbiAgICAgICAgICAgIGNhc2UgSm9iU3RhdGUuUkVUUllJTkc6XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgY2FzZSBKb2JTdGF0ZS5SVU5OSU5HOlxuICAgICAgICAgICAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dmRyLWNoaXAgW2NvbG9yVHlwZV09XCJjb2xvclR5cGVcIj5cclxuICAgIDxjbHItaWNvbiBbYXR0ci5zaGFwZV09XCJpY29uU2hhcGVcIiBjbGFzcz1cIm1yMVwiPjwvY2xyLWljb24+XHJcbiAgICB7eyBqb2Iuc3RhdGUgfCB0aXRsZWNhc2UgfX1cclxuICAgIDxzcGFuICpuZ0lmPVwiam9iLnN0YXRlID09PSAnUlVOTklORydcIiBjbGFzcz1cInByb2dyZXNzXCI+XHJcbiAgICAgICAge3sgKGpvYi5wcm9ncmVzcyAvIDEwMCkgfCBwZXJjZW50IH19XHJcbiAgICA8L3NwYW4+XHJcbjwvdmRyLWNoaXA+XHJcbiJdfQ==
|