@alfresco/aca-content 4.4.0-7888569033 → 4.4.0-7916078802

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.
@@ -107,10 +107,10 @@ export class RuleActionUiComponent {
107
107
  this.onTouch();
108
108
  });
109
109
  this.cardViewUpdateService.itemUpdated$.pipe(takeUntil(this.onDestroy$)).subscribe((updateNotification) => {
110
- this.parameters = {
110
+ this.parameters = this.clearEmptyParameters({
111
111
  ...this.parameters,
112
112
  ...updateNotification.changed
113
- };
113
+ });
114
114
  this.onChange({
115
115
  actionDefinitionId: this.selectedActionDefinitionId,
116
116
  params: this.parameters
@@ -221,7 +221,9 @@ export class RuleActionUiComponent {
221
221
  setDefaultParameters() {
222
222
  this.parameters = {};
223
223
  (this.selectedActionDefinition?.parameterDefinitions ?? []).forEach((paramDef) => {
224
- this.parameters[paramDef.name] = paramDef.type === 'd:boolean' ? false : '';
224
+ if (paramDef.type === 'd:boolean') {
225
+ this.parameters[paramDef.name] = false;
226
+ }
225
227
  });
226
228
  }
227
229
  setDisabledState(isDisabled) {
@@ -250,6 +252,10 @@ export class RuleActionUiComponent {
250
252
  label: constraint.label ? `${constraint.label} [${constraint.value}]` : constraint.value
251
253
  }));
252
254
  }
255
+ clearEmptyParameters(params) {
256
+ Object.keys(params).forEach((key) => (params[key] === null || params[key] === undefined || params[key] === '') && delete params[key]);
257
+ return params;
258
+ }
253
259
  }
254
260
  RuleActionUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RuleActionUiComponent, deps: [{ token: i1.CardViewUpdateService }, { token: i2.MatDialog }, { token: i3.TranslateService }, { token: i4.TagService }, { token: i4.CategoryService }], target: i0.ɵɵFactoryTarget.Component });
255
261
  RuleActionUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: RuleActionUiComponent, isStandalone: true, selector: "aca-rule-action", inputs: { nodeId: "nodeId", actionDefinitions: "actionDefinitions", readOnly: "readOnly", parameterConstraints: "parameterConstraints" }, host: { classAttribute: "aca-rule-action" }, providers: [
@@ -279,4 +285,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
279
285
  }], parameterConstraints: [{
280
286
  type: Input
281
287
  }] } });
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1hY3Rpb24udWktY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWRldGFpbHMvYWN0aW9ucy9ydWxlLWFjdGlvbi51aS1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9hY3Rpb25zL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUErQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQXdCLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEksT0FBTyxFQUNMLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsdUJBQXVCLEVBRXZCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFFdEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFDTCxlQUFlLEVBQ2YsNEJBQTRCLEVBRTVCLFVBQVUsRUFDVixVQUFVLEVBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8s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Z0NZLFlBQVksK1BBQUUsZUFBZSwyRkFBRSxtQkFBbUIsNHJCQUFFLGtCQUFrQixzTkFBRSxlQUFlLHlRQUFFLGNBQWM7MkZBZXRHLHFCQUFxQjtrQkFqQmpDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLFlBQ3hHLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLGFBQ3ZCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDO3lCQUNyRDt3QkFDRCxxQkFBcUI7cUJBQ3RCOzBOQUlELE1BQU07c0JBREwsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtGLG9CQUFvQjtzQkFEdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkLCBSdWxlQWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWwvcnVsZS1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ2FyZFZpZXdCb29sSXRlbU1vZGVsLFxuICBDYXJkVmlld0l0ZW0sXG4gIENhcmRWaWV3TW9kdWxlLFxuICBDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbCxcbiAgQ2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uLFxuICBDYXJkVmlld1RleHRJdGVtTW9kZWwsXG4gIENhcmRWaWV3VXBkYXRlU2VydmljZSxcbiAgVXBkYXRlTm90aWZpY2F0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25QYXJhbWV0ZXJEZWZpbml0aW9uLCBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25QYXJhbWV0ZXJDb25zdHJhaW50LCBDb25zdHJhaW50VmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbC9hY3Rpb24tcGFyYW1ldGVyLWNvbnN0cmFpbnQubW9kZWwnO1xuaW1wb3J0IHtcbiAgQ2F0ZWdvcnlTZXJ2aWNlLFxuICBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50LFxuICBDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50RGF0YSxcbiAgTm9kZUFjdGlvbixcbiAgVGFnU2VydmljZVxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIENhcmRWaWV3TW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdhY2EtcnVsZS1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcnVsZS1hY3Rpb24udWktY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ydWxlLWFjdGlvbi51aS1jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7IGNsYXNzOiAnYWNhLXJ1bGUtYWN0aW9uJyB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUnVsZUFjdGlvblVpQ29tcG9uZW50KVxuICAgIH0sXG4gICAgQ2FyZFZpZXdVcGRhdGVTZXJ2aWNlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUnVsZUFjdGlvblVpQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBub2RlSWQgPSAnJztcblxuICBASW5wdXQoKVxuICBhY3Rpb25EZWZpbml0aW9uczogQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkW107XG5cbiAgQElucHV0KClcbiAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICBwcml2YXRlIF9wYXJhbWV0ZXJDb25zdHJhaW50cyA9IFtdO1xuICBASW5wdXQoKVxuICBnZXQgcGFyYW1ldGVyQ29uc3RyYWludHMoKTogQWN0aW9uUGFyYW1ldGVyQ29uc3RyYWludFtdIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1ldGVyQ29uc3RyYWludHM7XG4gIH1cblxuICBzZXQgcGFyYW1ldGVyQ29uc3RyYWludHModmFsdWUpIHtcbiAgICB0aGlzLl9wYXJhbWV0ZXJDb25zdHJhaW50cyA9IHZhbHVlLm1hcCgob2JqKSA9PiAoe1xuICAgICAgLi4ub2JqLFxuICAgICAgY29uc3RyYWludHM6IHRoaXMucGFyc2VDb25zdHJhaW50c1RvU2VsZWN0T3B0aW9ucyhvYmouY29uc3RyYWludHMpXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSB0YWdzUmVsYXRlZFByb3BlcnRpZXNBbmRBc3BlY3RzID0gWydjbTp0YWdzY29wZScsICdjbTp0YWdTY29wZUNhY2hlJywgJ2NtOnRhZ2dhYmxlJ107XG4gIHByaXZhdGUgcmVhZG9ubHkgY2F0ZWdvcmllc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cyA9IFsnY206Y2F0ZWdvcmllcycsICdjbTpnZW5lcmFsY2xhc3NpZmlhYmxlJ107XG5cbiAgaXNGdWxsV2lkdGggPSBmYWxzZTtcblxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgYWN0aW9uRGVmaW5pdGlvbklkOiBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpXG4gIH0pO1xuXG4gIGNhcmRWaWV3SXRlbXM6IENhcmRWaWV3SXRlbVtdID0gW107XG4gIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9ID0ge307XG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgZ2V0IHNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2FjdGlvbkRlZmluaXRpb25JZCcpLnZhbHVlO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbigpOiBBY3Rpb25EZWZpbml0aW9uVHJhbnNmb3JtZWQge1xuICAgIHJldHVybiB0aGlzLmFjdGlvbkRlZmluaXRpb25zLmZpbmQoKGFjdGlvbkRlZmluaXRpb246IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZCkgPT4gYWN0aW9uRGVmaW5pdGlvbi5pZCA9PT0gdGhpcy5zZWxlY3RlZEFjdGlvbkRlZmluaXRpb25JZCk7XG4gIH1cblxuICBvbkNoYW5nZTogKGFjdGlvbjogUnVsZUFjdGlvbikgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcbiAgb25Ub3VjaDogKCkgPT4gdm9pZCA9ICgpID0+IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhcmRWaWV3VXBkYXRlU2VydmljZTogQ2FyZFZpZXdVcGRhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0YWdTZXJ2aWNlOiBUYWdTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2F0ZWdvcnlTZXJ2aWNlOiBDYXRlZ29yeVNlcnZpY2VcbiAgKSB7fVxuXG4gIHdyaXRlVmFsdWUoYWN0aW9uOiBSdWxlQWN0aW9uKSB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIGFjdGlvbkRlZmluaXRpb25JZDogYWN0aW9uLmFjdGlvbkRlZmluaXRpb25JZFxuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgIC4uLnRoaXMucGFyYW1ldGVycyxcbiAgICAgIC4uLmFjdGlvbi5wYXJhbXNcbiAgICB9O1xuICAgIHRoaXMuc2V0Q2FyZFZpZXdQcm9wZXJ0aWVzKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoYWN0aW9uOiBSdWxlQWN0aW9uKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hY3Rpb25EZWZpbml0aW9ucyA9IHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMuc29ydCgoZmlyc3RBY3Rpb25EZWZpbml0aW9uLCBzZWNvbmRBY3Rpb25EZWZpbml0aW9uKSA9PlxuICAgICAgZmlyc3RBY3Rpb25EZWZpbml0aW9uLnRpdGxlLmxvY2FsZUNvbXBhcmUoc2Vjb25kQWN0aW9uRGVmaW5pdGlvbi50aXRsZSlcbiAgICApO1xuXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zZXREZWZhdWx0UGFyYW1ldGVycygpO1xuICAgICAgdGhpcy5zZXRDYXJkVmlld1Byb3BlcnRpZXMoKTtcbiAgICAgIHRoaXMub25DaGFuZ2Uoe1xuICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgIHBhcmFtczogdGhpcy5wYXJhbWV0ZXJzXG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5jYXJkVmlld1VwZGF0ZVNlcnZpY2UuaXRlbVVwZGF0ZWQkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgodXBkYXRlTm90aWZpY2F0aW9uOiBVcGRhdGVOb3RpZmljYXRpb24pID0+IHtcbiAgICAgIHRoaXMucGFyYW1ldGVycyA9IHtcbiAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAuLi51cGRhdGVOb3RpZmljYXRpb24uY2hhbmdlZFxuICAgICAgfTtcbiAgICAgIHRoaXMub25DaGFuZ2Uoe1xuICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgIHBhcmFtczogdGhpcy5wYXJhbWV0ZXJzXG4gICAgICB9KTtcbiAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHJlYWRPbmx5ID0gY2hhbmdlc1sncmVhZE9ubHknXT8uY3VycmVudFZhbHVlO1xuICAgIGlmIChyZWFkT25seSAhPT0gdW5kZWZpbmVkICYmIHJlYWRPbmx5ICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnJlYWRPbmx5ID0gcmVhZE9ubHk7XG4gICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUocmVhZE9ubHkpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzZXRDYXJkVmlld1Byb3BlcnRpZXMoKSB7XG4gICAgY29uc3QgZGlzYWJsZWRUYWdzID0gIXRoaXMudGFnU2VydmljZS5hcmVUYWdzRW5hYmxlZCgpO1xuICAgIGNvbnN0IGRpc2FibGVkQ2F0ZWdvcmllcyA9ICF0aGlzLmNhdGVnb3J5U2VydmljZS5hcmVDYXRlZ29yaWVzRW5hYmxlZCgpO1xuICAgIHRoaXMuY2FyZFZpZXdJdGVtcyA9ICh0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbj8ucGFyYW1ldGVyRGVmaW5pdGlvbnMgPz8gW10pLm1hcCgocGFyYW1EZWYpID0+IHtcbiAgICAgIGNvbnN0IGNvbnN0cmFpbnRzRm9yRHJvcGRvd25Cb3ggPSB0aGlzLl9wYXJhbWV0ZXJDb25zdHJhaW50cy5maW5kKChvYmopID0+IG9iai5uYW1lID09PSBwYXJhbURlZi5uYW1lKTtcbiAgICAgIGNvbnN0IGNhcmRWaWV3UHJvcGVydGllc01vZGVsID0ge1xuICAgICAgICBsYWJlbDogcGFyYW1EZWYuZGlzcGxheUxhYmVsICsgKHBhcmFtRGVmLm1hbmRhdG9yeSA/ICcgKicgOiAnJyksXG4gICAgICAgIGtleTogcGFyYW1EZWYubmFtZSxcbiAgICAgICAgZWRpdGFibGU6IHRydWUsXG4gICAgICAgIC4uLihwYXJhbURlZi5tYW5kYXRvcnlcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICdBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5FUlJPUi5SRVFVSVJFRCcsXG4gICAgICAgICAgICAgICAgICBpc1ZhbGlkOiAodmFsdWU6IHVua25vd24pID0+ICEhdmFsdWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHt9KVxuICAgICAgfTtcbiAgICAgIHN3aXRjaCAocGFyYW1EZWYudHlwZSkge1xuICAgICAgICBjYXNlICdkOmJvb2xlYW4nOlxuICAgICAgICAgIHJldHVybiBuZXcgQ2FyZFZpZXdCb29sSXRlbU1vZGVsKHtcbiAgICAgICAgICAgIC4uLmNhcmRWaWV3UHJvcGVydGllc01vZGVsLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXSA/PyBmYWxzZVxuICAgICAgICAgIH0pO1xuICAgICAgICBjYXNlICdkOm5vZGVyZWYnOlxuICAgICAgICAgIGlmICghY29uc3RyYWludHNGb3JEcm9wZG93bkJveCAmJiAhdGhpcy5yZWFkT25seSAmJiBwYXJhbURlZi5uYW1lICE9PSAnY2F0ZWdvcnktdmFsdWUnKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3VGV4dEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgIC4uLmNhcmRWaWV3UHJvcGVydGllc01vZGVsLFxuICAgICAgICAgICAgICBpY29uOiAnZm9sZGVyJyxcbiAgICAgICAgICAgICAgZGVmYXVsdDogJycsXG4gICAgICAgICAgICAgIGNsaWNrYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgY2xpY2tDYWxsQmFjazogdGhpcy5vcGVuU2VsZWN0b3JEaWFsb2cuYmluZCh0aGlzLCBwYXJhbURlZi5uYW1lKSxcbiAgICAgICAgICAgICAgdmFsdWU6IHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAvLyAgZmFsbHMgdGhyb3VnaFxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGlmIChjb25zdHJhaW50c0ZvckRyb3Bkb3duQm94ICYmICF0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3U2VsZWN0SXRlbU1vZGVsKHtcbiAgICAgICAgICAgICAgLi4uY2FyZFZpZXdQcm9wZXJ0aWVzTW9kZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiAodGhpcy5wYXJhbWV0ZXJzW3BhcmFtRGVmLm5hbWVdIGFzIHN0cmluZykgPz8gJycsXG4gICAgICAgICAgICAgIG9wdGlvbnMkOiBvZihjb25zdHJhaW50c0ZvckRyb3Bkb3duQm94LmNvbnN0cmFpbnRzKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgob3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbnMuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICEoXG4gICAgICAgICAgICAgICAgICAgICAgICAoZGlzYWJsZWRUYWdzICYmIHRoaXMudGFnc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cy5pbmNsdWRlcyhvcHRpb24ua2V5KSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIChkaXNhYmxlZENhdGVnb3JpZXMgJiYgdGhpcy5jYXRlZ29yaWVzUmVsYXRlZFByb3BlcnRpZXNBbmRBc3BlY3RzLmluY2x1ZGVzKG9wdGlvbi5rZXkpKVxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBuZXcgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsKHtcbiAgICAgICAgICAgIC4uLmNhcmRWaWV3UHJvcGVydGllc01vZGVsLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXSA/PyAnJ1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvcGVuU2VsZWN0b3JEaWFsb2cocGFyYW1EZWZOYW1lKSB7XG4gICAgY29uc3QgZGF0YTogQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudERhdGEgPSB7XG4gICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuUExBQ0VIT0xERVIuQ0hPT1NFX0ZPTERFUicpLFxuICAgICAgYWN0aW9uTmFtZTogTm9kZUFjdGlvbi5DSE9PU0UsXG4gICAgICBjdXJyZW50Rm9sZGVySWQ6IHRoaXMubm9kZUlkLFxuICAgICAgc2VsZWN0OiBuZXcgU3ViamVjdDxOb2RlW10+KClcbiAgICB9O1xuXG4gICAgdGhpcy5kaWFsb2cub3BlbihDb250ZW50Tm9kZVNlbGVjdG9yQ29tcG9uZW50LCB7XG4gICAgICBkYXRhLFxuICAgICAgcGFuZWxDbGFzczogJ2FkZi1jb250ZW50LW5vZGUtc2VsZWN0b3ItZGlhbG9nJyxcbiAgICAgIHdpZHRoOiAnNjMwcHgnXG4gICAgfSk7XG5cbiAgICBkYXRhLnNlbGVjdC5zdWJzY3JpYmUoXG4gICAgICAoc2VsZWN0aW9uczogTm9kZVtdKSA9PiB7XG4gICAgICAgIGlmIChzZWxlY3Rpb25zWzBdLmlkKSB7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHtcbiAgICAgICAgICAgIGFjdGlvbkRlZmluaXRpb25JZDogdGhpcy5zZWxlY3RlZEFjdGlvbkRlZmluaXRpb25JZCxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAuLi50aGlzLnBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgIFtwYXJhbURlZk5hbWVdOiBzZWxlY3Rpb25zWzBdLmlkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5vbkNoYW5nZSh7XG4gICAgICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1ldGVyc1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2VBbGwoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgc2V0RGVmYXVsdFBhcmFtZXRlcnMoKSB7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0ge307XG4gICAgKHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uPy5wYXJhbWV0ZXJEZWZpbml0aW9ucyA/PyBbXSkuZm9yRWFjaCgocGFyYW1EZWY6IEFjdGlvblBhcmFtZXRlckRlZmluaXRpb24pID0+IHtcbiAgICAgIHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXSA9IHBhcmFtRGVmLnR5cGUgPT09ICdkOmJvb2xlYW4nID8gZmFsc2UgOiAnJztcbiAgICB9KTtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICB0aGlzLnJlYWRPbmx5ID0gdHJ1ZTtcbiAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVhZE9ubHkgPSBmYWxzZTtcbiAgICAgIHRoaXMuZm9ybS5lbmFibGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcnNlQ29uc3RyYWludHNUb1NlbGVjdE9wdGlvbnMoY29uc3RyYWludHM6IENvbnN0cmFpbnRWYWx1ZVtdKTogQ2FyZFZpZXdTZWxlY3RJdGVtT3B0aW9uPHVua25vd24+W10ge1xuICAgIHJldHVybiBjb25zdHJhaW50c1xuICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKCFhLmxhYmVsICYmIGIubGFiZWwpIHtcbiAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWIubGFiZWwgJiYgYS5sYWJlbCkge1xuICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYS5sYWJlbD8ubG9jYWxlQ29tcGFyZShiLmxhYmVsKSA/PyAtMTtcbiAgICAgIH0pXG4gICAgICAubWFwKChjb25zdHJhaW50KSA9PiAoe1xuICAgICAgICBrZXk6IGNvbnN0cmFpbnQudmFsdWUsXG4gICAgICAgIGxhYmVsOiBjb25zdHJhaW50LmxhYmVsID8gYCR7Y29uc3RyYWludC5sYWJlbH0gWyR7Y29uc3RyYWludC52YWx1ZX1dYCA6IGNvbnN0cmFpbnQudmFsdWVcbiAgICAgIH0pKTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJhY2EtcnVsZS1hY3Rpb25fX2Zvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cblxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhY2EtcnVsZS1hY3Rpb24tZnVsbC13aWR0aFwiIGFwcGVhcmFuY2U9XCJzdGFuZGFyZFwiPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhY3Rpb25EZWZpbml0aW9uSWRcIlxuICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1hY3Rpb24tc2VsZWN0XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuQUNUSU9OX1NFTEVDVF9QTEFDRUhPTERFUicgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBhY3Rpb25EZWZpbml0aW9uIG9mIGFjdGlvbkRlZmluaXRpb25zXCJcbiAgICAgICAgW3ZhbHVlXT1cImFjdGlvbkRlZmluaXRpb24uaWRcIj5cbiAgICAgICAge3sgYWN0aW9uRGVmaW5pdGlvbi50aXRsZSB9fVxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LXNlbGVjdD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8YWRmLWNhcmQtdmlld1xuICAgICpuZ0lmPVwiY2FyZFZpZXdJdGVtcz8ubGVuZ3RoID4gMFwiXG4gICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicnVsZS1hY3Rpb24tY2FyZC12aWV3XCJcbiAgICBbcHJvcGVydGllc109XCJjYXJkVmlld0l0ZW1zXCJcbiAgICBjbGFzcz1cImFjYS1ydWxlLWFjdGlvbi1mdWxsLXdpZHRoXCJcbiAgICBbZWRpdGFibGVdPVwiIXJlYWRPbmx5XCI+XG4gIDwvYWRmLWNhcmQtdmlldz5cblxuPC9mb3JtPlxuIl19
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1hY3Rpb24udWktY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvZm9sZGVyLXJ1bGVzL3NyYy9ydWxlLWRldGFpbHMvYWN0aW9ucy9ydWxlLWFjdGlvbi51aS1jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3J1bGUtZGV0YWlscy9hY3Rpb25zL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUErQyxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3SCxPQUFPLEVBQXdCLFdBQVcsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEksT0FBTyxFQUNMLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsdUJBQXVCLEVBRXZCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFFdEIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFDTCxlQUFlLEVBQ2YsNEJBQTRCLEVBRTVCLFVBQVUsRUFDVixVQUFVLEVBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8s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U0FBUyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RJLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O2tIQWxRVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixxUEFUckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1NBQ3JEO1FBQ0QscUJBQXFCO0tBQ3RCLCtDQ3JFSCwyekJBd0JBLDBURGdDWSxZQUFZLCtQQUFFLGVBQWUsMkZBQUUsbUJBQW1CLDRyQkFBRSxrQkFBa0Isc05BQUUsZUFBZSx5UUFBRSxjQUFjOzJGQWV0RyxxQkFBcUI7a0JBakJqQyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxZQUN4RyxpQkFBaUIsaUJBR1osaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxhQUN2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzt5QkFDckQ7d0JBQ0QscUJBQXFCO3FCQUN0QjswTkFJRCxNQUFNO3NCQURMLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFLRixvQkFBb0I7c0JBRHZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBOR19WQUxVRV9BQ0NFU1NPUiwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZCwgUnVsZUFjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVsL3J1bGUtYWN0aW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIENhcmRWaWV3Qm9vbEl0ZW1Nb2RlbCxcbiAgQ2FyZFZpZXdJdGVtLFxuICBDYXJkVmlld01vZHVsZSxcbiAgQ2FyZFZpZXdTZWxlY3RJdGVtTW9kZWwsXG4gIENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbixcbiAgQ2FyZFZpZXdUZXh0SXRlbU1vZGVsLFxuICBDYXJkVmlld1VwZGF0ZVNlcnZpY2UsXG4gIFVwZGF0ZU5vdGlmaWNhdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQWN0aW9uUGFyYW1ldGVyRGVmaW5pdGlvbiwgTm9kZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uUGFyYW1ldGVyQ29uc3RyYWludCwgQ29uc3RyYWludFZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWwvYWN0aW9uLXBhcmFtZXRlci1jb25zdHJhaW50Lm1vZGVsJztcbmltcG9ydCB7XG4gIENhdGVnb3J5U2VydmljZSxcbiAgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCxcbiAgQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudERhdGEsXG4gIE5vZGVBY3Rpb24sXG4gIFRhZ1NlcnZpY2Vcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEZvcm1GaWVsZE1vZHVsZSwgTWF0U2VsZWN0TW9kdWxlLCBDYXJkVmlld01vZHVsZV0sXG4gIHNlbGVjdG9yOiAnYWNhLXJ1bGUtYWN0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3J1bGUtYWN0aW9uLnVpLWNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcnVsZS1hY3Rpb24udWktY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FjYS1ydWxlLWFjdGlvbicgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJ1bGVBY3Rpb25VaUNvbXBvbmVudClcbiAgICB9LFxuICAgIENhcmRWaWV3VXBkYXRlU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bGVBY3Rpb25VaUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbm9kZUlkID0gJyc7XG5cbiAgQElucHV0KClcbiAgYWN0aW9uRGVmaW5pdGlvbnM6IEFjdGlvbkRlZmluaXRpb25UcmFuc2Zvcm1lZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcGFyYW1ldGVyQ29uc3RyYWludHMgPSBbXTtcbiAgQElucHV0KClcbiAgZ2V0IHBhcmFtZXRlckNvbnN0cmFpbnRzKCk6IEFjdGlvblBhcmFtZXRlckNvbnN0cmFpbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtZXRlckNvbnN0cmFpbnRzO1xuICB9XG5cbiAgc2V0IHBhcmFtZXRlckNvbnN0cmFpbnRzKHZhbHVlKSB7XG4gICAgdGhpcy5fcGFyYW1ldGVyQ29uc3RyYWludHMgPSB2YWx1ZS5tYXAoKG9iaikgPT4gKHtcbiAgICAgIC4uLm9iaixcbiAgICAgIGNvbnN0cmFpbnRzOiB0aGlzLnBhcnNlQ29uc3RyYWludHNUb1NlbGVjdE9wdGlvbnMob2JqLmNvbnN0cmFpbnRzKVxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgdGFnc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cyA9IFsnY206dGFnc2NvcGUnLCAnY206dGFnU2NvcGVDYWNoZScsICdjbTp0YWdnYWJsZSddO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhdGVnb3JpZXNSZWxhdGVkUHJvcGVydGllc0FuZEFzcGVjdHMgPSBbJ2NtOmNhdGVnb3JpZXMnLCAnY206Z2VuZXJhbGNsYXNzaWZpYWJsZSddO1xuXG4gIGlzRnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgIGFjdGlvbkRlZmluaXRpb25JZDogbmV3IEZvcm1Db250cm9sKCcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxuICB9KTtcblxuICBjYXJkVmlld0l0ZW1zOiBDYXJkVmlld0l0ZW1bXSA9IFtdO1xuICBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSA9IHt9O1xuICBwcml2YXRlIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGdldCBzZWxlY3RlZEFjdGlvbkRlZmluaXRpb25JZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdhY3Rpb25EZWZpbml0aW9uSWQnKS52YWx1ZTtcbiAgfVxuXG4gIGdldCBzZWxlY3RlZEFjdGlvbkRlZmluaXRpb24oKTogQWN0aW9uRGVmaW5pdGlvblRyYW5zZm9ybWVkIHtcbiAgICByZXR1cm4gdGhpcy5hY3Rpb25EZWZpbml0aW9ucy5maW5kKChhY3Rpb25EZWZpbml0aW9uOiBBY3Rpb25EZWZpbml0aW9uVHJhbnNmb3JtZWQpID0+IGFjdGlvbkRlZmluaXRpb24uaWQgPT09IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQpO1xuICB9XG5cbiAgb25DaGFuZ2U6IChhY3Rpb246IFJ1bGVBY3Rpb24pID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG4gIG9uVG91Y2g6ICgpID0+IHZvaWQgPSAoKSA9PiB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjYXJkVmlld1VwZGF0ZVNlcnZpY2U6IENhcmRWaWV3VXBkYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICBwcml2YXRlIGNhdGVnb3J5U2VydmljZTogQ2F0ZWdvcnlTZXJ2aWNlXG4gICkge31cblxuICB3cml0ZVZhbHVlKGFjdGlvbjogUnVsZUFjdGlvbikge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IGFjdGlvbi5hY3Rpb25EZWZpbml0aW9uSWRcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB7XG4gICAgICAuLi50aGlzLnBhcmFtZXRlcnMsXG4gICAgICAuLi5hY3Rpb24ucGFyYW1zXG4gICAgfTtcbiAgICB0aGlzLnNldENhcmRWaWV3UHJvcGVydGllcygpO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKGFjdGlvbjogUnVsZUFjdGlvbikgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aW9uRGVmaW5pdGlvbnMgPSB0aGlzLmFjdGlvbkRlZmluaXRpb25zLnNvcnQoKGZpcnN0QWN0aW9uRGVmaW5pdGlvbiwgc2Vjb25kQWN0aW9uRGVmaW5pdGlvbikgPT5cbiAgICAgIGZpcnN0QWN0aW9uRGVmaW5pdGlvbi50aXRsZS5sb2NhbGVDb21wYXJlKHNlY29uZEFjdGlvbkRlZmluaXRpb24udGl0bGUpXG4gICAgKTtcblxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuc2V0RGVmYXVsdFBhcmFtZXRlcnMoKTtcbiAgICAgIHRoaXMuc2V0Q2FyZFZpZXdQcm9wZXJ0aWVzKCk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHtcbiAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1ldGVyc1xuICAgICAgfSk7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcblxuICAgIHRoaXMuY2FyZFZpZXdVcGRhdGVTZXJ2aWNlLml0ZW1VcGRhdGVkJC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHVwZGF0ZU5vdGlmaWNhdGlvbjogVXBkYXRlTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLmNsZWFyRW1wdHlQYXJhbWV0ZXJzKHtcbiAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAuLi51cGRhdGVOb3RpZmljYXRpb24uY2hhbmdlZFxuICAgICAgfSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHtcbiAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1ldGVyc1xuICAgICAgfSk7XG4gICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCByZWFkT25seSA9IGNoYW5nZXNbJ3JlYWRPbmx5J10/LmN1cnJlbnRWYWx1ZTtcbiAgICBpZiAocmVhZE9ubHkgIT09IHVuZGVmaW5lZCAmJiByZWFkT25seSAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHJlYWRPbmx5O1xuICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHJlYWRPbmx5KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0Q2FyZFZpZXdQcm9wZXJ0aWVzKCkge1xuICAgIGNvbnN0IGRpc2FibGVkVGFncyA9ICF0aGlzLnRhZ1NlcnZpY2UuYXJlVGFnc0VuYWJsZWQoKTtcbiAgICBjb25zdCBkaXNhYmxlZENhdGVnb3JpZXMgPSAhdGhpcy5jYXRlZ29yeVNlcnZpY2UuYXJlQ2F0ZWdvcmllc0VuYWJsZWQoKTtcbiAgICB0aGlzLmNhcmRWaWV3SXRlbXMgPSAodGhpcy5zZWxlY3RlZEFjdGlvbkRlZmluaXRpb24/LnBhcmFtZXRlckRlZmluaXRpb25zID8/IFtdKS5tYXAoKHBhcmFtRGVmKSA9PiB7XG4gICAgICBjb25zdCBjb25zdHJhaW50c0ZvckRyb3Bkb3duQm94ID0gdGhpcy5fcGFyYW1ldGVyQ29uc3RyYWludHMuZmluZCgob2JqKSA9PiBvYmoubmFtZSA9PT0gcGFyYW1EZWYubmFtZSk7XG4gICAgICBjb25zdCBjYXJkVmlld1Byb3BlcnRpZXNNb2RlbCA9IHtcbiAgICAgICAgbGFiZWw6IHBhcmFtRGVmLmRpc3BsYXlMYWJlbCArIChwYXJhbURlZi5tYW5kYXRvcnkgPyAnIConIDogJycpLFxuICAgICAgICBrZXk6IHBhcmFtRGVmLm5hbWUsXG4gICAgICAgIGVkaXRhYmxlOiB0cnVlLFxuICAgICAgICAuLi4ocGFyYW1EZWYubWFuZGF0b3J5XG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnQUNBX0ZPTERFUl9SVUxFUy5SVUxFX0RFVEFJTFMuRVJST1IuUkVRVUlSRUQnLFxuICAgICAgICAgICAgICAgICAgaXNWYWxpZDogKHZhbHVlOiB1bmtub3duKSA9PiAhIXZhbHVlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7fSlcbiAgICAgIH07XG4gICAgICBzd2l0Y2ggKHBhcmFtRGVmLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnZDpib29sZWFuJzpcbiAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3Qm9vbEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV0gPz8gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgY2FzZSAnZDpub2RlcmVmJzpcbiAgICAgICAgICBpZiAoIWNvbnN0cmFpbnRzRm9yRHJvcGRvd25Cb3ggJiYgIXRoaXMucmVhZE9ubHkgJiYgcGFyYW1EZWYubmFtZSAhPT0gJ2NhdGVnb3J5LXZhbHVlJykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1RleHRJdGVtTW9kZWwoe1xuICAgICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgICAgaWNvbjogJ2ZvbGRlcicsXG4gICAgICAgICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgICAgICAgICBjbGlja2FibGU6IHRydWUsXG4gICAgICAgICAgICAgIGNsaWNrQ2FsbEJhY2s6IHRoaXMub3BlblNlbGVjdG9yRGlhbG9nLmJpbmQodGhpcywgcGFyYW1EZWYubmFtZSksXG4gICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgLy8gIGZhbGxzIHRocm91Z2hcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAoY29uc3RyYWludHNGb3JEcm9wZG93bkJveCAmJiAhdGhpcy5yZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBDYXJkVmlld1NlbGVjdEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAgIC4uLmNhcmRWaWV3UHJvcGVydGllc01vZGVsLFxuICAgICAgICAgICAgICB2YWx1ZTogKHRoaXMucGFyYW1ldGVyc1twYXJhbURlZi5uYW1lXSBhcyBzdHJpbmcpID8/ICcnLFxuICAgICAgICAgICAgICBvcHRpb25zJDogb2YoY29uc3RyYWludHNGb3JEcm9wZG93bkJveC5jb25zdHJhaW50cykucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKG9wdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbikgPT5cbiAgICAgICAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGRpc2FibGVkVGFncyAmJiB0aGlzLnRhZ3NSZWxhdGVkUHJvcGVydGllc0FuZEFzcGVjdHMuaW5jbHVkZXMob3B0aW9uLmtleSkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAoZGlzYWJsZWRDYXRlZ29yaWVzICYmIHRoaXMuY2F0ZWdvcmllc1JlbGF0ZWRQcm9wZXJ0aWVzQW5kQXNwZWN0cy5pbmNsdWRlcyhvcHRpb24ua2V5KSlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IENhcmRWaWV3VGV4dEl0ZW1Nb2RlbCh7XG4gICAgICAgICAgICAuLi5jYXJkVmlld1Byb3BlcnRpZXNNb2RlbCxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnBhcmFtZXRlcnNbcGFyYW1EZWYubmFtZV0gPz8gJydcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblNlbGVjdG9yRGlhbG9nKHBhcmFtRGVmTmFtZSkge1xuICAgIGNvbnN0IGRhdGE6IENvbnRlbnROb2RlU2VsZWN0b3JDb21wb25lbnREYXRhID0ge1xuICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ0FDQV9GT0xERVJfUlVMRVMuUlVMRV9ERVRBSUxTLlBMQUNFSE9MREVSLkNIT09TRV9GT0xERVInKSxcbiAgICAgIGFjdGlvbk5hbWU6IE5vZGVBY3Rpb24uQ0hPT1NFLFxuICAgICAgY3VycmVudEZvbGRlcklkOiB0aGlzLm5vZGVJZCxcbiAgICAgIHNlbGVjdDogbmV3IFN1YmplY3Q8Tm9kZVtdPigpXG4gICAgfTtcblxuICAgIHRoaXMuZGlhbG9nLm9wZW4oQ29udGVudE5vZGVTZWxlY3RvckNvbXBvbmVudCwge1xuICAgICAgZGF0YSxcbiAgICAgIHBhbmVsQ2xhc3M6ICdhZGYtY29udGVudC1ub2RlLXNlbGVjdG9yLWRpYWxvZycsXG4gICAgICB3aWR0aDogJzYzMHB4J1xuICAgIH0pO1xuXG4gICAgZGF0YS5zZWxlY3Quc3Vic2NyaWJlKFxuICAgICAgKHNlbGVjdGlvbnM6IE5vZGVbXSkgPT4ge1xuICAgICAgICBpZiAoc2VsZWN0aW9uc1swXS5pZCkge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh7XG4gICAgICAgICAgICBhY3Rpb25EZWZpbml0aW9uSWQ6IHRoaXMuc2VsZWN0ZWRBY3Rpb25EZWZpbml0aW9uSWQsXG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgLi4udGhpcy5wYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICBbcGFyYW1EZWZOYW1lXTogc2VsZWN0aW9uc1swXS5pZFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMub25DaGFuZ2Uoe1xuICAgICAgICAgICAgYWN0aW9uRGVmaW5pdGlvbklkOiB0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbklkLFxuICAgICAgICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtZXRlcnNcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuZGlhbG9nLmNsb3NlQWxsKCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHNldERlZmF1bHRQYXJhbWV0ZXJzKCkge1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHt9O1xuICAgICh0aGlzLnNlbGVjdGVkQWN0aW9uRGVmaW5pdGlvbj8ucGFyYW1ldGVyRGVmaW5pdGlvbnMgPz8gW10pLmZvckVhY2goKHBhcmFtRGVmOiBBY3Rpb25QYXJhbWV0ZXJEZWZpbml0aW9uKSA9PiB7XG4gICAgICBpZiAocGFyYW1EZWYudHlwZSA9PT0gJ2Q6Ym9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzW3BhcmFtRGVmLm5hbWVdID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgdGhpcy5yZWFkT25seSA9IHRydWU7XG4gICAgICB0aGlzLmZvcm0uZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlYWRPbmx5ID0gZmFsc2U7XG4gICAgICB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUNvbnN0cmFpbnRzVG9TZWxlY3RPcHRpb25zKGNvbnN0cmFpbnRzOiBDb25zdHJhaW50VmFsdWVbXSk6IENhcmRWaWV3U2VsZWN0SXRlbU9wdGlvbjx1bmtub3duPltdIHtcbiAgICByZXR1cm4gY29uc3RyYWludHNcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGlmICghYS5sYWJlbCAmJiBiLmxhYmVsKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFiLmxhYmVsICYmIGEubGFiZWwpIHtcbiAgICAgICAgICByZXR1cm4gLTE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGEubGFiZWw/LmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkgPz8gLTE7XG4gICAgICB9KVxuICAgICAgLm1hcCgoY29uc3RyYWludCkgPT4gKHtcbiAgICAgICAga2V5OiBjb25zdHJhaW50LnZhbHVlLFxuICAgICAgICBsYWJlbDogY29uc3RyYWludC5sYWJlbCA/IGAke2NvbnN0cmFpbnQubGFiZWx9IFske2NvbnN0cmFpbnQudmFsdWV9XWAgOiBjb25zdHJhaW50LnZhbHVlXG4gICAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyRW1wdHlQYXJhbWV0ZXJzKHBhcmFtczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfSB7XG4gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKChrZXkpID0+IChwYXJhbXNba2V5XSA9PT0gbnVsbCB8fCBwYXJhbXNba2V5XSA9PT0gdW5kZWZpbmVkIHx8IHBhcmFtc1trZXldID09PSAnJykgJiYgZGVsZXRlIHBhcmFtc1trZXldKTtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG59XG4iLCI8Zm9ybSBjbGFzcz1cImFjYS1ydWxlLWFjdGlvbl9fZm9ybVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFjYS1ydWxlLWFjdGlvbi1mdWxsLXdpZHRoXCIgYXBwZWFyYW5jZT1cInN0YW5kYXJkXCI+XG4gICAgPG1hdC1zZWxlY3RcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImFjdGlvbkRlZmluaXRpb25JZFwiXG4gICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJydWxlLWFjdGlvbi1zZWxlY3RcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidBQ0FfRk9MREVSX1JVTEVTLlJVTEVfREVUQUlMUy5BQ1RJT05fU0VMRUNUX1BMQUNFSE9MREVSJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IGFjdGlvbkRlZmluaXRpb24gb2YgYWN0aW9uRGVmaW5pdGlvbnNcIlxuICAgICAgICBbdmFsdWVdPVwiYWN0aW9uRGVmaW5pdGlvbi5pZFwiPlxuICAgICAgICB7eyBhY3Rpb25EZWZpbml0aW9uLnRpdGxlIH19XG4gICAgICA8L21hdC1vcHRpb24+XG4gICAgPC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxhZGYtY2FyZC12aWV3XG4gICAgKm5nSWY9XCJjYXJkVmlld0l0ZW1zPy5sZW5ndGggPiAwXCJcbiAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJydWxlLWFjdGlvbi1jYXJkLXZpZXdcIlxuICAgIFtwcm9wZXJ0aWVzXT1cImNhcmRWaWV3SXRlbXNcIlxuICAgIGNsYXNzPVwiYWNhLXJ1bGUtYWN0aW9uLWZ1bGwtd2lkdGhcIlxuICAgIFtlZGl0YWJsZV09XCIhcmVhZE9ubHlcIj5cbiAgPC9hZGYtY2FyZC12aWV3PlxuXG48L2Zvcm0+XG4iXX0=
@@ -1018,7 +1018,7 @@ class RuleActionUiComponent {
1018
1018
  this.onTouch();
1019
1019
  });
1020
1020
  this.cardViewUpdateService.itemUpdated$.pipe(takeUntil(this.onDestroy$)).subscribe((updateNotification) => {
1021
- this.parameters = Object.assign(Object.assign({}, this.parameters), updateNotification.changed);
1021
+ this.parameters = this.clearEmptyParameters(Object.assign(Object.assign({}, this.parameters), updateNotification.changed));
1022
1022
  this.onChange({
1023
1023
  actionDefinitionId: this.selectedActionDefinitionId,
1024
1024
  params: this.parameters
@@ -1108,7 +1108,9 @@ class RuleActionUiComponent {
1108
1108
  var _a, _b;
1109
1109
  this.parameters = {};
1110
1110
  ((_b = (_a = this.selectedActionDefinition) === null || _a === void 0 ? void 0 : _a.parameterDefinitions) !== null && _b !== void 0 ? _b : []).forEach((paramDef) => {
1111
- this.parameters[paramDef.name] = paramDef.type === 'd:boolean' ? false : '';
1111
+ if (paramDef.type === 'd:boolean') {
1112
+ this.parameters[paramDef.name] = false;
1113
+ }
1112
1114
  });
1113
1115
  }
1114
1116
  setDisabledState(isDisabled) {
@@ -1138,6 +1140,10 @@ class RuleActionUiComponent {
1138
1140
  label: constraint.label ? `${constraint.label} [${constraint.value}]` : constraint.value
1139
1141
  }));
1140
1142
  }
1143
+ clearEmptyParameters(params) {
1144
+ Object.keys(params).forEach((key) => (params[key] === null || params[key] === undefined || params[key] === '') && delete params[key]);
1145
+ return params;
1146
+ }
1141
1147
  }
1142
1148
  RuleActionUiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: RuleActionUiComponent, deps: [{ token: i1.CardViewUpdateService }, { token: i2$2.MatDialog }, { token: i2.TranslateService }, { token: i2$1.TagService }, { token: i2$1.CategoryService }], target: i0.ɵɵFactoryTarget.Component });
1143
1149
  RuleActionUiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: RuleActionUiComponent, isStandalone: true, selector: "aca-rule-action", inputs: { nodeId: "nodeId", actionDefinitions: "actionDefinitions", readOnly: "readOnly", parameterConstraints: "parameterConstraints" }, host: { classAttribute: "aca-rule-action" }, providers: [