@veloceapps/sdk 11.0.0-27 → 11.0.0-28

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.
@@ -1,9 +1,9 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { ConfigurationProcessor, TemplateComponentWithAttachments, UIDefinitionContainer, UITemplate } from '@veloceapps/core';
2
+ import { ConfigurationProcessor, FlowContext, TemplateComponentWithAttachments, UIDefinitionContainer, UITemplate } from '@veloceapps/core';
3
3
  import { Observable } from 'rxjs';
4
4
  export declare const FLOW_CUSTOMIZATION: InjectionToken<FlowCustomization>;
5
5
  export interface FlowCustomization {
6
- getUiDefinition?(productId: string): Observable<UIDefinitionContainer | null>;
6
+ getUiDefinition?(flowContext: FlowContext): Observable<UIDefinitionContainer | null>;
7
7
  getTemplates?(): Observable<UITemplate[]>;
8
8
  getTemplateComponents?(templateName: string): Observable<TemplateComponentWithAttachments[] | null>;
9
9
  getTemplateConfigurationProcessors?(templateName: string): Observable<ConfigurationProcessor[] | null>;
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const FLOW_CUSTOMIZATION = new InjectionToken('FLOW_CUSTOMIZATION');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVMvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUHJvY2Vzc29yLFxuICBUZW1wbGF0ZUNvbXBvbmVudFdpdGhBdHRhY2htZW50cyxcbiAgVUlEZWZpbml0aW9uQ29udGFpbmVyLFxuICBVSVRlbXBsYXRlLFxufSBmcm9tICdAdmVsb2NlYXBwcy9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IEZMT1dfQ1VTVE9NSVpBVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxGbG93Q3VzdG9taXphdGlvbj4oJ0ZMT1dfQ1VTVE9NSVpBVElPTicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dDdXN0b21pemF0aW9uIHtcbiAgZ2V0VWlEZWZpbml0aW9uPyhwcm9kdWN0SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VUlEZWZpbml0aW9uQ29udGFpbmVyIHwgbnVsbD47XG5cbiAgZ2V0VGVtcGxhdGVzPygpOiBPYnNlcnZhYmxlPFVJVGVtcGxhdGVbXT47XG4gIGdldFRlbXBsYXRlQ29tcG9uZW50cz8odGVtcGxhdGVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRlbXBsYXRlQ29tcG9uZW50V2l0aEF0dGFjaG1lbnRzW10gfCBudWxsPjtcblxuICBnZXRUZW1wbGF0ZUNvbmZpZ3VyYXRpb25Qcm9jZXNzb3JzPyh0ZW1wbGF0ZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Q29uZmlndXJhdGlvblByb2Nlc3NvcltdIHwgbnVsbD47XG59XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jdXN0b21pemF0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zZGsvY29yZS90eXBlcy9mbG93LWN1c3RvbWl6YXRpb24udHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uUHJvY2Vzc29yLFxuICBGbG93Q29udGV4dCxcbiAgVGVtcGxhdGVDb21wb25lbnRXaXRoQXR0YWNobWVudHMsXG4gIFVJRGVmaW5pdGlvbkNvbnRhaW5lcixcbiAgVUlUZW1wbGF0ZSxcbn0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBGTE9XX0NVU1RPTUlaQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48Rmxvd0N1c3RvbWl6YXRpb24+KCdGTE9XX0NVU1RPTUlaQVRJT04nKTtcblxuZXhwb3J0IGludGVyZmFjZSBGbG93Q3VzdG9taXphdGlvbiB7XG4gIGdldFVpRGVmaW5pdGlvbj8oZmxvd0NvbnRleHQ6IEZsb3dDb250ZXh0KTogT2JzZXJ2YWJsZTxVSURlZmluaXRpb25Db250YWluZXIgfCBudWxsPjtcblxuICBnZXRUZW1wbGF0ZXM/KCk6IE9ic2VydmFibGU8VUlUZW1wbGF0ZVtdPjtcbiAgZ2V0VGVtcGxhdGVDb21wb25lbnRzPyh0ZW1wbGF0ZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VGVtcGxhdGVDb21wb25lbnRXaXRoQXR0YWNobWVudHNbXSB8IG51bGw+O1xuXG4gIGdldFRlbXBsYXRlQ29uZmlndXJhdGlvblByb2Nlc3NvcnM/KHRlbXBsYXRlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxDb25maWd1cmF0aW9uUHJvY2Vzc29yW10gfCBudWxsPjtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { inject } from '@angular/core';
2
2
  import { UIDefinitionsApiService } from '@veloceapps/api/v2';
3
- import { ConfigurationRuntimeService, FlowInfoService, FLOW_CUSTOMIZATION } from '@veloceapps/sdk/core';
3
+ import { ConfigurationRuntimeService, FLOW_CUSTOMIZATION, FlowInfoService } from '@veloceapps/sdk/core';
4
4
  import { map, of, switchMap, tap } from 'rxjs';
5
5
  export const resolveUIDefinition = () => {
6
6
  const customizationService = inject(FLOW_CUSTOMIZATION, { optional: true });
@@ -16,7 +16,7 @@ export const resolveUIDefinition = () => {
16
16
  if (!productId || !customizationService?.getUiDefinition) {
17
17
  return of(undefined);
18
18
  }
19
- return customizationService.getUiDefinition(productId);
19
+ return customizationService.getUiDefinition(flowInfoService.context);
20
20
  }), switchMap(uiDefContainer => {
21
21
  // Resolve UIDefinition from the org
22
22
  if (uiDefContainer) {
@@ -39,4 +39,4 @@ export const resolveUIDefinition = () => {
39
39
  }));
40
40
  }), tap(uiDefContainer => (configurationRuntimeService.uiDefinitionContainer = uiDefContainer)));
41
41
  };
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvdWktZGVmaW5pdGlvbi5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFxQyxHQUFHLEVBQUU7SUFDeEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXhFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7S0FDMUU7SUFFRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRTtZQUN4RCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sb0JBQW9CLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxjQUFjLENBQUMsRUFBRTtRQUN6QixvQ0FBb0M7UUFDcEMsSUFBSSxjQUFjLEVBQUU7WUFDbEIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDM0I7UUFFRCxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7WUFDbEQsT0FBTyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3ZGO1FBRUQsT0FBTyx1QkFBdUI7YUFDM0IsU0FBUyxDQUFDO1lBQ1QsU0FBUztZQUNULHFCQUFxQixFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMscUJBQXFCO1NBQ3JFLENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsc0JBQStDLEVBQUUsRUFBRTtZQUN0RCxNQUFNLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixTQUFTLGtCQUFrQixDQUFDLENBQUM7YUFDN0U7WUFFRCxPQUFPLGNBQWMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxxQkFBcUIsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUM1RixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNvbHZlRm4gfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uc0FwaVNlcnZpY2UgfSBmcm9tICdAdmVsb2NlYXBwcy9hcGkvdjInO1xuaW1wb3J0IHsgVUlEZWZpbml0aW9uQ29udGFpbmVyIH0gZnJvbSAnQHZlbG9jZWFwcHMvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UsIEZsb3dJbmZvU2VydmljZSwgRkxPV19DVVNUT01JWkFUSU9OIH0gZnJvbSAnQHZlbG9jZWFwcHMvc2RrL2NvcmUnO1xuaW1wb3J0IHsgbWFwLCBvZiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVVSURlZmluaXRpb246IFJlc29sdmVGbjxVSURlZmluaXRpb25Db250YWluZXI+ID0gKCkgPT4ge1xuICBjb25zdCBjdXN0b21pemF0aW9uU2VydmljZSA9IGluamVjdChGTE9XX0NVU1RPTUlaQVRJT04sIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIGNvbnN0IGZsb3dJbmZvU2VydmljZSA9IGluamVjdChGbG93SW5mb1NlcnZpY2UpO1xuICBjb25zdCB1aURlZmluaXRpb25zQXBpU2VydmljZSA9IGluamVjdChVSURlZmluaXRpb25zQXBpU2VydmljZSk7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb25SdW50aW1lU2VydmljZSA9IGluamVjdChDb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UpO1xuXG4gIGNvbnN0IHsgcHJvZHVjdElkIH0gPSBmbG93SW5mb1NlcnZpY2UuY29udGV4dDtcbiAgaWYgKCFwcm9kdWN0SWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBzdGFydCBjb25maWd1cmF0aW9uIGZvciAncHJvZHVjdElkID09IG51bGwnYCk7XG4gIH1cblxuICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAvLyBUcnkgcmVzb2x2aW5nIHZpYSBjdXN0b21pemF0aW9uIHNlcnZpY2VcbiAgICAgIGlmICghcHJvZHVjdElkIHx8ICFjdXN0b21pemF0aW9uU2VydmljZT8uZ2V0VWlEZWZpbml0aW9uKSB7XG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0VWlEZWZpbml0aW9uKHByb2R1Y3RJZCk7XG4gICAgfSksXG4gICAgc3dpdGNoTWFwKHVpRGVmQ29udGFpbmVyID0+IHtcbiAgICAgIC8vIFJlc29sdmUgVUlEZWZpbml0aW9uIGZyb20gdGhlIG9yZ1xuICAgICAgaWYgKHVpRGVmQ29udGFpbmVyKSB7XG4gICAgICAgIHJldHVybiBvZih1aURlZkNvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmbG93SW5mb1NlcnZpY2UuY29udGV4dC5yZXF1aXJlZFVJRGVmaW5pdGlvbklkKSB7XG4gICAgICAgIHJldHVybiB1aURlZmluaXRpb25zQXBpU2VydmljZS5mZXRjaCQoZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQucmVxdWlyZWRVSURlZmluaXRpb25JZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1aURlZmluaXRpb25zQXBpU2VydmljZVxuICAgICAgICAuZmV0Y2hBbGwkKHtcbiAgICAgICAgICBwcm9kdWN0SWQsXG4gICAgICAgICAgZGVmYXVsdFVJRGVmaW5pdGlvbklkOiBmbG93SW5mb1NlcnZpY2UuY29udGV4dC5kZWZhdWx0VUlEZWZpbml0aW9uSWQsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodWlEZWZpbml0aW9uQ29udGFpbmVyczogVUlEZWZpbml0aW9uQ29udGFpbmVyW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVpRGVmQ29udGFpbmVyID0gdWlEZWZpbml0aW9uQ29udGFpbmVyc1swXTtcbiAgICAgICAgICAgIGlmICghdWlEZWZDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVSSBEZWZpbml0aW9uIGZvciBwcm9kdWN0SWQ9JHtwcm9kdWN0SWR9IGlzIG5vdCByZXNvbHZlZGApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdWlEZWZDb250YWluZXI7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSksXG4gICAgdGFwKHVpRGVmQ29udGFpbmVyID0+IChjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uQ29udGFpbmVyID0gdWlEZWZDb250YWluZXIpKSxcbiAgKTtcbn07XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktZGVmaW5pdGlvbi5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2RrL3NyYy9yZXNvbHZlcnMvdWktZGVmaW5pdGlvbi5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFxQyxHQUFHLEVBQUU7SUFDeEUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDaEQsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRSxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBRXhFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDO0lBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7S0FDMUU7SUFFRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYiwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLGVBQWUsRUFBRTtZQUN4RCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN0QjtRQUVELE9BQU8sb0JBQW9CLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDekIsb0NBQW9DO1FBQ3BDLElBQUksY0FBYyxFQUFFO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ2xELE9BQU8sdUJBQXVCLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUN2RjtRQUVELE9BQU8sdUJBQXVCO2FBQzNCLFNBQVMsQ0FBQztZQUNULFNBQVM7WUFDVCxxQkFBcUIsRUFBRSxlQUFlLENBQUMsT0FBTyxDQUFDLHFCQUFxQjtTQUNyRSxDQUFDO2FBQ0QsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLHNCQUErQyxFQUFFLEVBQUU7WUFDdEQsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDO2FBQzdFO1lBRUQsT0FBTyxjQUFjLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsMkJBQTJCLENBQUMscUJBQXFCLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FDNUYsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzb2x2ZUZuIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbnNBcGlTZXJ2aWNlIH0gZnJvbSAnQHZlbG9jZWFwcHMvYXBpL3YyJztcbmltcG9ydCB7IFVJRGVmaW5pdGlvbkNvbnRhaW5lciB9IGZyb20gJ0B2ZWxvY2VhcHBzL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlLCBGTE9XX0NVU1RPTUlaQVRJT04sIEZsb3dJbmZvU2VydmljZSB9IGZyb20gJ0B2ZWxvY2VhcHBzL3Nkay9jb3JlJztcbmltcG9ydCB7IG1hcCwgb2YsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlVUlEZWZpbml0aW9uOiBSZXNvbHZlRm48VUlEZWZpbml0aW9uQ29udGFpbmVyPiA9ICgpID0+IHtcbiAgY29uc3QgY3VzdG9taXphdGlvblNlcnZpY2UgPSBpbmplY3QoRkxPV19DVVNUT01JWkFUSU9OLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBjb25zdCBmbG93SW5mb1NlcnZpY2UgPSBpbmplY3QoRmxvd0luZm9TZXJ2aWNlKTtcbiAgY29uc3QgdWlEZWZpbml0aW9uc0FwaVNlcnZpY2UgPSBpbmplY3QoVUlEZWZpbml0aW9uc0FwaVNlcnZpY2UpO1xuICBjb25zdCBjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UgPSBpbmplY3QoQ29uZmlndXJhdGlvblJ1bnRpbWVTZXJ2aWNlKTtcblxuICBjb25zdCB7IHByb2R1Y3RJZCB9ID0gZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQ7XG4gIGlmICghcHJvZHVjdElkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gc3RhcnQgY29uZmlndXJhdGlvbiBmb3IgJ3Byb2R1Y3RJZCA9PSBudWxsJ2ApO1xuICB9XG5cbiAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgLy8gVHJ5IHJlc29sdmluZyB2aWEgY3VzdG9taXphdGlvbiBzZXJ2aWNlXG4gICAgICBpZiAoIXByb2R1Y3RJZCB8fCAhY3VzdG9taXphdGlvblNlcnZpY2U/LmdldFVpRGVmaW5pdGlvbikge1xuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldFVpRGVmaW5pdGlvbihmbG93SW5mb1NlcnZpY2UuY29udGV4dCk7XG4gICAgfSksXG4gICAgc3dpdGNoTWFwKHVpRGVmQ29udGFpbmVyID0+IHtcbiAgICAgIC8vIFJlc29sdmUgVUlEZWZpbml0aW9uIGZyb20gdGhlIG9yZ1xuICAgICAgaWYgKHVpRGVmQ29udGFpbmVyKSB7XG4gICAgICAgIHJldHVybiBvZih1aURlZkNvbnRhaW5lcik7XG4gICAgICB9XG5cbiAgICAgIGlmIChmbG93SW5mb1NlcnZpY2UuY29udGV4dC5yZXF1aXJlZFVJRGVmaW5pdGlvbklkKSB7XG4gICAgICAgIHJldHVybiB1aURlZmluaXRpb25zQXBpU2VydmljZS5mZXRjaCQoZmxvd0luZm9TZXJ2aWNlLmNvbnRleHQucmVxdWlyZWRVSURlZmluaXRpb25JZCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1aURlZmluaXRpb25zQXBpU2VydmljZVxuICAgICAgICAuZmV0Y2hBbGwkKHtcbiAgICAgICAgICBwcm9kdWN0SWQsXG4gICAgICAgICAgZGVmYXVsdFVJRGVmaW5pdGlvbklkOiBmbG93SW5mb1NlcnZpY2UuY29udGV4dC5kZWZhdWx0VUlEZWZpbml0aW9uSWQsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodWlEZWZpbml0aW9uQ29udGFpbmVyczogVUlEZWZpbml0aW9uQ29udGFpbmVyW10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVpRGVmQ29udGFpbmVyID0gdWlEZWZpbml0aW9uQ29udGFpbmVyc1swXTtcbiAgICAgICAgICAgIGlmICghdWlEZWZDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVSSBEZWZpbml0aW9uIGZvciBwcm9kdWN0SWQ9JHtwcm9kdWN0SWR9IGlzIG5vdCByZXNvbHZlZGApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdWlEZWZDb250YWluZXI7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfSksXG4gICAgdGFwKHVpRGVmQ29udGFpbmVyID0+IChjb25maWd1cmF0aW9uUnVudGltZVNlcnZpY2UudWlEZWZpbml0aW9uQ29udGFpbmVyID0gdWlEZWZDb250YWluZXIpKSxcbiAgKTtcbn07XG4iXX0=