@alfresco/adf-core 8.1.0-15042271894 → 8.1.0-15043883503
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/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
- package/breadcrumbs/styles/_breadcrumb.theme.scss +4 -4
- package/custom-theme/material-theme.scss +4 -7
- package/custom-theme/theme/custom-theme-palettes.scss +8 -12
- package/custom-theme/theme/typography.scss +26 -26
- package/esm2022/api/lib/adf-http-client.service.mjs +4 -4
- package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +4 -4
- package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +4 -4
- package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +4 -4
- package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +4 -4
- package/esm2022/feature-flags/lib/directives/features.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +4 -4
- package/esm2022/feature-flags/lib/services/debug-features.service.mjs +4 -4
- package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +4 -4
- package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +4 -4
- package/esm2022/feature-flags/lib/services/storage-features.service.mjs +4 -4
- package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +4 -4
- package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +4 -4
- package/esm2022/lib/about/about-module-list/module-list.component.mjs +4 -4
- package/esm2022/lib/about/about-package/package-list.component.mjs +4 -4
- package/esm2022/lib/about/about-panel.directive.mjs +4 -4
- package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +4 -4
- package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +4 -4
- package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +4 -4
- package/esm2022/lib/about/about.component.mjs +4 -4
- package/esm2022/lib/about/about.module.mjs +5 -5
- package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +4 -4
- package/esm2022/lib/app-config/app-config.module.mjs +5 -5
- package/esm2022/lib/app-config/app-config.pipe.mjs +4 -4
- package/esm2022/lib/app-config/app-config.service.mjs +4 -4
- package/esm2022/lib/app-config/debug-app-config.service.mjs +4 -4
- package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/content-auth.mjs +4 -4
- package/esm2022/lib/auth/basic-auth/process-auth.mjs +4 -4
- package/esm2022/lib/auth/guard/auth-guard.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth-config.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/auth-routing.module.mjs +5 -5
- package/esm2022/lib/auth/oidc/auth.module.mjs +5 -5
- package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/retry-login.service.mjs +4 -4
- package/esm2022/lib/auth/oidc/token.interceptor.mjs +4 -4
- package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +4 -4
- package/esm2022/lib/auth/services/authentication.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-group.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-role.service.mjs +4 -4
- package/esm2022/lib/auth/services/identity-user.service.mjs +4 -4
- package/esm2022/lib/auth/services/jwt-helper.service.mjs +4 -4
- package/esm2022/lib/auth/services/oauth2.service.mjs +4 -4
- package/esm2022/lib/auth/services/time-sync.service.mjs +4 -4
- package/esm2022/lib/auth/services/user-access.service.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/blank-page/blank-page.component.mjs +4 -4
- package/esm2022/lib/blank-page/blank-page.module.mjs +5 -5
- package/esm2022/lib/button/button.component.mjs +4 -4
- package/esm2022/lib/card-view/card-view.module.mjs +5 -5
- package/esm2022/lib/card-view/components/base-card-view.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +4 -4
- package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +4 -4
- package/esm2022/lib/card-view/services/card-item-types.service.mjs +4 -4
- package/esm2022/lib/card-view/services/card-view-update.service.mjs +4 -4
- package/esm2022/lib/clipboard/clipboard.directive.mjs +7 -7
- package/esm2022/lib/clipboard/clipboard.module.mjs +5 -5
- package/esm2022/lib/clipboard/clipboard.service.mjs +4 -4
- package/esm2022/lib/comments/comment-list/comment-list.component.mjs +4 -4
- package/esm2022/lib/comments/comment-list/comment-list.module.mjs +5 -5
- package/esm2022/lib/comments/comments.component.mjs +4 -4
- package/esm2022/lib/comments/comments.module.mjs +5 -5
- package/esm2022/lib/common/mock/app-config.service.mock.mjs +4 -4
- package/esm2022/lib/common/services/cookie.service.mjs +4 -4
- package/esm2022/lib/common/services/download.service.mjs +4 -4
- package/esm2022/lib/common/services/highlight-transform.service.mjs +4 -4
- package/esm2022/lib/common/services/log.service.mjs +4 -4
- package/esm2022/lib/common/services/page-title.service.mjs +4 -4
- package/esm2022/lib/common/services/sort-by-category.service.mjs +4 -4
- package/esm2022/lib/common/services/storage.service.mjs +4 -4
- package/esm2022/lib/common/services/thumbnail.service.mjs +4 -4
- package/esm2022/lib/common/services/url.service.mjs +4 -4
- package/esm2022/lib/common/services/user-preferences.service.mjs +4 -4
- package/esm2022/lib/common/utils/date-fns-adapter.mjs +4 -4
- package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +4 -4
- package/esm2022/lib/common/utils/moment-date-adapter.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu-list.component.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.directive.mjs +4 -4
- package/esm2022/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/lib/core.module.mjs +5 -5
- package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +4 -4
- package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +4 -4
- package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +13 -13
- package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +4 -4
- package/esm2022/lib/datatable/data/data-table.schema.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +4 -4
- package/esm2022/lib/datatable/data-column/data-column.component.mjs +4 -4
- package/esm2022/lib/datatable/datatable.module.mjs +5 -5
- package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/loading-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +4 -4
- package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +4 -4
- package/esm2022/lib/datatable/services/datatable.service.mjs +4 -4
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/dialog/dialog.component.mjs +4 -4
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +4 -4
- package/esm2022/lib/directives/directive.module.mjs +5 -5
- package/esm2022/lib/directives/highlight.directive.mjs +4 -4
- package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +4 -4
- package/esm2022/lib/directives/logout.directive.mjs +4 -4
- package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +4 -4
- package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +4 -4
- package/esm2022/lib/directives/upload.directive.mjs +4 -4
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +4 -4
- package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +5 -5
- package/esm2022/lib/form/components/form-base.component.mjs +4 -4
- package/esm2022/lib/form/components/form-custom-button.directive.mjs +4 -4
- package/esm2022/lib/form/components/form-field/form-field.component.mjs +4 -4
- package/esm2022/lib/form/components/form-renderer.component.mjs +5 -5
- package/esm2022/lib/form/components/form-section/form-section.component.mjs +4 -4
- package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +4 -4
- package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +4 -4
- package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/date/date.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/error/error.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/header/header.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/json/json.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/number/number.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +4 -4
- package/esm2022/lib/form/components/widgets/text/text.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +4 -4
- package/esm2022/lib/form/components/widgets/widget.component.mjs +4 -4
- package/esm2022/lib/form/form-base.module.mjs +5 -5
- package/esm2022/lib/form/pipes/field-style.pipe.mjs +4 -4
- package/esm2022/lib/form/services/form-rendering.service.mjs +4 -4
- package/esm2022/lib/form/services/form.service.mjs +4 -4
- package/esm2022/lib/form/services/widget-visibility.service.mjs +4 -4
- package/esm2022/lib/header/header.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar-item.component.mjs +4 -4
- package/esm2022/lib/header/navbar/navbar.component.mjs +4 -4
- package/esm2022/lib/icon/icon.component.mjs +4 -4
- package/esm2022/lib/icon/icon.module.mjs +5 -5
- package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +4 -4
- package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +5 -5
- package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +13 -13
- package/esm2022/lib/info-drawer/info-drawer.component.mjs +7 -7
- package/esm2022/lib/info-drawer/info-drawer.module.mjs +5 -5
- package/esm2022/lib/language-menu/language-menu.component.mjs +4 -4
- package/esm2022/lib/language-menu/language-menu.module.mjs +5 -5
- package/esm2022/lib/language-menu/language-picker.component.mjs +4 -4
- package/esm2022/lib/language-menu/service/language.service.mjs +4 -4
- package/esm2022/lib/layout/components/header/header.component.mjs +4 -4
- package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +4 -4
- package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +13 -13
- package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +4 -4
- package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +4 -4
- package/esm2022/lib/layout/layout.module.mjs +5 -5
- package/esm2022/lib/login/components/login/login.component.mjs +4 -4
- package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +4 -4
- package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +4 -4
- package/esm2022/lib/login/directives/login-footer.directive.mjs +4 -4
- package/esm2022/lib/login/directives/login-header.directive.mjs +4 -4
- package/esm2022/lib/login/login.module.mjs +5 -5
- package/esm2022/lib/material.module.mjs +5 -5
- package/esm2022/lib/mock/cookie.service.mock.mjs +4 -4
- package/esm2022/lib/mock/translation.service.mock.mjs +4 -4
- package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +4 -4
- package/esm2022/lib/notifications/components/notification-history.component.mjs +4 -4
- package/esm2022/lib/notifications/notification-history.module.mjs +5 -5
- package/esm2022/lib/notifications/services/notification.service.mjs +4 -4
- package/esm2022/lib/pagination/infinite-pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.component.mjs +4 -4
- package/esm2022/lib/pagination/pagination.module.mjs +5 -5
- package/esm2022/lib/pipes/date-time.pipe.mjs +4 -4
- package/esm2022/lib/pipes/decimal-number.pipe.mjs +4 -4
- package/esm2022/lib/pipes/file-size.pipe.mjs +4 -4
- package/esm2022/lib/pipes/file-type.pipe.mjs +4 -4
- package/esm2022/lib/pipes/format-space.pipe.mjs +4 -4
- package/esm2022/lib/pipes/full-name.pipe.mjs +4 -4
- package/esm2022/lib/pipes/localized-date.pipe.mjs +4 -4
- package/esm2022/lib/pipes/multi-value.pipe.mjs +4 -4
- package/esm2022/lib/pipes/pipe.module.mjs +5 -5
- package/esm2022/lib/pipes/text-highlight.pipe.mjs +4 -4
- package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/pipes/truncate.pipe.mjs +4 -4
- package/esm2022/lib/pipes/user-initial.pipe.mjs +4 -4
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/search-text/search-text-input.component.mjs +4 -4
- package/esm2022/lib/search-text/search-text-input.module.mjs +5 -5
- package/esm2022/lib/search-text/search-trigger.directive.mjs +4 -4
- package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +4 -4
- package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +5 -5
- package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +4 -4
- package/esm2022/lib/templates/empty-content/empty-content.component.mjs +4 -4
- package/esm2022/lib/templates/error-content/error-content.component.mjs +4 -4
- package/esm2022/lib/templates/template.module.mjs +5 -5
- package/esm2022/lib/testing/core.story.module.mjs +5 -5
- package/esm2022/lib/testing/core.testing.module.mjs +5 -5
- package/esm2022/lib/testing/noop-auth.module.mjs +8 -8
- package/esm2022/lib/testing/noop-translate.module.mjs +8 -8
- package/esm2022/lib/toolbar/toolbar-divider.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar-title.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
- package/esm2022/lib/translation/translate-loader.service.mjs +4 -4
- package/esm2022/lib/translation/translation.service.mjs +4 -4
- package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +4 -4
- package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +4 -4
- package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +4 -4
- package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +4 -4
- package/esm2022/lib/viewer/components/viewer.component.mjs +4 -4
- package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +4 -4
- package/esm2022/lib/viewer/services/rendering-queue.services.mjs +4 -4
- package/esm2022/lib/viewer/services/view-util.service.mjs +4 -4
- package/esm2022/lib/viewer/viewer.module.mjs +5 -5
- package/esm2022/shell/lib/components/shell/shell.component.mjs +4 -4
- package/esm2022/shell/lib/shell.module.mjs +5 -5
- package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +2 -2
- package/fesm2022/adf-core.mjs +826 -826
- package/fesm2022/adf-core.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-api.mjs +4 -4
- package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
- package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +10 -10
- package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-feature-flags.mjs +37 -37
- package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
- package/fesm2022/alfresco-adf-core-shell.mjs +8 -8
- package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
- package/lib/styles/_index.scss +57 -57
- package/lib/styles/_typography.scss +13 -13
- package/package.json +9 -9
- package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
- package/schematics/migrations/schematics/migrations/7_0_0/index.js +2 -2
- package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
|
@@ -38,8 +38,8 @@ export const ABOUT_DIRECTIVES = [
|
|
|
38
38
|
];
|
|
39
39
|
/** @deprecated import `ABOUT_DIRECTIVES` or standalone components instead */
|
|
40
40
|
export class AboutModule {
|
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
42
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
42
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AboutModule, imports: [AboutExtensionListComponent,
|
|
43
43
|
AboutLicenseListComponent,
|
|
44
44
|
ModuleListComponent,
|
|
45
45
|
AboutRepositoryInfoComponent,
|
|
@@ -56,7 +56,7 @@ export class AboutModule {
|
|
|
56
56
|
AboutServerSettingsComponent,
|
|
57
57
|
AboutPanelDirective,
|
|
58
58
|
AboutComponent] }); }
|
|
59
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
59
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AboutModule, imports: [AboutExtensionListComponent,
|
|
60
60
|
AboutLicenseListComponent,
|
|
61
61
|
ModuleListComponent,
|
|
62
62
|
AboutRepositoryInfoComponent,
|
|
@@ -65,11 +65,11 @@ export class AboutModule {
|
|
|
65
65
|
AboutServerSettingsComponent,
|
|
66
66
|
AboutComponent] }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AboutModule, decorators: [{
|
|
69
69
|
type: NgModule,
|
|
70
70
|
args: [{
|
|
71
71
|
imports: [...ABOUT_DIRECTIVES],
|
|
72
72
|
exports: [...ABOUT_DIRECTIVES]
|
|
73
73
|
}]
|
|
74
74
|
}] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hYm91dC9hYm91dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seURBQXlELENBQUM7O0FBRXZHLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsbUJBQW1CO0lBQ25CLDRCQUE0QjtJQUM1QixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixtQkFBbUI7SUFDbkIsY0FBYztDQUNSLENBQUM7QUFFWCw2RUFBNkU7QUFLN0UsTUFBTSxPQUFPLFdBQVc7K0dBQVgsV0FBVztnSEFBWCxXQUFXLFlBaEJwQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsbUJBQW1CO1lBQ25CLGNBQWMsYUFSZCwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4Qiw0QkFBNEI7WUFDNUIsbUJBQW1CO1lBQ25CLGNBQWM7Z0hBUUwsV0FBVyxZQWhCcEIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFDbkIsNEJBQTRCO1lBQzVCLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBRTVCLGNBQWM7OzRGQVFMLFdBQVc7a0JBSnZCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYm91dFNlcnZlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9hYm91dC1zZXJ2ZXItc2V0dGluZ3MvYWJvdXQtc2VydmVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYm91dEV4dGVuc2lvbkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2Fib3V0LWV4dGVuc2lvbi1saXN0L2Fib3V0LWV4dGVuc2lvbi1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYm91dExpY2Vuc2VMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9hYm91dC1saWNlbnNlLWxpc3QvYWJvdXQtbGljZW5zZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWNrYWdlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYWJvdXQtcGFja2FnZS9wYWNrYWdlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEFib3V0U3RhdHVzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYWJvdXQtc3RhdHVzLWxpc3QvYWJvdXQtc3RhdHVzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE1vZHVsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2Fib3V0LW1vZHVsZS1saXN0L21vZHVsZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYm91dENvbXBvbmVudCB9IGZyb20gJy4vYWJvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEFib3V0UGFuZWxEaXJlY3RpdmUgfSBmcm9tICcuL2Fib3V0LXBhbmVsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBYm91dFJlcG9zaXRvcnlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9hYm91dC1yZXBvc2l0b3J5LWluZm8vYWJvdXQtcmVwb3NpdG9yeS1pbmZvLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBBQk9VVF9ESVJFQ1RJVkVTID0gW1xuICAgIEFib3V0RXh0ZW5zaW9uTGlzdENvbXBvbmVudCxcbiAgICBBYm91dExpY2Vuc2VMaXN0Q29tcG9uZW50LFxuICAgIE1vZHVsZUxpc3RDb21wb25lbnQsXG4gICAgQWJvdXRSZXBvc2l0b3J5SW5mb0NvbXBvbmVudCxcbiAgICBQYWNrYWdlTGlzdENvbXBvbmVudCxcbiAgICBBYm91dFN0YXR1c0xpc3RDb21wb25lbnQsXG4gICAgQWJvdXRTZXJ2ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBBYm91dFBhbmVsRGlyZWN0aXZlLFxuICAgIEFib3V0Q29tcG9uZW50XG5dIGFzIGNvbnN0O1xuXG4vKiogQGRlcHJlY2F0ZWQgaW1wb3J0IGBBQk9VVF9ESVJFQ1RJVkVTYCBvciBzdGFuZGFsb25lIGNvbXBvbmVudHMgaW5zdGVhZCAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uQUJPVVRfRElSRUNUSVZFU10sXG4gICAgZXhwb3J0czogWy4uLkFCT1VUX0RJUkVDVElWRVNdXG59KVxuZXhwb3J0IGNsYXNzIEFib3V0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -34,10 +34,10 @@ export class StoragePrefixFactory {
|
|
|
34
34
|
return this.storagePrefixFactory ? this.storagePrefixFactory.getPrefix() : of(prefix);
|
|
35
35
|
}));
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoragePrefixFactory, deps: [{ token: i1.AppConfigService }, { token: STORAGE_PREFIX_FACTORY_SERVICE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoragePrefixFactory, providedIn: 'root' }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StoragePrefixFactory, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{
|
|
43
43
|
providedIn: 'root'
|
|
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
48
48
|
type: Inject,
|
|
49
49
|
args: [STORAGE_PREFIX_FACTORY_SERVICE]
|
|
50
50
|
}] }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1zdG9yYWdlLXByZWZpeC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2FwcC1jb25maWctc3RvcmFnZS1wcmVmaXguZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBTTNDLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUE4QixnQ0FBZ0MsQ0FBQyxDQUFDO0FBS2hJLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsWUFDWSxnQkFBa0MsRUFHbEMsb0JBQWtEO1FBSGxELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFHbEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtJQUMzRCxDQUFDO0lBRUosU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUNwRSxTQUFTLENBQUMsQ0FBQyxNQUEwQixFQUFFLEVBQUU7WUFDckMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0QixDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFGLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQWxCUSxvQkFBb0Isa0RBSWpCLDhCQUE4QjttSEFKakMsb0JBQW9CLGNBRmpCLE1BQU07OzRGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlRLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgQXBwQ29uZmlnVmFsdWVzIH0gZnJvbSAnLi9hcHAtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBTdG9yYWdlUHJlZml4RmFjdG9yeVNlcnZpY2Uge1xuICAgIGdldFByZWZpeCgpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG59XG5cbmV4cG9ydCBjb25zdCBTVE9SQUdFX1BSRUZJWF9GQUNUT1JZX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48U3RvcmFnZVByZWZpeEZhY3RvcnlTZXJ2aWNlPignU1RPUkFHRV9QUkVGSVhfRkFDVE9SWV9TRVJWSUNFJyk7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmFnZVByZWZpeEZhY3Rvcnkge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoU1RPUkFHRV9QUkVGSVhfRkFDVE9SWV9TRVJWSUNFKVxuICAgICAgICBwcml2YXRlIHN0b3JhZ2VQcmVmaXhGYWN0b3J5PzogU3RvcmFnZVByZWZpeEZhY3RvcnlTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgZ2V0UHJlZml4KCk6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFwcENvbmZpZ1NlcnZpY2Uuc2VsZWN0KEFwcENvbmZpZ1ZhbHVlcy5TVE9SQUdFX1BSRUZJWCkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocHJlZml4OiBzdHJpbmcgfCB1bmRlZmluZWQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocHJlZml4KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihwcmVmaXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2VQcmVmaXhGYWN0b3J5ID8gdGhpcy5zdG9yYWdlUHJlZml4RmFjdG9yeS5nZXRQcmVmaXgoKSA6IG9mKHByZWZpeCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -19,15 +19,15 @@ import { AppConfigPipe } from './app-config.pipe';
|
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
/** @deprecated This module is deprecated, consider importing AppConfigPipe directly */
|
|
21
21
|
export class AppConfigModule {
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
24
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
23
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AppConfigModule, imports: [AppConfigPipe], exports: [AppConfigPipe] }); }
|
|
24
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigModule }); }
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigModule, decorators: [{
|
|
27
27
|
type: NgModule,
|
|
28
28
|
args: [{
|
|
29
29
|
imports: [AppConfigPipe],
|
|
30
30
|
exports: [AppConfigPipe]
|
|
31
31
|
}]
|
|
32
32
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2FwcC1jb25maWcvYXBwLWNvbmZpZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTWxELHVGQUF1RjtBQUN2RixNQUFNLE9BQU8sZUFBZTsrR0FBZixlQUFlO2dIQUFmLGVBQWUsWUFKZCxhQUFhLGFBQ2IsYUFBYTtnSEFHZCxlQUFlOzs0RkFBZixlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztvQkFDeEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcENvbmZpZ1BpcGUgfSBmcm9tICcuL2FwcC1jb25maWcucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0FwcENvbmZpZ1BpcGVdLFxuICAgIGV4cG9ydHM6IFtBcHBDb25maWdQaXBlXVxufSlcbi8qKiBAZGVwcmVjYXRlZCBUaGlzIG1vZHVsZSBpcyBkZXByZWNhdGVkLCBjb25zaWRlciBpbXBvcnRpbmcgQXBwQ29uZmlnUGlwZSBkaXJlY3RseSAqL1xuZXhwb3J0IGNsYXNzIEFwcENvbmZpZ01vZHVsZSB7fVxuIl19
|
|
@@ -25,14 +25,14 @@ export class AppConfigPipe {
|
|
|
25
25
|
transform(value, fallback) {
|
|
26
26
|
return this.config.get(value, fallback);
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigPipe, deps: [{ token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
29
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AppConfigPipe, isStandalone: true, name: "adfAppConfig" }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigPipe, decorators: [{
|
|
32
32
|
type: Pipe,
|
|
33
33
|
args: [{
|
|
34
34
|
name: 'adfAppConfig',
|
|
35
35
|
standalone: true
|
|
36
36
|
}]
|
|
37
37
|
}], ctorParameters: () => [{ type: i1.AppConfigService }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2FwcC1jb25maWcucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBTXhELE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLE1BQXdCO1FBQXhCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQUcsQ0FBQztJQUVoRCxTQUFTLENBQUMsS0FBYSxFQUFFLFFBQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0FMUSxhQUFhOzZHQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4vYXBwLWNvbmZpZy5zZXJ2aWNlJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdhZGZBcHBDb25maWcnLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBBcHBDb25maWdTZXJ2aWNlKSB7fVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGZhbGxiYWNrPzogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldCh2YWx1ZSwgZmFsbGJhY2spO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -231,13 +231,13 @@ export class AppConfigService {
|
|
|
231
231
|
});
|
|
232
232
|
return result;
|
|
233
233
|
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
235
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
235
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigService, providedIn: 'root' }); }
|
|
236
236
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AppConfigService, decorators: [{
|
|
238
238
|
type: Injectable,
|
|
239
239
|
args: [{
|
|
240
240
|
providedIn: 'root'
|
|
241
241
|
}]
|
|
242
242
|
}], ctorParameters: () => [] });
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUkzRiwyQkFBMkI7QUFFM0IscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBTixJQUFZLGVBc0JYO0FBdEJELFdBQVksZUFBZTtJQUN2Qix5REFBc0MsQ0FBQTtJQUN0QywwQ0FBdUIsQ0FBQTtJQUN2Qix5Q0FBc0IsQ0FBQTtJQUN0QixzQ0FBbUIsQ0FBQTtJQUNuQixnREFBNkIsQ0FBQTtJQUM3QixzQ0FBbUIsQ0FBQTtJQUNuQixpREFBOEIsQ0FBQTtJQUM5Qix3Q0FBcUIsQ0FBQTtJQUNyQixvREFBaUMsQ0FBQTtJQUNqQyxvREFBaUMsQ0FBQTtJQUNqQyxzRUFBbUQsQ0FBQTtJQUNuRCx5Q0FBc0IsQ0FBQTtJQUN0Qiw2Q0FBMEIsQ0FBQTtJQUMxQiw4Q0FBMkIsQ0FBQTtJQUMzQixpRUFBOEMsQ0FBQTtJQUM5Qyw4Q0FBMkIsQ0FBQTtJQUMzQiwrREFBNEMsQ0FBQTtJQUM1QyxrRUFBK0MsQ0FBQTtJQUMvQyw4REFBMkMsQ0FBQTtJ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QUFDLENBQUM7UUFDekQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssTUFBTSxDQUFDO1FBQzFGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sQ0FBQztRQUN2RixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUM7UUFFOUUsT0FBTztZQUNILEdBQUksTUFBMkI7WUFDL0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxRQUFRO1NBQ1gsQ0FBQztJQUNOLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVyxFQUFFLFFBQTZCO1FBQzNELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUVqQixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9DLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7OEdBL01RLGdCQUFnQjtrSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7MkZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFeHRlbnNpb25Db25maWcsIEV4dGVuc2lvblNlcnZpY2UsIG1lcmdlT2JqZWN0cyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBPcGVuaWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9pbnRlcmZhY2VzL29wZW5pZC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPYXV0aENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vYXV0aC9tb2RlbHMvb2F1dGgtY29uZmlnLm1vZGVsJztcblxuLyogc3BlbGxjaGVja2VyOiBkaXNhYmxlICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbmV4cG9ydCBlbnVtIEFwcENvbmZpZ1ZhbHVlcyB7XG4gICAgQVBQX0NPTkZJR19MQU5HVUFHRVNfS0VZID0gJ2xhbmd1YWdlcycsXG4gICAgUFJPVklERVJTID0gJ3Byb3ZpZGVycycsXG4gICAgT0FVVEhDT05GSUcgPSAnb2F1dGgyJyxcbiAgICBFQ01IT1NUID0gJ2VjbUhvc3QnLFxuICAgIEJBU0VTSEFSRVVSTCA9ICdiYXNlU2hhcmVVcmwnLFxuICAgIEJQTUhPU1QgPSAnYnBtSG9zdCcsXG4gICAgSURFTlRJVFlfSE9TVCA9ICdpZGVudGl0eUhvc3QnLFxuICAgIEFVVEhUWVBFID0gJ2F1dGhUeXBlJyxcbiAgICBDT05URVhUUk9PVEVDTSA9ICdjb250ZXh0Um9vdEVjbScsXG4gICAgQ09OVEVYVFJPT1RCUE0gPSAnY29udGV4dFJvb3RCcG0nLFxuICAgIEFMRlJFU0NPX1JFUE9TSVRPUllfTkFNRSA9ICdhbGZyZXNjb1JlcG9zaXRvcnlOYW1lJyxcbiAgICBMT0dfTEVWRUwgPSAnbG9nTGV2ZWwnLFxuICAgIExPR0lOX1JPVVRFID0gJ2xvZ2luUm91dGUnLFxuICAgIERJU0FCTEVDU1JGID0gJ2Rpc2FibGVDU1JGJyxcbiAgICBBVVRIX1dJVEhfQ1JFREVOVElBTFMgPSAnYXV0aC53aXRoQ3JlZGVudGlhbHMnLFxuICAgIEFQUExJQ0FUSU9OID0gJ2FwcGxpY2F0aW9uJyxcbiAgICBTVE9SQUdFX1BSRUZJWCA9ICdhcHBsaWNhdGlvbi5zdG9yYWdlUHJlZml4JyxcbiAgICBOT1RJRllfRFVSQVRJT04gPSAnbm90aWZpY2F0aW9uRGVmYXVsdER1cmF0aW9uJyxcbiAgICBDT05URU5UX1RJQ0tFVF9TVE9SQUdFX0xBQkVMID0gJ3RpY2tldC1FQ00nLFxuICAgIFBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwgPSAndGlja2V0LUJQTScsXG4gICAgVU5TQVZFRF9DSEFOR0VTX01PREFMX0hJRERFTiA9ICd1bnNhdmVkX2NoYW5nZXNfX21vZGFsX2hpZGRlbidcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBJTklUID0gJ2luaXQnLFxuICAgIExPQURJTkcgPSAnbG9hZGluZycsXG4gICAgTE9BREVEID0gJ2xvYWRlZCdcbn1cblxuLyogc3BlbGxjaGVja2VyOiBlbmFibGUgKi9cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdTZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcm90ZWN0ZWQgZXh0ZW5zaW9uU2VydmljZSA9IGluamVjdChFeHRlbnNpb25TZXJ2aWNlKTtcblxuICAgIGNvbmZpZzogYW55ID0ge1xuICAgICAgICBhcHBsaWNhdGlvbjoge1xuICAgICAgICAgICAgbmFtZTogJ0FsZnJlc2NvIEFERiBBcHBsaWNhdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgZWNtSG9zdDogJ2h0dHA6Ly97aG9zdG5hbWV9ezpwb3J0fS9lY20nLFxuICAgICAgICBicG1Ib3N0OiAnaHR0cDovL3tob3N0bmFtZX17OnBvcnR9L2JwbScsXG4gICAgICAgIGxvZ0xldmVsOiAnc2lsZW50J1xuICAgIH07XG5cbiAgICBzdGF0dXM6IFN0YXR1cyA9IFN0YXR1cy5JTklUO1xuICAgIHByb3RlY3RlZCBvbkxvYWRTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PGFueT47XG4gICAgb25Mb2FkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBnZXQgaXNMb2FkZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLkxPQURFRDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5vbkxvYWRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5vbkxvYWQgPSB0aGlzLm9uTG9hZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgdGhpcy5leHRlbnNpb25TZXJ2aWNlLnNldHVwJC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkV4dGVuc2lvbnNMb2FkZWQoY29uZmlnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVxdWVzdHMgbm90aWZpY2F0aW9uIG9mIGEgcHJvcGVydHkgdmFsdWUgd2hlbiBpdCBpcyBsb2FkZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIGRlc2lyZWQgcHJvcGVydHkgdmFsdWVcbiAgICAgKiBAcmV0dXJucyBQcm9wZXJ0eSB2YWx1ZSwgd2hlbiBsb2FkZWRcbiAgICAgKi9cbiAgICBzZWxlY3QocHJvcGVydHk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uTG9hZFN1YmplY3QucGlwZShcbiAgICAgICAgICAgIG1hcCgoY29uZmlnKSA9PiBPYmplY3RVdGlscy5nZXRWYWx1ZShjb25maWcsIHByb3BlcnR5KSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgYSBuYW1lZCBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZFxuICAgICAqIEByZXR1cm5zIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldDxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBsZXQgcmVzdWx0OiBhbnkgPSBPYmplY3RVdGlscy5nZXRWYWx1ZSh0aGlzLmNvbmZpZywga2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBrZXl3b3JkcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ2hvc3RuYW1lJywgdGhpcy5nZXRMb2NhdGlvbkhvc3RuYW1lKCkpO1xuICAgICAgICAgICAga2V5d29yZHMuc2V0KCc6cG9ydCcsIHRoaXMuZ2V0TG9jYXRpb25Qb3J0KCc6JykpO1xuICAgICAgICAgICAga2V5d29yZHMuc2V0KCdwb3J0JywgdGhpcy5nZXRMb2NhdGlvblBvcnQoKSk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ3Byb3RvY29sJywgdGhpcy5nZXRMb2NhdGlvblByb3RvY29sKCkpO1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5mb3JtYXRTdHJpbmcocmVzdWx0LCBrZXl3b3Jkcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5yZXBsYWNlKC97aG9zdG5hbWV9L2csIHRoaXMuZ2V0TG9jYXRpb25Ib3N0bmFtZSgpKSk7XG4gICAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkucmVwbGFjZSgvezpwb3J0fS9nLCB0aGlzLmdldExvY2F0aW9uUG9ydCgnOicpKSk7XG4gICAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkucmVwbGFjZSgve3Byb3RvY29sfS9nLCB0aGlzLmdldExvY2F0aW9uUHJvdG9jb2woKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsb2NhdGlvbi5wcm90b2NvbCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbi5wcm90b2NvbCBzdHJpbmdcbiAgICAgKi9cbiAgICBnZXRMb2NhdGlvblByb3RvY29sKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsb2NhdGlvbi5wcm90b2NvbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsb2NhdGlvbi5ob3N0bmFtZSBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldExvY2F0aW9uSG9zdG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxvY2F0aW9uLmhvc3RuYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvY2F0aW9uLnBvcnQgcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJlZml4IFRleHQgYWRkZWQgYmVmb3JlIHBvcnQgdmFsdWVcbiAgICAgKiBAcmV0dXJucyBQb3J0IHdpdGggcHJlZml4XG4gICAgICovXG4gICAgZ2V0TG9jYXRpb25Qb3J0KHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbG9jYXRpb24ucG9ydCA/IHByZWZpeCArIGxvY2F0aW9uLnBvcnQgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Mb2FkZWQoKSB7XG4gICAgICAgIHRoaXMub25Mb2FkU3ViamVjdC5uZXh0KHRoaXMuY29uZmlnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EYXRhTG9hZGVkKCkge1xuICAgICAgICB0aGlzLm9uTG9hZFN1YmplY3QubmV4dCh0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5leHRlbnNpb25TZXJ2aWNlLnNldHVwJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY29uZmlnKSA9PiB0aGlzLm9uRXh0ZW5zaW9uc0xvYWRlZChjb25maWcpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25FeHRlbnNpb25zTG9hZGVkKGNvbmZpZzogRXh0ZW5zaW9uQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUNvbmZpZyA9IGNvbmZpZy5hcHBDb25maWc7XG5cbiAgICAgICAgICAgIGlmIChjdXN0b21Db25maWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZyA9IG1lcmdlT2JqZWN0cyh0aGlzLmNvbmZpZywgY3VzdG9tQ29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIHRoZSBjb25maWcgZmlsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBhbiBvcHRpb25hbCBjYWxsYmFjayB0byBleGVjdXRlIHdoZW4gY29uZmlndXJhdGlvbiBpcyBsb2FkZWRcbiAgICAgKiBAcmV0dXJucyBOb3RpZmljYXRpb24gd2hlbiBsb2FkaW5nIGlzIGNvbXBsZXRlXG4gICAgICovXG4gICAgbG9hZChjYWxsYmFjaz86ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdVcmwgPSBgYXBwLmNvbmZpZy5qc29uP3Y9JHtEYXRlLm5vdygpfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLklOSVQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IFN0YXR1cy5MT0FESU5HO1xuICAgICAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQoY29uZmlnVXJsKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25maWcsIGRhdGEgfHwge30pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EYXRhTG9hZGVkKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdhcHAuY29uZmlnLmpzb24gY29udGFpbnMgdmFsaWRhdGlvbiBlcnJvcnMnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5jb25maWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0dXMgPT09IFN0YXR1cy5MT0FERUQpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0dXMgPT09IFN0YXR1cy5MT0FESU5HKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvYWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGwgdGhlIGRpc2NvdmVyeSBBUEkgdG8gZmV0Y2ggY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIGhvc3RJZHAgaG9zdCBhZGRyZXNzXG4gICAgICogQHJldHVybnMgRGlzY292ZXJ5IGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBsb2FkV2VsbEtub3duKGhvc3RJZHA6IHN0cmluZyk6IFByb21pc2U8T3BlbmlkQ29uZmlndXJhdGlvbj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5odHRwLmdldDxPcGVuaWRDb25maWd1cmF0aW9uPihgJHtob3N0SWRwfS8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmApLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKHJlczogT3BlbmlkQ29uZmlndXJhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2hvc3RJZHAgbm90IGNvcnJlY3RseSBjb25maWd1cmVkIG9yIHVucmVhY2hhYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPQXV0aDIgY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogQHJldHVybnMgYXV0aCBjb25maWcgbW9kZWxcbiAgICAgKi9cbiAgICBnZXQgb2F1dGgyKCk6IE9hdXRoQ29uZmlnTW9kZWwge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldChBcHBDb25maWdWYWx1ZXMuT0FVVEhDT05GSUcsIHt9KTtcbiAgICAgICAgY29uc3QgaW1wbGljaXRGbG93ID0gY29uZmlnWydpbXBsaWNpdEZsb3cnXSA9PT0gdHJ1ZSB8fCBjb25maWdbJ2ltcGxpY2l0RmxvdyddID09PSAndHJ1ZSc7XG4gICAgICAgIGNvbnN0IHNpbGVudExvZ2luID0gY29uZmlnWydzaWxlbnRMb2dpbiddID09PSB0cnVlIHx8IGNvbmZpZ1snc2lsZW50TG9naW4nXSA9PT0gJ3RydWUnO1xuICAgICAgICBjb25zdCBjb2RlRmxvdyA9IGNvbmZpZ1snY29kZUZsb3cnXSA9PT0gdHJ1ZSB8fCBjb25maWdbJ2NvZGVGbG93J10gPT09ICd0cnVlJztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uKGNvbmZpZyBhcyBPYXV0aENvbmZpZ01vZGVsKSxcbiAgICAgICAgICAgIGltcGxpY2l0RmxvdyxcbiAgICAgICAgICAgIHNpbGVudExvZ2luLFxuICAgICAgICAgICAgY29kZUZsb3dcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhzdHI6IHN0cmluZywga2V5d29yZHM6IE1hcDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmVzdWx0ID0gc3RyO1xuXG4gICAgICAgIGtleXdvcmRzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4cHIgPSBuZXcgUmVnRXhwKCd7JyArIGtleSArICd9JywgJ2dtJyk7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShleHByLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQW1CLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUkzRiwyQkFBMkI7QUFFM0IscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBTixJQUFZLGVBc0JYO0FBdEJELFdBQVksZUFBZTtJQUN2Qix5REFBc0MsQ0FBQTtJQUN0QywwQ0FBdUIsQ0FBQTtJQUN2Qix5Q0FBc0IsQ0FBQTtJQUN0QixzQ0FBbUIsQ0FBQTtJQUNuQixnREFBNkIsQ0FBQTtJQUM3QixzQ0FBbUIsQ0FBQTtJQUNuQixpREFBOEIsQ0FBQTtJQUM5Qix3Q0FBcUIsQ0FBQTtJQUNyQixvREFBaUMsQ0FBQTtJQUNqQyxvREFBaUMsQ0FBQTtJQUNqQyxzRUFBbUQsQ0FBQTtJQUNuRCx5Q0FBc0IsQ0FBQTtJQUN0Qiw2Q0FBMEIsQ0FBQTtJQUMxQiw4Q0FBMkIsQ0FBQTtJQUMzQixpRUFBOEMsQ0FBQTtJQUM5Qyw4Q0FBMkIsQ0FBQTtJQUMzQiwrREFBNEMsQ0FBQTtJQUM1QyxrRUFBK0MsQ0FBQTtJQUMvQyw4REFBMkMsQ0FBQTtJ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QUFDLENBQUM7UUFDekQsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssTUFBTSxDQUFDO1FBQzFGLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLE1BQU0sQ0FBQztRQUN2RixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUM7UUFFOUUsT0FBTztZQUNILEdBQUksTUFBMkI7WUFDL0IsWUFBWTtZQUNaLFdBQVc7WUFDWCxRQUFRO1NBQ1gsQ0FBQztJQUNOLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVyxFQUFFLFFBQTZCO1FBQzNELElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQztRQUVqQixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9DLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7K0dBL01RLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmIsTUFBTTs7NEZBRVQsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICcuLi9jb21tb24vdXRpbHMvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFeHRlbnNpb25Db25maWcsIEV4dGVuc2lvblNlcnZpY2UsIG1lcmdlT2JqZWN0cyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBPcGVuaWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9pbnRlcmZhY2VzL29wZW5pZC1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPYXV0aENvbmZpZ01vZGVsIH0gZnJvbSAnLi4vYXV0aC9tb2RlbHMvb2F1dGgtY29uZmlnLm1vZGVsJztcblxuLyogc3BlbGxjaGVja2VyOiBkaXNhYmxlICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zaGFkb3dcbmV4cG9ydCBlbnVtIEFwcENvbmZpZ1ZhbHVlcyB7XG4gICAgQVBQX0NPTkZJR19MQU5HVUFHRVNfS0VZID0gJ2xhbmd1YWdlcycsXG4gICAgUFJPVklERVJTID0gJ3Byb3ZpZGVycycsXG4gICAgT0FVVEhDT05GSUcgPSAnb2F1dGgyJyxcbiAgICBFQ01IT1NUID0gJ2VjbUhvc3QnLFxuICAgIEJBU0VTSEFSRVVSTCA9ICdiYXNlU2hhcmVVcmwnLFxuICAgIEJQTUhPU1QgPSAnYnBtSG9zdCcsXG4gICAgSURFTlRJVFlfSE9TVCA9ICdpZGVudGl0eUhvc3QnLFxuICAgIEFVVEhUWVBFID0gJ2F1dGhUeXBlJyxcbiAgICBDT05URVhUUk9PVEVDTSA9ICdjb250ZXh0Um9vdEVjbScsXG4gICAgQ09OVEVYVFJPT1RCUE0gPSAnY29udGV4dFJvb3RCcG0nLFxuICAgIEFMRlJFU0NPX1JFUE9TSVRPUllfTkFNRSA9ICdhbGZyZXNjb1JlcG9zaXRvcnlOYW1lJyxcbiAgICBMT0dfTEVWRUwgPSAnbG9nTGV2ZWwnLFxuICAgIExPR0lOX1JPVVRFID0gJ2xvZ2luUm91dGUnLFxuICAgIERJU0FCTEVDU1JGID0gJ2Rpc2FibGVDU1JGJyxcbiAgICBBVVRIX1dJVEhfQ1JFREVOVElBTFMgPSAnYXV0aC53aXRoQ3JlZGVudGlhbHMnLFxuICAgIEFQUExJQ0FUSU9OID0gJ2FwcGxpY2F0aW9uJyxcbiAgICBTVE9SQUdFX1BSRUZJWCA9ICdhcHBsaWNhdGlvbi5zdG9yYWdlUHJlZml4JyxcbiAgICBOT1RJRllfRFVSQVRJT04gPSAnbm90aWZpY2F0aW9uRGVmYXVsdER1cmF0aW9uJyxcbiAgICBDT05URU5UX1RJQ0tFVF9TVE9SQUdFX0xBQkVMID0gJ3RpY2tldC1FQ00nLFxuICAgIFBST0NFU1NfVElDS0VUX1NUT1JBR0VfTEFCRUwgPSAndGlja2V0LUJQTScsXG4gICAgVU5TQVZFRF9DSEFOR0VTX01PREFMX0hJRERFTiA9ICd1bnNhdmVkX2NoYW5nZXNfX21vZGFsX2hpZGRlbidcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNoYWRvd1xuZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgICBJTklUID0gJ2luaXQnLFxuICAgIExPQURJTkcgPSAnbG9hZGluZycsXG4gICAgTE9BREVEID0gJ2xvYWRlZCdcbn1cblxuLyogc3BlbGxjaGVja2VyOiBlbmFibGUgKi9cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBDb25maWdTZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcm90ZWN0ZWQgZXh0ZW5zaW9uU2VydmljZSA9IGluamVjdChFeHRlbnNpb25TZXJ2aWNlKTtcblxuICAgIGNvbmZpZzogYW55ID0ge1xuICAgICAgICBhcHBsaWNhdGlvbjoge1xuICAgICAgICAgICAgbmFtZTogJ0FsZnJlc2NvIEFERiBBcHBsaWNhdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgZWNtSG9zdDogJ2h0dHA6Ly97aG9zdG5hbWV9ezpwb3J0fS9lY20nLFxuICAgICAgICBicG1Ib3N0OiAnaHR0cDovL3tob3N0bmFtZX17OnBvcnR9L2JwbScsXG4gICAgICAgIGxvZ0xldmVsOiAnc2lsZW50J1xuICAgIH07XG5cbiAgICBzdGF0dXM6IFN0YXR1cyA9IFN0YXR1cy5JTklUO1xuICAgIHByb3RlY3RlZCBvbkxvYWRTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PGFueT47XG4gICAgb25Mb2FkOiBPYnNlcnZhYmxlPGFueT47XG5cbiAgICBnZXQgaXNMb2FkZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLkxPQURFRDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5vbkxvYWRTdWJqZWN0ID0gbmV3IFJlcGxheVN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5vbkxvYWQgPSB0aGlzLm9uTG9hZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICAgICAgdGhpcy5leHRlbnNpb25TZXJ2aWNlLnNldHVwJC5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkV4dGVuc2lvbnNMb2FkZWQoY29uZmlnKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVxdWVzdHMgbm90aWZpY2F0aW9uIG9mIGEgcHJvcGVydHkgdmFsdWUgd2hlbiBpdCBpcyBsb2FkZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJvcGVydHkgVGhlIGRlc2lyZWQgcHJvcGVydHkgdmFsdWVcbiAgICAgKiBAcmV0dXJucyBQcm9wZXJ0eSB2YWx1ZSwgd2hlbiBsb2FkZWRcbiAgICAgKi9cbiAgICBzZWxlY3QocHJvcGVydHk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uTG9hZFN1YmplY3QucGlwZShcbiAgICAgICAgICAgIG1hcCgoY29uZmlnKSA9PiBPYmplY3RVdGlscy5nZXRWYWx1ZShjb25maWcsIHByb3BlcnR5KSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgYSBuYW1lZCBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZFxuICAgICAqIEByZXR1cm5zIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldDxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBsZXQgcmVzdWx0OiBhbnkgPSBPYmplY3RVdGlscy5nZXRWYWx1ZSh0aGlzLmNvbmZpZywga2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBjb25zdCBrZXl3b3JkcyA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ2hvc3RuYW1lJywgdGhpcy5nZXRMb2NhdGlvbkhvc3RuYW1lKCkpO1xuICAgICAgICAgICAga2V5d29yZHMuc2V0KCc6cG9ydCcsIHRoaXMuZ2V0TG9jYXRpb25Qb3J0KCc6JykpO1xuICAgICAgICAgICAga2V5d29yZHMuc2V0KCdwb3J0JywgdGhpcy5nZXRMb2NhdGlvblBvcnQoKSk7XG4gICAgICAgICAgICBrZXl3b3Jkcy5zZXQoJ3Byb3RvY29sJywgdGhpcy5nZXRMb2NhdGlvblByb3RvY29sKCkpO1xuICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5mb3JtYXRTdHJpbmcocmVzdWx0LCBrZXl3b3Jkcyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KS5yZXBsYWNlKC97aG9zdG5hbWV9L2csIHRoaXMuZ2V0TG9jYXRpb25Ib3N0bmFtZSgpKSk7XG4gICAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkucmVwbGFjZSgvezpwb3J0fS9nLCB0aGlzLmdldExvY2F0aW9uUG9ydCgnOicpKSk7XG4gICAgICAgICAgICByZXN1bHQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHJlc3VsdCkucmVwbGFjZSgve3Byb3RvY29sfS9nLCB0aGlzLmdldExvY2F0aW9uUHJvdG9jb2woKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsb2NhdGlvbi5wcm90b2NvbCB2YWx1ZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFRoZSBsb2NhdGlvbi5wcm90b2NvbCBzdHJpbmdcbiAgICAgKi9cbiAgICBnZXRMb2NhdGlvblByb3RvY29sKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsb2NhdGlvbi5wcm90b2NvbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsb2NhdGlvbi5ob3N0bmFtZSBwcm9wZXJ0eS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIFZhbHVlIG9mIHRoZSBwcm9wZXJ0eVxuICAgICAqL1xuICAgIGdldExvY2F0aW9uSG9zdG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGxvY2F0aW9uLmhvc3RuYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxvY2F0aW9uLnBvcnQgcHJvcGVydHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcHJlZml4IFRleHQgYWRkZWQgYmVmb3JlIHBvcnQgdmFsdWVcbiAgICAgKiBAcmV0dXJucyBQb3J0IHdpdGggcHJlZml4XG4gICAgICovXG4gICAgZ2V0TG9jYXRpb25Qb3J0KHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbG9jYXRpb24ucG9ydCA/IHByZWZpeCArIGxvY2F0aW9uLnBvcnQgOiAnJztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Mb2FkZWQoKSB7XG4gICAgICAgIHRoaXMub25Mb2FkU3ViamVjdC5uZXh0KHRoaXMuY29uZmlnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EYXRhTG9hZGVkKCkge1xuICAgICAgICB0aGlzLm9uTG9hZFN1YmplY3QubmV4dCh0aGlzLmNvbmZpZyk7XG5cbiAgICAgICAgdGhpcy5leHRlbnNpb25TZXJ2aWNlLnNldHVwJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoY29uZmlnKSA9PiB0aGlzLm9uRXh0ZW5zaW9uc0xvYWRlZChjb25maWcpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25FeHRlbnNpb25zTG9hZGVkKGNvbmZpZzogRXh0ZW5zaW9uQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIGNvbnN0IGN1c3RvbUNvbmZpZyA9IGNvbmZpZy5hcHBDb25maWc7XG5cbiAgICAgICAgICAgIGlmIChjdXN0b21Db25maWcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZyA9IG1lcmdlT2JqZWN0cyh0aGlzLmNvbmZpZywgY3VzdG9tQ29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIHRoZSBjb25maWcgZmlsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayBhbiBvcHRpb25hbCBjYWxsYmFjayB0byBleGVjdXRlIHdoZW4gY29uZmlndXJhdGlvbiBpcyBsb2FkZWRcbiAgICAgKiBAcmV0dXJucyBOb3RpZmljYXRpb24gd2hlbiBsb2FkaW5nIGlzIGNvbXBsZXRlXG4gICAgICovXG4gICAgbG9hZChjYWxsYmFjaz86ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb25maWdVcmwgPSBgYXBwLmNvbmZpZy5qc29uP3Y9JHtEYXRlLm5vdygpfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gU3RhdHVzLklOSVQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IFN0YXR1cy5MT0FESU5HO1xuICAgICAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQoY29uZmlnVXJsKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgIChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jb25maWcsIGRhdGEgfHwge30pO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2s/LigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25EYXRhTG9hZGVkKCk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdhcHAuY29uZmlnLmpzb24gY29udGFpbnMgdmFsaWRhdGlvbiBlcnJvcnMnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5jb25maWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0dXMgPT09IFN0YXR1cy5MT0FERUQpIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuY29uZmlnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zdGF0dXMgPT09IFN0YXR1cy5MT0FESU5HKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvYWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmNvbmZpZyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGwgdGhlIGRpc2NvdmVyeSBBUEkgdG8gZmV0Y2ggY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogQHBhcmFtIGhvc3RJZHAgaG9zdCBhZGRyZXNzXG4gICAgICogQHJldHVybnMgRGlzY292ZXJ5IGNvbmZpZ3VyYXRpb25cbiAgICAgKi9cbiAgICBsb2FkV2VsbEtub3duKGhvc3RJZHA6IHN0cmluZyk6IFByb21pc2U8T3BlbmlkQ29uZmlndXJhdGlvbj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5odHRwLmdldDxPcGVuaWRDb25maWd1cmF0aW9uPihgJHtob3N0SWRwfS8ud2VsbC1rbm93bi9vcGVuaWQtY29uZmlndXJhdGlvbmApLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKHJlczogT3BlbmlkQ29uZmlndXJhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2hvc3RJZHAgbm90IGNvcnJlY3RseSBjb25maWd1cmVkIG9yIHVucmVhY2hhYmxlJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPQXV0aDIgY29uZmlndXJhdGlvblxuICAgICAqXG4gICAgICogQHJldHVybnMgYXV0aCBjb25maWcgbW9kZWxcbiAgICAgKi9cbiAgICBnZXQgb2F1dGgyKCk6IE9hdXRoQ29uZmlnTW9kZWwge1xuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldChBcHBDb25maWdWYWx1ZXMuT0FVVEhDT05GSUcsIHt9KTtcbiAgICAgICAgY29uc3QgaW1wbGljaXRGbG93ID0gY29uZmlnWydpbXBsaWNpdEZsb3cnXSA9PT0gdHJ1ZSB8fCBjb25maWdbJ2ltcGxpY2l0RmxvdyddID09PSAndHJ1ZSc7XG4gICAgICAgIGNvbnN0IHNpbGVudExvZ2luID0gY29uZmlnWydzaWxlbnRMb2dpbiddID09PSB0cnVlIHx8IGNvbmZpZ1snc2lsZW50TG9naW4nXSA9PT0gJ3RydWUnO1xuICAgICAgICBjb25zdCBjb2RlRmxvdyA9IGNvbmZpZ1snY29kZUZsb3cnXSA9PT0gdHJ1ZSB8fCBjb25maWdbJ2NvZGVGbG93J10gPT09ICd0cnVlJztcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uKGNvbmZpZyBhcyBPYXV0aENvbmZpZ01vZGVsKSxcbiAgICAgICAgICAgIGltcGxpY2l0RmxvdyxcbiAgICAgICAgICAgIHNpbGVudExvZ2luLFxuICAgICAgICAgICAgY29kZUZsb3dcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdFN0cmluZyhzdHI6IHN0cmluZywga2V5d29yZHM6IE1hcDxzdHJpbmcsIHN0cmluZz4pOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmVzdWx0ID0gc3RyO1xuXG4gICAgICAgIGtleXdvcmRzLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4cHIgPSBuZXcgUmVnRXhwKCd7JyArIGtleSArICd9JywgJ2dtJyk7XG4gICAgICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZShleHByLCB2YWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuIl19
|
|
@@ -35,10 +35,10 @@ export class DebugAppConfigService extends AppConfigService {
|
|
|
35
35
|
return this.storage.getItem(key) || super.get(key, defaultValue);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugAppConfigService, deps: [{ token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
39
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugAppConfigService }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DebugAppConfigService, decorators: [{
|
|
42
42
|
type: Injectable
|
|
43
43
|
}], ctorParameters: () => [{ type: i1.StorageService }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctYXBwLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hcHAtY29uZmlnL2RlYnVnLWFwcC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUd6RSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsZ0JBQWdCO0lBQ3ZELFlBQW9CLE9BQXVCO1FBQ3ZDLEtBQUssRUFBRSxDQUFDO1FBRFEsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7SUFFM0MsQ0FBQztJQUVELEdBQUcsQ0FBSSxHQUFXLEVBQUUsWUFBZ0I7UUFDaEMsSUFBSSxHQUFHLEtBQUssZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUksR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3BGLENBQUM7YUFBTSxJQUFJLEdBQUcsS0FBSyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDN0MsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBUyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUksR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDTCxDQUFDOytHQWJRLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSwgQXBwQ29uZmlnVmFsdWVzIH0gZnJvbSAnLi9hcHAtY29uZmlnLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGVidWdBcHBDb25maWdTZXJ2aWNlIGV4dGVuZHMgQXBwQ29uZmlnU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yYWdlOiBTdG9yYWdlU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGdldDxUPihrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBpZiAoa2V5ID09PSBBcHBDb25maWdWYWx1ZXMuT0FVVEhDT05GSUcpIHtcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSkpIHx8IHN1cGVyLmdldDxUPihrZXksIGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBBcHBDb25maWdWYWx1ZXMuQVBQTElDQVRJT04pIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSkgYXMgYW55KSB8fCBzdXBlci5nZXQ8VD4oa2V5LCBkZWZhdWx0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -58,10 +58,10 @@ export class AuthBearerInterceptor {
|
|
|
58
58
|
get bearerExcludedUrls() {
|
|
59
59
|
return this._bearerExcludedUrls;
|
|
60
60
|
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
62
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthBearerInterceptor, deps: [{ token: i1.AuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthBearerInterceptor }); }
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AuthBearerInterceptor, decorators: [{
|
|
65
65
|
type: Injectable
|
|
66
66
|
}], ctorParameters: () => [{ type: i1.AuthenticationService }] });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1iZWFyZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2F1dGgvYXV0aGVudGljYXRpb24taW50ZXJjZXB0b3IvYXV0aC1iZWFyZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsSUFBSSxvQkFBb0IsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBWTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUczRSxNQUFNLE9BQU8scUJBQXFCO0lBSzlCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBSnhELHdCQUFtQixHQUFzQixDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBSS9CLENBQUM7SUFFNUQscUJBQXFCO1FBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsbUJBQW1CLFVBQVUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RILENBQUM7SUFFRCxTQUFTLENBQ0wsR0FBcUIsRUFDckIsSUFBaUI7UUFFakIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDO1FBQzNCLE1BQU0sU0FBUyxHQUFZLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMxRixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzVFLFFBQVEsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDM0IsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkYsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxPQUFvQixFQUFFLE9BQVk7UUFDNUQsc0dBQXNHO1FBQ3RHLHlFQUF5RTtRQUV6RSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUsscUJBQXFCLElBQUksQ0FBQyxDQUFDLE9BQU8sWUFBWSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFGLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sWUFBWSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsZ0NBQWdDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQWMsa0JBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLENBQUM7K0dBcERRLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBIYW5kbGVyLFxuICAgIEh0dHBJbnRlcmNlcHRvcixcbiAgICBIdHRwUmVxdWVzdCxcbiAgICBIdHRwU2VudEV2ZW50LFxuICAgIEh0dHBIZWFkZXJSZXNwb25zZSxcbiAgICBIdHRwUHJvZ3Jlc3NFdmVudCxcbiAgICBIdHRwUmVzcG9uc2UsXG4gICAgSHR0cFVzZXJFdmVudCxcbiAgICBIdHRwSGVhZGVyc1xufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEJlYXJlckludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgICBwcml2YXRlIF9iZWFyZXJFeGNsdWRlZFVybHM6IHJlYWRvbmx5IHN0cmluZ1tdID0gWydyZXNvdXJjZXMvJywgJ2Fzc2V0cy8nLCAnYXV0aC9yZWFsbXMnLCAnaWRwLyddO1xuXG4gICAgcHJpdmF0ZSBleGNsdWRlZFVybHNSZWdleDogUmVnRXhwW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgcHJpdmF0ZSBsb2FkRXhjbHVkZWRVcmxzUmVnZXgoKSB7XG4gICAgICAgIGNvbnN0IGV4Y2x1ZGVkVXJscyA9IHRoaXMuYmVhcmVyRXhjbHVkZWRVcmxzO1xuICAgICAgICB0aGlzLmV4Y2x1ZGVkVXJsc1JlZ2V4ID0gZXhjbHVkZWRVcmxzLm1hcCgodXJsUGF0dGVybikgPT4gbmV3IFJlZ0V4cChgXmh0dHBzPzovL1teL10rLyR7dXJsUGF0dGVybn1gLCAnaScpKSB8fCBbXTtcbiAgICB9XG5cbiAgICBpbnRlcmNlcHQoXG4gICAgICAgIHJlcTogSHR0cFJlcXVlc3Q8YW55PixcbiAgICAgICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgICApOiBPYnNlcnZhYmxlPEh0dHBTZW50RXZlbnQgfCBIdHRwSGVhZGVyUmVzcG9uc2UgfCBIdHRwUHJvZ3Jlc3NFdmVudCB8IEh0dHBSZXNwb25zZTxhbnk+IHwgSHR0cFVzZXJFdmVudDxhbnk+PiB7XG4gICAgICAgIGlmICghdGhpcy5leGNsdWRlZFVybHNSZWdleCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkRXhjbHVkZWRVcmxzUmVnZXgoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlcXVlc3RVcmwgPSByZXEudXJsO1xuICAgICAgICBjb25zdCBzaGFsbFBhc3M6IGJvb2xlYW4gPSB0aGlzLmV4Y2x1ZGVkVXJsc1JlZ2V4LnNvbWUoKHJlZ2V4KSA9PiByZWdleC50ZXN0KHJlcXVlc3RVcmwpKTtcbiAgICAgICAgaWYgKHNoYWxsUGFzcykge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSkucGlwZShjYXRjaEVycm9yKChlcnJvcikgPT4gb2JzZXJ2YWJsZVRocm93RXJyb3IoZXJyb3IpKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYWRkVG9rZW5Ub0hlYWRlcihyZXF1ZXN0VXJsLCByZXEuaGVhZGVycykucGlwZShcbiAgICAgICAgICAgIG1lcmdlTWFwKChoZWFkZXJzV2l0aEJlYXJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlYWRlcldpdGhDb250ZW50VHlwZSA9IHRoaXMuYXBwZW5kSnNvbkNvbnRlbnRUeXBlKGhlYWRlcnNXaXRoQmVhcmVyLCByZXEuYm9keSk7XG4gICAgICAgICAgICAgICAgY29uc3Qga2NSZXEgPSByZXEuY2xvbmUoeyBoZWFkZXJzOiBoZWFkZXJXaXRoQ29udGVudFR5cGUgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGtjUmVxKS5waXBlKGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvYnNlcnZhYmxlVGhyb3dFcnJvcihlcnJvcikpKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRKc29uQ29udGVudFR5cGUoaGVhZGVyczogSHR0cEhlYWRlcnMsIHJlcUJvZHk6IGFueSk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgLy8gcHJldmVudCBhZGRpbmcgYW55IGNvbnRlbnQgdHlwZSwgdG8gcHJvcGVybHkgaGFuZGxlIGZvcm1EYXRhIHdpdGggYm91bmRhcnkgYnJvd3NlciBnZW5lcmF0ZWQgdmFsdWUsXG4gICAgICAgIC8vIGFzIGFkZGluZyBhbnkgQ29udGVudC1UeXBlIGl0cyBnb2luZyB0byBicmVhayB0aGUgdXBsb2FkIGZ1bmN0aW9uYWxpdHlcblxuICAgICAgICBpZiAoaGVhZGVycy5nZXQoJ0NvbnRlbnQtVHlwZScpID09PSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScgJiYgIShyZXFCb2R5IGluc3RhbmNlb2YgRm9ybURhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVycy5kZWxldGUoJ0NvbnRlbnQtVHlwZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFoZWFkZXJzLmdldCgnQ29udGVudC1UeXBlJykgJiYgIShyZXFCb2R5IGluc3RhbmNlb2YgRm9ybURhdGEpKSB7XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9VVRGLTgnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoZWFkZXJzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYmVhcmVyRXhjbHVkZWRVcmxzKCk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JlYXJlckV4Y2x1ZGVkVXJscztcbiAgICB9XG59XG4iXX0=
|
|
@@ -344,13 +344,13 @@ export class BasicAlfrescoAuthService extends BaseAuthenticationService {
|
|
|
344
344
|
getContentServicesTicket() {
|
|
345
345
|
return 'Basic ' + btoa(this.contentAuth.getToken());
|
|
346
346
|
}
|
|
347
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
348
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
347
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicAlfrescoAuthService, deps: [{ token: i1.AppConfigService }, { token: i2.CookieService }, { token: i3.ContentAuth }, { token: i4.ProcessAuth }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
348
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicAlfrescoAuthService, providedIn: 'root' }); }
|
|
349
349
|
}
|
|
350
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BasicAlfrescoAuthService, decorators: [{
|
|
351
351
|
type: Injectable,
|
|
352
352
|
args: [{
|
|
353
353
|
providedIn: 'root'
|
|
354
354
|
}]
|
|
355
355
|
}], ctorParameters: () => [{ type: i1.AppConfigService }, { type: i2.CookieService }, { type: i3.ContentAuth }, { type: i4.ProcessAuth }] });
|
|
356
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYWxmcmVzY28tYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL2Jhc2ljLWF1dGgvYmFzaWMtYWxmcmVzY28tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7O0FBR3BGLE1BQU0sc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBS25ELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx5QkFBeUI7SUFVbkUsWUFBWSxTQUEyQixFQUFFLE1BQXFCLEVBQVUsV0FBd0IsRUFBVSxXQUF3QjtRQUM5SCxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRDJDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFUeEgsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FB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QUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BJLENBQUM7SUFFTyx3QkFBd0I7UUFDNUIsT0FBTyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQXpXUSx3QkFBd0I7a0hBQXhCLHdCQUF3QixjQUZyQixNQUFNOzsyRkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aGVudGljYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvY29va2llLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGVudEF1dGggfSBmcm9tICcuL2NvbnRlbnQtYXV0aCc7XG5pbXBvcnQgeyBQcm9jZXNzQXV0aCB9IGZyb20gJy4vcHJvY2Vzcy1hdXRoJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlZGlyZWN0aW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvcmVkaXJlY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2UtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuY29uc3QgUkVNRU1CRVJfTUVfQ09PS0lFX0tFWSA9ICdBTEZSRVNDT19SRU1FTUJFUl9NRSc7XG5jb25zdCBSRU1FTUJFUl9NRV9VTlRJTCA9IDEwMDAgKiA2MCAqIDYwICogMjQgKiAzMDtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXV0aGVudGljYXRpb25TZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgcmVkaXJlY3RVcmw6IFJlZGlyZWN0aW9uTW9kZWwgPSBudWxsO1xuXG4gICAgYXV0aGVudGljYXRpb25zOiBBdXRoZW50aWNhdGlvbiA9IHtcbiAgICAgICAgYmFzaWNBdXRoOiB7XG4gICAgICAgICAgICB0aWNrZXQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdiYXNpYydcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLCBjb29raWU6IENvb2tpZVNlcnZpY2UsIHByaXZhdGUgY29udGVudEF1dGg6IENvbnRlbnRBdXRoLCBwcml2YXRlIHByb2Nlc3NBdXRoOiBQcm9jZXNzQXV0aCkge1xuICAgICAgICBzdXBlcihhcHBDb25maWcsIGNvb2tpZSk7XG5cbiAgICAgICAgdGhpcy5hcHBDb25maWcub25Mb2FkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPYXV0aCgpICYmIHRoaXMuaXNMb2dnZWRJbigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1aXJlQWxmVGlja2V0KClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luLm5leHQoJ2xvZ2dlZC1pbicpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QXV0aC5pbnZhbGlkYXRlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkxvZ291dC5uZXh0KCdsb2dvdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGVudEF1dGgub25Mb2dvdXQucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9nb3V0Lm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZW50QXV0aC5vbkxvZ2luLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZW50QXV0aC5vbkVycm9yLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzQXV0aC5vbkxvZ291dC5waXBlKFxuICAgICAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25Mb2dvdXQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByb2Nlc3NBdXRoLm9uTG9naW4ucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9naW4ubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByb2Nlc3NBdXRoLm9uRXJyb3IucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgdGhlIHVzZXIgaW4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlcm5hbWUgVXNlcm5hbWUgZm9yIHRoZSBsb2dpblxuICAgICAqIEBwYXJhbSBwYXNzd29yZCBQYXNzd29yZCBmb3IgdGhlIGxvZ2luXG4gICAgICogQHBhcmFtIHJlbWVtYmVyTWUgU3RvcmVzIHRoZSB1c2VyJ3MgbG9naW4gZGV0YWlscyBpZiB0cnVlXG4gICAgICogQHJldHVybnMgT2JqZWN0IHdpdGggYXV0aCB0eXBlIChcIkVDTVwiLCBcIkJQTVwiIG9yIFwiQUxMXCIpIGFuZCBhdXRoIHRpY2tldFxuICAgICAqL1xuICAgIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHJlbWVtYmVyTWU6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHRpY2tldDogYW55IH0+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5leGVjdXRlTG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVJlbWVtYmVyTWVDb29raWUocmVtZW1iZXJNZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRoaXMuYXBwQ29uZmlnLmdldChBcHBDb25maWdWYWx1ZXMuUFJPVklERVJTKSxcbiAgICAgICAgICAgICAgICAgICAgdGlja2V0OiByZXNwb25zZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvZ2luIEFsZnJlc2NvIEFQSVxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJuYW1lIHVzZXJuYW1lIHRvIGxvZ2luXG4gICAgICogQHBhcmFtIHBhc3N3b3JkIHBhc3N3b3JkIHRvIGxvZ2luXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmV0dXJucyB7bmV3IGF1dGhlbnRpY2F0aW9uIHRpY2tldH0gaWYgcmVzb2x2ZWQgYW5kIHtlcnJvcn0gaWYgcmVqZWN0ZWQuXG4gICAgICovXG4gICAgYXN5bmMgZXhlY3V0ZUxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNDcmVkZW50aWFsVmFsaWQodXNlcm5hbWUpIHx8ICF0aGlzLmlzQ3JlZGVudGlhbFZhbGlkKHBhc3N3b3JkKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignbWlzc2luZyB1c2VybmFtZSBvciBwYXNzd29yZCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgICAgICAgdXNlcm5hbWUgPSB1c2VybmFtZS50cmltKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0JQTVByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvY2Vzc0F1dGgubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0VDTVByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY29udGVudEF1dGgubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FMTFByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvZ2luQlBNRUNNKHVzZXJuYW1lLCBwYXNzd29yZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdVbmtub3duIGNvbmZpZ3VyYXRpb24nKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ2luQlBNRUNNKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBjb250ZW50UHJvbWlzZSA9IHRoaXMuY29udGVudEF1dGgubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc1Byb21pc2UgPSB0aGlzLnByb2Nlc3NBdXRoLmxvZ2luKHVzZXJuYW1lLCBwYXNzd29yZCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIFByb21pc2UuYWxsKFtjb250ZW50UHJvbWlzZSwgcHJvY2Vzc1Byb21pc2VdKS50aGVuKFxuICAgICAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dpbi5uZXh0KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QXV0aC5pbnZhbGlkYXRlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NBdXRoLmludmFsaWRhdGVTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dCgndW5hdXRob3JpemVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIFwicmVtZW1iZXIgbWVcIiBjb29raWUgd2FzIHNldCBvciBub3QuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHNldCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNSZW1lbWJlck1lU2V0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb29raWUuZ2V0SXRlbShSRU1FTUJFUl9NRV9DT09LSUVfS0VZKSAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyB0aGUgXCJyZW1lbWJlciBtZVwiIGNvb2tpZSBhcyBlaXRoZXIgYSBsb25nLWxpZmUgY29va2llIG9yIGEgc2Vzc2lvbiBjb29raWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVtZW1iZXJNZSBFbmFibGVzIGEgbG9uZy1saWZlIGNvb2tpZVxuICAgICAqL1xuICAgIHNhdmVSZW1lbWJlck1lQ29va2llKHJlbWVtYmVyTWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgbGV0IGV4cGlyYXRpb24gPSBudWxsO1xuXG4gICAgICAgIGlmIChyZW1lbWJlck1lKSB7XG4gICAgICAgICAgICBleHBpcmF0aW9uID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBleHBpcmF0aW9uLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGNvbnN0IGV4cGlyZVRpbWUgPSB0aW1lICsgUkVNRU1CRVJfTUVfVU5USUw7XG4gICAgICAgICAgICBleHBpcmF0aW9uLnNldFRpbWUoZXhwaXJlVGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb29raWUuc2V0SXRlbShSRU1FTUJFUl9NRV9DT09LSUVfS0VZLCAnMScsIGV4cGlyYXRpb24sIG51bGwpO1xuICAgIH1cblxuICAgIGlzQ3JlZGVudGlhbFZhbGlkKGNyZWRlbnRpYWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gY3JlZGVudGlhbCAhPT0gdW5kZWZpbmVkICYmIGNyZWRlbnRpYWwgIT09IG51bGwgJiYgY3JlZGVudGlhbCAhPT0gJyc7XG4gICAgfVxuXG4gICAgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNCUE1Qcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNFQ01Qcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNBTExQcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAcmV0dXJucyBjb250ZW50IGF1dGggdG9rZW5cbiAgICAgKi9cbiAgICBnZXRUaWNrZXRFY20oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEF1dGguZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIHByb2Nlc3MgYXV0aCB0b2tlblxuICAgICAqL1xuICAgIGdldFRpY2tldEJwbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIGlzQnBtTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBdXRoLmlzTG9nZ2VkSW4oKTtcbiAgICB9XG5cbiAgICBpc0VjbUxvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5pc0xvZ2dlZEluKCk7XG4gICAgfVxuXG4gICAgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYXV0aFdpdGhDcmVkZW50aWFscyA9IHRoaXMuaXNLZXJiZXJvc0VuYWJsZWQoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0JQTVByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBdXRoLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRUNNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGF1dGhXaXRoQ3JlZGVudGlhbHMgPyB0cnVlIDogdGhpcy5jb250ZW50QXV0aC5pc0xvZ2dlZEluKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FMTFByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBhdXRoV2l0aENyZWRlbnRpYWxzID8gdHJ1ZSA6IHRoaXMuY29udGVudEF1dGguaXNMb2dnZWRJbigpICYmIHRoaXMucHJvY2Vzc0F1dGguaXNMb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9nb3V0IEFsZnJlc2NvIEFQSVxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmV0dXJucyB7bG9nb3V0fSBpZiByZXNvbHZlZCBhbmQge2Vycm9yfSBpZiByZWplY3RlZC5cbiAgICAgKi9cbiAgICBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNCUE1Qcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5sb2dvdXQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRUNNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEF1dGgubG9nb3V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FMTFByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvZ291dEJQTUVDTSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ291dEJQTUVDTSgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBjb250ZW50UHJvbWlzZSA9IHRoaXMuY29udGVudEF1dGgubG9nb3V0KCk7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NQcm9taXNlID0gdGhpcy5wcm9jZXNzQXV0aC5sb2dvdXQoKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgUHJvbWlzZS5hbGwoW2NvbnRlbnRQcm9taXNlLCBwcm9jZXNzUHJvbWlzZV0pLnRoZW4oXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRBdXRoLnRpY2tldCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzQXV0aC50aWNrZXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dvdXQubmV4dCgnbG9nb3V0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJ2xvZ291dCcpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ3VuYXV0aG9yaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FcnJvci5uZXh0KCdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgVVJMIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGxvZ2luLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHJlZGlyZWN0IFVSTFxuICAgICAqL1xuICAgIGdldFJlZGlyZWN0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLlBST1ZJREVSUyk7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1ZhbGlkUmVkaXJlY3Rpb24ocHJvdmlkZXIpID8gdGhpcy5yZWRpcmVjdFVybC51cmwgOiBudWxsO1xuICAgIH1cblxuICAgIHNldFJlZGlyZWN0KHVybD86IFJlZGlyZWN0aW9uTW9kZWwpIHtcbiAgICAgICAgdGhpcy5yZWRpcmVjdFVybCA9IHVybDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1ZhbGlkUmVkaXJlY3Rpb24ocHJvdmlkZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFVybCAmJiAodGhpcy5yZWRpcmVjdFVybC5wcm92aWRlciA9PT0gcHJvdmlkZXIgfHwgdGhpcy5oYXNTZWxlY3RlZFByb3ZpZGVyQWxsKHByb3ZpZGVyKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTZWxlY3RlZFByb3ZpZGVyQWxsKHByb3ZpZGVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RVcmwgJiYgKHRoaXMucmVkaXJlY3RVcmwucHJvdmlkZXIgPT09ICdBTEwnIHx8IHByb3ZpZGVyID09PSAnQUxMJyk7XG4gICAgfVxuXG4gICAgZ2V0QnBtVXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0F1dGguZ2V0VXNlcm5hbWUoKTtcbiAgICB9XG5cbiAgICBnZXRFY21Vc2VybmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5nZXRVc2VybmFtZSgpO1xuICAgIH1cblxuICAgIGdldFVzZXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzQlBNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0F1dGguZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRUNNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEF1dGguZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRBdXRoLmdldFVzZXJuYW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIGtlcmJlcm9zIGVuYWJsZWQ/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGlzS2VyYmVyb3NFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PGJvb2xlYW4+KEFwcENvbmZpZ1ZhbHVlcy5BVVRIX1dJVEhfQ1JFREVOVElBTFMsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRBdXRoSGVhZGVycyhyZXF1ZXN0VXJsOiBzdHJpbmcsIGhlYWRlcjogSHR0cEhlYWRlcnMpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZEJhc2ljQXV0aChyZXF1ZXN0VXJsLCBoZWFkZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQmFzaWNBdXRoKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKHRoaXMuaXNLZXJiZXJvc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGhlYWRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpY2tldCA9IHRoaXMuZ2V0VGlja2V0RWNtQmFzZTY0KHJlcXVlc3RVcmwpO1xuXG4gICAgICAgIGlmICghdGlja2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhlYWRlci5zZXQoJ0F1dGhvcml6YXRpb24nLCB0aWNrZXQpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlcXVpcmVBbGZUaWNrZXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRBdXRoLnJlcXVpcmVBbGZUaWNrZXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBCUE0gdGlja2V0IGZyb20gdGhlIFN0b3JhZ2UgaW4gQmFzZSA2NCBmb3JtYXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFVybCB0aGUgcmVxdWVzdCB1cmxcbiAgICAgKiBAcmV0dXJucyBUaGUgdGlja2V0IG9yIGBudWxsYCBpZiBub25lIHdhcyBmb3VuZFxuICAgICAqL1xuICAgIGdldFRpY2tldEVjbUJhc2U2NChyZXF1ZXN0VXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IHRpY2tldCA9IG51bGw7XG5cbiAgICAgICAgY29uc3QgYnBtUm9vdCA9IGAvJHt0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuQ09OVEVYVFJPT1RCUE0pIHx8ICdhY3Rpdml0aS1hcHAnfS9gO1xuICAgICAgICBjb25zdCBlY21Sb290ID0gYC8ke3RoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5DT05URVhUUk9PVEVDTSkgfHwgJ2FsZnJlc2NvJ30vYDtcblxuICAgICAgICBpZiAocmVxdWVzdFVybD8uaW5jbHVkZXMoZWNtUm9vdCkgJiYgIXJlcXVlc3RVcmwuaW5jbHVkZXMoYnBtUm9vdCkpIHtcbiAgICAgICAgICAgIHRpY2tldCA9IHRoaXMuZ2V0Q29udGVudFNlcnZpY2VzVGlja2V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVxdWVzdFVybD8uaW5jbHVkZXMoYnBtUm9vdCkgJiYgIXJlcXVlc3RVcmwuaW5jbHVkZXMoZWNtUm9vdCkpIHtcbiAgICAgICAgICAgIHRpY2tldCA9IHRoaXMuZ2V0UHJvY2Vzc1NlcnZpY2VzVGlja2V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVxdWVzdFVybD8uaW5jbHVkZXMoZWNtUm9vdCkgJiYgcmVxdWVzdFVybC5pbmNsdWRlcyhicG1Sb290KSkge1xuICAgICAgICAgICAgdGlja2V0ID0gcmVxdWVzdFVybC5pbmRleE9mKGVjbVJvb3QpIDwgcmVxdWVzdFVybC5pbmRleE9mKGJwbVJvb3QpID8gdGhpcy5nZXRDb250ZW50U2VydmljZXNUaWNrZXQoKSA6IHRoaXMuZ2V0UHJvY2Vzc1NlcnZpY2VzVGlja2V0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpY2tldDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NTZXJ2aWNlc1RpY2tldCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpPy5zdGFydHNXaXRoKCdCYXNpYyAnKSA/IHRoaXMucHJvY2Vzc0F1dGguZ2V0VG9rZW4oKSA6ICdCYXNpYyAnICsgdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGVudFNlcnZpY2VzVGlja2V0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnQmFzaWMgJyArIGJ0b2EodGhpcy5jb250ZW50QXV0aC5nZXRUb2tlbigpKTtcbiAgICB9XG59XG4iXX0=
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYWxmcmVzY28tYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9hdXRoL2Jhc2ljLWF1dGgvYmFzaWMtYWxmcmVzY28tYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7O0FBR3BGLE1BQU0sc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7QUFDdEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBS25ELE1BQU0sT0FBTyx3QkFBeUIsU0FBUSx5QkFBeUI7SUFVbkUsWUFBWSxTQUEyQixFQUFFLE1BQXFCLEVBQVUsV0FBd0IsRUFBVSxXQUF3QjtRQUM5SCxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRDJDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFUeEgsZ0JBQVcsR0FBcUIsSUFBSSxDQUFDO1FB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QUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BJLENBQUM7SUFFTyx3QkFBd0I7UUFDNUIsT0FBTyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQXpXUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi9hcHAtY29uZmlnL2FwcC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0aGVudGljYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvY29va2llLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udGVudEF1dGggfSBmcm9tICcuL2NvbnRlbnQtYXV0aCc7XG5pbXBvcnQgeyBQcm9jZXNzQXV0aCB9IGZyb20gJy4vcHJvY2Vzcy1hdXRoJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlZGlyZWN0aW9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvcmVkaXJlY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Jhc2UtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuY29uc3QgUkVNRU1CRVJfTUVfQ09PS0lFX0tFWSA9ICdBTEZSRVNDT19SRU1FTUJFUl9NRSc7XG5jb25zdCBSRU1FTUJFUl9NRV9VTlRJTCA9IDEwMDAgKiA2MCAqIDYwICogMjQgKiAzMDtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2UgZXh0ZW5kcyBCYXNlQXV0aGVudGljYXRpb25TZXJ2aWNlIHtcbiAgICBwcm90ZWN0ZWQgcmVkaXJlY3RVcmw6IFJlZGlyZWN0aW9uTW9kZWwgPSBudWxsO1xuXG4gICAgYXV0aGVudGljYXRpb25zOiBBdXRoZW50aWNhdGlvbiA9IHtcbiAgICAgICAgYmFzaWNBdXRoOiB7XG4gICAgICAgICAgICB0aWNrZXQ6ICcnXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6ICdiYXNpYydcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLCBjb29raWU6IENvb2tpZVNlcnZpY2UsIHByaXZhdGUgY29udGVudEF1dGg6IENvbnRlbnRBdXRoLCBwcml2YXRlIHByb2Nlc3NBdXRoOiBQcm9jZXNzQXV0aCkge1xuICAgICAgICBzdXBlcihhcHBDb25maWcsIGNvb2tpZSk7XG5cbiAgICAgICAgdGhpcy5hcHBDb25maWcub25Mb2FkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNPYXV0aCgpICYmIHRoaXMuaXNMb2dnZWRJbigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1aXJlQWxmVGlja2V0KClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luLm5leHQoJ2xvZ2dlZC1pbicpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QXV0aC5pbnZhbGlkYXRlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkxvZ291dC5uZXh0KCdsb2dvdXQnKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY29udGVudEF1dGgub25Mb2dvdXQucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9nb3V0Lm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZW50QXV0aC5vbkxvZ2luLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jb250ZW50QXV0aC5vbkVycm9yLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzQXV0aC5vbkxvZ291dC5waXBlKFxuICAgICAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25Mb2dvdXQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByb2Nlc3NBdXRoLm9uTG9naW4ucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uTG9naW4ubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnByb2Nlc3NBdXRoLm9uRXJyb3IucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgdGhlIHVzZXIgaW4uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gdXNlcm5hbWUgVXNlcm5hbWUgZm9yIHRoZSBsb2dpblxuICAgICAqIEBwYXJhbSBwYXNzd29yZCBQYXNzd29yZCBmb3IgdGhlIGxvZ2luXG4gICAgICogQHBhcmFtIHJlbWVtYmVyTWUgU3RvcmVzIHRoZSB1c2VyJ3MgbG9naW4gZGV0YWlscyBpZiB0cnVlXG4gICAgICogQHJldHVybnMgT2JqZWN0IHdpdGggYXV0aCB0eXBlIChcIkVDTVwiLCBcIkJQTVwiIG9yIFwiQUxMXCIpIGFuZCBhdXRoIHRpY2tldFxuICAgICAqL1xuICAgIGxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHJlbWVtYmVyTWU6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8eyB0eXBlOiBzdHJpbmc7IHRpY2tldDogYW55IH0+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5leGVjdXRlTG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2F2ZVJlbWVtYmVyTWVDb29raWUocmVtZW1iZXJNZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkxvZ2luLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHRoaXMuYXBwQ29uZmlnLmdldChBcHBDb25maWdWYWx1ZXMuUFJPVklERVJTKSxcbiAgICAgICAgICAgICAgICAgICAgdGlja2V0OiByZXNwb25zZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvZ2luIEFsZnJlc2NvIEFQSVxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJuYW1lIHVzZXJuYW1lIHRvIGxvZ2luXG4gICAgICogQHBhcmFtIHBhc3N3b3JkIHBhc3N3b3JkIHRvIGxvZ2luXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmV0dXJucyB7bmV3IGF1dGhlbnRpY2F0aW9uIHRpY2tldH0gaWYgcmVzb2x2ZWQgYW5kIHtlcnJvcn0gaWYgcmVqZWN0ZWQuXG4gICAgICovXG4gICAgYXN5bmMgZXhlY3V0ZUxvZ2luKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNDcmVkZW50aWFsVmFsaWQodXNlcm5hbWUpIHx8ICF0aGlzLmlzQ3JlZGVudGlhbFZhbGlkKHBhc3N3b3JkKSkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignbWlzc2luZyB1c2VybmFtZSBvciBwYXNzd29yZCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1c2VybmFtZSkge1xuICAgICAgICAgICAgdXNlcm5hbWUgPSB1c2VybmFtZS50cmltKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0JQTVByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMucHJvY2Vzc0F1dGgubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0VDTVByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuY29udGVudEF1dGgubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FMTFByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvZ2luQlBNRUNNKHVzZXJuYW1lLCBwYXNzd29yZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdVbmtub3duIGNvbmZpZ3VyYXRpb24nKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ2luQlBNRUNNKHVzZXJuYW1lOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBjb250ZW50UHJvbWlzZSA9IHRoaXMuY29udGVudEF1dGgubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkKTtcbiAgICAgICAgY29uc3QgcHJvY2Vzc1Byb21pc2UgPSB0aGlzLnByb2Nlc3NBdXRoLmxvZ2luKHVzZXJuYW1lLCBwYXNzd29yZCk7XG5cbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIFByb21pc2UuYWxsKFtjb250ZW50UHJvbWlzZSwgcHJvY2Vzc1Byb21pc2VdKS50aGVuKFxuICAgICAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dpbi5uZXh0KCdzdWNjZXNzJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QXV0aC5pbnZhbGlkYXRlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2Nlc3NBdXRoLmludmFsaWRhdGVTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IubmV4dCgndW5hdXRob3JpemVkJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ2Vycm9yJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIFwicmVtZW1iZXIgbWVcIiBjb29raWUgd2FzIHNldCBvciBub3QuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHNldCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgaXNSZW1lbWJlck1lU2V0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb29raWUuZ2V0SXRlbShSRU1FTUJFUl9NRV9DT09LSUVfS0VZKSAhPT0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYXZlcyB0aGUgXCJyZW1lbWJlciBtZVwiIGNvb2tpZSBhcyBlaXRoZXIgYSBsb25nLWxpZmUgY29va2llIG9yIGEgc2Vzc2lvbiBjb29raWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVtZW1iZXJNZSBFbmFibGVzIGEgbG9uZy1saWZlIGNvb2tpZVxuICAgICAqL1xuICAgIHNhdmVSZW1lbWJlck1lQ29va2llKHJlbWVtYmVyTWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgbGV0IGV4cGlyYXRpb24gPSBudWxsO1xuXG4gICAgICAgIGlmIChyZW1lbWJlck1lKSB7XG4gICAgICAgICAgICBleHBpcmF0aW9uID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBleHBpcmF0aW9uLmdldFRpbWUoKTtcbiAgICAgICAgICAgIGNvbnN0IGV4cGlyZVRpbWUgPSB0aW1lICsgUkVNRU1CRVJfTUVfVU5USUw7XG4gICAgICAgICAgICBleHBpcmF0aW9uLnNldFRpbWUoZXhwaXJlVGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb29raWUuc2V0SXRlbShSRU1FTUJFUl9NRV9DT09LSUVfS0VZLCAnMScsIGV4cGlyYXRpb24sIG51bGwpO1xuICAgIH1cblxuICAgIGlzQ3JlZGVudGlhbFZhbGlkKGNyZWRlbnRpYWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gY3JlZGVudGlhbCAhPT0gdW5kZWZpbmVkICYmIGNyZWRlbnRpYWwgIT09IG51bGwgJiYgY3JlZGVudGlhbCAhPT0gJyc7XG4gICAgfVxuXG4gICAgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuaXNCUE1Qcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNFQ01Qcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNBTExQcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5nZXRUb2tlbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAcmV0dXJucyBjb250ZW50IGF1dGggdG9rZW5cbiAgICAgKi9cbiAgICBnZXRUaWNrZXRFY20oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEF1dGguZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEByZXR1cm5zIHByb2Nlc3MgYXV0aCB0b2tlblxuICAgICAqL1xuICAgIGdldFRpY2tldEJwbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIGlzQnBtTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBdXRoLmlzTG9nZ2VkSW4oKTtcbiAgICB9XG5cbiAgICBpc0VjbUxvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5pc0xvZ2dlZEluKCk7XG4gICAgfVxuXG4gICAgaXNMb2dnZWRJbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYXV0aFdpdGhDcmVkZW50aWFscyA9IHRoaXMuaXNLZXJiZXJvc0VuYWJsZWQoKTtcblxuICAgICAgICBpZiAodGhpcy5pc0JQTVByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByb2Nlc3NBdXRoLmlzTG9nZ2VkSW4oKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRUNNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGF1dGhXaXRoQ3JlZGVudGlhbHMgPyB0cnVlIDogdGhpcy5jb250ZW50QXV0aC5pc0xvZ2dlZEluKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FMTFByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBhdXRoV2l0aENyZWRlbnRpYWxzID8gdHJ1ZSA6IHRoaXMuY29udGVudEF1dGguaXNMb2dnZWRJbigpICYmIHRoaXMucHJvY2Vzc0F1dGguaXNMb2dnZWRJbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9nb3V0IEFsZnJlc2NvIEFQSVxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmV0dXJucyB7bG9nb3V0fSBpZiByZXNvbHZlZCBhbmQge2Vycm9yfSBpZiByZWplY3RlZC5cbiAgICAgKi9cbiAgICBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNCUE1Qcm92aWRlcigpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5sb2dvdXQoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRUNNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEF1dGgubG9nb3V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FMTFByb3ZpZGVyKCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxvZ291dEJQTUVDTSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvZ291dEJQTUVDTSgpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBjb250ZW50UHJvbWlzZSA9IHRoaXMuY29udGVudEF1dGgubG9nb3V0KCk7XG4gICAgICAgIGNvbnN0IHByb2Nlc3NQcm9taXNlID0gdGhpcy5wcm9jZXNzQXV0aC5sb2dvdXQoKTtcblxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgUHJvbWlzZS5hbGwoW2NvbnRlbnRQcm9taXNlLCBwcm9jZXNzUHJvbWlzZV0pLnRoZW4oXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRBdXRoLnRpY2tldCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9jZXNzQXV0aC50aWNrZXQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Mb2dvdXQubmV4dCgnbG9nb3V0Jyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoJ2xvZ291dCcpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yLm5leHQoJ3VuYXV0aG9yaXplZCcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25FcnJvci5uZXh0KCdlcnJvcicpO1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgVVJMIHRvIHJlZGlyZWN0IHRvIGFmdGVyIGxvZ2luLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIHJlZGlyZWN0IFVSTFxuICAgICAqL1xuICAgIGdldFJlZGlyZWN0KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oQXBwQ29uZmlnVmFsdWVzLlBST1ZJREVSUyk7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1ZhbGlkUmVkaXJlY3Rpb24ocHJvdmlkZXIpID8gdGhpcy5yZWRpcmVjdFVybC51cmwgOiBudWxsO1xuICAgIH1cblxuICAgIHNldFJlZGlyZWN0KHVybD86IFJlZGlyZWN0aW9uTW9kZWwpIHtcbiAgICAgICAgdGhpcy5yZWRpcmVjdFVybCA9IHVybDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1ZhbGlkUmVkaXJlY3Rpb24ocHJvdmlkZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFVybCAmJiAodGhpcy5yZWRpcmVjdFVybC5wcm92aWRlciA9PT0gcHJvdmlkZXIgfHwgdGhpcy5oYXNTZWxlY3RlZFByb3ZpZGVyQWxsKHByb3ZpZGVyKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNTZWxlY3RlZFByb3ZpZGVyQWxsKHByb3ZpZGVyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVkaXJlY3RVcmwgJiYgKHRoaXMucmVkaXJlY3RVcmwucHJvdmlkZXIgPT09ICdBTEwnIHx8IHByb3ZpZGVyID09PSAnQUxMJyk7XG4gICAgfVxuXG4gICAgZ2V0QnBtVXNlcm5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0F1dGguZ2V0VXNlcm5hbWUoKTtcbiAgICB9XG5cbiAgICBnZXRFY21Vc2VybmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50QXV0aC5nZXRVc2VybmFtZSgpO1xuICAgIH1cblxuICAgIGdldFVzZXJuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmlzQlBNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvY2Vzc0F1dGguZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzRUNNUHJvdmlkZXIoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudEF1dGguZ2V0VXNlcm5hbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRBdXRoLmdldFVzZXJuYW1lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEb2VzIGtlcmJlcm9zIGVuYWJsZWQ/XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIGVuYWJsZWQsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIGlzS2VyYmVyb3NFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PGJvb2xlYW4+KEFwcENvbmZpZ1ZhbHVlcy5BVVRIX1dJVEhfQ1JFREVOVElBTFMsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXRBdXRoSGVhZGVycyhyZXF1ZXN0VXJsOiBzdHJpbmcsIGhlYWRlcjogSHR0cEhlYWRlcnMpOiBIdHRwSGVhZGVycyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZEJhc2ljQXV0aChyZXF1ZXN0VXJsLCBoZWFkZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQmFzaWNBdXRoKHJlcXVlc3RVcmw6IHN0cmluZywgaGVhZGVyOiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcbiAgICAgICAgaWYgKHRoaXMuaXNLZXJiZXJvc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGhlYWRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRpY2tldCA9IHRoaXMuZ2V0VGlja2V0RWNtQmFzZTY0KHJlcXVlc3RVcmwpO1xuXG4gICAgICAgIGlmICghdGlja2V0KSB7XG4gICAgICAgICAgICByZXR1cm4gaGVhZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhlYWRlci5zZXQoJ0F1dGhvcml6YXRpb24nLCB0aWNrZXQpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlcXVpcmVBbGZUaWNrZXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnRBdXRoLnJlcXVpcmVBbGZUaWNrZXQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBCUE0gdGlja2V0IGZyb20gdGhlIFN0b3JhZ2UgaW4gQmFzZSA2NCBmb3JtYXQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcmVxdWVzdFVybCB0aGUgcmVxdWVzdCB1cmxcbiAgICAgKiBAcmV0dXJucyBUaGUgdGlja2V0IG9yIGBudWxsYCBpZiBub25lIHdhcyBmb3VuZFxuICAgICAqL1xuICAgIGdldFRpY2tldEVjbUJhc2U2NChyZXF1ZXN0VXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IHRpY2tldCA9IG51bGw7XG5cbiAgICAgICAgY29uc3QgYnBtUm9vdCA9IGAvJHt0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPihBcHBDb25maWdWYWx1ZXMuQ09OVEVYVFJPT1RCUE0pIHx8ICdhY3Rpdml0aS1hcHAnfS9gO1xuICAgICAgICBjb25zdCBlY21Sb290ID0gYC8ke3RoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5DT05URVhUUk9PVEVDTSkgfHwgJ2FsZnJlc2NvJ30vYDtcblxuICAgICAgICBpZiAocmVxdWVzdFVybD8uaW5jbHVkZXMoZWNtUm9vdCkgJiYgIXJlcXVlc3RVcmwuaW5jbHVkZXMoYnBtUm9vdCkpIHtcbiAgICAgICAgICAgIHRpY2tldCA9IHRoaXMuZ2V0Q29udGVudFNlcnZpY2VzVGlja2V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVxdWVzdFVybD8uaW5jbHVkZXMoYnBtUm9vdCkgJiYgIXJlcXVlc3RVcmwuaW5jbHVkZXMoZWNtUm9vdCkpIHtcbiAgICAgICAgICAgIHRpY2tldCA9IHRoaXMuZ2V0UHJvY2Vzc1NlcnZpY2VzVGlja2V0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAocmVxdWVzdFVybD8uaW5jbHVkZXMoZWNtUm9vdCkgJiYgcmVxdWVzdFVybC5pbmNsdWRlcyhicG1Sb290KSkge1xuICAgICAgICAgICAgdGlja2V0ID0gcmVxdWVzdFVybC5pbmRleE9mKGVjbVJvb3QpIDwgcmVxdWVzdFVybC5pbmRleE9mKGJwbVJvb3QpID8gdGhpcy5nZXRDb250ZW50U2VydmljZXNUaWNrZXQoKSA6IHRoaXMuZ2V0UHJvY2Vzc1NlcnZpY2VzVGlja2V0KCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRpY2tldDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByb2Nlc3NTZXJ2aWNlc1RpY2tldCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpPy5zdGFydHNXaXRoKCdCYXNpYyAnKSA/IHRoaXMucHJvY2Vzc0F1dGguZ2V0VG9rZW4oKSA6ICdCYXNpYyAnICsgdGhpcy5wcm9jZXNzQXV0aC5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGVudFNlcnZpY2VzVGlja2V0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAnQmFzaWMgJyArIGJ0b2EodGhpcy5jb250ZW50QXV0aC5nZXRUb2tlbigpKTtcbiAgICB9XG59XG4iXX0=
|