@versatiledatakit/data-pipelines
Version:
Data Pipelines help Data Engineers develop, deploy, run, and manage data processing workloads (called 'Data Job')
205 lines • 23.9 kB
JavaScript
/*
* Copyright 2023-2025 Broadcom
* SPDX-License-Identifier: Apache-2.0
*/
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { TruncateModule } from '@yellowspot/ng-truncate';
import { NgxChartsModule } from '@swimlane/ngx-charts';
import { TimeagoModule } from 'ngx-timeago';
import { LottieModule } from 'ngx-lottie';
import { DpDatePickerModule } from 'ng2-date-picker';
import { ClarityModule } from '@clr/angular';
import { VdkSharedComponentsModule, VdkSharedFeaturesModule, VdkSharedNgRxModule } from '@versatiledatakit/shared';
import { AttributesDirective } from './shared/directives';
import { ContactsPresentPipe, ExecutionSuccessRatePipe, ExtractContactsPipe, ExtractJobStatusPipe, FormatDeltaPipe, FormatSchedulePipe, ParseEpochPipe, ParseNextRunPipe } from './shared/pipes';
import { ColumnFilterComponent, ConfirmationDialogModalComponent, DeleteModalComponent, EmptyStateComponent, ExecutionsTimelineComponent, GridActionComponent, QuickFiltersComponent, StatusCellComponent, StatusPanelComponent, WidgetValueComponent } from './shared/components';
import { DataJobsApiService, DataJobsBaseApiService, DataJobsPublicApiService, DataJobsService, DataJobsServiceImpl } from './services';
import { DATA_PIPELINES_CONFIGS } from './model';
import { DataJobsEffects } from './state/effects';
import { FormatDurationPipe } from './shared/pipes/format-duration.pipe';
import { DataJobsExplorePageComponent } from './components/data-jobs-explore';
import { DataJobsExploreGridComponent } from './components/data-jobs-explore/components/grid';
import { DataJobsManagePageComponent } from './components/data-jobs-manage';
import { DataJobsManageGridComponent } from './components/data-jobs-manage/components/grid';
import { DataJobPageComponent } from './components/data-job';
import { DataJobDetailsPageComponent } from './components/data-job/pages/details';
import { DataJobDeploymentDetailsModalComponent, DataJobExecutionsGridComponent, DataJobExecutionsPageComponent, DataJobExecutionStatusComponent, DataJobExecutionStatusFilterComponent, DataJobExecutionTypeComponent, DataJobExecutionTypeFilterComponent, ExecutionDurationChartComponent, ExecutionStatusChartComponent, TimePeriodFilterComponent } from './components/data-job/pages/executions';
import { DataJobsExecutionsWidgetComponent, DataJobsFailedWidgetComponent, DataJobsHealthPanelComponent, DataJobsWidgetOneComponent, WidgetExecutionStatusGaugeComponent } from './components/widgets';
import * as i0 from "@angular/core";
import * as i1 from "@angular/router";
import * as i2 from "ngx-timeago";
import * as i3 from "@versatiledatakit/shared";
import * as i4 from "@ngrx/effects";
const routes = [];
export class VdkDataPipelinesModule {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
static forRoot(config = {}) {
return {
ngModule: VdkDataPipelinesModule,
providers: [
DataJobsBaseApiService,
DataJobsPublicApiService,
DataJobsApiService,
{ provide: DataJobsService, useClass: DataJobsServiceImpl },
{ provide: DATA_PIPELINES_CONFIGS, useValue: config }
]
};
}
}
VdkDataPipelinesModule.ɵfac = function VdkDataPipelinesModule_Factory(t) { return new (t || VdkDataPipelinesModule)(); };
VdkDataPipelinesModule.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: VdkDataPipelinesModule });
VdkDataPipelinesModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [[
CommonModule,
RouterModule.forChild(routes),
FormsModule,
ReactiveFormsModule,
LottieModule,
TruncateModule,
TimeagoModule.forRoot(),
ClarityModule,
DpDatePickerModule,
NgxChartsModule,
VdkSharedComponentsModule.forChild(),
VdkSharedFeaturesModule.forChild(),
VdkSharedNgRxModule.forFeatureEffects([DataJobsEffects])
]] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(VdkDataPipelinesModule, [{
type: NgModule,
args: [{
imports: [
CommonModule,
RouterModule.forChild(routes),
FormsModule,
ReactiveFormsModule,
LottieModule,
TruncateModule,
TimeagoModule.forRoot(),
ClarityModule,
DpDatePickerModule,
NgxChartsModule,
VdkSharedComponentsModule.forChild(),
VdkSharedFeaturesModule.forChild(),
VdkSharedNgRxModule.forFeatureEffects([DataJobsEffects])
],
declarations: [
AttributesDirective,
FormatDeltaPipe,
FormatSchedulePipe,
ParseNextRunPipe,
ContactsPresentPipe,
ExecutionSuccessRatePipe,
ExtractJobStatusPipe,
ExtractContactsPipe,
ParseEpochPipe,
DataJobsExplorePageComponent,
DataJobsExploreGridComponent,
DataJobsManagePageComponent,
DataJobsManageGridComponent,
DataJobPageComponent,
DataJobDetailsPageComponent,
DataJobExecutionsPageComponent,
DataJobExecutionTypeComponent,
DataJobExecutionStatusFilterComponent,
DataJobDeploymentDetailsModalComponent,
DataJobExecutionsGridComponent,
DataJobExecutionTypeFilterComponent,
TimePeriodFilterComponent,
ExecutionStatusChartComponent,
ExecutionDurationChartComponent,
DataJobExecutionStatusComponent,
DeleteModalComponent,
ConfirmationDialogModalComponent,
GridActionComponent,
StatusCellComponent,
StatusPanelComponent,
ExecutionsTimelineComponent,
// Widgets
DataJobsWidgetOneComponent,
WidgetValueComponent,
ColumnFilterComponent,
FormatDurationPipe,
QuickFiltersComponent,
DataJobsExecutionsWidgetComponent,
DataJobsFailedWidgetComponent,
WidgetExecutionStatusGaugeComponent,
DataJobsHealthPanelComponent,
EmptyStateComponent
],
exports: [
DataJobsExplorePageComponent,
DataJobsExploreGridComponent,
DataJobsManagePageComponent,
DataJobsManageGridComponent,
DataJobPageComponent,
DataJobDetailsPageComponent,
DataJobExecutionsPageComponent,
DataJobsWidgetOneComponent,
DataJobsExecutionsWidgetComponent,
DataJobsFailedWidgetComponent,
WidgetExecutionStatusGaugeComponent,
DataJobsHealthPanelComponent
]
}]
}], null, null); })();
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(VdkDataPipelinesModule, { declarations: [AttributesDirective,
FormatDeltaPipe,
FormatSchedulePipe,
ParseNextRunPipe,
ContactsPresentPipe,
ExecutionSuccessRatePipe,
ExtractJobStatusPipe,
ExtractContactsPipe,
ParseEpochPipe,
DataJobsExplorePageComponent,
DataJobsExploreGridComponent,
DataJobsManagePageComponent,
DataJobsManageGridComponent,
DataJobPageComponent,
DataJobDetailsPageComponent,
DataJobExecutionsPageComponent,
DataJobExecutionTypeComponent,
DataJobExecutionStatusFilterComponent,
DataJobDeploymentDetailsModalComponent,
DataJobExecutionsGridComponent,
DataJobExecutionTypeFilterComponent,
TimePeriodFilterComponent,
ExecutionStatusChartComponent,
ExecutionDurationChartComponent,
DataJobExecutionStatusComponent,
DeleteModalComponent,
ConfirmationDialogModalComponent,
GridActionComponent,
StatusCellComponent,
StatusPanelComponent,
ExecutionsTimelineComponent,
// Widgets
DataJobsWidgetOneComponent,
WidgetValueComponent,
ColumnFilterComponent,
FormatDurationPipe,
QuickFiltersComponent,
DataJobsExecutionsWidgetComponent,
DataJobsFailedWidgetComponent,
WidgetExecutionStatusGaugeComponent,
DataJobsHealthPanelComponent,
EmptyStateComponent], imports: [CommonModule, i1.RouterModule, FormsModule,
ReactiveFormsModule,
LottieModule,
TruncateModule, i2.TimeagoModule, ClarityModule,
DpDatePickerModule,
NgxChartsModule, i3.VdkSharedComponentsModule, i3.VdkSharedFeaturesModule, i4.EffectsFeatureModule], exports: [DataJobsExplorePageComponent,
DataJobsExploreGridComponent,
DataJobsManagePageComponent,
DataJobsManageGridComponent,
DataJobPageComponent,
DataJobDetailsPageComponent,
DataJobExecutionsPageComponent,
DataJobsWidgetOneComponent,
DataJobsExecutionsWidgetComponent,
DataJobsFailedWidgetComponent,
WidgetExecutionStatusGaugeComponent,
DataJobsHealthPanelComponent] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmRrLWRhdGEtcGlwZWxpbmVzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtcGlwZWxpbmVzL3NyYy9saWIvdmRrLWRhdGEtcGlwZWxpbmVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFlBQVksQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx1QkFBdUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRW5ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFELE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUNILHFCQUFxQixFQUNyQixn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LG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLG9CQUFvQjtRQUNwQiwyQkFBMkI7UUFDM0IsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3QixxQ0FBcUM7UUFDckMsc0NBQXNDO1FBQ3RDLDhCQUE4QjtRQUM5QixtQ0FBbUM7UUFDbkMseUJBQXlCO1FBQ3pCLDZCQUE2QjtRQUM3QiwrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLG9CQUFvQjtRQUNwQixnQ0FBZ0M7UUFDaEMsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLGlDQUFpQztRQUNqQyw2QkFBNkI7UUFDN0IsbUNBQW1DO1FBQ25DLDRCQUE0QjtRQUM1QixtQkFBbUIsYUF4RG5CLFlBQVksbUJBRVosV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osY0FBYyxvQkFFZCxhQUFhO1FBQ2Isa0JBQWtCO1FBQ2xCLGVBQWUsZ0dBa0RmLDRCQUE0QjtRQUM1Qiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLDJCQUEyQjtRQUMzQixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLDhCQUE4QjtRQUM5QiwwQkFBMEI7UUFDMUIsaUNBQWlDO1FBQ2pDLDZCQUE2QjtRQUM3QixtQ0FBbUM7UUFDbkMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDIzLTIwMjUgQnJvYWRjb21cbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG4gKi9cblxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVHJ1bmNhdGVNb2R1bGUgfSBmcm9tICdAeWVsbG93c3BvdC9uZy10cnVuY2F0ZSc7XG5cbmltcG9ydCB7IE5neENoYXJ0c01vZHVsZSB9IGZyb20gJ0Bzd2ltbGFuZS9uZ3gtY2hhcnRzJztcblxuaW1wb3J0IHsgVGltZWFnb01vZHVsZSB9IGZyb20gJ25neC10aW1lYWdvJztcbmltcG9ydCB7IExvdHRpZU1vZHVsZSB9IGZyb20gJ25neC1sb3R0aWUnO1xuXG5pbXBvcnQgeyBEcERhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICduZzItZGF0ZS1waWNrZXInO1xuXG5pbXBvcnQgeyBDbGFyaXR5TW9kdWxlIH0gZnJvbSAnQGNsci9hbmd1bGFyJztcblxuaW1wb3J0IHsgVmRrU2hhcmVkQ29tcG9uZW50c01vZHVsZSwgVmRrU2hhcmVkRmVhdHVyZXNNb2R1bGUsIFZka1NoYXJlZE5nUnhNb2R1bGUgfSBmcm9tICdAdmVyc2F0aWxlZGF0YWtpdC9zaGFyZWQnO1xuXG5pbXBvcnQgeyBBdHRyaWJ1dGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9zaGFyZWQvZGlyZWN0aXZlcyc7XG5cbmltcG9ydCB7XG4gICAgQ29udGFjdHNQcmVzZW50UGlwZSxcbiAgICBFeGVjdXRpb25TdWNjZXNzUmF0ZVBpcGUsXG4gICAgRXh0cmFjdENvbnRhY3RzUGlwZSxcbiAgICBFeHRyYWN0Sm9iU3RhdHVzUGlwZSxcbiAgICBGb3JtYXREZWx0YVBpcGUsXG4gICAgRm9ybWF0U2NoZWR1bGVQaXBlLFxuICAgIFBhcnNlRXBvY2hQaXBlLFxuICAgIFBhcnNlTmV4dFJ1blBpcGVcbn0gZnJvbSAnLi9zaGFyZWQvcGlwZXMnO1xuXG5pbXBvcnQge1xuICAgIENvbHVtbkZpbHRlckNvbXBvbmVudCxcbiAgICBDb25maXJtYXRpb25EaWFsb2dNb2RhbENvbXBvbmVudCxcbiAgICBEZWxldGVNb2RhbENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIEV4ZWN1dGlvbnNUaW1lbGluZUNvbXBvbmVudCxcbiAgICBHcmlkQWN0aW9uQ29tcG9uZW50LFxuICAgIFF1aWNrRmlsdGVyc0NvbXBvbmVudCxcbiAgICBTdGF0dXNDZWxsQ29tcG9uZW50LFxuICAgIFN0YXR1c1BhbmVsQ29tcG9uZW50LFxuICAgIFdpZGdldFZhbHVlQ29tcG9uZW50XG59IGZyb20gJy4vc2hhcmVkL2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBEYXRhSm9ic0FwaVNlcnZpY2UsIERhdGFKb2JzQmFzZUFwaVNlcnZpY2UsIERhdGFKb2JzUHVibGljQXBpU2VydmljZSwgRGF0YUpvYnNTZXJ2aWNlLCBEYXRhSm9ic1NlcnZpY2VJbXBsIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbmltcG9ydCB7IERBVEFfUElQRUxJTkVTX0NPTkZJR1MsIERhdGFQaXBlbGluZXNDb25maWcgfSBmcm9tICcuL21vZGVsJztcblxuaW1wb3J0IHsgRGF0YUpvYnNFZmZlY3RzIH0gZnJvbSAnLi9zdGF0ZS9lZmZlY3RzJztcblxuaW1wb3J0IHsgRm9ybWF0RHVyYXRpb25QaXBlIH0gZnJvbSAnLi9zaGFyZWQvcGlwZXMvZm9ybWF0LWR1cmF0aW9uLnBpcGUnO1xuXG5pbXBvcnQgeyBEYXRhSm9ic0V4cGxvcmVQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtam9icy1leHBsb3JlJztcbmltcG9ydCB7IERhdGFKb2JzRXhwbG9yZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1qb2JzLWV4cGxvcmUvY29tcG9uZW50cy9ncmlkJztcblxuaW1wb3J0IHsgRGF0YUpvYnNNYW5hZ2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtam9icy1tYW5hZ2UnO1xuaW1wb3J0IHsgRGF0YUpvYnNNYW5hZ2VHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtam9icy1tYW5hZ2UvY29tcG9uZW50cy9ncmlkJztcblxuaW1wb3J0IHsgRGF0YUpvYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS1qb2InO1xuaW1wb3J0IHsgRGF0YUpvYkRldGFpbHNQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtam9iL3BhZ2VzL2RldGFpbHMnO1xuaW1wb3J0IHtcbiAgICBEYXRhSm9iRGVwbG95bWVudERldGFpbHNNb2RhbENvbXBvbmVudCxcbiAgICBEYXRhSm9iRXhlY3V0aW9uc0dyaWRDb21wb25lbnQsXG4gICAgRGF0YUpvYkV4ZWN1dGlvbnNQYWdlQ29tcG9uZW50LFxuICAgIERhdGFKb2JFeGVjdXRpb25TdGF0dXNDb21wb25lbnQsXG4gICAgRGF0YUpvYkV4ZWN1dGlvblN0YXR1c0ZpbHRlckNvbXBvbmVudCxcbiAgICBEYXRhSm9iRXhlY3V0aW9uVHlwZUNvbXBvbmVudCxcbiAgICBEYXRhSm9iRXhlY3V0aW9uVHlwZUZpbHRlckNvbXBvbmVudCxcbiAgICBFeGVjdXRpb25EdXJhdGlvbkNoYXJ0Q29tcG9uZW50LFxuICAgIEV4ZWN1dGlvblN0YXR1c0NoYXJ0Q29tcG9uZW50LFxuICAgIFRpbWVQZXJpb2RGaWx0ZXJDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtam9iL3BhZ2VzL2V4ZWN1dGlvbnMnO1xuXG5pbXBvcnQge1xuICAgIERhdGFKb2JzRXhlY3V0aW9uc1dpZGdldENvbXBvbmVudCxcbiAgICBEYXRhSm9ic0ZhaWxlZFdpZGdldENvbXBvbmVudCxcbiAgICBEYXRhSm9ic0hlYWx0aFBhbmVsQ29tcG9uZW50LFxuICAgIERhdGFKb2JzV2lkZ2V0T25lQ29tcG9uZW50LFxuICAgIFdpZGdldEV4ZWN1dGlvblN0YXR1c0dhdWdlQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy93aWRnZXRzJztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyksXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBMb3R0aWVNb2R1bGUsXG4gICAgICAgIFRydW5jYXRlTW9kdWxlLFxuICAgICAgICBUaW1lYWdvTW9kdWxlLmZvclJvb3QoKSxcbiAgICAgICAgQ2xhcml0eU1vZHVsZSxcbiAgICAgICAgRHBEYXRlUGlja2VyTW9kdWxlLFxuICAgICAgICBOZ3hDaGFydHNNb2R1bGUsXG4gICAgICAgIFZka1NoYXJlZENvbXBvbmVudHNNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICAgICAgVmRrU2hhcmVkRmVhdHVyZXNNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICAgICAgVmRrU2hhcmVkTmdSeE1vZHVsZS5mb3JGZWF0dXJlRWZmZWN0cyhbRGF0YUpvYnNFZmZlY3RzXSlcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBBdHRyaWJ1dGVzRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXREZWx0YVBpcGUsXG4gICAgICAgIEZvcm1hdFNjaGVkdWxlUGlwZSxcbiAgICAgICAgUGFyc2VOZXh0UnVuUGlwZSxcbiAgICAgICAgQ29udGFjdHNQcmVzZW50UGlwZSxcbiAgICAgICAgRXhlY3V0aW9uU3VjY2Vzc1JhdGVQaXBlLFxuICAgICAgICBFeHRyYWN0Sm9iU3RhdHVzUGlwZSxcbiAgICAgICAgRXh0cmFjdENvbnRhY3RzUGlwZSxcbiAgICAgICAgUGFyc2VFcG9jaFBpcGUsXG4gICAgICAgIERhdGFKb2JzRXhwbG9yZVBhZ2VDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzRXhwbG9yZUdyaWRDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzTWFuYWdlUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYnNNYW5hZ2VHcmlkQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYkRldGFpbHNQYWdlQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iRXhlY3V0aW9uc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JFeGVjdXRpb25UeXBlQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iRXhlY3V0aW9uU3RhdHVzRmlsdGVyQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iRGVwbG95bWVudERldGFpbHNNb2RhbENvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYkV4ZWN1dGlvbnNHcmlkQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iRXhlY3V0aW9uVHlwZUZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgVGltZVBlcmlvZEZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgRXhlY3V0aW9uU3RhdHVzQ2hhcnRDb21wb25lbnQsXG4gICAgICAgIEV4ZWN1dGlvbkR1cmF0aW9uQ2hhcnRDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JFeGVjdXRpb25TdGF0dXNDb21wb25lbnQsXG4gICAgICAgIERlbGV0ZU1vZGFsQ29tcG9uZW50LFxuICAgICAgICBDb25maXJtYXRpb25EaWFsb2dNb2RhbENvbXBvbmVudCxcbiAgICAgICAgR3JpZEFjdGlvbkNvbXBvbmVudCxcbiAgICAgICAgU3RhdHVzQ2VsbENvbXBvbmVudCxcbiAgICAgICAgU3RhdHVzUGFuZWxDb21wb25lbnQsXG4gICAgICAgIEV4ZWN1dGlvbnNUaW1lbGluZUNvbXBvbmVudCxcbiAgICAgICAgLy8gV2lkZ2V0c1xuICAgICAgICBEYXRhSm9ic1dpZGdldE9uZUNvbXBvbmVudCxcbiAgICAgICAgV2lkZ2V0VmFsdWVDb21wb25lbnQsXG4gICAgICAgIENvbHVtbkZpbHRlckNvbXBvbmVudCxcbiAgICAgICAgRm9ybWF0RHVyYXRpb25QaXBlLFxuICAgICAgICBRdWlja0ZpbHRlcnNDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzRXhlY3V0aW9uc1dpZGdldENvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYnNGYWlsZWRXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIFdpZGdldEV4ZWN1dGlvblN0YXR1c0dhdWdlQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9ic0hlYWx0aFBhbmVsQ29tcG9uZW50LFxuICAgICAgICBFbXB0eVN0YXRlQ29tcG9uZW50XG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIERhdGFKb2JzRXhwbG9yZVBhZ2VDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzRXhwbG9yZUdyaWRDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzTWFuYWdlUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYnNNYW5hZ2VHcmlkQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iUGFnZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYkRldGFpbHNQYWdlQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9iRXhlY3V0aW9uc1BhZ2VDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzV2lkZ2V0T25lQ29tcG9uZW50LFxuICAgICAgICBEYXRhSm9ic0V4ZWN1dGlvbnNXaWRnZXRDb21wb25lbnQsXG4gICAgICAgIERhdGFKb2JzRmFpbGVkV2lkZ2V0Q29tcG9uZW50LFxuICAgICAgICBXaWRnZXRFeGVjdXRpb25TdGF0dXNHYXVnZUNvbXBvbmVudCxcbiAgICAgICAgRGF0YUpvYnNIZWFsdGhQYW5lbENvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVmRrRGF0YVBpcGVsaW5lc01vZHVsZSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc6IERhdGFQaXBlbGluZXNDb25maWcgPSB7fSBhcyBhbnkpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZka0RhdGFQaXBlbGluZXNNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBWZGtEYXRhUGlwZWxpbmVzTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAgRGF0YUpvYnNCYXNlQXBpU2VydmljZSxcbiAgICAgICAgICAgICAgICBEYXRhSm9ic1B1YmxpY0FwaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgRGF0YUpvYnNBcGlTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRGF0YUpvYnNTZXJ2aWNlLCB1c2VDbGFzczogRGF0YUpvYnNTZXJ2aWNlSW1wbCB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogREFUQV9QSVBFTElORVNfQ09ORklHUywgdXNlVmFsdWU6IGNvbmZpZyB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuIl19