@alfresco/adf-content-services 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/esm2022/lib/agent/services/agent.service.mjs +4 -4
- package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +4 -4
- package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +4 -4
- package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list.component.mjs +4 -4
- package/esm2022/lib/aspect-list/aspect-list.module.mjs +5 -5
- package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +4 -4
- package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +4 -4
- package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +4 -4
- package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +5 -5
- package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +4 -4
- package/esm2022/lib/category/categories-management/categories-management.component.mjs +4 -4
- package/esm2022/lib/category/category.module.mjs +5 -5
- package/esm2022/lib/category/services/category-tree-datasource.service.mjs +4 -4
- package/esm2022/lib/category/services/category.service.mjs +4 -4
- package/esm2022/lib/common/services/card-view-content-update.service.mjs +4 -4
- package/esm2022/lib/common/services/content.service.mjs +4 -4
- package/esm2022/lib/common/services/discovery-api.service.mjs +4 -4
- package/esm2022/lib/common/services/favorites-api.service.mjs +4 -4
- package/esm2022/lib/common/services/nodes-api.service.mjs +4 -4
- package/esm2022/lib/common/services/people-content.service.mjs +4 -4
- package/esm2022/lib/common/services/rendition.service.mjs +4 -4
- package/esm2022/lib/common/services/saved-searches.service.mjs +4 -4
- package/esm2022/lib/common/services/sites.service.mjs +4 -4
- package/esm2022/lib/common/services/upload.service.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +4 -4
- package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +4 -4
- package/esm2022/lib/content-metadata/content-metadata.module.mjs +5 -5
- package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +4 -4
- package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +4 -4
- package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +5 -5
- package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +4 -4
- package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.directive.mjs +4 -4
- package/esm2022/lib/content-node-share/content-node-share.module.mjs +5 -5
- package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +4 -4
- package/esm2022/lib/content-type/content-type-dialog.component.mjs +4 -4
- package/esm2022/lib/content-type/content-type.service.mjs +4 -4
- package/esm2022/lib/content.module.mjs +5 -5
- package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +5 -5
- package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +4 -4
- package/esm2022/lib/dialogs/folder/folder.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/library/library.dialog.mjs +4 -4
- package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +4 -4
- package/esm2022/lib/directives/auto-focus.directive.mjs +4 -4
- package/esm2022/lib/directives/check-allowable-operation.directive.mjs +4 -4
- package/esm2022/lib/directives/content-directive.module.mjs +5 -5
- package/esm2022/lib/directives/library-favorite.directive.mjs +4 -4
- package/esm2022/lib/directives/library-membership.directive.mjs +4 -4
- package/esm2022/lib/directives/node-counter.directive.mjs +7 -7
- package/esm2022/lib/directives/node-delete.directive.mjs +4 -4
- package/esm2022/lib/directives/node-download.directive.mjs +4 -4
- package/esm2022/lib/directives/node-favorite.directive.mjs +4 -4
- package/esm2022/lib/directives/node-lock.directive.mjs +4 -4
- package/esm2022/lib/directives/node-restore.directive.mjs +4 -4
- package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +4 -4
- package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +4 -4
- package/esm2022/lib/document-list/components/document-list.component.mjs +4 -4
- package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +4 -4
- package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +4 -4
- package/esm2022/lib/document-list/document-list.module.mjs +5 -5
- package/esm2022/lib/document-list/services/custom-resources.service.mjs +4 -4
- package/esm2022/lib/document-list/services/document-actions.service.mjs +4 -4
- package/esm2022/lib/document-list/services/document-list.service.mjs +4 -4
- package/esm2022/lib/document-list/services/folder-actions.service.mjs +4 -4
- package/esm2022/lib/document-list/services/lock.service.mjs +4 -4
- package/esm2022/lib/document-list/services/node-actions.service.mjs +4 -4
- package/esm2022/lib/group/services/group.service.mjs +4 -4
- package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +4 -4
- package/esm2022/lib/material.module.mjs +5 -5
- package/esm2022/lib/mock/alfresco-api.service.mock.mjs +4 -4
- package/esm2022/lib/mock/search.component.mock.mjs +4 -4
- package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +4 -4
- package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +5 -5
- package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +4 -4
- package/esm2022/lib/node-comments/node-comments.component.mjs +4 -4
- package/esm2022/lib/node-comments/node-comments.module.mjs +5 -5
- package/esm2022/lib/node-comments/services/node-comments.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +4 -4
- package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +4 -4
- package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +4 -4
- package/esm2022/lib/permission-manager/permission-manager.module.mjs +5 -5
- package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +4 -4
- package/esm2022/lib/permission-manager/services/node-permission.service.mjs +4 -4
- package/esm2022/lib/pipes/content-pipe.module.mjs +5 -5
- package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +4 -4
- package/esm2022/lib/prediction/services/prediction.service.mjs +4 -4
- package/esm2022/lib/search/components/empty-search-result.component.mjs +4 -4
- package/esm2022/lib/search/components/reset-search.directive.mjs +4 -4
- package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +4 -4
- package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +4 -4
- package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +4 -4
- package/esm2022/lib/search/components/search-control.component.mjs +4 -4
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +5 -5
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +4 -4
- package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +4 -4
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +4 -4
- package/esm2022/lib/search/components/search-form/search-form.component.mjs +4 -4
- package/esm2022/lib/search/components/search-input/search-input.component.mjs +4 -4
- package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +4 -4
- package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +4 -4
- package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +4 -4
- package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +4 -4
- package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +4 -4
- package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +4 -4
- package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +4 -4
- package/esm2022/lib/search/components/search-text/search-text.component.mjs +4 -4
- package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +4 -4
- package/esm2022/lib/search/components/search.component.mjs +4 -4
- package/esm2022/lib/search/search.module.mjs +5 -5
- package/esm2022/lib/search/services/search-configuration.service.mjs +4 -4
- package/esm2022/lib/search/services/search-facet-filters.service.mjs +4 -4
- package/esm2022/lib/search/services/search-filter.service.mjs +4 -4
- package/esm2022/lib/search/services/search-header-query-builder.service.mjs +4 -4
- package/esm2022/lib/search/services/search-query-builder.service.mjs +4 -4
- package/esm2022/lib/search/services/search.service.mjs +4 -4
- package/esm2022/lib/search-ai/services/search-ai.service.mjs +4 -4
- package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +4 -4
- package/esm2022/lib/services/alfresco-api.service.mjs +4 -4
- package/esm2022/lib/tag/services/tag.service.mjs +4 -4
- package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +4 -4
- package/esm2022/lib/tag/tag-list/tag-list.component.mjs +4 -4
- package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +4 -4
- package/esm2022/lib/tag/tag.module.mjs +5 -5
- package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +4 -4
- package/esm2022/lib/testing/content.testing.module.mjs +5 -5
- package/esm2022/lib/tree/components/tree.component.mjs +4 -4
- package/esm2022/lib/tree/services/tree.service.mjs +4 -4
- package/esm2022/lib/tree/tree.module.mjs +5 -5
- package/esm2022/lib/tree-view/components/tree-view.component.mjs +4 -4
- package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +4 -4
- package/esm2022/lib/tree-view/services/tree-view.service.mjs +4 -4
- package/esm2022/lib/tree-view/tree-view.module.mjs +5 -5
- package/esm2022/lib/upload/components/base-upload/upload-base.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +4 -4
- package/esm2022/lib/upload/components/file-uploading-list.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-button.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-drag-area.component.mjs +4 -4
- package/esm2022/lib/upload/components/upload-version-button.component.mjs +4 -4
- package/esm2022/lib/upload/directives/file-draggable.directive.mjs +4 -4
- package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +4 -4
- package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +4 -4
- package/esm2022/lib/upload/upload.module.mjs +5 -5
- package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +4 -4
- package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +5 -5
- package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +4 -4
- package/esm2022/lib/version-manager/content-version.service.mjs +4 -4
- package/esm2022/lib/version-manager/version-comparison.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-list.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-manager.component.mjs +4 -4
- package/esm2022/lib/version-manager/version-manager.module.mjs +5 -5
- package/esm2022/lib/version-manager/version-upload.component.mjs +4 -4
- package/esm2022/lib/viewer/alfresco-viewer.module.mjs +5 -5
- package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +4 -4
- package/fesm2022/adf-content-services.mjs +629 -629
- package/fesm2022/adf-content-services.mjs.map +1 -1
- package/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.d.ts +1 -1
- package/package.json +3 -3
|
@@ -177,10 +177,10 @@ export class ContentNodeSelectorComponent {
|
|
|
177
177
|
hasUploadError() {
|
|
178
178
|
return this.showingSearch || this.hasNoPermissionToUpload();
|
|
179
179
|
}
|
|
180
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
181
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ContentNodeSelectorComponent, isStandalone: true, selector: "adf-content-node-selector", ngImport: i0, template: "<h1 mat-dialog-title class=\"adf-content-node-selector-dialog-title\" data-automation-id=\"content-node-selector-title\">{{title}}</h1>\n<ng-container *ngIf=\"canPerformLocalUpload(); else contentNodePanel\">\n <mat-tab-group class=\"adf-content-node-selector-dialog-content\"\n mat-align-tabs=\"start\"\n (selectedIndexChange)=\"onTabSelectionChange($event)\">\n <mat-tab label=\"{{ 'NODE_SELECTOR.REPOSITORY' | translate }}\">\n <ng-container *ngTemplateOutlet='contentNodePanel' />\n </mat-tab>\n <mat-tab [disabled]=\"isNotAllowedToUpload()\">\n <div class=\"adf-content-node-selector-local-upload-container\">\n <div class=\"adf-content-node-selector-local-upload-header\">\n <adf-toolbar>\n <adf-toolbar-title>\n <adf-dropdown-breadcrumb\n class=\"adf-content-node-selector-content-breadcrumb\"\n [folderNode]=\"breadcrumbFolderNode\"\n [rootId]=\"data?.currentFolderId\"\n [readOnly]=\"true\"\n data-automation-id=\"content-node-selector-upload-breadcrumb\"\n />\n <ng-container *ngIf=\"isCounterVisible()\" [adf-node-counter]=\"getSelectedCount()\" />\n </adf-toolbar-title>\n </adf-toolbar>\n <ng-template mat-tab-label>\n {{ 'NODE_SELECTOR.UPLOAD_FROM_DEVICE' | translate }}\n <mat-icon *ngIf=\"hasUploadError()\"\n data-automation-id=\"adf-content-node-selector-disabled-tab-info-icon\"\n title=\"{{ getWarningMessage() | translate }}\">info\n </mat-icon>\n </ng-template>\n </div>\n <div class=\"adf-content-node-selector-local-upload-content\">\n <adf-upload-drag-area [rootFolderId]=\"currentDirectoryId\">\n <div [class.adf-upload-dialog-container]=\"uploadStarted\">\n <adf-file-uploading-dialog [alwaysVisible]=\"true\" />\n </div>\n <adf-empty-list data-automation-id=\"adf-empty-list\" *ngIf=\"!uploadStarted\">\n <div class=\"adf-empty-list_template adf-empty-folder\">\n <div class=\"adf-empty-folder-drag-drop\">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div>\n <div class=\"adf-empty-folder-any-files-here-to-add\">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>\n <img [alt]=\"'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate\" class=\"adf-empty-folder-image\"\n [src]=\"emptyFolderImageUrl\">\n </div>\n </adf-empty-list>\n </adf-upload-drag-area>\n </div>\n </div>\n </mat-tab>\n </mat-tab-group>\n</ng-container>\n\n<ng-template #contentNodePanel>\n <adf-content-node-selector-panel\n [currentFolderId]=\"data?.currentFolderId\"\n [restrictRootToCurrentFolderId]=\"data?.restrictRootToCurrentFolderId\"\n [dropdownHideMyFiles]=\"data?.dropdownHideMyFiles\"\n [dropdownSiteList]=\"data?.dropdownSiteList\"\n [rowFilter]=\"data?.rowFilter\"\n [imageResolver]=\"data?.imageResolver\"\n [isSelectionValid]=\"data?.isSelectionValid\"\n [breadcrumbTransform]=\"data?.breadcrumbTransform\"\n [excludeSiteContent]=\"data?.excludeSiteContent\"\n [selectionMode]=\"data?.selectionMode\"\n [where]=\"data?.where\"\n [showSearch]=\"data?.showSearch\"\n [showDropdownSiteList]=\"data?.showDropdownSiteList\"\n [showFilesInResult]=\"data?.showFilesInResult\"\n [showNodeCounter]=\"isCounterVisible()\"\n (currentFolder)=\"onCurrentFolder($event)\"\n (folderLoaded)=\"onFolderLoaded()\"\n (select)=\"onSelect($event)\"\n (showingSearch)=\"onShowingSearch($event)\"\n (siteChange)=\"onSiteChange($event)\"\n (navigationChange)=\"onNavigationChange($event)\" />\n</ng-template>\n\n\n<mat-dialog-actions class=\"adf-content-node-selector-dialog-actions\">\n <div>\n <ng-container *ngIf=\"isUploadEnabled()\">\n <adf-upload-button\n [staticTitle]=\"'FORM.FIELD.UPLOAD' | translate \"\n [multipleFiles]=\"isMultipleSelection()\"\n [rootFolderId]=\"currentDirectoryId\"\n [disabled]=\"isNotAllowedToUpload()\"\n (error)=\"onError($event)\" />\n </ng-container>\n </div>\n <div>\n <button\n mat-button\n (click)=\"close()\"\n data-automation-id=\"content-node-selector-actions-cancel\">{{ 'NODE_SELECTOR.CANCEL' | translate }}\n </button>\n\n <button mat-button\n [disabled]=\"isChooseButtonDisabled()\"\n class=\"adf-choose-action\"\n (click)=\"onClick()\"\n data-automation-id=\"content-node-selector-actions-choose\">{{ buttonActionName | translate }}\n </button>\n </div>\n</mat-dialog-actions>\n", styles: ["adf-content-node-selector .adf-upload-dialog{box-shadow:none;height:100%;width:100%;position:unset;bottom:unset}adf-content-node-selector .adf-upload-dialog__content{max-height:64%}adf-content-node-selector .adf-upload-dialog-container{height:380px}adf-content-node-selector .adf-toolbar-title{place-items:center}adf-content-node-selector .adf-content-node-selector-local-upload-content{height:50vh}adf-content-node-selector .adf-content-node-selector-local-upload-content adf-upload-drag-area adf-empty-list .adf-empty-folder-drag-drop{min-height:46px;font-size:40px}adf-content-node-selector .adf-content-node-selector-local-upload-content adf-upload-drag-area adf-empty-list .adf-empty-folder-image{height:100px;width:460px}.adf-content-node-selector-dialog .mat-mdc-form-field{width:100%}.adf-content-node-selector-dialog .adf-dropdown-breadcrumb-icon{color:var(--adf-theme-foreground-base-color-045)}.adf-content-node-selector-dialog .mdc-dialog__title{margin-bottom:0;padding:0}.adf-content-node-selector-dialog .mdc-dialog__title:before{display:none}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-title{font-size:var(--theme-title-font-size);font-weight:600;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--adf-theme-foreground-text-color-087);margin-bottom:20px}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-title h2{margin:unset;font-size:unset}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions{padding:8px;height:77px;background-color:var(--theme-background-color);display:flex;flex-direction:row;justify-content:space-between;color:var(--adf-theme-foreground-text-color)}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions label{text-transform:uppercase;font-weight:400}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions .adf-choose-action[disabled]{color:var(--adf-theme-foreground-secondary-text-color)}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions .adf-choose-action:enabled{color:var(--theme-primary-color)}@media screen and (width <= 768px){.adf-content-node-selector-dialog{height:100vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i7.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "component", type: ToolbarTitleComponent, selector: "adf-toolbar-title" }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: DropdownBreadcrumbComponent, selector: "adf-dropdown-breadcrumb" }, { kind: "directive", type: NodeCounterDirective, selector: "[adf-node-counter]", inputs: ["adf-node-counter"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: UploadDragAreaComponent, selector: "adf-upload-drag-area" }, { kind: "component", type: FileUploadingDialogComponent, selector: "adf-file-uploading-dialog", inputs: ["position", "alwaysVisible"], outputs: ["error"] }, { kind: "component", type: EmptyListComponent, selector: "adf-empty-list" }, { kind: "component", type: ContentNodeSelectorPanelComponent, selector: "adf-content-node-selector-panel", inputs: ["restrictRootToCurrentFolderId", "currentFolderId", "dropdownHideMyFiles", "dropdownSiteList", "where", "rowFilter", "excludeSiteContent", "imageResolver", "pageSize", "selectionMode", "isSelectionValid", "breadcrumbTransform", "showSearch", "showDropdownSiteList", "showFilesInResult", "showNodeCounter"], outputs: ["select", "navigationChange", "siteChange", "showingSearch", "currentFolder", "folderLoaded"] }, { kind: "component", type: UploadButtonComponent, selector: "adf-upload-button", inputs: ["uploadFolders", "multipleFiles", "staticTitle", "tooltip", "file"], outputs: ["permissionEvent"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
180
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentNodeSelectorComponent, deps: [{ token: i1.TranslationService }, { token: i2.ContentService }, { token: i1.NotificationService }, { token: i3.UploadService }, { token: i4.MatDialogRef }, { token: i5.OverlayContainer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContentNodeSelectorComponent, isStandalone: true, selector: "adf-content-node-selector", ngImport: i0, template: "<h1 mat-dialog-title class=\"adf-content-node-selector-dialog-title\" data-automation-id=\"content-node-selector-title\">{{title}}</h1>\n<ng-container *ngIf=\"canPerformLocalUpload(); else contentNodePanel\">\n <mat-tab-group class=\"adf-content-node-selector-dialog-content\"\n mat-align-tabs=\"start\"\n (selectedIndexChange)=\"onTabSelectionChange($event)\">\n <mat-tab label=\"{{ 'NODE_SELECTOR.REPOSITORY' | translate }}\">\n <ng-container *ngTemplateOutlet='contentNodePanel' />\n </mat-tab>\n <mat-tab [disabled]=\"isNotAllowedToUpload()\">\n <div class=\"adf-content-node-selector-local-upload-container\">\n <div class=\"adf-content-node-selector-local-upload-header\">\n <adf-toolbar>\n <adf-toolbar-title>\n <adf-dropdown-breadcrumb\n class=\"adf-content-node-selector-content-breadcrumb\"\n [folderNode]=\"breadcrumbFolderNode\"\n [rootId]=\"data?.currentFolderId\"\n [readOnly]=\"true\"\n data-automation-id=\"content-node-selector-upload-breadcrumb\"\n />\n <ng-container *ngIf=\"isCounterVisible()\" [adf-node-counter]=\"getSelectedCount()\" />\n </adf-toolbar-title>\n </adf-toolbar>\n <ng-template mat-tab-label>\n {{ 'NODE_SELECTOR.UPLOAD_FROM_DEVICE' | translate }}\n <mat-icon *ngIf=\"hasUploadError()\"\n data-automation-id=\"adf-content-node-selector-disabled-tab-info-icon\"\n title=\"{{ getWarningMessage() | translate }}\">info\n </mat-icon>\n </ng-template>\n </div>\n <div class=\"adf-content-node-selector-local-upload-content\">\n <adf-upload-drag-area [rootFolderId]=\"currentDirectoryId\">\n <div [class.adf-upload-dialog-container]=\"uploadStarted\">\n <adf-file-uploading-dialog [alwaysVisible]=\"true\" />\n </div>\n <adf-empty-list data-automation-id=\"adf-empty-list\" *ngIf=\"!uploadStarted\">\n <div class=\"adf-empty-list_template adf-empty-folder\">\n <div class=\"adf-empty-folder-drag-drop\">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate }}</div>\n <div class=\"adf-empty-folder-any-files-here-to-add\">{{ 'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.SUBTITLE' | translate }}</div>\n <img [alt]=\"'ADF-DATATABLE.EMPTY.DRAG-AND-DROP.TITLE' | translate\" class=\"adf-empty-folder-image\"\n [src]=\"emptyFolderImageUrl\">\n </div>\n </adf-empty-list>\n </adf-upload-drag-area>\n </div>\n </div>\n </mat-tab>\n </mat-tab-group>\n</ng-container>\n\n<ng-template #contentNodePanel>\n <adf-content-node-selector-panel\n [currentFolderId]=\"data?.currentFolderId\"\n [restrictRootToCurrentFolderId]=\"data?.restrictRootToCurrentFolderId\"\n [dropdownHideMyFiles]=\"data?.dropdownHideMyFiles\"\n [dropdownSiteList]=\"data?.dropdownSiteList\"\n [rowFilter]=\"data?.rowFilter\"\n [imageResolver]=\"data?.imageResolver\"\n [isSelectionValid]=\"data?.isSelectionValid\"\n [breadcrumbTransform]=\"data?.breadcrumbTransform\"\n [excludeSiteContent]=\"data?.excludeSiteContent\"\n [selectionMode]=\"data?.selectionMode\"\n [where]=\"data?.where\"\n [showSearch]=\"data?.showSearch\"\n [showDropdownSiteList]=\"data?.showDropdownSiteList\"\n [showFilesInResult]=\"data?.showFilesInResult\"\n [showNodeCounter]=\"isCounterVisible()\"\n (currentFolder)=\"onCurrentFolder($event)\"\n (folderLoaded)=\"onFolderLoaded()\"\n (select)=\"onSelect($event)\"\n (showingSearch)=\"onShowingSearch($event)\"\n (siteChange)=\"onSiteChange($event)\"\n (navigationChange)=\"onNavigationChange($event)\" />\n</ng-template>\n\n\n<mat-dialog-actions class=\"adf-content-node-selector-dialog-actions\">\n <div>\n <ng-container *ngIf=\"isUploadEnabled()\">\n <adf-upload-button\n [staticTitle]=\"'FORM.FIELD.UPLOAD' | translate \"\n [multipleFiles]=\"isMultipleSelection()\"\n [rootFolderId]=\"currentDirectoryId\"\n [disabled]=\"isNotAllowedToUpload()\"\n (error)=\"onError($event)\" />\n </ng-container>\n </div>\n <div>\n <button\n mat-button\n (click)=\"close()\"\n data-automation-id=\"content-node-selector-actions-cancel\">{{ 'NODE_SELECTOR.CANCEL' | translate }}\n </button>\n\n <button mat-button\n [disabled]=\"isChooseButtonDisabled()\"\n class=\"adf-choose-action\"\n (click)=\"onClick()\"\n data-automation-id=\"content-node-selector-actions-choose\">{{ buttonActionName | translate }}\n </button>\n </div>\n</mat-dialog-actions>\n", styles: ["adf-content-node-selector .adf-upload-dialog{box-shadow:none;height:100%;width:100%;position:unset;bottom:unset}adf-content-node-selector .adf-upload-dialog__content{max-height:64%}adf-content-node-selector .adf-upload-dialog-container{height:380px}adf-content-node-selector .adf-toolbar-title{place-items:center}adf-content-node-selector .adf-content-node-selector-local-upload-content{height:50vh}adf-content-node-selector .adf-content-node-selector-local-upload-content adf-upload-drag-area adf-empty-list .adf-empty-folder-drag-drop{min-height:46px;font-size:40px}adf-content-node-selector .adf-content-node-selector-local-upload-content adf-upload-drag-area adf-empty-list .adf-empty-folder-image{height:100px;width:460px}.adf-content-node-selector-dialog .mat-mdc-form-field{width:100%}.adf-content-node-selector-dialog .adf-dropdown-breadcrumb-icon{color:var(--adf-theme-foreground-base-color-045)}.adf-content-node-selector-dialog .mdc-dialog__title{margin-bottom:0;padding:0}.adf-content-node-selector-dialog .mdc-dialog__title:before{display:none}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-title{font-size:var(--theme-title-font-size);font-weight:600;font-style:normal;font-stretch:normal;line-height:1.6;letter-spacing:-.5px;color:var(--adf-theme-foreground-text-color-087);margin-bottom:20px}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-title h2{margin:unset;font-size:unset}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions{padding:8px;height:77px;background-color:var(--theme-background-color);display:flex;flex-direction:row;justify-content:space-between;color:var(--adf-theme-foreground-text-color)}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions label{text-transform:uppercase;font-weight:400}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions .adf-choose-action[disabled]{color:var(--adf-theme-foreground-secondary-text-color)}.adf-content-node-selector-dialog .adf-content-node-selector-dialog-actions .adf-choose-action:enabled{color:var(--theme-primary-color)}@media screen and (width <= 768px){.adf-content-node-selector-dialog{height:100vh}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "ngmodule", type: MatTabsModule }, { kind: "directive", type: i7.MatTabLabel, selector: "[mat-tab-label], [matTabLabel]" }, { kind: "component", type: i7.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i7.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "component", type: ToolbarTitleComponent, selector: "adf-toolbar-title" }, { kind: "component", type: ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "component", type: DropdownBreadcrumbComponent, selector: "adf-dropdown-breadcrumb" }, { kind: "directive", type: NodeCounterDirective, selector: "[adf-node-counter]", inputs: ["adf-node-counter"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: UploadDragAreaComponent, selector: "adf-upload-drag-area" }, { kind: "component", type: FileUploadingDialogComponent, selector: "adf-file-uploading-dialog", inputs: ["position", "alwaysVisible"], outputs: ["error"] }, { kind: "component", type: EmptyListComponent, selector: "adf-empty-list" }, { kind: "component", type: ContentNodeSelectorPanelComponent, selector: "adf-content-node-selector-panel", inputs: ["restrictRootToCurrentFolderId", "currentFolderId", "dropdownHideMyFiles", "dropdownSiteList", "where", "rowFilter", "excludeSiteContent", "imageResolver", "pageSize", "selectionMode", "isSelectionValid", "breadcrumbTransform", "showSearch", "showDropdownSiteList", "showFilesInResult", "showNodeCounter"], outputs: ["select", "navigationChange", "siteChange", "showingSearch", "currentFolder", "folderLoaded"] }, { kind: "component", type: UploadButtonComponent, selector: "adf-upload-button", inputs: ["uploadFolders", "multipleFiles", "staticTitle", "tooltip", "file"], outputs: ["permissionEvent"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
182
182
|
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
183
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentNodeSelectorComponent, decorators: [{
|
|
184
184
|
type: Component,
|
|
185
185
|
args: [{ selector: 'adf-content-node-selector', standalone: true, imports: [
|
|
186
186
|
CommonModule,
|
|
@@ -203,4 +203,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
203
203
|
type: Inject,
|
|
204
204
|
args: [MAT_DIALOG_DATA]
|
|
205
205
|
}] }] });
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNlbGVjdG9yL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9jb250ZW50LW5vZGUtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQs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QUFPLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDaEUsQ0FBQzs4R0ExS1EsNEJBQTRCLDhNQXlCekIsZUFBZTtrR0F6QmxCLDRCQUE0QixxRkN2RXpDLHMyS0F1R0EsMHNFRHBEUSxZQUFZLHlTQUNaLGVBQWUsNlRBQ2YsYUFBYSxvc0JBQ2IsZUFBZSw0RkFDZixxQkFBcUIsOERBQ3JCLGdCQUFnQixvRkFDaEIsMkJBQTJCLG9FQUMzQixvQkFBb0IsNEZBQ3BCLGFBQWEsb0xBQ2IsdUJBQXVCLGlFQUN2Qiw0QkFBNEIsaUlBQzVCLGtCQUFrQiwyREFDbEIsaUNBQWlDLGlmQUNqQyxxQkFBcUIseUtBQ3JCLGVBQWU7OzJGQU1WLDRCQUE0QjtrQkF4QnhDLFNBQVM7K0JBQ0ksMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQixpQ0FBaUM7d0JBQ2pDLHFCQUFxQjt3QkFDckIsZUFBZTtxQkFDbEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs7MEJBMkJoQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgICBFbXB0eUxpc3RDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJUaXRsZUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFsbG93YWJsZU9wZXJhdGlvbnNFbnVtIH0gZnJvbSAnLi4vY29tbW9uL21vZGVscy9hbGxvd2FibGUtb3BlcmF0aW9ucy5lbnVtJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRlbnROb2RlU2VsZWN0b3JDb21wb25lbnREYXRhIH0gZnJvbSAnLi9jb250ZW50LW5vZGUtc2VsZWN0b3IuY29tcG9uZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5vZGVFbnRyeUV2ZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQtbGlzdC9jb21wb25lbnRzL25vZGUuZXZlbnQnO1xuaW1wb3J0IHsgTm9kZUFjdGlvbiB9IGZyb20gJy4uL2RvY3VtZW50LWxpc3QvbW9kZWxzL25vZGUtYWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZUNvdW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25vZGUtY291bnRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVXBsb2FkRHJhZ0FyZWFDb21wb25lbnQgfSBmcm9tICcuLi91cGxvYWQvY29tcG9uZW50cy91cGxvYWQtZHJhZy1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkaW5nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkL2NvbXBvbmVudHMvZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50Tm9kZVNlbGVjdG9yUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci1wYW5lbC9jb250ZW50LW5vZGUtc2VsZWN0b3ItcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3RvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFRvb2xiYXJUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25CcmVhZGNydW1iQ29tcG9uZW50LFxuICAgICAgICBOb2RlQ291bnRlckRpcmVjdGl2ZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgVXBsb2FkRHJhZ0FyZWFDb21wb25lbnQsXG4gICAgICAgIEZpbGVVcGxvYWRpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIEVtcHR5TGlzdENvbXBvbmVudCxcbiAgICAgICAgQ29udGVudE5vZGVTZWxlY3RvclBhbmVsQ29tcG9uZW50LFxuICAgICAgICBVcGxvYWRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1ub2RlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBOb2RlQWN0aW9uO1xuICAgIGJ1dHRvbkFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBjaG9zZW5Ob2RlOiBOb2RlW107XG4gICAgY3VycmVudERpcmVjdG9yeUlkOiBzdHJpbmc7XG4gICAgc2hvd2luZ1NlYXJjaCA9IGZhbHNlO1xuICAgIGhhc0FsbG93YWJsZU9wZXJhdGlvbnMgPSBmYWxzZTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuICAgIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlciA9IDA7XG4gICAgdXBsb2FkU3RhcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZW1wdHlGb2xkZXJJbWFnZVVybDogc3RyaW5nID0gJy4vYXNzZXRzL2ltYWdlcy9lbXB0eV9kb2NfbGliLnN2Zyc7XG4gICAgYnJlYWRjcnVtYkZvbGRlck5vZGU6IE5vZGU7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dSZWY8Q29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudD4sXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50RGF0YVxuICAgICkge1xuICAgICAgICB0aGlzLmFjdGlvbiA9IGRhdGEuYWN0aW9uTmFtZSA/PyBOb2RlQWN0aW9uLkNIT09TRTtcbiAgICAgICAgdGhpcy5idXR0b25BY3Rpb25OYW1lID0gYE5PREVfU0VMRUNUT1IuJHt0aGlzLmFjdGlvbn1gO1xuICAgICAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcbiAgICAgICAgdGhpcy5jdXJyZW50RGlyZWN0b3J5SWQgPSBkYXRhLmN1cnJlbnRGb2xkZXJJZDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dcbiAgICAgICAgICAgIC5rZXlkb3duRXZlbnRzKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQ/LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLmFmdGVyT3BlbmVkKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnbWFpbicpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVVcGxvYWRTdGFydGluZy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLnNldEF0dHJpYnV0ZSgncm9sZScsICdyZWdpb24nKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChub2RlTGlzdDogTm9kZVtdKSB7XG4gICAgICAgIHRoaXMuY2hvc2VuTm9kZSA9IG5vZGVMaXN0O1xuICAgIH1cblxuICAgIG9uU2l0ZUNoYW5nZShzaXRlVGl0bGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVwZGF0ZVRpdGxlKHNpdGVUaXRsZSk7XG4gICAgfVxuXG4gICAgb25OYXZpZ2F0aW9uQ2hhbmdlKHBhdGhFbGVtZW50OiBOb2RlRW50cnlFdmVudCkge1xuICAgICAgICB0aGlzLmN1cnJlbnREaXJlY3RvcnlJZCA9IHBhdGhFbGVtZW50LnZhbHVlLmlkO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgfVxuXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLnNlbGVjdC5uZXh0KHRoaXMuY2hvc2VuTm9kZSk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUaXRsZShzaXRlVGl0bGU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09IE5vZGVBY3Rpb24uQ0hPT1NFICYmIHNpdGVUaXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuZ2V0VGl0bGVUcmFuc2xhdGlvbih0aGlzLmFjdGlvbiwgc2l0ZVRpdGxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRpdGxlVHJhbnNsYXRpb24oYWN0aW9uOiBOb2RlQWN0aW9uLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KGBOT0RFX1NFTEVDVE9SLiR7YWN0aW9ufV9JVEVNYCwgeyBuYW1lOiB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQobmFtZSkgfSk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0ZWRDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jaG9zZW5Ob2RlPy5sZW5ndGggfHwgMDtcbiAgICB9XG5cbiAgICBpc0NvdW50ZXJWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb24gPT09IE5vZGVBY3Rpb24uQVRUQUNIIHx8IHRoaXMuYWN0aW9uID09PSBOb2RlQWN0aW9uLkNIT09TRTtcbiAgICB9XG5cbiAgICBpc011bHRpcGxlU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSc7XG4gICAgfVxuXG4gICAgb25FcnJvcihlcnJvcikge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd0Vycm9yKGVycm9yKTtcbiAgICB9XG5cbiAgICBpc0Nob29zZUJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlLmlzVXBsb2FkaW5nKCkgfHwgIXRoaXMuaGFzTm9kZVNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgaGFzTm9kZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaG9zZW5Ob2RlPy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIG9uU2hvd2luZ1NlYXJjaCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3dpbmdTZWFyY2ggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBvbkN1cnJlbnRGb2xkZXIoY3VycmVudEZvbGRlcjogTm9kZSkge1xuICAgICAgICB0aGlzLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMoY3VycmVudEZvbGRlciwgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0uQ1JFQVRFKTtcbiAgICAgICAgdGhpcy5icmVhZGNydW1iRm9sZGVyTm9kZSA9IGN1cnJlbnRGb2xkZXI7XG4gICAgfVxuXG4gICAgaXNOb3RBbGxvd2VkVG9VcGxvYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dpbmdTZWFyY2ggfHwgIXRoaXMuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucztcbiAgICB9XG5cbiAgICBvbkZvbGRlckxvYWRlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvblRhYlNlbGVjdGlvbkNoYW5nZSh0YWJJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9IHRhYkluZGV4O1xuICAgIH1cblxuICAgIGlzRmlsZVNlcnZlclRhYlNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFRhYkluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIGlzTG9jYWxVcGxvYWRUYWJTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9PT0gMTtcbiAgICB9XG5cbiAgICBpc1VwbG9hZEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhblBlcmZvcm1Mb2NhbFVwbG9hZCgpICYmIHRoaXMuaXNMb2NhbFVwbG9hZFRhYlNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgY2FuUGVyZm9ybUxvY2FsVXBsb2FkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhPy5zaG93TG9jYWxVcGxvYWRCdXR0b247XG4gICAgfVxuXG4gICAgZ2V0V2FybmluZ01lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd2luZ1NlYXJjaCkge1xuICAgICAgICAgICAgcmV0dXJuICdOT0RFX1NFTEVDVE9SLlVQTE9BRF9CVVRUT05fU0VBUkNIX1dBUk5JTkdfTUVTU0FHRSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzTm9QZXJtaXNzaW9uVG9VcGxvYWQoKSA/ICdOT0RFX1NFTEVDVE9SLlVQTE9BRF9CVVRUT05fUEVSTUlTU0lPTl9XQVJOSU5HX01FU1NBR0UnIDogJyc7XG4gICAgfVxuXG4gICAgaGFzTm9QZXJtaXNzaW9uVG9VcGxvYWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNBbGxvd2FibGVPcGVyYXRpb25zICYmICF0aGlzLnNob3dpbmdTZWFyY2ggJiYgIXRoaXMuaXNMb2FkaW5nO1xuICAgIH1cblxuICAgIGhhc1VwbG9hZEVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93aW5nU2VhcmNoIHx8IHRoaXMuaGFzTm9QZXJtaXNzaW9uVG9VcGxvYWQoKTtcbiAgICB9XG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cImFkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItZGlhbG9nLXRpdGxlXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC1ub2RlLXNlbGVjdG9yLXRpdGxlXCI+e3t0aXRsZX19PC9oMT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5QZXJmb3JtTG9jYWxVcGxvYWQoKTsgZWxzZSBjb250ZW50Tm9kZVBhbmVsXCI+XG4gICAgPG1hdC10YWItZ3JvdXAgY2xhc3M9XCJhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpYWxvZy1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblRhYlNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwie3sgJ05PREVfU0VMRUNUT1IuUkVQT1NJVE9SWScgfCB0cmFuc2xhdGUgfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9J2NvbnRlbnROb2RlUGFuZWwnIC8+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgW2Rpc2FibGVkXT1cImlzTm90QWxsb3dlZFRvVXBsb2FkKClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWxvY2FsLXVwbG9hZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1sb2NhbC11cGxvYWQtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhZGYtdG9vbGJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtdG9vbGJhci10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWRyb3Bkb3duLWJyZWFkY3J1bWJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1jb250ZW50LWJyZWFkY3J1bWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvbGRlck5vZGVdPVwiYnJlYWRjcnVtYkZvbGRlck5vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jvb3RJZF09XCJkYXRhPy5jdXJyZW50Rm9sZGVySWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC1ub2RlLXNlbGVjdG9yLXVwbG9hZC1icmVhZGNydW1iXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NvdW50ZXJWaXNpYmxlKClcIiBbYWRmLW5vZGUtY291bnRlcl09XCJnZXRTZWxlY3RlZENvdW50KClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hZGYtdG9vbGJhci10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9hZGYtdG9vbGJhcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnTk9ERV9TRUxFQ1RPUi5VUExPQURfRlJPTV9ERVZJQ0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJoYXNVcGxvYWRFcnJvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpc2FibGVkLXRhYi1pbmZvLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgZ2V0V2FybmluZ01lc3NhZ2UoKSB8IHRyYW5zbGF0ZSB9fVwiPmluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItbG9jYWwtdXBsb2FkLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi11cGxvYWQtZHJhZy1hcmVhIFtyb290Rm9sZGVySWRdPVwiY3VycmVudERpcmVjdG9yeUlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5hZGYtdXBsb2FkLWRpYWxvZy1jb250YWluZXJdPVwidXBsb2FkU3RhcnRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZmlsZS11cGxvYWRpbmctZGlhbG9nIFthbHdheXNWaXNpYmxlXT1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWVtcHR5LWxpc3QgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWVtcHR5LWxpc3RcIiAqbmdJZj1cIiF1cGxvYWRTdGFydGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lbXB0eS1saXN0X3RlbXBsYXRlIGFkZi1lbXB0eS1mb2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lbXB0eS1mb2xkZXItZHJhZy1kcm9wXCI+e3sgJ0FERi1EQVRBVEFCTEUuRU1QVFkuRFJBRy1BTkQtRFJPUC5USVRMRScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lbXB0eS1mb2xkZXItYW55LWZpbGVzLWhlcmUtdG8tYWRkXCI+e3sgJ0FERi1EQVRBVEFCTEUuRU1QVFkuRFJBRy1BTkQtRFJPUC5TVUJUSVRMRScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbYWx0XT1cIidBREYtREFUQVRBQkxFLkVNUFRZLkRSQUctQU5ELURST1AuVElUTEUnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhZGYtZW1wdHktZm9sZGVyLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImVtcHR5Rm9sZGVySW1hZ2VVcmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWVtcHR5LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvYWRmLXVwbG9hZC1kcmFnLWFyZWE+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnROb2RlUGFuZWw+XG4gICAgPGFkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItcGFuZWxcbiAgICAgIFtjdXJyZW50Rm9sZGVySWRdPVwiZGF0YT8uY3VycmVudEZvbGRlcklkXCJcbiAgICAgIFtyZXN0cmljdFJvb3RUb0N1cnJlbnRGb2xkZXJJZF09XCJkYXRhPy5yZXN0cmljdFJvb3RUb0N1cnJlbnRGb2xkZXJJZFwiXG4gICAgICBbZHJvcGRvd25IaWRlTXlGaWxlc109XCJkYXRhPy5kcm9wZG93bkhpZGVNeUZpbGVzXCJcbiAgICAgIFtkcm9wZG93blNpdGVMaXN0XT1cImRhdGE/LmRyb3Bkb3duU2l0ZUxpc3RcIlxuICAgICAgW3Jvd0ZpbHRlcl09XCJkYXRhPy5yb3dGaWx0ZXJcIlxuICAgICAgW2ltYWdlUmVzb2x2ZXJdPVwiZGF0YT8uaW1hZ2VSZXNvbHZlclwiXG4gICAgICBbaXNTZWxlY3Rpb25WYWxpZF09XCJkYXRhPy5pc1NlbGVjdGlvblZhbGlkXCJcbiAgICAgIFticmVhZGNydW1iVHJhbnNmb3JtXT1cImRhdGE/LmJyZWFkY3J1bWJUcmFuc2Zvcm1cIlxuICAgICAgW2V4Y2x1ZGVTaXRlQ29udGVudF09XCJkYXRhPy5leGNsdWRlU2l0ZUNvbnRlbnRcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiZGF0YT8uc2VsZWN0aW9uTW9kZVwiXG4gICAgICBbd2hlcmVdPVwiZGF0YT8ud2hlcmVcIlxuICAgICAgW3Nob3dTZWFyY2hdPVwiZGF0YT8uc2hvd1NlYXJjaFwiXG4gICAgICBbc2hvd0Ryb3Bkb3duU2l0ZUxpc3RdPVwiZGF0YT8uc2hvd0Ryb3Bkb3duU2l0ZUxpc3RcIlxuICAgICAgW3Nob3dGaWxlc0luUmVzdWx0XT1cImRhdGE/LnNob3dGaWxlc0luUmVzdWx0XCJcbiAgICAgIFtzaG93Tm9kZUNvdW50ZXJdPVwiaXNDb3VudGVyVmlzaWJsZSgpXCJcbiAgICAgIChjdXJyZW50Rm9sZGVyKT1cIm9uQ3VycmVudEZvbGRlcigkZXZlbnQpXCJcbiAgICAgIChmb2xkZXJMb2FkZWQpPVwib25Gb2xkZXJMb2FkZWQoKVwiXG4gICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgKHNob3dpbmdTZWFyY2gpPVwib25TaG93aW5nU2VhcmNoKCRldmVudClcIlxuICAgICAgKHNpdGVDaGFuZ2UpPVwib25TaXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKG5hdmlnYXRpb25DaGFuZ2UpPVwib25OYXZpZ2F0aW9uQ2hhbmdlKCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1kaWFsb2ctYWN0aW9uc1wiPlxuICAgIDxkaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1VwbG9hZEVuYWJsZWQoKVwiPlxuICAgICAgICAgICAgPGFkZi11cGxvYWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgW3N0YXRpY1RpdGxlXT1cIidGT1JNLkZJRUxELlVQTE9BRCcgfCB0cmFuc2xhdGUgXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVGaWxlc109XCJpc011bHRpcGxlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgIFtyb290Rm9sZGVySWRdPVwiY3VycmVudERpcmVjdG9yeUlkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNOb3RBbGxvd2VkVG9VcGxvYWQoKVwiXG4gICAgICAgICAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNvbnRlbnQtbm9kZS1zZWxlY3Rvci1hY3Rpb25zLWNhbmNlbFwiPnt7ICdOT0RFX1NFTEVDVE9SLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ2hvb3NlQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtY2hvb3NlLWFjdGlvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC1ub2RlLXNlbGVjdG9yLWFjdGlvbnMtY2hvb3NlXCI+e3sgYnV0dG9uQWN0aW9uTmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNlbGVjdG9yL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9jb250ZW50LW5vZGUtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNyQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQs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QUFPLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDaEUsQ0FBQzsrR0ExS1EsNEJBQTRCLDhNQXlCekIsZUFBZTttR0F6QmxCLDRCQUE0QixxRkN2RXpDLHMyS0F1R0EsMHNFRHBEUSxZQUFZLHlTQUNaLGVBQWUsNlRBQ2YsYUFBYSxxdUJBQ2IsZUFBZSw0RkFDZixxQkFBcUIsOERBQ3JCLGdCQUFnQixvRkFDaEIsMkJBQTJCLG9FQUMzQixvQkFBb0IsNEZBQ3BCLGFBQWEsb0xBQ2IsdUJBQXVCLGlFQUN2Qiw0QkFBNEIsaUlBQzVCLGtCQUFrQiwyREFDbEIsaUNBQWlDLGlmQUNqQyxxQkFBcUIseUtBQ3JCLGVBQWU7OzRGQU1WLDRCQUE0QjtrQkF4QnhDLFNBQVM7K0JBQ0ksMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQiwyQkFBMkI7d0JBQzNCLG9CQUFvQjt3QkFDcEIsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3dCQUNsQixpQ0FBaUM7d0JBQ2pDLHFCQUFxQjt3QkFDckIsZUFBZTtxQkFDbEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs7MEJBMkJoQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3QsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSwgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgICBFbXB0eUxpc3RDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJUaXRsZUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGlvblNlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IE5vZGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IEFsbG93YWJsZU9wZXJhdGlvbnNFbnVtIH0gZnJvbSAnLi4vY29tbW9uL21vZGVscy9hbGxvd2FibGUtb3BlcmF0aW9ucy5lbnVtJztcbmltcG9ydCB7IENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL2NvbnRlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnRlbnROb2RlU2VsZWN0b3JDb21wb25lbnREYXRhIH0gZnJvbSAnLi9jb250ZW50LW5vZGUtc2VsZWN0b3IuY29tcG9uZW50LWRhdGEuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5vZGVFbnRyeUV2ZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQtbGlzdC9jb21wb25lbnRzL25vZGUuZXZlbnQnO1xuaW1wb3J0IHsgTm9kZUFjdGlvbiB9IGZyb20gJy4uL2RvY3VtZW50LWxpc3QvbW9kZWxzL25vZGUtYWN0aW9uLmVudW0nO1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4uL2JyZWFkY3J1bWIvZHJvcGRvd24tYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZUNvdW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL25vZGUtY291bnRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgVXBsb2FkRHJhZ0FyZWFDb21wb25lbnQgfSBmcm9tICcuLi91cGxvYWQvY29tcG9uZW50cy91cGxvYWQtZHJhZy1hcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkaW5nRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vdXBsb2FkL2NvbXBvbmVudHMvZmlsZS11cGxvYWRpbmctZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50Tm9kZVNlbGVjdG9yUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci1wYW5lbC9jb250ZW50LW5vZGUtc2VsZWN0b3ItcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3VwbG9hZC9jb21wb25lbnRzL3VwbG9hZC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3RvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgICAgICBNYXRUYWJzTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFRvb2xiYXJUaXRsZUNvbXBvbmVudCxcbiAgICAgICAgVG9vbGJhckNvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25CcmVhZGNydW1iQ29tcG9uZW50LFxuICAgICAgICBOb2RlQ291bnRlckRpcmVjdGl2ZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcbiAgICAgICAgVXBsb2FkRHJhZ0FyZWFDb21wb25lbnQsXG4gICAgICAgIEZpbGVVcGxvYWRpbmdEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIEVtcHR5TGlzdENvbXBvbmVudCxcbiAgICAgICAgQ29udGVudE5vZGVTZWxlY3RvclBhbmVsQ29tcG9uZW50LFxuICAgICAgICBVcGxvYWRCdXR0b25Db21wb25lbnQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1ub2RlLXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgYWN0aW9uOiBOb2RlQWN0aW9uO1xuICAgIGJ1dHRvbkFjdGlvbk5hbWU6IHN0cmluZztcbiAgICBjaG9zZW5Ob2RlOiBOb2RlW107XG4gICAgY3VycmVudERpcmVjdG9yeUlkOiBzdHJpbmc7XG4gICAgc2hvd2luZ1NlYXJjaCA9IGZhbHNlO1xuICAgIGhhc0FsbG93YWJsZU9wZXJhdGlvbnMgPSBmYWxzZTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuICAgIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlciA9IDA7XG4gICAgdXBsb2FkU3RhcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgZW1wdHlGb2xkZXJJbWFnZVVybDogc3RyaW5nID0gJy4vYXNzZXRzL2ltYWdlcy9lbXB0eV9kb2NfbGliLnN2Zyc7XG4gICAgYnJlYWRjcnVtYkZvbGRlck5vZGU6IE5vZGU7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dSZWY8Q29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudD4sXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheUNvbnRhaW5lcjogT3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50RGF0YVxuICAgICkge1xuICAgICAgICB0aGlzLmFjdGlvbiA9IGRhdGEuYWN0aW9uTmFtZSA/PyBOb2RlQWN0aW9uLkNIT09TRTtcbiAgICAgICAgdGhpcy5idXR0b25BY3Rpb25OYW1lID0gYE5PREVfU0VMRUNUT1IuJHt0aGlzLmFjdGlvbn1gO1xuICAgICAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcbiAgICAgICAgdGhpcy5jdXJyZW50RGlyZWN0b3J5SWQgPSBkYXRhLmN1cnJlbnRGb2xkZXJJZDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dcbiAgICAgICAgICAgIC5rZXlkb3duRXZlbnRzKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQ/LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLmJhY2tkcm9wQ2xpY2soKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLmFmdGVyT3BlbmVkKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmdldENvbnRhaW5lckVsZW1lbnQoKS5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCAnbWFpbicpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVVcGxvYWRTdGFydGluZy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmRpYWxvZy5jbG9zZSgpO1xuICAgICAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZ2V0Q29udGFpbmVyRWxlbWVudCgpLnNldEF0dHJpYnV0ZSgncm9sZScsICdyZWdpb24nKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdChub2RlTGlzdDogTm9kZVtdKSB7XG4gICAgICAgIHRoaXMuY2hvc2VuTm9kZSA9IG5vZGVMaXN0O1xuICAgIH1cblxuICAgIG9uU2l0ZUNoYW5nZShzaXRlVGl0bGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVwZGF0ZVRpdGxlKHNpdGVUaXRsZSk7XG4gICAgfVxuXG4gICAgb25OYXZpZ2F0aW9uQ2hhbmdlKHBhdGhFbGVtZW50OiBOb2RlRW50cnlFdmVudCkge1xuICAgICAgICB0aGlzLmN1cnJlbnREaXJlY3RvcnlJZCA9IHBhdGhFbGVtZW50LnZhbHVlLmlkO1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgfVxuXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLnNlbGVjdC5uZXh0KHRoaXMuY2hvc2VuTm9kZSk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUaXRsZShzaXRlVGl0bGU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09IE5vZGVBY3Rpb24uQ0hPT1NFICYmIHNpdGVUaXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuZ2V0VGl0bGVUcmFuc2xhdGlvbih0aGlzLmFjdGlvbiwgc2l0ZVRpdGxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRpdGxlVHJhbnNsYXRpb24oYWN0aW9uOiBOb2RlQWN0aW9uLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KGBOT0RFX1NFTEVDVE9SLiR7YWN0aW9ufV9JVEVNYCwgeyBuYW1lOiB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQobmFtZSkgfSk7XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0ZWRDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jaG9zZW5Ob2RlPy5sZW5ndGggfHwgMDtcbiAgICB9XG5cbiAgICBpc0NvdW50ZXJWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5hY3Rpb24gPT09IE5vZGVBY3Rpb24uQVRUQUNIIHx8IHRoaXMuYWN0aW9uID09PSBOb2RlQWN0aW9uLkNIT09TRTtcbiAgICB9XG5cbiAgICBpc011bHRpcGxlU2VsZWN0aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNlbGVjdGlvbk1vZGUgPT09ICdtdWx0aXBsZSc7XG4gICAgfVxuXG4gICAgb25FcnJvcihlcnJvcikge1xuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uuc2hvd0Vycm9yKGVycm9yKTtcbiAgICB9XG5cbiAgICBpc0Nob29zZUJ1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRTZXJ2aWNlLmlzVXBsb2FkaW5nKCkgfHwgIXRoaXMuaGFzTm9kZVNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgaGFzTm9kZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jaG9zZW5Ob2RlPy5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIG9uU2hvd2luZ1NlYXJjaCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNob3dpbmdTZWFyY2ggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBvbkN1cnJlbnRGb2xkZXIoY3VycmVudEZvbGRlcjogTm9kZSkge1xuICAgICAgICB0aGlzLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMgPSB0aGlzLmNvbnRlbnRTZXJ2aWNlLmhhc0FsbG93YWJsZU9wZXJhdGlvbnMoY3VycmVudEZvbGRlciwgQWxsb3dhYmxlT3BlcmF0aW9uc0VudW0uQ1JFQVRFKTtcbiAgICAgICAgdGhpcy5icmVhZGNydW1iRm9sZGVyTm9kZSA9IGN1cnJlbnRGb2xkZXI7XG4gICAgfVxuXG4gICAgaXNOb3RBbGxvd2VkVG9VcGxvYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dpbmdTZWFyY2ggfHwgIXRoaXMuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucztcbiAgICB9XG5cbiAgICBvbkZvbGRlckxvYWRlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvblRhYlNlbGVjdGlvbkNoYW5nZSh0YWJJbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9IHRhYkluZGV4O1xuICAgIH1cblxuICAgIGlzRmlsZVNlcnZlclRhYlNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFRhYkluZGV4ID09PSAwO1xuICAgIH1cblxuICAgIGlzTG9jYWxVcGxvYWRUYWJTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRUYWJJbmRleCA9PT0gMTtcbiAgICB9XG5cbiAgICBpc1VwbG9hZEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhblBlcmZvcm1Mb2NhbFVwbG9hZCgpICYmIHRoaXMuaXNMb2NhbFVwbG9hZFRhYlNlbGVjdGVkKCk7XG4gICAgfVxuXG4gICAgY2FuUGVyZm9ybUxvY2FsVXBsb2FkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhPy5zaG93TG9jYWxVcGxvYWRCdXR0b247XG4gICAgfVxuXG4gICAgZ2V0V2FybmluZ01lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd2luZ1NlYXJjaCkge1xuICAgICAgICAgICAgcmV0dXJuICdOT0RFX1NFTEVDVE9SLlVQTE9BRF9CVVRUT05fU0VBUkNIX1dBUk5JTkdfTUVTU0FHRSc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzTm9QZXJtaXNzaW9uVG9VcGxvYWQoKSA/ICdOT0RFX1NFTEVDVE9SLlVQTE9BRF9CVVRUT05fUEVSTUlTU0lPTl9XQVJOSU5HX01FU1NBR0UnIDogJyc7XG4gICAgfVxuXG4gICAgaGFzTm9QZXJtaXNzaW9uVG9VcGxvYWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oYXNBbGxvd2FibGVPcGVyYXRpb25zICYmICF0aGlzLnNob3dpbmdTZWFyY2ggJiYgIXRoaXMuaXNMb2FkaW5nO1xuICAgIH1cblxuICAgIGhhc1VwbG9hZEVycm9yKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaG93aW5nU2VhcmNoIHx8IHRoaXMuaGFzTm9QZXJtaXNzaW9uVG9VcGxvYWQoKTtcbiAgICB9XG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cImFkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItZGlhbG9nLXRpdGxlXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC1ub2RlLXNlbGVjdG9yLXRpdGxlXCI+e3t0aXRsZX19PC9oMT5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5QZXJmb3JtTG9jYWxVcGxvYWQoKTsgZWxzZSBjb250ZW50Tm9kZVBhbmVsXCI+XG4gICAgPG1hdC10YWItZ3JvdXAgY2xhc3M9XCJhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpYWxvZy1jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICBtYXQtYWxpZ24tdGFicz1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgICAoc2VsZWN0ZWRJbmRleENoYW5nZSk9XCJvblRhYlNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCI+XG4gICAgICAgIDxtYXQtdGFiIGxhYmVsPVwie3sgJ05PREVfU0VMRUNUT1IuUkVQT1NJVE9SWScgfCB0cmFuc2xhdGUgfX1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9J2NvbnRlbnROb2RlUGFuZWwnIC8+XG4gICAgICAgIDwvbWF0LXRhYj5cbiAgICAgICAgPG1hdC10YWIgW2Rpc2FibGVkXT1cImlzTm90QWxsb3dlZFRvVXBsb2FkKClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWxvY2FsLXVwbG9hZC1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1sb2NhbC11cGxvYWQtaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhZGYtdG9vbGJhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtdG9vbGJhci10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWRyb3Bkb3duLWJyZWFkY3J1bWJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1jb250ZW50LWJyZWFkY3J1bWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZvbGRlck5vZGVdPVwiYnJlYWRjcnVtYkZvbGRlck5vZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Jvb3RJZF09XCJkYXRhPy5jdXJyZW50Rm9sZGVySWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRPbmx5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC1ub2RlLXNlbGVjdG9yLXVwbG9hZC1icmVhZGNydW1iXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NvdW50ZXJWaXNpYmxlKClcIiBbYWRmLW5vZGUtY291bnRlcl09XCJnZXRTZWxlY3RlZENvdW50KClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hZGYtdG9vbGJhci10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9hZGYtdG9vbGJhcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdC10YWItbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnTk9ERV9TRUxFQ1RPUi5VUExPQURfRlJPTV9ERVZJQ0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJoYXNVcGxvYWRFcnJvcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpc2FibGVkLXRhYi1pbmZvLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3sgZ2V0V2FybmluZ01lc3NhZ2UoKSB8IHRyYW5zbGF0ZSB9fVwiPmluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItbG9jYWwtdXBsb2FkLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFkZi11cGxvYWQtZHJhZy1hcmVhIFtyb290Rm9sZGVySWRdPVwiY3VycmVudERpcmVjdG9yeUlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtjbGFzcy5hZGYtdXBsb2FkLWRpYWxvZy1jb250YWluZXJdPVwidXBsb2FkU3RhcnRlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhZGYtZmlsZS11cGxvYWRpbmctZGlhbG9nIFthbHdheXNWaXNpYmxlXT1cInRydWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRmLWVtcHR5LWxpc3QgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWVtcHR5LWxpc3RcIiAqbmdJZj1cIiF1cGxvYWRTdGFydGVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lbXB0eS1saXN0X3RlbXBsYXRlIGFkZi1lbXB0eS1mb2xkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lbXB0eS1mb2xkZXItZHJhZy1kcm9wXCI+e3sgJ0FERi1EQVRBVEFCTEUuRU1QVFkuRFJBRy1BTkQtRFJPUC5USVRMRScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1lbXB0eS1mb2xkZXItYW55LWZpbGVzLWhlcmUtdG8tYWRkXCI+e3sgJ0FERi1EQVRBVEFCTEUuRU1QVFkuRFJBRy1BTkQtRFJPUC5TVUJUSVRMRScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbYWx0XT1cIidBREYtREFUQVRBQkxFLkVNUFRZLkRSQUctQU5ELURST1AuVElUTEUnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJhZGYtZW1wdHktZm9sZGVyLWltYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImVtcHR5Rm9sZGVySW1hZ2VVcmxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRmLWVtcHR5LWxpc3Q+XG4gICAgICAgICAgICAgICAgICAgIDwvYWRmLXVwbG9hZC1kcmFnLWFyZWE+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtdGFiPlxuICAgIDwvbWF0LXRhYi1ncm91cD5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnROb2RlUGFuZWw+XG4gICAgPGFkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItcGFuZWxcbiAgICAgIFtjdXJyZW50Rm9sZGVySWRdPVwiZGF0YT8uY3VycmVudEZvbGRlcklkXCJcbiAgICAgIFtyZXN0cmljdFJvb3RUb0N1cnJlbnRGb2xkZXJJZF09XCJkYXRhPy5yZXN0cmljdFJvb3RUb0N1cnJlbnRGb2xkZXJJZFwiXG4gICAgICBbZHJvcGRvd25IaWRlTXlGaWxlc109XCJkYXRhPy5kcm9wZG93bkhpZGVNeUZpbGVzXCJcbiAgICAgIFtkcm9wZG93blNpdGVMaXN0XT1cImRhdGE/LmRyb3Bkb3duU2l0ZUxpc3RcIlxuICAgICAgW3Jvd0ZpbHRlcl09XCJkYXRhPy5yb3dGaWx0ZXJcIlxuICAgICAgW2ltYWdlUmVzb2x2ZXJdPVwiZGF0YT8uaW1hZ2VSZXNvbHZlclwiXG4gICAgICBbaXNTZWxlY3Rpb25WYWxpZF09XCJkYXRhPy5pc1NlbGVjdGlvblZhbGlkXCJcbiAgICAgIFticmVhZGNydW1iVHJhbnNmb3JtXT1cImRhdGE/LmJyZWFkY3J1bWJUcmFuc2Zvcm1cIlxuICAgICAgW2V4Y2x1ZGVTaXRlQ29udGVudF09XCJkYXRhPy5leGNsdWRlU2l0ZUNvbnRlbnRcIlxuICAgICAgW3NlbGVjdGlvbk1vZGVdPVwiZGF0YT8uc2VsZWN0aW9uTW9kZVwiXG4gICAgICBbd2hlcmVdPVwiZGF0YT8ud2hlcmVcIlxuICAgICAgW3Nob3dTZWFyY2hdPVwiZGF0YT8uc2hvd1NlYXJjaFwiXG4gICAgICBbc2hvd0Ryb3Bkb3duU2l0ZUxpc3RdPVwiZGF0YT8uc2hvd0Ryb3Bkb3duU2l0ZUxpc3RcIlxuICAgICAgW3Nob3dGaWxlc0luUmVzdWx0XT1cImRhdGE/LnNob3dGaWxlc0luUmVzdWx0XCJcbiAgICAgIFtzaG93Tm9kZUNvdW50ZXJdPVwiaXNDb3VudGVyVmlzaWJsZSgpXCJcbiAgICAgIChjdXJyZW50Rm9sZGVyKT1cIm9uQ3VycmVudEZvbGRlcigkZXZlbnQpXCJcbiAgICAgIChmb2xkZXJMb2FkZWQpPVwib25Gb2xkZXJMb2FkZWQoKVwiXG4gICAgICAoc2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgKHNob3dpbmdTZWFyY2gpPVwib25TaG93aW5nU2VhcmNoKCRldmVudClcIlxuICAgICAgKHNpdGVDaGFuZ2UpPVwib25TaXRlQ2hhbmdlKCRldmVudClcIlxuICAgICAgKG5hdmlnYXRpb25DaGFuZ2UpPVwib25OYXZpZ2F0aW9uQ2hhbmdlKCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuXG48bWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiYWRmLWNvbnRlbnQtbm9kZS1zZWxlY3Rvci1kaWFsb2ctYWN0aW9uc1wiPlxuICAgIDxkaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1VwbG9hZEVuYWJsZWQoKVwiPlxuICAgICAgICAgICAgPGFkZi11cGxvYWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgW3N0YXRpY1RpdGxlXT1cIidGT1JNLkZJRUxELlVQTE9BRCcgfCB0cmFuc2xhdGUgXCJcbiAgICAgICAgICAgICAgICBbbXVsdGlwbGVGaWxlc109XCJpc011bHRpcGxlU2VsZWN0aW9uKClcIlxuICAgICAgICAgICAgICAgIFtyb290Rm9sZGVySWRdPVwiY3VycmVudERpcmVjdG9yeUlkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNOb3RBbGxvd2VkVG9VcGxvYWQoKVwiXG4gICAgICAgICAgICAgICAgKGVycm9yKT1cIm9uRXJyb3IoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZSgpXCJcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNvbnRlbnQtbm9kZS1zZWxlY3Rvci1hY3Rpb25zLWNhbmNlbFwiPnt7ICdOT0RFX1NFTEVDVE9SLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ2hvb3NlQnV0dG9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtY2hvb3NlLWFjdGlvblwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC1ub2RlLXNlbGVjdG9yLWFjdGlvbnMtY2hvb3NlXCI+e3sgYnV0dG9uQWN0aW9uTmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|
|
@@ -28,23 +28,23 @@ export const CONTENT_NODE_SELECTOR_DIRECTIVES = [
|
|
|
28
28
|
];
|
|
29
29
|
/** @deprecated use `...CONTENT_NODE_SELECTOR_DIRECTIVES` or import the individual components */
|
|
30
30
|
export class ContentNodeSelectorModule {
|
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
32
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentNodeSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
32
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ContentNodeSelectorModule, imports: [ContentNodeSelectorPanelComponent,
|
|
33
33
|
NameLocationCellComponent,
|
|
34
34
|
ContentNodeSelectorComponent,
|
|
35
35
|
DropdownSitesComponent], exports: [ContentNodeSelectorPanelComponent,
|
|
36
36
|
NameLocationCellComponent,
|
|
37
37
|
ContentNodeSelectorComponent,
|
|
38
38
|
DropdownSitesComponent] }); }
|
|
39
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
39
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentNodeSelectorModule, imports: [ContentNodeSelectorPanelComponent,
|
|
40
40
|
ContentNodeSelectorComponent,
|
|
41
41
|
DropdownSitesComponent] }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentNodeSelectorModule, decorators: [{
|
|
44
44
|
type: NgModule,
|
|
45
45
|
args: [{
|
|
46
46
|
imports: [...CONTENT_NODE_SELECTOR_DIRECTIVES],
|
|
47
47
|
exports: [...CONTENT_NODE_SELECTOR_DIRECTIVES]
|
|
48
48
|
}]
|
|
49
49
|
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNlbGVjdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNlbGVjdG9yL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFFbEYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUc7SUFDNUMsaUNBQWlDO0lBQ2pDLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsc0JBQXNCO0NBQ3pCLENBQUM7QUFFRixnR0FBZ0c7QUFLaEcsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsWUFYbEMsaUNBQWlDO1lBQ2pDLHlCQUF5QjtZQUN6Qiw0QkFBNEI7WUFDNUIsc0JBQXNCLGFBSHRCLGlDQUFpQztZQUNqQyx5QkFBeUI7WUFDekIsNEJBQTRCO1lBQzVCLHNCQUFzQjtnSEFRYix5QkFBeUIsWUFYbEMsaUNBQWlDO1lBRWpDLDRCQUE0QjtZQUM1QixzQkFBc0I7OzRGQVFiLHlCQUF5QjtrQkFKckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxHQUFHLGdDQUFnQyxDQUFDO29CQUM5QyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGdDQUFnQyxDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnROb2RlU2VsZWN0b3JQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1ub2RlLXNlbGVjdG9yLXBhbmVsL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29udGVudC1ub2RlLXNlbGVjdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYW1lTG9jYXRpb25DZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9uYW1lLWxvY2F0aW9uLWNlbGwvbmFtZS1sb2NhdGlvbi1jZWxsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93blNpdGVzQ29tcG9uZW50IH0gZnJvbSAnLi9zaXRlLWRyb3Bkb3duL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBDT05URU5UX05PREVfU0VMRUNUT1JfRElSRUNUSVZFUyA9IFtcbiAgICBDb250ZW50Tm9kZVNlbGVjdG9yUGFuZWxDb21wb25lbnQsXG4gICAgTmFtZUxvY2F0aW9uQ2VsbENvbXBvbmVudCxcbiAgICBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50LFxuICAgIERyb3Bkb3duU2l0ZXNDb21wb25lbnRcbl07XG5cbi8qKiBAZGVwcmVjYXRlZCB1c2UgYC4uLkNPTlRFTlRfTk9ERV9TRUxFQ1RPUl9ESVJFQ1RJVkVTYCBvciBpbXBvcnQgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50cyAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uQ09OVEVOVF9OT0RFX1NFTEVDVE9SX0RJUkVDVElWRVNdLFxuICAgIGV4cG9ydHM6IFsuLi5DT05URU5UX05PREVfU0VMRUNUT1JfRElSRUNUSVZFU11cbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudE5vZGVTZWxlY3Rvck1vZHVsZSB7fVxuIl19
|
package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs
CHANGED
|
@@ -30,13 +30,13 @@ export class NameLocationCellComponent {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NameLocationCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NameLocationCellComponent, isStandalone: true, selector: "adf-name-location-cell", inputs: { row: "row" }, host: { classAttribute: "adf-name-location-cell adf-datatable-content-cell" }, ngImport: i0, template: `
|
|
35
35
|
<div class="adf-name-location-cell-name adf-datatable-cell-value" [title]="name">{{ name }}</div>
|
|
36
36
|
<div class="adf-name-location-cell-location adf-datatable-cell-value" [title]="path">{{ path }}</div>
|
|
37
37
|
`, isInline: true, styles: [".adf-name-location-cell{display:grid}.adf-name-location-cell-location{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NameLocationCellComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'adf-name-location-cell', standalone: true, template: `
|
|
42
42
|
<div class="adf-name-location-cell-name adf-datatable-cell-value" [title]="name">{{ name }}</div>
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
45
45
|
}], propDecorators: { row: [{
|
|
46
46
|
type: Input
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZS1sb2NhdGlvbi1jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNlbGVjdG9yL25hbWUtbG9jYXRpb24tY2VsbC9uYW1lLWxvY2F0aW9uLWNlbGwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWVyRyxNQUFNLE9BQU8seUJBQXlCO0lBWnRDO1FBYUksU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixTQUFJLEdBQVcsRUFBRSxDQUFDO0tBZXJCO0lBVkcsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV0QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDOytHQWhCUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix5TEFUeEI7OztLQUdUOzs0RkFNUSx5QkFBeUI7a0JBWnJDLFNBQVM7K0JBQ0ksd0JBQXdCLGNBQ3RCLElBQUksWUFDTjs7O0tBR1QsaUJBRWMsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6QyxFQUFFLEtBQUssRUFBRSxtREFBbUQsRUFBRTs4QkFPcEUsR0FBRztzQkFERixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVJvdyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLW5hbWUtbG9jYXRpb24tY2VsbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLW5hbWUtbG9jYXRpb24tY2VsbC1uYW1lIGFkZi1kYXRhdGFibGUtY2VsbC12YWx1ZVwiIFt0aXRsZV09XCJuYW1lXCI+e3sgbmFtZSB9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLW5hbWUtbG9jYXRpb24tY2VsbC1sb2NhdGlvbiBhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWVcIiBbdGl0bGVdPVwicGF0aFwiPnt7IHBhdGggfX08L2Rpdj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL25hbWUtbG9jYXRpb24tY2VsbC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1uYW1lLWxvY2F0aW9uLWNlbGwgYWRmLWRhdGF0YWJsZS1jb250ZW50LWNlbGwnIH1cbn0pXG5leHBvcnQgY2xhc3MgTmFtZUxvY2F0aW9uQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgbmFtZTogc3RyaW5nID0gJyc7XG4gICAgcGF0aDogc3RyaW5nID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHJvdzogRGF0YVJvdztcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5yb3cpIHtcbiAgICAgICAgICAgIHRoaXMubmFtZSA9IHRoaXMucm93LmdldFZhbHVlKCduYW1lJyk7XG5cbiAgICAgICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gdGhpcy5yb3cuZ2V0VmFsdWUoJ3BhdGgnKTtcbiAgICAgICAgICAgIGlmIChmdWxsUGF0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMucGF0aCA9IGZ1bGxQYXRoLm5hbWUgfHwgJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -144,10 +144,10 @@ export class DropdownSitesComponent {
|
|
|
144
144
|
return (site.entry.visibility === 'PUBLIC' ||
|
|
145
145
|
!!site.relations.members.list.entries.find((member) => member.entry.id.toLowerCase() === loggedUserName.toLowerCase()));
|
|
146
146
|
}
|
|
147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownSitesComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.SitesService }, { token: i3.LiveAnnouncer }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownSitesComponent, isStandalone: true, selector: "adf-sites-dropdown", inputs: { hideMyFiles: "hideMyFiles", siteList: "siteList", value: "value", placeholder: "placeholder", relations: "relations" }, outputs: { change: "change", error: "error" }, host: { classAttribute: "adf-sites-dropdown" }, ngImport: i0, template: "<div id=\"site-dropdown-container\" class=\"adf-site-dropdown-container\">\n <mat-form-field class=\"adf-sites-dropdown-form-field\" appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'NODE_SELECTOR.LOCATION' | translate }}</mat-label>\n <mat-select\n adf-infinite-select-scroll\n (scrollEnd)=\"loadAllOnScroll()\"\n #siteSelect\n data-automation-id=\"site-my-files-option\"\n class=\"adf-site-dropdown-list-element\"\n id=\"site-dropdown\"\n placeholder=\"{{placeholder | translate}}\"\n [(value)]=\"selected\"\n placeholder=\"{{placeholder | translate}}\"\n (selectionChange)=\"selectedSite($event)\">\n <mat-select-trigger class=\"adf-sites-dropdown-select-trigger\">\n {{ selected?.entry.title | translate}}\n </mat-select-trigger>\n <mat-option *ngFor=\"let site of siteList?.list.entries;\" [value]=\"site\">\n {{ site.entry.title | translate}}\n </mat-option>\n <mat-option *ngIf=\"showLoading()\" disabled=\"true\" data-automation-id=\"site-loading\">\n {{ 'ADF_DROPDOWN.LOADING' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: InfiniteSelectScrollDirective, selector: "[adf-infinite-select-scroll]", outputs: ["scrollEnd"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownSitesComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{ selector: 'adf-sites-dropdown', standalone: true, imports: [CommonModule, TranslateModule, MatFormFieldModule, MatSelectModule, InfiniteSelectScrollDirective], encapsulation: ViewEncapsulation.None, host: { class: 'adf-sites-dropdown' }, template: "<div id=\"site-dropdown-container\" class=\"adf-site-dropdown-container\">\n <mat-form-field class=\"adf-sites-dropdown-form-field\" appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'NODE_SELECTOR.LOCATION' | translate }}</mat-label>\n <mat-select\n adf-infinite-select-scroll\n (scrollEnd)=\"loadAllOnScroll()\"\n #siteSelect\n data-automation-id=\"site-my-files-option\"\n class=\"adf-site-dropdown-list-element\"\n id=\"site-dropdown\"\n placeholder=\"{{placeholder | translate}}\"\n [(value)]=\"selected\"\n placeholder=\"{{placeholder | translate}}\"\n (selectionChange)=\"selectedSite($event)\">\n <mat-select-trigger class=\"adf-sites-dropdown-select-trigger\">\n {{ selected?.entry.title | translate}}\n </mat-select-trigger>\n <mat-option *ngFor=\"let site of siteList?.list.entries;\" [value]=\"site\">\n {{ site.entry.title | translate}}\n </mat-option>\n <mat-option *ngIf=\"showLoading()\" disabled=\"true\" data-automation-id=\"site-loading\">\n {{ 'ADF_DROPDOWN.LOADING' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n" }]
|
|
153
153
|
}], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i2.SitesService }, { type: i3.LiveAnnouncer }, { type: i4.TranslateService }], propDecorators: { hideMyFiles: [{
|
|
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
165
165
|
}], error: [{
|
|
166
166
|
type: Output
|
|
167
167
|
}] } });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW5vZGUtc2VsZWN0b3Ivc2l0ZS1kcm9wZG93bi9zaXRlcy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9zaXRlLWRyb3Bkb3duL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFFbEUsOEJBQThCO0FBQzlCLHlEQUF5RDtBQUV6RCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQs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T0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3pILENBQUM7SUFDTixDQUFDOzhHQXZKUSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwrU0MzQ25DLCt5Q0EwQkEsMkNEWWMsWUFBWSwrUEFBRSxlQUFlLDJGQUFFLGtCQUFrQiwwU0FBRSxlQUFlLHN3QkFBRSw2QkFBNkI7OzJGQUtsRyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLDZCQUE2QixDQUFDLGlCQUU3RixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO2dMQUtyQyxXQUFXO3NCQURWLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFRTixXQUFXO3NCQURWLEtBQUs7Z0JBU04sU0FBUztzQkFEUixLQUFLO2dCQVFOLE1BQU07c0JBREwsTUFBTTtnQkFJUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNlbGVjdFNjcm9sbERpcmVjdGl2ZSwgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNpdGVQYWdpbmcsIFNpdGVFbnRyeSwgU2l0ZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU2l0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3NpdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1zaGFkb3cgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG5leHBvcnQgZW51bSBSZWxhdGlvbnMge1xuICAgIE1lbWJlcnMgPSAnbWVtYmVycycsXG4gICAgQ29udGFpbmVycyA9ICdjb250YWluZXJzJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zaXRlcy1kcm9wZG93bicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0U2VsZWN0TW9kdWxlLCBJbmZpbml0ZVNlbGVjdFNjcm9sbERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtc2l0ZXMtZHJvcGRvd24nIH1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25TaXRlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIEhpZGUgdGhlIFwiTXkgRmlsZXNcIiBvcHRpb24uICovXG4gICAgQElucHV0KClcbiAgICBoaWRlTXlGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQSBjdXN0b20gbGlzdCBvZiBzaXRlcyB0byBiZSBkaXNwbGF5ZWQgYnkgdGhlIGRyb3Bkb3duLiBJZiBubyB2YWx1ZVxuICAgICAqIGlzIGdpdmVuLCB0aGUgc2l0ZXMgb2YgdGhlIGN1cnJlbnQgdXNlciBhcmUgZGlzcGxheWVkIGJ5IGRlZmF1bHQuIEFcbiAgICAgKiBsaXN0IG9mIG9iamVjdHMgb25seSB3aXRoIHByb3BlcnRpZXMgJ3RpdGxlJyBhbmQgJ2d1aWQnIGlzIGVub3VnaCB0b1xuICAgICAqIGJlIGFibGUgdG8gZGlzcGxheSB0aGUgZHJvcGRvd24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaXRlTGlzdDogU2l0ZVBhZ2luZyA9IG51bGw7XG5cbiAgICAvKiogSWQgb2YgdGhlIHNlbGVjdGVkIHNpdGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBvciBhIHRyYW5zbGF0aW9uIGtleSB0byBhY3QgYXMgYSBwbGFjZWhvbGRlci4gRGVmYXVsdCB2YWx1ZSBpcyB0aGVcbiAgICAgKiBrZXkgXCJEUk9QRE9XTi5QTEFDRUhPTERFUl9MQUJFTFwiLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdEUk9QRE9XTi5QTEFDRUhPTERFUl9MQUJFTCc7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZm9yIHRoZSByZXN1bHRzIG9mIHRoZSBzaXRlcyBxdWVyeS4gUG9zc2libGUgdmFsdWVzIGFyZVxuICAgICAqIFwibWVtYmVyc1wiIGFuZCBcImNvbnRhaW5lcnNcIi4gV2hlbiBcIm1lbWJlcnNcIiBpcyB1c2VkLCB0aGUgc2l0ZSBsaXN0XG4gICAgICogd2lsbCBiZSByZXN0cmljdGVkIHRvIHRoZSBzaXRlcyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVsYXRpb25zOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhIHNpdGUuIFdoZW4gdGhlIGRlZmF1bHQgb3B0aW9uIGlzIHNlbGVjdGVkLFxuICAgICAqIGFuIGVtcHR5IG1vZGVsIGlzIGVtaXR0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTaXRlRW50cnk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nID0gdHJ1ZTtcbiAgICBwcml2YXRlIHNraXBDb3VudCA9IDA7XG5cbiAgICBzZWxlY3RlZDogU2l0ZUVudHJ5ID0gbnVsbDtcbiAgICBNWV9GSUxFU19WQUxVRSA9ICctbXktJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2l0ZXNTZXJ2aWNlOiBTaXRlc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbGl2ZUFubm91bmNlcjogTGl2ZUFubm91bmNlcixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5zaXRlTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkU2l0ZUxpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRBbGxPblNjcm9sbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbmZpbml0ZVNjcm9sbGluZ0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubG9hZFNpdGVMaXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RlZFNpdGUoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSkge1xuICAgICAgICB0aGlzLmxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQURGX0RST1BET1dOLlNFTEVDVElPTl9BUklBX0xBQkVMJywge1xuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnBsYWNlaG9sZGVyKSxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbjogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXZlbnQudmFsdWUuZW50cnkudGl0bGUpXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGV2ZW50LnZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRTaXRlTGlzdCgpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5kZWRPcHRpb25zOiBhbnkgPSB7XG4gICAgICAgICAgICBza2lwQ291bnQ6IHRoaXMuc2tpcENvdW50LFxuICAgICAgICAgICAgbWF4SXRlbXM6IEluZmluaXRlU2VsZWN0U2Nyb2xsRGlyZWN0aXZlLk1BWF9JVEVNU1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc2tpcENvdW50ICs9IEluZmluaXRlU2VsZWN0U2Nyb2xsRGlyZWN0aXZlLk1BWF9JVEVNUztcblxuICAgICAgICBpZiAodGhpcy5yZWxhdGlvbnMpIHtcbiAgICAgICAgICAgIGV4dGVuZGVkT3B0aW9ucy5yZWxhdGlvbnMgPSBbdGhpcy5yZWxhdGlvbnNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaXRlc1NlcnZpY2UuZ2V0U2l0ZXMoZXh0ZW5kZWRPcHRpb25zKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc2l0ZVBhZ2luZzogU2l0ZVBhZ2luZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zaXRlTGlzdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0ID0gdGhpcy5yZWxhdGlvbnMgPT09IFJlbGF0aW9ucy5NZW1iZXJzID8gdGhpcy5maWx0ZXJlZFJlc3VsdHNCeU1lbWJlcihzaXRlUGFnaW5nKSA6IHNpdGVQYWdpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhpZGVNeUZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaXRlRW50cnkgPSBuZXcgU2l0ZUVudHJ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeTogbmV3IFNpdGUoeyBpZDogdGhpcy5NWV9GSUxFU19WQUxVRSwgZ3VpZDogdGhpcy5NWV9GSUxFU19WQUxVRSwgdGl0bGU6ICdEUk9QRE9XTi5NWV9GSUxFU19PUFRJT04nIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXRlTGlzdC5saXN0LmVudHJpZXMudW5zaGlmdChzaXRlRW50cnkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5NWV9GSUxFU19WQUxVRTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpdGVMaXN0OiBTaXRlUGFnaW5nID0gdGhpcy5yZWxhdGlvbnMgPT09IFJlbGF0aW9ucy5NZW1iZXJzID8gdGhpcy5maWx0ZXJlZFJlc3VsdHNCeU1lbWJlcihzaXRlUGFnaW5nKSA6IHNpdGVQYWdpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXRlTGlzdC5saXN0LmVudHJpZXMgPSB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcy5jb25jYXQoc2l0ZUxpc3QubGlzdC5lbnRyaWVzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXRlTGlzdC5saXN0LnBhZ2luYXRpb24gPSBzaXRlUGFnaW5nLmxpc3QucGFnaW5hdGlvbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zaXRlTGlzdC5saXN0LmVudHJpZXMuZmluZCgoc2l0ZTogU2l0ZUVudHJ5KSA9PiBzaXRlLmVudHJ5LmlkID09PSB0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmICF0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2l0ZUxpc3RIYXNNb3JlSXRlbXMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRTaXRlTGlzdCgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2hvd0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmcgJiYgdGhpcy5zaXRlTGlzdEhhc01vcmVJdGVtcygpO1xuICAgIH1cblxuICAgIGlzSW5maW5pdGVTY3JvbGxpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubG9hZGluZyAmJiB0aGlzLnNpdGVMaXN0SGFzTW9yZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaXRlTGlzdEhhc01vcmVJdGVtcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZUxpc3Q/Lmxpc3QucGFnaW5hdGlvbj8uaGFzTW9yZUl0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyZWRSZXN1bHRzQnlNZW1iZXIoc2l0ZXM6IFNpdGVQYWdpbmcpOiBTaXRlUGFnaW5nIHtcbiAgICAgICAgY29uc3QgbG9nZ2VkVXNlck5hbWUgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldEVjbVVzZXJuYW1lKCk7XG4gICAgICAgIHNpdGVzLmxpc3QuZW50cmllcyA9IHNpdGVzLmxpc3QuZW50cmllcy5maWx0ZXIoKHNpdGUpID0+IHRoaXMuaXNDdXJyZW50VXNlck1lbWJlcihzaXRlLCBsb2dnZWRVc2VyTmFtZSkpO1xuICAgICAgICByZXR1cm4gc2l0ZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0N1cnJlbnRVc2VyTWVtYmVyKHNpdGU6IFNpdGVFbnRyeSwgbG9nZ2VkVXNlck5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgc2l0ZS5lbnRyeS52aXNpYmlsaXR5ID09PSAnUFVCTElDJyB8fFxuICAgICAgICAgICAgISFzaXRlLnJlbGF0aW9ucy5tZW1iZXJzLmxpc3QuZW50cmllcy5maW5kKChtZW1iZXIpID0+IG1lbWJlci5lbnRyeS5pZC50b0xvd2VyQ2FzZSgpID09PSBsb2dnZWRVc2VyTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgaWQ9XCJzaXRlLWRyb3Bkb3duLWNvbnRhaW5lclwiIGNsYXNzPVwiYWRmLXNpdGUtZHJvcGRvd24tY29udGFpbmVyXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLXNpdGVzLWRyb3Bkb3duLWZvcm0tZmllbGRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnTk9ERV9TRUxFQ1RPUi5MT0NBVElPTicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIGFkZi1pbmZpbml0ZS1zZWxlY3Qtc2Nyb2xsXG4gICAgICAgICAgICAoc2Nyb2xsRW5kKT1cImxvYWRBbGxPblNjcm9sbCgpXCJcbiAgICAgICAgICAgICNzaXRlU2VsZWN0XG4gICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJzaXRlLW15LWZpbGVzLW9wdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1zaXRlLWRyb3Bkb3duLWxpc3QtZWxlbWVudFwiXG4gICAgICAgICAgICBpZD1cInNpdGUtZHJvcGRvd25cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgWyh2YWx1ZSldPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZFNpdGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciBjbGFzcz1cImFkZi1zaXRlcy1kcm9wZG93bi1zZWxlY3QtdHJpZ2dlclwiPlxuICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkPy5lbnRyeS50aXRsZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzaXRlIG9mIHNpdGVMaXN0Py5saXN0LmVudHJpZXM7XCIgW3ZhbHVlXT1cInNpdGVcIj5cbiAgICAgICAgICAgICAgICB7eyBzaXRlLmVudHJ5LnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwic2hvd0xvYWRpbmcoKVwiIGRpc2FibGVkPVwidHJ1ZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInNpdGUtbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIHt7ICdBREZfRFJPUERPV04uTE9BRElORycgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW5vZGUtc2VsZWN0b3Ivc2l0ZS1kcm9wZG93bi9zaXRlcy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9zaXRlLWRyb3Bkb3duL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFFbEUsOEJBQThCO0FBQzlCLHlEQUF5RDtBQUV6RCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQs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T0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3pILENBQUM7SUFDTixDQUFDOytHQXZKUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrU0MzQ25DLCt5Q0EwQkEsMkNEWWMsWUFBWSwrUEFBRSxlQUFlLDJGQUFFLGtCQUFrQiwwU0FBRSxlQUFlLHN3QkFBRSw2QkFBNkI7OzRGQUtsRyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLDZCQUE2QixDQUFDLGlCQUU3RixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO2dMQUtyQyxXQUFXO3NCQURWLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFRTixXQUFXO3NCQURWLEtBQUs7Z0JBU04sU0FBUztzQkFEUixLQUFLO2dCQVFOLE1BQU07c0JBREwsTUFBTTtnQkFJUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNlbGVjdFNjcm9sbERpcmVjdGl2ZSwgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNpdGVQYWdpbmcsIFNpdGVFbnRyeSwgU2l0ZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU2l0ZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3NlcnZpY2VzL3NpdGVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1zaGFkb3cgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAqL1xuXG5leHBvcnQgZW51bSBSZWxhdGlvbnMge1xuICAgIE1lbWJlcnMgPSAnbWVtYmVycycsXG4gICAgQ29udGFpbmVycyA9ICdjb250YWluZXJzJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1zaXRlcy1kcm9wZG93bicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0U2VsZWN0TW9kdWxlLCBJbmZpbml0ZVNlbGVjdFNjcm9sbERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtc2l0ZXMtZHJvcGRvd24nIH1cbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25TaXRlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIEhpZGUgdGhlIFwiTXkgRmlsZXNcIiBvcHRpb24uICovXG4gICAgQElucHV0KClcbiAgICBoaWRlTXlGaWxlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQSBjdXN0b20gbGlzdCBvZiBzaXRlcyB0byBiZSBkaXNwbGF5ZWQgYnkgdGhlIGRyb3Bkb3duLiBJZiBubyB2YWx1ZVxuICAgICAqIGlzIGdpdmVuLCB0aGUgc2l0ZXMgb2YgdGhlIGN1cnJlbnQgdXNlciBhcmUgZGlzcGxheWVkIGJ5IGRlZmF1bHQuIEFcbiAgICAgKiBsaXN0IG9mIG9iamVjdHMgb25seSB3aXRoIHByb3BlcnRpZXMgJ3RpdGxlJyBhbmQgJ2d1aWQnIGlzIGVub3VnaCB0b1xuICAgICAqIGJlIGFibGUgdG8gZGlzcGxheSB0aGUgZHJvcGRvd24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaXRlTGlzdDogU2l0ZVBhZ2luZyA9IG51bGw7XG5cbiAgICAvKiogSWQgb2YgdGhlIHNlbGVjdGVkIHNpdGUgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqXG4gICAgICogVGV4dCBvciBhIHRyYW5zbGF0aW9uIGtleSB0byBhY3QgYXMgYSBwbGFjZWhvbGRlci4gRGVmYXVsdCB2YWx1ZSBpcyB0aGVcbiAgICAgKiBrZXkgXCJEUk9QRE9XTi5QTEFDRUhPTERFUl9MQUJFTFwiLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdEUk9QRE9XTi5QTEFDRUhPTERFUl9MQUJFTCc7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZm9yIHRoZSByZXN1bHRzIG9mIHRoZSBzaXRlcyBxdWVyeS4gUG9zc2libGUgdmFsdWVzIGFyZVxuICAgICAqIFwibWVtYmVyc1wiIGFuZCBcImNvbnRhaW5lcnNcIi4gV2hlbiBcIm1lbWJlcnNcIiBpcyB1c2VkLCB0aGUgc2l0ZSBsaXN0XG4gICAgICogd2lsbCBiZSByZXN0cmljdGVkIHRvIHRoZSBzaXRlcyB0aGF0IHRoZSB1c2VyIGlzIGEgbWVtYmVyIG9mLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVsYXRpb25zOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhIHNpdGUuIFdoZW4gdGhlIGRlZmF1bHQgb3B0aW9uIGlzIHNlbGVjdGVkLFxuICAgICAqIGFuIGVtcHR5IG1vZGVsIGlzIGVtaXR0ZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTaXRlRW50cnk+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gICAgcHJpdmF0ZSBsb2FkaW5nID0gdHJ1ZTtcbiAgICBwcml2YXRlIHNraXBDb3VudCA9IDA7XG5cbiAgICBzZWxlY3RlZDogU2l0ZUVudHJ5ID0gbnVsbDtcbiAgICBNWV9GSUxFU19WQUxVRSA9ICctbXktJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc2l0ZXNTZXJ2aWNlOiBTaXRlc1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbGl2ZUFubm91bmNlcjogTGl2ZUFubm91bmNlcixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy5zaXRlTGlzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkU2l0ZUxpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRBbGxPblNjcm9sbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNJbmZpbml0ZVNjcm9sbGluZ0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMubG9hZFNpdGVMaXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RlZFNpdGUoZXZlbnQ6IE1hdFNlbGVjdENoYW5nZSkge1xuICAgICAgICB0aGlzLmxpdmVBbm5vdW5jZXIuYW5ub3VuY2UoXG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQURGX0RST1BET1dOLlNFTEVDVElPTl9BUklBX0xBQkVMJywge1xuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCh0aGlzLnBsYWNlaG9sZGVyKSxcbiAgICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbjogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoZXZlbnQudmFsdWUuZW50cnkudGl0bGUpXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KGV2ZW50LnZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRTaXRlTGlzdCgpIHtcbiAgICAgICAgY29uc3QgZXh0ZW5kZWRPcHRpb25zOiBhbnkgPSB7XG4gICAgICAgICAgICBza2lwQ291bnQ6IHRoaXMuc2tpcENvdW50LFxuICAgICAgICAgICAgbWF4SXRlbXM6IEluZmluaXRlU2VsZWN0U2Nyb2xsRGlyZWN0aXZlLk1BWF9JVEVNU1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuc2tpcENvdW50ICs9IEluZmluaXRlU2VsZWN0U2Nyb2xsRGlyZWN0aXZlLk1BWF9JVEVNUztcblxuICAgICAgICBpZiAodGhpcy5yZWxhdGlvbnMpIHtcbiAgICAgICAgICAgIGV4dGVuZGVkT3B0aW9ucy5yZWxhdGlvbnMgPSBbdGhpcy5yZWxhdGlvbnNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaXRlc1NlcnZpY2UuZ2V0U2l0ZXMoZXh0ZW5kZWRPcHRpb25zKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc2l0ZVBhZ2luZzogU2l0ZVBhZ2luZykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zaXRlTGlzdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0ID0gdGhpcy5yZWxhdGlvbnMgPT09IFJlbGF0aW9ucy5NZW1iZXJzID8gdGhpcy5maWx0ZXJlZFJlc3VsdHNCeU1lbWJlcihzaXRlUGFnaW5nKSA6IHNpdGVQYWdpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmhpZGVNeUZpbGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaXRlRW50cnkgPSBuZXcgU2l0ZUVudHJ5KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeTogbmV3IFNpdGUoeyBpZDogdGhpcy5NWV9GSUxFU19WQUxVRSwgZ3VpZDogdGhpcy5NWV9GSUxFU19WQUxVRSwgdGl0bGU6ICdEUk9QRE9XTi5NWV9GSUxFU19PUFRJT04nIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXRlTGlzdC5saXN0LmVudHJpZXMudW5zaGlmdChzaXRlRW50cnkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5NWV9GSUxFU19WQUxVRTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpdGVMaXN0OiBTaXRlUGFnaW5nID0gdGhpcy5yZWxhdGlvbnMgPT09IFJlbGF0aW9ucy5NZW1iZXJzID8gdGhpcy5maWx0ZXJlZFJlc3VsdHNCeU1lbWJlcihzaXRlUGFnaW5nKSA6IHNpdGVQYWdpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXRlTGlzdC5saXN0LmVudHJpZXMgPSB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcy5jb25jYXQoc2l0ZUxpc3QubGlzdC5lbnRyaWVzKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaXRlTGlzdC5saXN0LnBhZ2luYXRpb24gPSBzaXRlUGFnaW5nLmxpc3QucGFnaW5hdGlvbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5zaXRlTGlzdC5saXN0LmVudHJpZXMuZmluZCgoc2l0ZTogU2l0ZUVudHJ5KSA9PiBzaXRlLmVudHJ5LmlkID09PSB0aGlzLnZhbHVlKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlICYmICF0aGlzLnNlbGVjdGVkICYmIHRoaXMuc2l0ZUxpc3RIYXNNb3JlSXRlbXMoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRTaXRlTGlzdCgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgc2hvd0xvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmcgJiYgdGhpcy5zaXRlTGlzdEhhc01vcmVJdGVtcygpO1xuICAgIH1cblxuICAgIGlzSW5maW5pdGVTY3JvbGxpbmdFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMubG9hZGluZyAmJiB0aGlzLnNpdGVMaXN0SGFzTW9yZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaXRlTGlzdEhhc01vcmVJdGVtcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l0ZUxpc3Q/Lmxpc3QucGFnaW5hdGlvbj8uaGFzTW9yZUl0ZW1zO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyZWRSZXN1bHRzQnlNZW1iZXIoc2l0ZXM6IFNpdGVQYWdpbmcpOiBTaXRlUGFnaW5nIHtcbiAgICAgICAgY29uc3QgbG9nZ2VkVXNlck5hbWUgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldEVjbVVzZXJuYW1lKCk7XG4gICAgICAgIHNpdGVzLmxpc3QuZW50cmllcyA9IHNpdGVzLmxpc3QuZW50cmllcy5maWx0ZXIoKHNpdGUpID0+IHRoaXMuaXNDdXJyZW50VXNlck1lbWJlcihzaXRlLCBsb2dnZWRVc2VyTmFtZSkpO1xuICAgICAgICByZXR1cm4gc2l0ZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0N1cnJlbnRVc2VyTWVtYmVyKHNpdGU6IFNpdGVFbnRyeSwgbG9nZ2VkVXNlck5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgc2l0ZS5lbnRyeS52aXNpYmlsaXR5ID09PSAnUFVCTElDJyB8fFxuICAgICAgICAgICAgISFzaXRlLnJlbGF0aW9ucy5tZW1iZXJzLmxpc3QuZW50cmllcy5maW5kKChtZW1iZXIpID0+IG1lbWJlci5lbnRyeS5pZC50b0xvd2VyQ2FzZSgpID09PSBsb2dnZWRVc2VyTmFtZS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgaWQ9XCJzaXRlLWRyb3Bkb3duLWNvbnRhaW5lclwiIGNsYXNzPVwiYWRmLXNpdGUtZHJvcGRvd24tY29udGFpbmVyXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLXNpdGVzLWRyb3Bkb3duLWZvcm0tZmllbGRcIiBhcHBlYXJhbmNlPVwiZmlsbFwiIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyAnTk9ERV9TRUxFQ1RPUi5MT0NBVElPTicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPG1hdC1zZWxlY3RcbiAgICAgICAgICAgIGFkZi1pbmZpbml0ZS1zZWxlY3Qtc2Nyb2xsXG4gICAgICAgICAgICAoc2Nyb2xsRW5kKT1cImxvYWRBbGxPblNjcm9sbCgpXCJcbiAgICAgICAgICAgICNzaXRlU2VsZWN0XG4gICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJzaXRlLW15LWZpbGVzLW9wdGlvblwiXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1zaXRlLWRyb3Bkb3duLWxpc3QtZWxlbWVudFwiXG4gICAgICAgICAgICBpZD1cInNpdGUtZHJvcGRvd25cIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgWyh2YWx1ZSldPVwic2VsZWN0ZWRcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyIHwgdHJhbnNsYXRlfX1cIlxuICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3RlZFNpdGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPG1hdC1zZWxlY3QtdHJpZ2dlciBjbGFzcz1cImFkZi1zaXRlcy1kcm9wZG93bi1zZWxlY3QtdHJpZ2dlclwiPlxuICAgICAgICAgICAgICAgIHt7IHNlbGVjdGVkPy5lbnRyeS50aXRsZSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1zZWxlY3QtdHJpZ2dlcj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzaXRlIG9mIHNpdGVMaXN0Py5saXN0LmVudHJpZXM7XCIgW3ZhbHVlXT1cInNpdGVcIj5cbiAgICAgICAgICAgICAgICB7eyBzaXRlLmVudHJ5LnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwic2hvd0xvYWRpbmcoKVwiIGRpc2FibGVkPVwidHJ1ZVwiIGRhdGEtYXV0b21hdGlvbi1pZD1cInNpdGUtbG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIHt7ICdBREZfRFJPUERPV04uTE9BRElORycgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
|