barsa-novin-ray-core 2.2.52 → 2.2.55
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/barsa-novin-ray-core.module.mjs +9 -5
- package/esm2022/lib/never-session-expire/never-session-expire.component.mjs +40 -0
- package/esm2022/lib/services/portal.service.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/barsa-novin-ray-core.mjs +41 -4
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/barsa-novin-ray-core.module.d.ts +95 -94
- package/lib/never-session-expire/never-session-expire.component.d.ts +11 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -23,6 +23,8 @@ import { PortalPageComponent } from './portal-page/portal-page.component';
|
|
|
23
23
|
import { GlobalErrorHandler } from './global-error-handler';
|
|
24
24
|
import { RedirectReportNavigatorCommandComponent } from './redirect-report-navigator-command/redirect-report-navigator-command.component';
|
|
25
25
|
import { EmptyPageWithRouterAndRouterOutletComponent } from './empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component';
|
|
26
|
+
import { ButtonLoadingComponent } from './button-loading/button-loading.component';
|
|
27
|
+
import { NeverSessionExpireComponent } from './never-session-expire/never-session-expire.component';
|
|
26
28
|
import { EmptyPageComponent } from './empty-page/empty-page.component';
|
|
27
29
|
import { BarsaApi } from './abstract-classes/barsa-api';
|
|
28
30
|
import { FormPageComponent } from './abstract-classes/form-page.component';
|
|
@@ -33,7 +35,6 @@ import { ResizableModule } from './resizable-module/resizable.module';
|
|
|
33
35
|
import { BreadcrumbService, UploadService, ApiService, LogService, BarsaDialogService, PortalService, UiService, LayoutService, DynamicComponentService, NetworkStatusService, AudioRecordingService, VideoRecordingService, PromptUpdateService, BarsaStorageService, LocalStorageService, IndexedDbService, NotificationService, ServiceWorkerNotificationService, ServiceWorkerCommuncationService, SaveScrollPositionService } from './services';
|
|
34
36
|
import { DynamicCommandDirective, ItemsRendererDirective, NumbersOnlyInputDirective, PlaceHolderDirective, RenderUlvPaginDirective, ImageLazyDirective, UntilInViewDirective, IntersectionObserverDirective, EllipsifyDirective, TableResizerDirective, ColumnResizerDirective, AttrRtlDirective, RenderUlvViewerDirective, UlvCommandDirective, WorfkflowwChoiceCommandDirective, CopyDirective, EllapsisTextDirective, FillEmptySpaceDirective, FormCloseDirective, MobileDirective, BodyClickDirective, CountDownDirective, RouteFormChangeDirective, DynamicStyleDirective, NowraptextDirective, LabelmandatoryDirective, AbsoluteDivBodyDirective, LoadExternalFilesDirective, StopPropagationDirective, PreventDefaultDirective, RenderUlvDirective, PrintFilesDirective, SaveImageDirective, WebOtpDirective } from './directives';
|
|
35
37
|
import { NumeralPipe, CanUploadFilePipe, RemoveNewlinePipe, ConvertToStylePipe, FilterPipe, FilterTabPipe, FilterStringPipe, FioriIconPipe, SortPipe, GroupByPipe, MultipleGroupByPipe, MoValuePipe, MoReportValuePipe, HeaderFacetValuePipe, PictureFieldSourcePipe, TlbButtonsPipe, SeperatorFixPipe, MoReportValueConcatPipe, ContextMenuPipe, BbbTranslatePipe, BarsaIconDictPipe, FileInfoCountPipe, ControlUiPipe, VisibleValuePipe, DateTimeToCaptionPipe, FilterToolbarControlPipe, ListCountPipe, TotalSummaryPipe, MergeFieldsToColumnsPipe, FindColumnByDbNamePipe, FilterColumnsByDetailsPipe, MoInfoUlvMoListPipe, MoInfoUlvPagingPipe, ReversePipe, ColumnCustomUiPipe, SanitizeTextPipe, ColumnCustomComponentPipe, ColumnIconPipe, ColumnValuePipe, RowNumberPipe, ComboRowImagePipe, IsExpandedNodePipe, ThImageOrIconePipe, FindPreviewColumnPipe, ReplacePipe, FilterWorkflowInMobilePipe, HideColumnsInmobilePipe, StringToNumberPipe, ColumnValueOfParametersPipe, HideAcceptCancelButtonsPipe, FilterInlineActionListPipe, IsImagePipe } from './pipes';
|
|
36
|
-
import { ButtonLoadingComponent } from './button-loading/button-loading.component';
|
|
37
38
|
import * as i0 from "@angular/core";
|
|
38
39
|
import * as i1 from "./services";
|
|
39
40
|
const components = [
|
|
@@ -57,7 +58,8 @@ const components = [
|
|
|
57
58
|
EmptyPageComponent,
|
|
58
59
|
FormPageComponent,
|
|
59
60
|
FormFieldReportPageComponent,
|
|
60
|
-
ButtonLoadingComponent
|
|
61
|
+
ButtonLoadingComponent,
|
|
62
|
+
NeverSessionExpireComponent
|
|
61
63
|
];
|
|
62
64
|
const directives = [
|
|
63
65
|
PlaceHolderDirective,
|
|
@@ -285,7 +287,8 @@ export class BarsaNovinRayCoreModule extends BaseModule {
|
|
|
285
287
|
EmptyPageComponent,
|
|
286
288
|
FormPageComponent,
|
|
287
289
|
FormFieldReportPageComponent,
|
|
288
|
-
ButtonLoadingComponent,
|
|
290
|
+
ButtonLoadingComponent,
|
|
291
|
+
NeverSessionExpireComponent, NumeralPipe,
|
|
289
292
|
CanUploadFilePipe,
|
|
290
293
|
RemoveNewlinePipe,
|
|
291
294
|
ConvertToStylePipe,
|
|
@@ -395,7 +398,8 @@ export class BarsaNovinRayCoreModule extends BaseModule {
|
|
|
395
398
|
EmptyPageComponent,
|
|
396
399
|
FormPageComponent,
|
|
397
400
|
FormFieldReportPageComponent,
|
|
398
|
-
ButtonLoadingComponent,
|
|
401
|
+
ButtonLoadingComponent,
|
|
402
|
+
NeverSessionExpireComponent, NumeralPipe,
|
|
399
403
|
CanUploadFilePipe,
|
|
400
404
|
RemoveNewlinePipe,
|
|
401
405
|
ConvertToStylePipe,
|
|
@@ -505,4 +509,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
505
509
|
providers: [provideHttpClient(withInterceptorsFromDi())]
|
|
506
510
|
}]
|
|
507
511
|
}], ctorParameters: () => [{ type: i1.DynamicComponentService }, { type: i0.ComponentFactoryResolver }] });
|
|
508
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9iYXJzYS1ub3Zpbi1yYXktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixZQUFZLEVBRVosUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7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XHJcbiAgICBBUFBfSU5JVElBTElaRVIsXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBFcnJvckhhbmRsZXIsXHJcbiAgICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBOT19FUlJPUlNfU0NIRU1BXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzRnJvbURpIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWVsZFVpQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC11aS9maWVsZC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbmNob3JTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYW5jaG9yLXNjcm9sbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYU5vdmluUmF5Q29yZVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2JhcnNhLW5vdmluLXJheS1jb3JlLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgTW9kYWxSb290Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1yb290LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1OZXdDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tbmV3L2Zvcm0tbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvb3RQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QtcG9ydGFsL3Jvb3QtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vYXV0aC1ndWFyZCc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcclxuICAgIEJhc2VEeW5hbWljQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0Zvcm1Ub29sYmFyaXRlbUNvbXBvbmVudCxcclxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnRcclxufSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVkaXJlY3RIb21lR3VhcmQgfSBmcm9tICcuL3JlZGlyZWN0LWhvbWUtZ3VhcmQnO1xyXG5pbXBvcnQgeyBOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb290UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcm9vdC1wYWdlL3Jvb3QtcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNlTW9kdWxlIH0gZnJvbSAnLi9iYXNlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcnRhbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3BvcnRhbC1wYWdlL3BvcnRhbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbEVycm9ySGFuZGxlciB9IGZyb20gJy4vZ2xvYmFsLWVycm9yLWhhbmRsZXInO1xyXG5cclxuaW1wb3J0IHsgUmVkaXJlY3RSZXBvcnROYXZpZ2F0b3JDb21tYW5kQ29tcG9uZW50IH0gZnJvbSAnLi9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQvcmVkaXJlY3QtcmVwb3J0LW5hdmlnYXRvci1jb21tYW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtcHR5UGFnZVdpdGhSb3V0ZXJBbmRSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2Utd2l0aC1yb3V0ZXItYW5kLXJvdXRlci1vdXRsZXQvZW1wdHktcGFnZS13aXRoLXJvdXRlci1hbmQtcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbXB0eVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2UvZW1wdHktcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5pbXBvcnQgeyBGb3JtUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9mb3JtLXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkUmVwb3J0UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IFBvcnRhbFBhZ2VTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3J0YWwtcGFnZS9wb3J0YWwtc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVNhcFVpRm9ybVBhZ2VNb2R1bGUgfSBmcm9tICcuL2Zvcm0tcGFnZS1yb3V0aW5nJztcclxuaW1wb3J0IHsgUmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnLi9yZXNpemFibGUtbW9kdWxlL3Jlc2l6YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgQXBpU2VydmljZSxcclxuICAgIExvZ1NlcnZpY2UsXHJcbiAgICBCYXJzYURpYWxvZ1NlcnZpY2UsXHJcbiAgICBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgVWlTZXJ2aWNlLFxyXG4gICAgTGF5b3V0U2VydmljZSxcclxuICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXHJcbiAgICBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICBWaWRlb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICBQcm9tcHRVcGRhdGVTZXJ2aWNlLFxyXG4gICAgQmFyc2FTdG9yYWdlU2VydmljZSxcclxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBJbmRleGVkRGJTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFNlcnZpY2VXb3JrZXJOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2UsXHJcbiAgICBTYXZlU2Nyb2xsUG9zaXRpb25TZXJ2aWNlXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIEl0ZW1zUmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBOdW1iZXJzT25seUlucHV0RGlyZWN0aXZlLFxyXG4gICAgUGxhY2VIb2xkZXJEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZQYWdpbkRpcmVjdGl2ZSxcclxuICAgIEltYWdlTGF6eURpcmVjdGl2ZSxcclxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxyXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxyXG4gICAgQXR0clJ0bERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcclxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBXb3Jma2Zsb3d3Q2hvaWNlQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIENvcHlEaXJlY3RpdmUsXHJcbiAgICBFbGxhcHNpc1RleHREaXJlY3RpdmUsXHJcbiAgICBGaWxsRW1wdHlTcGFjZURpcmVjdGl2ZSxcclxuICAgIEZvcm1DbG9zZURpcmVjdGl2ZSxcclxuICAgIE1vYmlsZURpcmVjdGl2ZSxcclxuICAgIEJvZHlDbGlja0RpcmVjdGl2ZSxcclxuICAgIENvdW50RG93bkRpcmVjdGl2ZSxcclxuICAgIFJvdXRlRm9ybUNoYW5nZURpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNTdHlsZURpcmVjdGl2ZSxcclxuICAgIE5vd3JhcHRleHREaXJlY3RpdmUsXHJcbiAgICBMYWJlbG1hbmRhdG9yeURpcmVjdGl2ZSxcclxuICAgIEFic29sdXRlRGl2Qm9keURpcmVjdGl2ZSxcclxuICAgIExvYWRFeHRlcm5hbEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxyXG4gICAgUHJldmVudERlZmF1bHREaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZEaXJlY3RpdmUsXHJcbiAgICBQcmludEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgU2F2ZUltYWdlRGlyZWN0aXZlLFxyXG4gICAgV2ViT3RwRGlyZWN0aXZlXHJcbn0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHtcclxuICAgIE51bWVyYWxQaXBlLFxyXG4gICAgQ2FuVXBsb2FkRmlsZVBpcGUsXHJcbiAgICBSZW1vdmVOZXdsaW5lUGlwZSxcclxuICAgIENvbnZlcnRUb1N0eWxlUGlwZSxcclxuICAgIEZpbHRlclBpcGUsXHJcbiAgICBGaWx0ZXJUYWJQaXBlLFxyXG4gICAgRmlsdGVyU3RyaW5nUGlwZSxcclxuICAgIEZpb3JpSWNvblBpcGUsXHJcbiAgICBTb3J0UGlwZSxcclxuICAgIEdyb3VwQnlQaXBlLFxyXG4gICAgTXVsdGlwbGVHcm91cEJ5UGlwZSxcclxuICAgIE1vVmFsdWVQaXBlLFxyXG4gICAgTW9SZXBvcnRWYWx1ZVBpcGUsXHJcbiAgICBIZWFkZXJGYWNldFZhbHVlUGlwZSxcclxuICAgIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUsXHJcbiAgICBUbGJCdXR0b25zUGlwZSxcclxuICAgIFNlcGVyYXRvckZpeFBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlQ29uY2F0UGlwZSxcclxuICAgIENvbnRleHRNZW51UGlwZSxcclxuICAgIEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICBCYXJzYUljb25EaWN0UGlwZSxcclxuICAgIEZpbGVJbmZvQ291bnRQaXBlLFxyXG4gICAgQ29udHJvbFVpUGlwZSxcclxuICAgIFZpc2libGVWYWx1ZVBpcGUsXHJcbiAgICBEYXRlVGltZVRvQ2FwdGlvblBpcGUsXHJcbiAgICBGaWx0ZXJUb29sYmFyQ29udHJvbFBpcGUsXHJcbiAgICBMaXN0Q291bnRQaXBlLFxyXG4gICAgVG90YWxTdW1tYXJ5UGlwZSxcclxuICAgIE1lcmdlRmllbGRzVG9Db2x1bW5zUGlwZSxcclxuICAgIEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXHJcbiAgICBGaWx0ZXJDb2x1bW5zQnlEZXRhaWxzUGlwZSxcclxuICAgIE1vSW5mb1Vsdk1vTGlzdFBpcGUsXHJcbiAgICBNb0luZm9VbHZQYWdpbmdQaXBlLFxyXG4gICAgUmV2ZXJzZVBpcGUsXHJcbiAgICBDb2x1bW5DdXN0b21VaVBpcGUsXHJcbiAgICBTYW5pdGl6ZVRleHRQaXBlLFxyXG4gICAgQ29sdW1uQ3VzdG9tQ29tcG9uZW50UGlwZSxcclxuICAgIENvbHVtbkljb25QaXBlLFxyXG4gICAgQ29sdW1uVmFsdWVQaXBlLFxyXG4gICAgUm93TnVtYmVyUGlwZSxcclxuICAgIENvbWJvUm93SW1hZ2VQaXBlLFxyXG4gICAgSXNFeHBhbmRlZE5vZGVQaXBlLFxyXG4gICAgVGhJbWFnZU9ySWNvbmVQaXBlLFxyXG4gICAgRmluZFByZXZpZXdDb2x1bW5QaXBlLFxyXG4gICAgUmVwbGFjZVBpcGUsXHJcbiAgICBGaWx0ZXJXb3JrZmxvd0luTW9iaWxlUGlwZSxcclxuICAgIEhpZGVDb2x1bW5zSW5tb2JpbGVQaXBlLFxyXG4gICAgU3RyaW5nVG9OdW1iZXJQaXBlLFxyXG4gICAgQ29sdW1uVmFsdWVPZlBhcmFtZXRlcnNQaXBlLFxyXG4gICAgSGlkZUFjY2VwdENhbmNlbEJ1dHRvbnNQaXBlLFxyXG4gICAgRmlsdGVySW5saW5lQWN0aW9uTGlzdFBpcGUsXHJcbiAgICBJc0ltYWdlUGlwZVxyXG59IGZyb20gJy4vcGlwZXMnO1xyXG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24tbG9hZGluZy9idXR0b24tbG9hZGluZy5jb21wb25lbnQnO1xyXG5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZhclxyXG5kZWNsYXJlIHZhciBCQkI6IGFueTtcclxuXHJcbmNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgICBGb3JtQ29tcG9uZW50LFxyXG4gICAgRmllbGRVaUNvbXBvbmVudCxcclxuICAgIE5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgUm9vdFBhZ2VDb21wb25lbnQsXHJcbiAgICBSb290UG9ydGFsQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRm9ybU5ld0NvbXBvbmVudCxcclxuICAgIE1vZGFsUm9vdENvbXBvbmVudCxcclxuICAgIFBvcnRhbFBhZ2VDb21wb25lbnQsXHJcbiAgICBQb3J0YWxQYWdlU2lkZWJhckNvbXBvbmVudCxcclxuICAgIFJlZGlyZWN0UmVwb3J0TmF2aWdhdG9yQ29tbWFuZENvbXBvbmVudCxcclxuICAgIEVtcHR5UGFnZVdpdGhSb3V0ZXJBbmRSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcclxuICAgIER5bmFtaWNGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUR5bmFtaWNDb21wb25lbnQsXHJcbiAgICBEeW5hbWljRm9ybVRvb2xiYXJpdGVtQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcclxuICAgIEVtcHR5UGFnZUNvbXBvbmVudCxcclxuICAgIEZvcm1QYWdlQ29tcG9uZW50LFxyXG4gICAgRm9ybUZpZWxkUmVwb3J0UGFnZUNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkxvYWRpbmdDb21wb25lbnQgICAgXHJcbl07XHJcbmNvbnN0IGRpcmVjdGl2ZXMgPSBbXHJcbiAgICBQbGFjZUhvbGRlckRpcmVjdGl2ZSxcclxuICAgIE51bWJlcnNPbmx5SW5wdXREaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZWaWV3ZXJEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZQYWdpbkRpcmVjdGl2ZSxcclxuICAgIEFuY2hvclNjcm9sbERpcmVjdGl2ZSxcclxuICAgIEl0ZW1zUmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBVbHZDb21tYW5kRGlyZWN0aXZlLFxyXG4gICAgRHluYW1pY0NvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBXb3Jma2Zsb3d3Q2hvaWNlQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIEltYWdlTGF6eURpcmVjdGl2ZSxcclxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxyXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxyXG4gICAgQXR0clJ0bERpcmVjdGl2ZSxcclxuICAgIENvcHlEaXJlY3RpdmUsXHJcbiAgICBFbGxhcHNpc1RleHREaXJlY3RpdmUsXHJcbiAgICBGaWxsRW1wdHlTcGFjZURpcmVjdGl2ZSxcclxuICAgIEZvcm1DbG9zZURpcmVjdGl2ZSxcclxuICAgIE1vYmlsZURpcmVjdGl2ZSxcclxuICAgIEJvZHlDbGlja0RpcmVjdGl2ZSxcclxuICAgIENvdW50RG93bkRpcmVjdGl2ZSxcclxuICAgIFJvdXRlRm9ybUNoYW5nZURpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNTdHlsZURpcmVjdGl2ZSxcclxuICAgIE5vd3JhcHRleHREaXJlY3RpdmUsXHJcbiAgICBMYWJlbG1hbmRhdG9yeURpcmVjdGl2ZSxcclxuICAgIEFic29sdXRlRGl2Qm9keURpcmVjdGl2ZSxcclxuICAgIExvYWRFeHRlcm5hbEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxyXG4gICAgUHJldmVudERlZmF1bHREaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZEaXJlY3RpdmUsXHJcbiAgICBQcmludEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgU2F2ZUltYWdlRGlyZWN0aXZlLFxyXG4gICAgV2ViT3RwRGlyZWN0aXZlXHJcbl07XHJcbmNvbnN0IHBpcGVzID0gW1xyXG4gICAgTnVtZXJhbFBpcGUsXHJcbiAgICBDYW5VcGxvYWRGaWxlUGlwZSxcclxuICAgIFJlbW92ZU5ld2xpbmVQaXBlLFxyXG4gICAgQ29udmVydFRvU3R5bGVQaXBlLFxyXG4gICAgRmlsdGVyUGlwZSxcclxuICAgIEZpbHRlclRhYlBpcGUsXHJcbiAgICBGaWx0ZXJTdHJpbmdQaXBlLFxyXG4gICAgRmlvcmlJY29uUGlwZSxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgR3JvdXBCeVBpcGUsXHJcbiAgICBNdWx0aXBsZUdyb3VwQnlQaXBlLFxyXG4gICAgTW9WYWx1ZVBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlUGlwZSxcclxuICAgIEhlYWRlckZhY2V0VmFsdWVQaXBlLFxyXG4gICAgUGljdHVyZUZpZWxkU291cmNlUGlwZSxcclxuICAgIFRsYkJ1dHRvbnNQaXBlLFxyXG4gICAgU2VwZXJhdG9yRml4UGlwZSxcclxuICAgIE1vUmVwb3J0VmFsdWVDb25jYXRQaXBlLFxyXG4gICAgQ29udGV4dE1lbnVQaXBlLFxyXG4gICAgQmJiVHJhbnNsYXRlUGlwZSxcclxuICAgIEJhcnNhSWNvbkRpY3RQaXBlLFxyXG4gICAgRmlsZUluZm9Db3VudFBpcGUsXHJcbiAgICBDb250cm9sVWlQaXBlLFxyXG4gICAgVmlzaWJsZVZhbHVlUGlwZSxcclxuICAgIERhdGVUaW1lVG9DYXB0aW9uUGlwZSxcclxuICAgIEZpbHRlclRvb2xiYXJDb250cm9sUGlwZSxcclxuICAgIExpc3RDb3VudFBpcGUsXHJcbiAgICBUb3RhbFN1bW1hcnlQaXBlLFxyXG4gICAgTWVyZ2VGaWVsZHNUb0NvbHVtbnNQaXBlLFxyXG4gICAgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcclxuICAgIEZpbHRlckNvbHVtbnNCeURldGFpbHNQaXBlLFxyXG4gICAgTW9JbmZvVWx2TW9MaXN0UGlwZSxcclxuICAgIE1vSW5mb1VsdlBhZ2luZ1BpcGUsXHJcbiAgICBSZXZlcnNlUGlwZSxcclxuICAgIENvbHVtbkN1c3RvbVVpUGlwZSxcclxuICAgIFNhbml0aXplVGV4dFBpcGUsXHJcbiAgICBDb2x1bW5DdXN0b21Db21wb25lbnRQaXBlLFxyXG4gICAgQ29sdW1uSWNvblBpcGUsXHJcbiAgICBDb2x1bW5WYWx1ZVBpcGUsXHJcbiAgICBSb3dOdW1iZXJQaXBlLFxyXG4gICAgQ29tYm9Sb3dJbWFnZVBpcGUsXHJcbiAgICBJc0V4cGFuZGVkTm9kZVBpcGUsXHJcbiAgICBUaEltYWdlT3JJY29uZVBpcGUsXHJcbiAgICBGaW5kUHJldmlld0NvbHVtblBpcGUsXHJcbiAgICBSZXBsYWNlUGlwZSxcclxuICAgIEZpbHRlcldvcmtmbG93SW5Nb2JpbGVQaXBlLFxyXG4gICAgSGlkZUNvbHVtbnNJbm1vYmlsZVBpcGUsXHJcbiAgICBTdHJpbmdUb051bWJlclBpcGUsXHJcbiAgICBDb2x1bW5WYWx1ZU9mUGFyYW1ldGVyc1BpcGUsXHJcbiAgICBIaWRlQWNjZXB0Q2FuY2VsQnV0dG9uc1BpcGUsXHJcbiAgICBGaWx0ZXJJbmxpbmVBY3Rpb25MaXN0UGlwZSxcclxuICAgIElzSW1hZ2VQaXBlXHJcbl07XHJcbmNvbnN0IGZ1bmN0aW9uTDEgPSBmdW5jdGlvbiAoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5DdWx0dXJlID09PSAnZmEtSVInKSB7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZldGNoKGAvTG9jYWxpemF0aW9uL1RyYW5zbGF0aW9uL2RhdGFfJHtCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmV9Lmpzb25gKVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHJlcy5qc29uKCk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgICAgIGlmIChCQkIpIHtcclxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlXHJcbiAgICAgICAgICAgICAgICBCQkIgPSB7IC4uLkJhcnNhQXBpLkJCQiwgLi4ucmVzIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxufTtcclxuY29uc3QgZnVuY3Rpb25MMiA9IGZ1bmN0aW9uIChwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLCB0aXRsZVNlcnZpY2U6IFRpdGxlKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHBvcnRhbFNlcnZpY2UubG9hZFVzZXJQb3J0YWxTZXR0aW5nKCk7XHJcbiAgICBwb3J0YWxTZXJ2aWNlLmxvYWRQb3J0YWxEYXRhU3luYygpO1xyXG4gICAgaWYgKHBvcnRhbFNlcnZpY2UucG9ydGFsRGF0YT8uVGl0bGUpIHtcclxuICAgICAgICB0aXRsZVNlcnZpY2Uuc2V0VGl0bGUocG9ydGFsU2VydmljZS5wb3J0YWxEYXRhPy5UaXRsZSk7XHJcbiAgICB9XHJcbiAgICBpZiAoQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc0Fub255bW91cyAmJiAhQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Jc1NlcnZpY2VEZXNrKSB7XHJcbiAgICAgICAgcmV0dXJuIHBvcnRhbFNlcnZpY2UubG9hZFN5c3RlbShCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLlBvcnRhbFN5c3RlbUlkKTsgLy8gbG9naW4gZm9ybSBuZWVkIGp1c3QgcG9ydGFsIHN5c3RlbVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gcG9ydGFsU2VydmljZS5sb2FkU3lzdGVtKCk7IC8vIGxvYWQgYWxsIHN5c3RlbXMgaWYgdXNlciBpcyBsb2dnZWQgaW5cclxuICAgIH1cclxufTtcclxuQE5nTW9kdWxlKHtcclxuICAgIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHMsIC4uLnBpcGVzLCAuLi5kaXJlY3RpdmVzXSxcclxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzLCAuLi5waXBlcywgLi4uZGlyZWN0aXZlc10sXHJcbiAgICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEJhcnNhTm92aW5SYXlDb3JlUm91dGluZ01vZHVsZSxcclxuICAgICAgICBCYXJzYVNhcFVpRm9ybVBhZ2VNb2R1bGUsXHJcbiAgICAgICAgUmVzaXphYmxlTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGVcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUgZXh0ZW5kcyBCYXNlTW9kdWxlIHtcclxuICAgIHByb3RlY3RlZCBkeW5hbWljQ29tcG9uZW50cyA9IFsuLi5jb21wb25lbnRzXTtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkY206IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICAgICAgICBzdXBlcihkY20sIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgJ0JhcnNhTm92aW5SYXlDb3JlTW9kdWxlJyk7XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTpcclxuICAgICAgICAgICAgICAgICAgICAgICAgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlU2VydmljZTogVGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9tcHRVcGRhdGVTZXJ2aWNlOiBQcm9tcHRVcGRhdGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFyc2FTdG9yYWdlU2VydmljZTogQmFyc2FTdG9yYWdlU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3Q29tbXVuaWNhdGlvbjogU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXR3b3JrU3RhdHVzU2VydmljZTogTmV0d29ya1N0YXR1c1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXI6IFJvdXRlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICApID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGluTG9jYWxNb2RlID0gaXNJbkxvY2FsTW9kZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwb3J0YWxTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxvYWRTZXJ2ZXJTdGFydHVwRGF0YSgpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvbWlzZS5hbGwoW2Z1bmN0aW9uTDEoKSwgZnVuY3Rpb25MMihwb3J0YWxTZXJ2aWNlLCB0aXRsZVNlcnZpY2UpXSkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9tcHRVcGRhdGVTZXJ2aWNlLmNoZWNrRm9yVXBkYXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJzYVN0b3JhZ2VTZXJ2aWNlLmluaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3Q29tbXVuaWNhdGlvbi5pbml0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWluTG9jYWxNb2RlICYmICFuYXZpZ2F0b3Iub25MaW5lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnbm8taW50ZXJuZXQnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZShbJ25vLWludGVybmV0J10pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlKFsnc2VydmVyLWNvbm5lY3Rpb24tZXJyb3InXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgUG9ydGFsU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgVGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFByb21wdFVwZGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhU3RvcmFnZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJDb21tdW5jYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBOZXR3b3JrU3RhdHVzU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUm91dGVyXHJcbiAgICAgICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBFcnJvckhhbmRsZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9ySGFuZGxlclxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogKG5vdGlmaWNhdGlvblNlcnZpY2U6IE5vdGlmaWNhdGlvblNlcnZpY2UpID0+ICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuVWwuTm90aWZpY2F0aW9uTWFuYWdlci5vbih7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaG93UG9wdXA6IG5vdGlmaWNhdGlvblNlcnZpY2UuYWRkTm90aWZpY2F0aW9uLmJpbmQobm90aWZpY2F0aW9uU2VydmljZSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdWJsaXNoRXZlbnQ6IG5vdGlmaWNhdGlvblNlcnZpY2UuaGFuZGxlVG9waWMuYmluZChub3RpZmljYXRpb25TZXJ2aWNlKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtOb3RpZmljYXRpb25TZXJ2aWNlXSxcclxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC4uLnBpcGVzLFxyXG4gICAgICAgICAgICAgICAgUG9ydGFsU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFVwbG9hZFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBBcGlTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgTG9nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEJhcnNhRGlhbG9nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFVpU2VydmljZSxcclxuICAgICAgICAgICAgICAgIExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBEeW5hbWljQ29tcG9uZW50U2VydmljZSxcclxuICAgICAgICAgICAgICAgIEJyZWFkY3J1bWJTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQXV0aEd1YXJkLFxyXG4gICAgICAgICAgICAgICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBWaWRlb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBSZWRpcmVjdEhvbWVHdWFyZCxcclxuICAgICAgICAgICAgICAgIFByb21wdFVwZGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgU2VydmljZVdvcmtlck5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBTYXZlU2Nyb2xsUG9zaXRpb25TZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgTG9jYWxTdG9yYWdlU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEluZGV4ZWREYlNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBCYmJUcmFuc2xhdGVQaXBlLFxyXG4gICAgICAgICAgICAgICAgQmFyc2FTdG9yYWdlU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFNlcnZpY2VXb3JrZXJDb21tdW5jYXRpb25TZXJ2aWNlXHJcbiAgICAgICAgICAgIF1cclxuICAgICAgICB9O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
512
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etbm92aW4tcmF5LWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9iYXJzYS1ub3Zpbi1yYXktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGVBQWUsRUFFZixZQUFZLEVBRVosUUFBUSxFQUNSLGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7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U0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBUFBfSU5JVElBTElaRVIsXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBFcnJvckhhbmRsZXIsXHJcbiAgICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxyXG4gICAgTmdNb2R1bGUsXHJcbiAgICBOT19FUlJPUlNfU0NIRU1BXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzRnJvbURpIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGaWVsZFVpQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC11aS9maWVsZC11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1jb250YWluZXIvcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBbmNob3JTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvYW5jaG9yLXNjcm9sbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCYXJzYU5vdmluUmF5Q29yZVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2JhcnNhLW5vdmluLXJheS1jb3JlLXJvdXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHsgTW9kYWxSb290Q29tcG9uZW50IH0gZnJvbSAnLi9tb2RhbC1yb290LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1OZXdDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tbmV3L2Zvcm0tbmV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvb3RQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL3Jvb3QtcG9ydGFsL3Jvb3QtcG9ydGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dGhHdWFyZCB9IGZyb20gJy4vYXV0aC1ndWFyZCc7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgRHluYW1pY0Zvcm1Db21wb25lbnQsXHJcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcclxuICAgIEJhc2VEeW5hbWljQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0Zvcm1Ub29sYmFyaXRlbUNvbXBvbmVudCxcclxuICAgIER5bmFtaWNMYXlvdXRDb21wb25lbnRcclxufSBmcm9tICcuL2R5bmFtaWMtY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVkaXJlY3RIb21lR3VhcmQgfSBmcm9tICcuL3JlZGlyZWN0LWhvbWUtZ3VhcmQnO1xyXG5pbXBvcnQgeyBOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJy4vbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb290UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vcm9vdC1wYWdlL3Jvb3QtcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNlTW9kdWxlIH0gZnJvbSAnLi9iYXNlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBvcnRhbFBhZ2VDb21wb25lbnQgfSBmcm9tICcuL3BvcnRhbC1wYWdlL3BvcnRhbC1wYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEdsb2JhbEVycm9ySGFuZGxlciB9IGZyb20gJy4vZ2xvYmFsLWVycm9yLWhhbmRsZXInO1xyXG5cclxuaW1wb3J0IHsgUmVkaXJlY3RSZXBvcnROYXZpZ2F0b3JDb21tYW5kQ29tcG9uZW50IH0gZnJvbSAnLi9yZWRpcmVjdC1yZXBvcnQtbmF2aWdhdG9yLWNvbW1hbmQvcmVkaXJlY3QtcmVwb3J0LW5hdmlnYXRvci1jb21tYW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtcHR5UGFnZVdpdGhSb3V0ZXJBbmRSb3V0ZXJPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2Utd2l0aC1yb3V0ZXItYW5kLXJvdXRlci1vdXRsZXQvZW1wdHktcGFnZS13aXRoLXJvdXRlci1hbmQtcm91dGVyLW91dGxldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24tbG9hZGluZy9idXR0b24tbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOZXZlclNlc3Npb25FeHBpcmVDb21wb25lbnQgfSBmcm9tICcuL25ldmVyLXNlc3Npb24tZXhwaXJlL25ldmVyLXNlc3Npb24tZXhwaXJlLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBFbXB0eVBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2VtcHR5LXBhZ2UvZW1wdHktcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5pbXBvcnQgeyBGb3JtUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcy9mb3JtLXBhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkUmVwb3J0UGFnZUNvbXBvbmVudCB9IGZyb20gJy4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IFBvcnRhbFBhZ2VTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9wb3J0YWwtcGFnZS9wb3J0YWwtc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXJzYVNhcFVpRm9ybVBhZ2VNb2R1bGUgfSBmcm9tICcuL2Zvcm0tcGFnZS1yb3V0aW5nJztcclxuaW1wb3J0IHsgUmVzaXphYmxlTW9kdWxlIH0gZnJvbSAnLi9yZXNpemFibGUtbW9kdWxlL3Jlc2l6YWJsZS5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICBVcGxvYWRTZXJ2aWNlLFxyXG4gICAgQXBpU2VydmljZSxcclxuICAgIExvZ1NlcnZpY2UsXHJcbiAgICBCYXJzYURpYWxvZ1NlcnZpY2UsXHJcbiAgICBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgVWlTZXJ2aWNlLFxyXG4gICAgTGF5b3V0U2VydmljZSxcclxuICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgTmV0d29ya1N0YXR1c1NlcnZpY2UsXHJcbiAgICBBdWRpb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICBWaWRlb1JlY29yZGluZ1NlcnZpY2UsXHJcbiAgICBQcm9tcHRVcGRhdGVTZXJ2aWNlLFxyXG4gICAgQmFyc2FTdG9yYWdlU2VydmljZSxcclxuICAgIExvY2FsU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBJbmRleGVkRGJTZXJ2aWNlLFxyXG4gICAgTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIFNlcnZpY2VXb3JrZXJOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2UsXHJcbiAgICBTYXZlU2Nyb2xsUG9zaXRpb25TZXJ2aWNlXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7XHJcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIEl0ZW1zUmVuZGVyZXJEaXJlY3RpdmUsXHJcbiAgICBOdW1iZXJzT25seUlucHV0RGlyZWN0aXZlLFxyXG4gICAgUGxhY2VIb2xkZXJEaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZQYWdpbkRpcmVjdGl2ZSxcclxuICAgIEltYWdlTGF6eURpcmVjdGl2ZSxcclxuICAgIFVudGlsSW5WaWV3RGlyZWN0aXZlLFxyXG4gICAgSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXHJcbiAgICBFbGxpcHNpZnlEaXJlY3RpdmUsXHJcbiAgICBUYWJsZVJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBDb2x1bW5SZXNpemVyRGlyZWN0aXZlLFxyXG4gICAgQXR0clJ0bERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcclxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBXb3Jma2Zsb3d3Q2hvaWNlQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIENvcHlEaXJlY3RpdmUsXHJcbiAgICBFbGxhcHNpc1RleHREaXJlY3RpdmUsXHJcbiAgICBGaWxsRW1wdHlTcGFjZURpcmVjdGl2ZSxcclxuICAgIEZvcm1DbG9zZURpcmVjdGl2ZSxcclxuICAgIE1vYmlsZURpcmVjdGl2ZSxcclxuICAgIEJvZHlDbGlja0RpcmVjdGl2ZSxcclxuICAgIENvdW50RG93bkRpcmVjdGl2ZSxcclxuICAgIFJvdXRlRm9ybUNoYW5nZURpcmVjdGl2ZSxcclxuICAgIER5bmFtaWNTdHlsZURpcmVjdGl2ZSxcclxuICAgIE5vd3JhcHRleHREaXJlY3RpdmUsXHJcbiAgICBMYWJlbG1hbmRhdG9yeURpcmVjdGl2ZSxcclxuICAgIEFic29sdXRlRGl2Qm9keURpcmVjdGl2ZSxcclxuICAgIExvYWRFeHRlcm5hbEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgU3RvcFByb3BhZ2F0aW9uRGlyZWN0aXZlLFxyXG4gICAgUHJldmVudERlZmF1bHREaXJlY3RpdmUsXHJcbiAgICBSZW5kZXJVbHZEaXJlY3RpdmUsXHJcbiAgICBQcmludEZpbGVzRGlyZWN0aXZlLFxyXG4gICAgU2F2ZUltYWdlRGlyZWN0aXZlLFxyXG4gICAgV2ViT3RwRGlyZWN0aXZlXHJcbn0gZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuaW1wb3J0IHtcclxuICAgIE51bWVyYWxQaXBlLFxyXG4gICAgQ2FuVXBsb2FkRmlsZVBpcGUsXHJcbiAgICBSZW1vdmVOZXdsaW5lUGlwZSxcclxuICAgIENvbnZlcnRUb1N0eWxlUGlwZSxcclxuICAgIEZpbHRlclBpcGUsXHJcbiAgICBGaWx0ZXJUYWJQaXBlLFxyXG4gICAgRmlsdGVyU3RyaW5nUGlwZSxcclxuICAgIEZpb3JpSWNvblBpcGUsXHJcbiAgICBTb3J0UGlwZSxcclxuICAgIEdyb3VwQnlQaXBlLFxyXG4gICAgTXVsdGlwbGVHcm91cEJ5UGlwZSxcclxuICAgIE1vVmFsdWVQaXBlLFxyXG4gICAgTW9SZXBvcnRWYWx1ZVBpcGUsXHJcbiAgICBIZWFkZXJGYWNldFZhbHVlUGlwZSxcclxuICAgIFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUsXHJcbiAgICBUbGJCdXR0b25zUGlwZSxcclxuICAgIFNlcGVyYXRvckZpeFBpcGUsXHJcbiAgICBNb1JlcG9ydFZhbHVlQ29uY2F0UGlwZSxcclxuICAgIENvbnRleHRNZW51UGlwZSxcclxuICAgIEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICBCYXJzYUljb25EaWN0UGlwZSxcclxuICAgIEZpbGVJbmZvQ291bnRQaXBlLFxyXG4gICAgQ29udHJvbFVpUGlwZSxcclxuICAgIFZpc2libGVWYWx1ZVBpcGUsXHJcbiAgICBEYXRlVGltZVRvQ2FwdGlvblBpcGUsXHJcbiAgICBGaWx0ZXJUb29sYmFyQ29udHJvbFBpcGUsXHJcbiAgICBMaXN0Q291bnRQaXBlLFxyXG4gICAgVG90YWxTdW1tYXJ5UGlwZSxcclxuICAgIE1lcmdlRmllbGRzVG9Db2x1bW5zUGlwZSxcclxuICAgIEZpbmRDb2x1bW5CeURiTmFtZVBpcGUsXHJcbiAgICBGaWx0ZXJDb2x1bW5zQnlEZXRhaWxzUGlwZSxcclxuICAgIE1vSW5mb1Vsdk1vTGlzdFBpcGUsXHJcbiAgICBNb0luZm9VbHZQYWdpbmdQaXBlLFxyXG4gICAgUmV2ZXJzZVBpcGUsXHJcbiAgICBDb2x1bW5DdXN0b21VaVBpcGUsXHJcbiAgICBTYW5pdGl6ZVRleHRQaXBlLFxyXG4gICAgQ29sdW1uQ3VzdG9tQ29tcG9uZW50UGlwZSxcclxuICAgIENvbHVtbkljb25QaXBlLFxyXG4gICAgQ29sdW1uVmFsdWVQaXBlLFxyXG4gICAgUm93TnVtYmVyUGlwZSxcclxuICAgIENvbWJvUm93SW1hZ2VQaXBlLFxyXG4gICAgSXNFeHBhbmRlZE5vZGVQaXBlLFxyXG4gICAgVGhJbWFnZU9ySWNvbmVQaXBlLFxyXG4gICAgRmluZFByZXZpZXdDb2x1bW5QaXBlLFxyXG4gICAgUmVwbGFjZVBpcGUsXHJcbiAgICBGaWx0ZXJXb3JrZmxvd0luTW9iaWxlUGlwZSxcclxuICAgIEhpZGVDb2x1bW5zSW5tb2JpbGVQaXBlLFxyXG4gICAgU3RyaW5nVG9OdW1iZXJQaXBlLFxyXG4gICAgQ29sdW1uVmFsdWVPZlBhcmFtZXRlcnNQaXBlLFxyXG4gICAgSGlkZUFjY2VwdENhbmNlbEJ1dHRvbnNQaXBlLFxyXG4gICAgRmlsdGVySW5saW5lQWN0aW9uTGlzdFBpcGUsXHJcbiAgICBJc0ltYWdlUGlwZVxyXG59IGZyb20gJy4vcGlwZXMnO1xyXG5cclxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZhclxyXG5kZWNsYXJlIHZhciBCQkI6IGFueTtcclxuXHJcbmNvbnN0IGNvbXBvbmVudHMgPSBbXHJcbiAgICBGb3JtQ29tcG9uZW50LFxyXG4gICAgRmllbGRVaUNvbXBvbmVudCxcclxuICAgIE5vdEZvdW5kQ29tcG9uZW50LFxyXG4gICAgUm9vdFBhZ2VDb21wb25lbnQsXHJcbiAgICBSb290UG9ydGFsQ29tcG9uZW50LFxyXG4gICAgUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgRm9ybU5ld0NvbXBvbmVudCxcclxuICAgIE1vZGFsUm9vdENvbXBvbmVudCxcclxuICAgIFBvcnRhbFBhZ2VDb21wb25lbnQsXHJcbiAgICBQb3J0YWxQYWdlU2lkZWJhckNvbXBvbmVudCxcclxuICAgIFJlZGlyZWN0UmVwb3J0TmF2aWdhdG9yQ29tbWFuZENvbXBvbmVudCxcclxuICAgIEVtcHR5UGFnZVdpdGhSb3V0ZXJBbmRSb3V0ZXJPdXRsZXRDb21wb25lbnQsXHJcbiAgICBEeW5hbWljSXRlbUNvbXBvbmVudCxcclxuICAgIER5bmFtaWNGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUR5bmFtaWNDb21wb25lbnQsXHJcbiAgICBEeW5hbWljRm9ybVRvb2xiYXJpdGVtQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY0xheW91dENvbXBvbmVudCxcclxuICAgIEVtcHR5UGFnZUNvbXBvbmVudCxcclxuICAgIEZvcm1QYWdlQ29tcG9uZW50LFxyXG4gICAgRm9ybUZpZWxkUmVwb3J0UGFnZUNvbXBvbmVudCxcclxuICAgIEJ1dHRvbkxvYWRpbmdDb21wb25lbnQsXHJcbiAgICBOZXZlclNlc3Npb25FeHBpcmVDb21wb25lbnRcclxuXTtcclxuY29uc3QgZGlyZWN0aXZlcyA9IFtcclxuICAgIFBsYWNlSG9sZGVyRGlyZWN0aXZlLFxyXG4gICAgTnVtYmVyc09ubHlJbnB1dERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlZpZXdlckRpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdlBhZ2luRGlyZWN0aXZlLFxyXG4gICAgQW5jaG9yU2Nyb2xsRGlyZWN0aXZlLFxyXG4gICAgSXRlbXNSZW5kZXJlckRpcmVjdGl2ZSxcclxuICAgIFVsdkNvbW1hbmREaXJlY3RpdmUsXHJcbiAgICBEeW5hbWljQ29tbWFuZERpcmVjdGl2ZSxcclxuICAgIFdvcmZrZmxvd3dDaG9pY2VDb21tYW5kRGlyZWN0aXZlLFxyXG4gICAgSW1hZ2VMYXp5RGlyZWN0aXZlLFxyXG4gICAgVW50aWxJblZpZXdEaXJlY3RpdmUsXHJcbiAgICBJbnRlcnNlY3Rpb25PYnNlcnZlckRpcmVjdGl2ZSxcclxuICAgIEVsbGlwc2lmeURpcmVjdGl2ZSxcclxuICAgIFRhYmxlUmVzaXplckRpcmVjdGl2ZSxcclxuICAgIENvbHVtblJlc2l6ZXJEaXJlY3RpdmUsXHJcbiAgICBBdHRyUnRsRGlyZWN0aXZlLFxyXG4gICAgQ29weURpcmVjdGl2ZSxcclxuICAgIEVsbGFwc2lzVGV4dERpcmVjdGl2ZSxcclxuICAgIEZpbGxFbXB0eVNwYWNlRGlyZWN0aXZlLFxyXG4gICAgRm9ybUNsb3NlRGlyZWN0aXZlLFxyXG4gICAgTW9iaWxlRGlyZWN0aXZlLFxyXG4gICAgQm9keUNsaWNrRGlyZWN0aXZlLFxyXG4gICAgQ291bnREb3duRGlyZWN0aXZlLFxyXG4gICAgUm91dGVGb3JtQ2hhbmdlRGlyZWN0aXZlLFxyXG4gICAgRHluYW1pY1N0eWxlRGlyZWN0aXZlLFxyXG4gICAgTm93cmFwdGV4dERpcmVjdGl2ZSxcclxuICAgIExhYmVsbWFuZGF0b3J5RGlyZWN0aXZlLFxyXG4gICAgQWJzb2x1dGVEaXZCb2R5RGlyZWN0aXZlLFxyXG4gICAgTG9hZEV4dGVybmFsRmlsZXNEaXJlY3RpdmUsXHJcbiAgICBTdG9wUHJvcGFnYXRpb25EaXJlY3RpdmUsXHJcbiAgICBQcmV2ZW50RGVmYXVsdERpcmVjdGl2ZSxcclxuICAgIFJlbmRlclVsdkRpcmVjdGl2ZSxcclxuICAgIFByaW50RmlsZXNEaXJlY3RpdmUsXHJcbiAgICBTYXZlSW1hZ2VEaXJlY3RpdmUsXHJcbiAgICBXZWJPdHBEaXJlY3RpdmVcclxuXTtcclxuY29uc3QgcGlwZXMgPSBbXHJcbiAgICBOdW1lcmFsUGlwZSxcclxuICAgIENhblVwbG9hZEZpbGVQaXBlLFxyXG4gICAgUmVtb3ZlTmV3bGluZVBpcGUsXHJcbiAgICBDb252ZXJ0VG9TdHlsZVBpcGUsXHJcbiAgICBGaWx0ZXJQaXBlLFxyXG4gICAgRmlsdGVyVGFiUGlwZSxcclxuICAgIEZpbHRlclN0cmluZ1BpcGUsXHJcbiAgICBGaW9yaUljb25QaXBlLFxyXG4gICAgU29ydFBpcGUsXHJcbiAgICBHcm91cEJ5UGlwZSxcclxuICAgIE11bHRpcGxlR3JvdXBCeVBpcGUsXHJcbiAgICBNb1ZhbHVlUGlwZSxcclxuICAgIE1vUmVwb3J0VmFsdWVQaXBlLFxyXG4gICAgSGVhZGVyRmFjZXRWYWx1ZVBpcGUsXHJcbiAgICBQaWN0dXJlRmllbGRTb3VyY2VQaXBlLFxyXG4gICAgVGxiQnV0dG9uc1BpcGUsXHJcbiAgICBTZXBlcmF0b3JGaXhQaXBlLFxyXG4gICAgTW9SZXBvcnRWYWx1ZUNvbmNhdFBpcGUsXHJcbiAgICBDb250ZXh0TWVudVBpcGUsXHJcbiAgICBCYmJUcmFuc2xhdGVQaXBlLFxyXG4gICAgQmFyc2FJY29uRGljdFBpcGUsXHJcbiAgICBGaWxlSW5mb0NvdW50UGlwZSxcclxuICAgIENvbnRyb2xVaVBpcGUsXHJcbiAgICBWaXNpYmxlVmFsdWVQaXBlLFxyXG4gICAgRGF0ZVRpbWVUb0NhcHRpb25QaXBlLFxyXG4gICAgRmlsdGVyVG9vbGJhckNvbnRyb2xQaXBlLFxyXG4gICAgTGlzdENvdW50UGlwZSxcclxuICAgIFRvdGFsU3VtbWFyeVBpcGUsXHJcbiAgICBNZXJnZUZpZWxkc1RvQ29sdW1uc1BpcGUsXHJcbiAgICBGaW5kQ29sdW1uQnlEYk5hbWVQaXBlLFxyXG4gICAgRmlsdGVyQ29sdW1uc0J5RGV0YWlsc1BpcGUsXHJcbiAgICBNb0luZm9VbHZNb0xpc3RQaXBlLFxyXG4gICAgTW9JbmZvVWx2UGFnaW5nUGlwZSxcclxuICAgIFJldmVyc2VQaXBlLFxyXG4gICAgQ29sdW1uQ3VzdG9tVWlQaXBlLFxyXG4gICAgU2FuaXRpemVUZXh0UGlwZSxcclxuICAgIENvbHVtbkN1c3RvbUNvbXBvbmVudFBpcGUsXHJcbiAgICBDb2x1bW5JY29uUGlwZSxcclxuICAgIENvbHVtblZhbHVlUGlwZSxcclxuICAgIFJvd051bWJlclBpcGUsXHJcbiAgICBDb21ib1Jvd0ltYWdlUGlwZSxcclxuICAgIElzRXhwYW5kZWROb2RlUGlwZSxcclxuICAgIFRoSW1hZ2VPckljb25lUGlwZSxcclxuICAgIEZpbmRQcmV2aWV3Q29sdW1uUGlwZSxcclxuICAgIFJlcGxhY2VQaXBlLFxyXG4gICAgRmlsdGVyV29ya2Zsb3dJbk1vYmlsZVBpcGUsXHJcbiAgICBIaWRlQ29sdW1uc0lubW9iaWxlUGlwZSxcclxuICAgIFN0cmluZ1RvTnVtYmVyUGlwZSxcclxuICAgIENvbHVtblZhbHVlT2ZQYXJhbWV0ZXJzUGlwZSxcclxuICAgIEhpZGVBY2NlcHRDYW5jZWxCdXR0b25zUGlwZSxcclxuICAgIEZpbHRlcklubGluZUFjdGlvbkxpc3RQaXBlLFxyXG4gICAgSXNJbWFnZVBpcGVcclxuXTtcclxuY29uc3QgZnVuY3Rpb25MMSA9IGZ1bmN0aW9uICgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmUgPT09ICdmYS1JUicpIHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmV0Y2goYC9Mb2NhbGl6YXRpb24vVHJhbnNsYXRpb24vZGF0YV8ke0JhcnNhQXBpLkxvZ2luRm9ybURhdGEuQ3VsdHVyZX0uanNvbmApXHJcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzLmpzb24oKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXMpIHtcclxuICAgICAgICAgICAgaWYgKEJCQikge1xyXG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGVcclxuICAgICAgICAgICAgICAgIEJCQiA9IHsgLi4uQmFyc2FBcGkuQkJCLCAuLi5yZXMgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG59O1xyXG5jb25zdCBmdW5jdGlvbkwyID0gZnVuY3Rpb24gKHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsIHRpdGxlU2VydmljZTogVGl0bGUpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcG9ydGFsU2VydmljZS5sb2FkVXNlclBvcnRhbFNldHRpbmcoKTtcclxuICAgIHBvcnRhbFNlcnZpY2UubG9hZFBvcnRhbERhdGFTeW5jKCk7XHJcbiAgICBpZiAocG9ydGFsU2VydmljZS5wb3J0YWxEYXRhPy5UaXRsZSkge1xyXG4gICAgICAgIHRpdGxlU2VydmljZS5zZXRUaXRsZShwb3J0YWxTZXJ2aWNlLnBvcnRhbERhdGE/LlRpdGxlKTtcclxuICAgIH1cclxuICAgIGlmIChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzQW5vbnltb3VzICYmICFCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzU2VydmljZURlc2spIHtcclxuICAgICAgICByZXR1cm4gcG9ydGFsU2VydmljZS5sb2FkU3lzdGVtKEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuUG9ydGFsU3lzdGVtSWQpOyAvLyBsb2dpbiBmb3JtIG5lZWQganVzdCBwb3J0YWwgc3lzdGVtXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBwb3J0YWxTZXJ2aWNlLmxvYWRTeXN0ZW0oKTsgLy8gbG9hZCBhbGwgc3lzdGVtcyBpZiB1c2VyIGlzIGxvZ2dlZCBpblxyXG4gICAgfVxyXG59O1xyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50cywgLi4ucGlwZXMsIC4uLmRpcmVjdGl2ZXNdLFxyXG4gICAgZXhwb3J0czogWy4uLmNvbXBvbmVudHMsIC4uLnBpcGVzLCAuLi5kaXJlY3RpdmVzXSxcclxuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQmFyc2FOb3ZpblJheUNvcmVSb3V0aW5nTW9kdWxlLFxyXG4gICAgICAgIEJhcnNhU2FwVWlGb3JtUGFnZU1vZHVsZSxcclxuICAgICAgICBSZXNpemFibGVNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZVxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW3Byb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkoKSldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYU5vdmluUmF5Q29yZU1vZHVsZSBleHRlbmRzIEJhc2VNb2R1bGUge1xyXG4gICAgcHJvdGVjdGVkIGR5bmFtaWNDb21wb25lbnRzID0gWy4uLmNvbXBvbmVudHNdO1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGRjbTogRHluYW1pY0NvbXBvbmVudFNlcnZpY2UsIHByb3RlY3RlZCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gICAgICAgIHN1cGVyKGRjbSwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCAnQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUnKTtcclxuICAgIH1cclxuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QmFyc2FOb3ZpblJheUNvcmVNb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogQmFyc2FOb3ZpblJheUNvcmVNb2R1bGUsXHJcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21wdFVwZGF0ZVNlcnZpY2U6IFByb21wdFVwZGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXJzYVN0b3JhZ2VTZXJ2aWNlOiBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dDb21tdW5pY2F0aW9uOiBTZXJ2aWNlV29ya2VyQ29tbXVuY2F0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldHdvcmtTdGF0dXNTZXJ2aWNlOiBOZXR3b3JrU3RhdHVzU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlcjogUm91dGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5Mb2NhbE1vZGUgPSBpc0luTG9jYWxNb2RlKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBvcnRhbFNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9hZFNlcnZlclN0YXJ0dXBEYXRhKClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcm9taXNlLmFsbChbZnVuY3Rpb25MMSgpLCBmdW5jdGlvbkwyKHBvcnRhbFNlcnZpY2UsIHRpdGxlU2VydmljZSldKS5maW5hbGx5KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21wdFVwZGF0ZVNlcnZpY2UuY2hlY2tGb3JVcGRhdGUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhcnNhU3RvcmFnZVNlcnZpY2UuaW5pdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dDb21tdW5pY2F0aW9uLmluaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghaW5Mb2NhbE1vZGUgJiYgIW5hdmlnYXRvci5vbkxpbmUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCduby1pbnRlcm5ldCcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlKFsnbm8taW50ZXJuZXQnXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXIubmF2aWdhdGUoWydzZXJ2ZXItY29ubmVjdGlvbi1lcnJvciddKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBUaXRsZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgUHJvbXB0VXBkYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FTdG9yYWdlU2VydmljZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE5ldHdvcmtTdGF0dXNTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBSb3V0ZXJcclxuICAgICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcclxuICAgICAgICAgICAgICAgICAgICB1c2VDbGFzczogR2xvYmFsRXJyb3JIYW5kbGVyXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiAobm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uU2VydmljZSkgPT4gKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5VbC5Ob3RpZmljYXRpb25NYW5hZ2VyLm9uKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNob3dQb3B1cDogbm90aWZpY2F0aW9uU2VydmljZS5hZGROb3RpZmljYXRpb24uYmluZChub3RpZmljYXRpb25TZXJ2aWNlKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFB1Ymxpc2hFdmVudDogbm90aWZpY2F0aW9uU2VydmljZS5oYW5kbGVUb3BpYy5iaW5kKG5vdGlmaWNhdGlvblNlcnZpY2UpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW05vdGlmaWNhdGlvblNlcnZpY2VdLFxyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgLi4ucGlwZXMsXHJcbiAgICAgICAgICAgICAgICBQb3J0YWxTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgVXBsb2FkU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEFwaVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBMb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQmFyc2FEaWFsb2dTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgVWlTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgTGF5b3V0U2VydmljZSxcclxuICAgICAgICAgICAgICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgQnJlYWRjcnVtYlNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBBdXRoR3VhcmQsXHJcbiAgICAgICAgICAgICAgICBOZXR3b3JrU3RhdHVzU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEF1ZGlvUmVjb3JkaW5nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFZpZGVvUmVjb3JkaW5nU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFJlZGlyZWN0SG9tZUd1YXJkLFxyXG4gICAgICAgICAgICAgICAgUHJvbXB0VXBkYXRlU2VydmljZSxcclxuICAgICAgICAgICAgICAgIE5vdGlmaWNhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBTZXJ2aWNlV29ya2VyTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgICAgICAgICAgICAgIFNhdmVTY3JvbGxQb3NpdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgSW5kZXhlZERiU2VydmljZSxcclxuICAgICAgICAgICAgICAgIEJiYlRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgICAgICAgICBCYXJzYVN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgU2VydmljZVdvcmtlckNvbW11bmNhdGlvblNlcnZpY2VcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
2
|
+
import { combineLatest } from 'rxjs';
|
|
3
|
+
import { BaseComponent } from '../abstract-classes/base.component';
|
|
4
|
+
import { LocalStorageService, PortalService } from '../services';
|
|
5
|
+
import { BarsaApi } from '../abstract-classes';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class NeverSessionExpireComponent extends BaseComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this._portalService = inject(PortalService);
|
|
11
|
+
this._storageService = inject(LocalStorageService);
|
|
12
|
+
this._Key = 'S_S_Ex';
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
super.ngOnInit();
|
|
16
|
+
combineLatest([this._portalService.userLoggedIn$, this._portalService.standalone$]).subscribe(([isLoggedIn, standalone]) => {
|
|
17
|
+
const key = this._Key;
|
|
18
|
+
if (isLoggedIn && standalone && !this._storageService.getItem(key)) {
|
|
19
|
+
try {
|
|
20
|
+
this._setStandaloneApp();
|
|
21
|
+
}
|
|
22
|
+
catch { }
|
|
23
|
+
this._storageService.setItem(key, 'true');
|
|
24
|
+
}
|
|
25
|
+
if (!isLoggedIn) {
|
|
26
|
+
this._storageService.remove(key);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
_setStandaloneApp() {
|
|
31
|
+
this._portalService.RunBlMethodAsync('BarsaSetStandAloneApp', [BarsaApi.LoginFormData.PortalId]).catch((e) => { });
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NeverSessionExpireComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NeverSessionExpireComponent, selector: "bnrc-never-session-expire", usesInheritance: true, ngImport: i0, template: "", styles: [":host{background:#191919 -webkit-linear-gradient(top,#000 0%,#191919 100%) no-repeat;background:#191919 linear-gradient(to bottom,#000,#191919) no-repeat;text-align:center}:host h1,:host h2{font-weight:400}:host h1{margin:0 auto;padding:.15em;font-size:10em;text-shadow:0 2px 2px #000}:host h2{margin-bottom:2em}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NeverSessionExpireComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'bnrc-never-session-expire', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "", styles: [":host{background:#191919 -webkit-linear-gradient(top,#000 0%,#191919 100%) no-repeat;background:#191919 linear-gradient(to bottom,#000,#191919) no-repeat;text-align:center}:host h1,:host h2{font-weight:400}:host h1{margin:0 auto;padding:.15em;font-size:10em;text-shadow:0 2px 2px #000}:host h2{margin-bottom:2em}\n"] }]
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV2ZXItc2Vzc2lvbi1leHBpcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9uZXZlci1zZXNzaW9uLWV4cGlyZS9uZXZlci1zZXNzaW9uLWV4cGlyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL25ldmVyLXNlc3Npb24tZXhwaXJlL25ldmVyLXNlc3Npb24tZXhwaXJlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVMvQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsYUFBYTtJQVA5RDs7UUFRWSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlDLFNBQUksR0FBRyxRQUFRLENBQUM7S0FxQjNCO0lBcEJHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDekYsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDdEIsSUFBSSxVQUFVLElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakUsSUFBSSxDQUFDO29CQUNELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUM3QixDQUFDO2dCQUFDLE1BQU0sQ0FBQyxDQUFBLENBQUM7Z0JBQ1YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNMLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUNPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLHVCQUF1QixFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEgsQ0FBQzsrR0F2QlEsMkJBQTJCO21HQUEzQiwyQkFBMkIsd0ZDZHhDLEVBQUE7OzRGRGNhLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDSSwyQkFBMkIsbUJBR3BCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UsIFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYm5yYy1uZXZlci1zZXNzaW9uLWV4cGlyZScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmV2ZXItc2Vzc2lvbi1leHBpcmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmV2ZXItc2Vzc2lvbi1leHBpcmUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIE5ldmVyU2Vzc2lvbkV4cGlyZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xyXG4gICAgcHJpdmF0ZSBfcG9ydGFsU2VydmljZSA9IGluamVjdChQb3J0YWxTZXJ2aWNlKTtcclxuICAgIHByaXZhdGUgX3N0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG4gICAgcHJpdmF0ZSBfS2V5ID0gJ1NfU19FeCc7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX3BvcnRhbFNlcnZpY2UudXNlckxvZ2dlZEluJCwgdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJF0pLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKFtpc0xvZ2dlZEluLCBzdGFuZGFsb25lXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5fS2V5O1xyXG4gICAgICAgICAgICAgICAgaWYgKGlzTG9nZ2VkSW4gJiYgc3RhbmRhbG9uZSAmJiAhdGhpcy5fc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fc2V0U3RhbmRhbG9uZUFwcCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2gge31cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zdG9yYWdlU2VydmljZS5zZXRJdGVtKGtleSwgJ3RydWUnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghaXNMb2dnZWRJbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3N0b3JhZ2VTZXJ2aWNlLnJlbW92ZShrZXkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgX3NldFN0YW5kYWxvbmVBcHAoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5SdW5CbE1ldGhvZEFzeW5jKCdCYXJzYVNldFN0YW5kQWxvbmVBcHAnLCBbQmFyc2FBcGkuTG9naW5Gb3JtRGF0YS5Qb3J0YWxJZF0pLmNhdGNoKChlKSA9PiB7fSk7XHJcbiAgICB9XHJcbn1cclxuIiwiIl19
|