@eo-sdk/client 10.3.0-rc.1 → 10.4.0-rc.1

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.
Files changed (63) hide show
  1. package/app/eo-framework/actions/action.module.d.ts +17 -12
  2. package/app/eo-framework/actions/action.module.d.ts.map +1 -1
  3. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts +47 -0
  4. package/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.d.ts.map +1 -0
  5. package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts +19 -0
  6. package/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.d.ts.map +1 -0
  7. package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts +3 -1
  8. package/app/eo-framework/actions/actions/signature-action/signature/signature.component.d.ts.map +1 -1
  9. package/app/eo-framework/actions/actions/signature-action/signature.model.d.ts +21 -0
  10. package/app/eo-framework/actions/actions/signature-action/signature.model.d.ts.map +1 -0
  11. package/app/eo-framework/media/media.component.d.ts.map +1 -1
  12. package/app/eo-framework/object-details/favorite-icon/favorite-icon.component.d.ts.map +1 -1
  13. package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts +2 -0
  14. package/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.d.ts.map +1 -1
  15. package/app/eo-framework/object-form/object-form/object-form-group.model.d.ts +1 -0
  16. package/app/eo-framework/object-form/object-form/object-form-group.model.d.ts.map +1 -1
  17. package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts.map +1 -1
  18. package/app/eo-framework/object-form/object-form-helper.service.d.ts +11 -0
  19. package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
  20. package/app/eo-framework/object-form/object-form-options.interface.d.ts +1 -0
  21. package/app/eo-framework/object-form/object-form-options.interface.d.ts.map +1 -1
  22. package/app/eo-framework/prepare-details/prepare-details.component.d.ts +2 -1
  23. package/app/eo-framework/prepare-details/prepare-details.component.d.ts.map +1 -1
  24. package/assets/_default/i18n/de.json +5 -3
  25. package/assets/_default/i18n/en.json +5 -3
  26. package/assets/_default/svg/ic_drag.svg +1 -0
  27. package/esm2020/app/eo-client/about-state/about-state.component.mjs +3 -3
  28. package/esm2020/app/eo-client/dashboard/widgets/last-edited-widget/last-edited-and-created.component.mjs +1 -1
  29. package/esm2020/app/eo-framework/actions/action.module.mjs +19 -7
  30. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list/sequence-list.component.mjs +184 -0
  31. package/esm2020/app/eo-framework/actions/actions/signature-action/sequence-list-item/sequence-list-item.component.mjs +53 -0
  32. package/esm2020/app/eo-framework/actions/actions/signature-action/signature/signature.component.mjs +19 -17
  33. package/esm2020/app/eo-framework/actions/actions/signature-action/signature.model.mjs +8 -0
  34. package/esm2020/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +1 -1
  35. package/esm2020/app/eo-framework/form-elements/string/string.component.mjs +3 -3
  36. package/esm2020/app/eo-framework/inbox-details/inbox-details.component.mjs +1 -1
  37. package/esm2020/app/eo-framework/media/media.component.mjs +5 -5
  38. package/esm2020/app/eo-framework/object-details/favorite-icon/favorite-icon.component.mjs +6 -4
  39. package/esm2020/app/eo-framework/object-details/object-details.component.mjs +1 -1
  40. package/esm2020/app/eo-framework/object-form/object-form/object-form-group/object-form-group.component.mjs +11 -4
  41. package/esm2020/app/eo-framework/object-form/object-form/object-form-group.model.mjs +1 -1
  42. package/esm2020/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +2 -1
  43. package/esm2020/app/eo-framework/object-form/object-form-helper.service.mjs +35 -2
  44. package/esm2020/app/eo-framework/object-form/object-form-options.interface.mjs +1 -1
  45. package/esm2020/app/eo-framework/object-state-details/object-state-details.component.mjs +1 -1
  46. package/esm2020/app/eo-framework/prepare-details/prepare-details.component.mjs +6 -4
  47. package/esm2020/app/eo-framework/process/details/process-details.component.mjs +1 -1
  48. package/esm2020/app/eo-framework/tree/tree-node/tree-node.component.mjs +3 -3
  49. package/esm2020/projects/eo-sdk/core/lib/model/work-item-history.model.mjs +3 -3
  50. package/esm2020/projects/eo-sdk/core/lib/service/signing/signing.service.mjs +4 -96
  51. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs +5 -96
  52. package/fesm2015/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  53. package/fesm2015/eo-sdk-client.mjs +484 -201
  54. package/fesm2015/eo-sdk-client.mjs.map +1 -1
  55. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs +5 -96
  56. package/fesm2020/eo-sdk-client-projects-eo-sdk-core.mjs.map +1 -1
  57. package/fesm2020/eo-sdk-client.mjs +480 -201
  58. package/fesm2020/eo-sdk-client.mjs.map +1 -1
  59. package/package.json +3 -3
  60. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts +1 -4
  61. package/projects/eo-sdk/core/lib/service/signing/signing.service.d.ts.map +1 -1
  62. package/scss/_form.scss +6 -1
  63. package/styles.css +3 -0
@@ -103,7 +103,7 @@ let LastEditedAndCreatedComponent = class LastEditedAndCreatedComponent {
103
103
  }
104
104
  };
105
105
  LastEditedAndCreatedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: LastEditedAndCreatedComponent, deps: [{ token: i1.UserService }, { token: i1.SearchService }, { token: i1.SystemService }], target: i0.ɵɵFactoryTarget.Component });
106
- LastEditedAndCreatedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "\n <yvc-tabs *ngIf=\"modifiedByMe?.lately.length || createdByMe?.lately.length\">\n <ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"modifiedByMe?.lately.length\">\n\n <div class=\"body\">\n\n <a class=\"item\" *ngFor=\"let item of modifiedByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.modified | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </a>\n\n </div>\n </div>\n </ng-template>\n <ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"createdByMe?.lately.length\">\n\n <div class=\"body\">\n\n <a class=\"item\" *ngFor=\"let item of createdByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.created | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </a>\n\n </div>\n </div>\n\n\n </ng-template>\n </yvc-tabs>\n", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .lastEdits{display:flex;flex-flow:column}:host .lastEdits .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .lastEdits .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .lastEdits .header .total{font-size:var(--font-caption);opacity:.7}:host .lastEdits .body{flex:1 1 auto;overflow-y:auto}:host .lastEdits .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .lastEdits .body .item:focus,:host .lastEdits .body .item:hover{background-color:var(--list-item-hover-background)}:host .lastEdits .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item .title{font-weight:var(--font-weight-bold)}:host .lastEdits .body .item .modified,:host .lastEdits .body .item .description{font-size:var(--font-hint)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i5.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i6.Tabs, selector: "yvc-tabs", inputs: ["tabs", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i6.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }] });
106
+ LastEditedAndCreatedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: LastEditedAndCreatedComponent, selector: "eo-last-edited-and-created", inputs: { widgetConfig: "widgetConfig" }, ngImport: i0, template: "\n <yvc-tabs *ngIf=\"modifiedByMe?.lately.length || createdByMe?.lately.length\">\n <ng-template [yvcTab]=\"{id: 'LastEdited', label: 'eo.dashboard.modified.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"modifiedByMe?.lately.length\">\n\n <div class=\"body\">\n\n <a class=\"item\" *ngFor=\"let item of modifiedByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.modified | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </a>\n\n </div>\n </div>\n </ng-template>\n <ng-template [yvcTab]=\"{id: 'LastCreated', label: 'eo.dashboard.created.title' | translate}\">\n <div class=\"lastEdits\" *ngIf=\"createdByMe?.lately.length\">\n\n <div class=\"body\">\n\n <a class=\"item\" *ngFor=\"let item of createdByMe.lately\" [routerLink]=\"['/object/', item.id]\">\n <eo-icon [objectType]=\"item.type\"></eo-icon>\n <div>\n <div class=\"modified\">{{item.created | localeDate}}</div>\n <div class=\"title\">{{item.title}}</div>\n <div class=\"description\">{{item.description}}</div>\n </div>\n </a>\n\n </div>\n </div>\n\n\n </ng-template>\n </yvc-tabs>\n", styles: [":host{display:contents}@media screen and (max-width: 800px){:host{height:40%;padding:0 var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}}:host yvc-tabs{--text-color-body: #fff;height:100%}:host yvc-tabs ::ng-deep>header{height:50px;background-color:var(--color-primary-2)}:host .lastEdits{display:flex;flex-flow:column}:host .lastEdits .header{flex:0 0 auto;border-radius:2px;color:var(--color-white);background-color:var(--color-primary-2);padding:calc(var(--app-pane-padding) / 2) var(--app-pane-padding) var(--app-pane-padding) var(--app-pane-padding)}:host .lastEdits .header h2{margin:0;padding:0;font-size:var(--font-subhead);font-weight:var(--font-weight-normal)}:host .lastEdits .header .total{font-size:var(--font-caption);opacity:.7}:host .lastEdits .body{flex:1 1 auto;overflow-y:auto}:host .lastEdits .body .item{border-radius:2px;display:flex;flex-flow:row nowrap;color:var(--text-color-caption);padding:calc(var(--app-pane-padding) / 2);margin:calc(var(--app-pane-padding) / 4) 0;align-items:center;background-color:rgba(var(--color-white-rgb),.9);text-decoration:none;cursor:pointer}:host .lastEdits .body .item:focus,:host .lastEdits .body .item:hover{background-color:var(--list-item-hover-background)}:host .lastEdits .body .item eo-icon{flex:0 0 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2)}:host .lastEdits .body .item .title{font-weight:var(--font-weight-bold)}:host .lastEdits .body .item .modified,:host .lastEdits .body .item .description{font-size:var(--font-hint)}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i4.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i5.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "component", type: i6.Tabs, selector: "yvc-tabs", inputs: ["tabs", "layoutSettingsID", "panelOrder", "panelOrderIncludeUnmentioned", "cacheViews", "tabSplitEnabled", "tabRemoveEnabled"], outputs: ["tabSplit", "tabRemove", "tabChange"] }, { kind: "directive", type: i6.YvcTabDirective, selector: "[yvcTab]", inputs: ["yvcTab"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }] });
107
107
  LastEditedAndCreatedComponent = __decorate([
108
108
  UntilDestroy()
109
109
  ], LastEditedAndCreatedComponent);
@@ -52,6 +52,9 @@ import { YvcAutofocusChild } from '@yuuvis/components/common';
52
52
  import { DownloadObjectActionComponent } from './actions/download-action/download-object-action/download-object-action.component';
53
53
  import { ClipboardObjectActionComponent } from './actions/clipboard/clipboard-object-action/clipboard-object-action.component';
54
54
  import { EmailComponent } from './actions/email/email/email.component';
55
+ import { SequenceListComponent } from './actions/signature-action/sequence-list/sequence-list.component';
56
+ import { DragDropModule } from '@angular/cdk/drag-drop';
57
+ import { SequenceListItemComponent } from './actions/signature-action/sequence-list-item/sequence-list-item.component';
55
58
  import * as i0 from "@angular/core";
56
59
  export const entryComponents = [
57
60
  CopyActionComponent,
@@ -91,7 +94,9 @@ export const entryComponents = [
91
94
  CancelSigningComponent,
92
95
  DownloadObjectActionComponent,
93
96
  ClipboardObjectActionComponent,
94
- EmailComponent
97
+ EmailComponent,
98
+ SequenceListComponent,
99
+ SequenceListItemComponent
95
100
  ];
96
101
  /**
97
102
  * @module
@@ -158,7 +163,9 @@ ActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
158
163
  CancelSigningComponent,
159
164
  DownloadObjectActionComponent,
160
165
  ClipboardObjectActionComponent,
161
- EmailComponent], imports: [YvcAutofocusChild,
166
+ EmailComponent,
167
+ SequenceListComponent,
168
+ SequenceListItemComponent], imports: [YvcAutofocusChild,
162
169
  CommonModule,
163
170
  UiModule,
164
171
  RouterModule,
@@ -169,7 +176,8 @@ ActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
169
176
  ObjectFormModule,
170
177
  ProcessFormModule,
171
178
  CtaModule,
172
- YvcDatepickerModule], exports: [ActionMenuComponent, OpenDocumentComponent] });
179
+ YvcDatepickerModule,
180
+ DragDropModule], exports: [ActionMenuComponent, OpenDocumentComponent] });
173
181
  ActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ActionModule, providers: [ActionService, {
174
182
  provide: ACTIONS,
175
183
  useValue: entryComponents
@@ -186,7 +194,8 @@ ActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
186
194
  ObjectFormModule,
187
195
  ProcessFormModule,
188
196
  CtaModule,
189
- YvcDatepickerModule] });
197
+ YvcDatepickerModule,
198
+ DragDropModule] });
190
199
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ActionModule, decorators: [{
191
200
  type: NgModule,
192
201
  args: [{
@@ -202,7 +211,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
202
211
  ObjectFormModule,
203
212
  ProcessFormModule,
204
213
  CtaModule,
205
- YvcDatepickerModule
214
+ YvcDatepickerModule,
215
+ DragDropModule
206
216
  ],
207
217
  exports: [ActionMenuComponent, OpenDocumentComponent],
208
218
  providers: [ActionService, {
@@ -254,9 +264,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
254
264
  CancelSigningComponent,
255
265
  DownloadObjectActionComponent,
256
266
  ClipboardObjectActionComponent,
257
- EmailComponent
267
+ EmailComponent,
268
+ SequenceListComponent,
269
+ SequenceListItemComponent
258
270
  ],
259
271
  entryComponents
260
272
  }]
261
273
  }] });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsNEJBQTRCLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFD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bEIsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLDZCQUE2Qjt3QkFDN0IsOEJBQThCO3dCQUM5QixjQUFjO3FCQUNmO29CQUNELGVBQWU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBTkFMWVpFX0ZPUl9FTlRSWV9DT01QT05FTlRTLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1ByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZX0gZnJvbSAnLi4vdXRpbC9kaXJlY3RpdmUvcHJldmVudC1kb3VibGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7QUNUSU9OUywgQ1VTVE9NX0FDVElPTlMsIEFjdGlvblNlcnZpY2V9IGZyb20gJy4vYWN0aW9uLXNlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3Rpb25NZW51Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VWlNb2R1bGV9IGZyb20gJy4uL3VpL3VpLm1vZHVsZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudEFuY2hvckRpcmVjdGl2ZX0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tY29tcG9uZW50LWFuY2hvci9hY3Rpb24tY29tcG9uZW50LWFuY2hvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtDb3B5QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY29weS1hY3Rpb24vY29weS1hY3Rpb24nO1xuaW1wb3J0IHtPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tY29udGV4dC1hY3Rpb24vb3Blbi1jb250ZXh0LWFjdGlvbic7XG5pbXBvcnQge0Rvd25sb2FkQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZG93bmxvYWQtYWN0aW9uL2Rvd25sb2FkLWFjdGlvbic7XG5pbXBvcnQge09wZW5Eb2N1bWVudENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tZG9jdW1lbnQtYWN0aW9uL29wZW4tZG9jdW1lbnQtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge09wZW5Eb2N1bWVudEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tZG9jdW1lbnQtYWN0aW9uL29wZW4tZG9jdW1lbnQtYWN0aW9uJztcbmltcG9ydCB7T2JqZWN0Rm9ybU1vZHVsZX0gZnJvbSAnLi4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0ubW9kdWxlJztcbmltcG9ydCB7RW1haWxBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9lbWFpbC9lbWFpbC1hY3Rpb24nO1xuaW1wb3J0IHtDbGlwYm9hcmRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWFjdGlvbic7XG5pbXBvcnQge0Zhdm9yaXRlQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZmF2b3JpdGUtYWN0aW9uL2Zhdm9yaXRlLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZUNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtPcGVuVmVyc2lvbnNBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9vcGVuLXZlcnNpb25zLWFjdGlvbi9vcGVuLXZlcnNpb25zLWFjdGlvbic7XG5pbXBvcnQge1Jlc3RvcmVWZXJzaW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvcmVzdG9yZS12ZXJzaW9uLWFjdGlvbi9yZXN0b3JlLXZlcnNpb24tYWN0aW9uJztcbmltcG9ydCB7RGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1wcmVwYXJlZC1hY3Rpb24nO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FkZFN1YnNjcmlwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uL2FkZC1zdWJzY3JpcHRpb24vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtBZGRTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5pbXBvcnQge0Zvcm1FbGVtZW50c01vZHVsZX0gZnJvbSAnLi4vZm9ybS1lbGVtZW50cy9mb3JtLWVsZW1lbnRzLm1vZHVsZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JlbW92ZVN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3JlbW92ZS1zdWJzY3JpcHRpb24tYWN0aW9uL3JlbW92ZS1zdWJzY3JpcHRpb24tYWN0aW9uJztcbmltcG9ydCB7V29ya2Zsb3dBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy93b3JrZmxvdy1hY3Rpb24vd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1dvcmtmbG93Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93L3dvcmtmbG93LmNvbXBvbmVudCc7XG5pbXBvcnQge0N1c3RvbUFjdGlvbnNDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jdXN0b20tYWN0aW9ucy9jdXN0b20tYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHtDdGFNb2R1bGV9IGZyb20gJy4uL2N0YS9jdGEubW9kdWxlJztcbmltcG9ydCB7QWRkUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuaW1wb3J0IHtBZGRSZXN1Ym1pc3Npb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50JztcbmltcG9ydCB7VXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24vdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuaW1wb3J0IHtTaGFyZU9iamVjdEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0LWFjdGlvbic7XG5pbXBvcnQge1NoYXJlT2JqZWN0Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvc2hhcmUtb2JqZWN0LWFjdGlvbi9zaGFyZS1vYmplY3Qvc2hhcmUtb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0N1dEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2N1dC1hY3Rpb24vY3V0LWFjdGlvbic7XG5pbXBvcnQge0ZpbmFsaXplQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZmluYWxpemUvZmluYWxpemUtYWN0aW9uJztcbmltcG9ydCB7RGVmaW5hbGl6ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2ZpbmFsaXplL2RlZmluYWxpemUtYWN0aW9uJztcbmltcG9ydCB7RGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1jb250ZW50LWFjdGlvbi9kZWxldGUtY29udGVudC1hY3Rpb24nO1xuaW1wb3J0IHtVbmxvY2tBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy91bmxvY2stYWN0aW9uL3VubG9jay1hY3Rpb24nO1xuaW1wb3J0IHtTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi9zaW1wbGUtd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1Byb2Nlc3NGb3JtTW9kdWxlfSBmcm9tICcuLi9wcm9jZXNzLWZvcm0vcHJvY2Vzcy1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9ucy9maW5hbGl6ZS9maW5hbGl6ZS1vYmplY3QtYWN0aW9uL2ZpbmFsaXplLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7RGVsZXRlQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1jb250ZW50LWFjdGlvbi9kZWxldGUtY29udGVudC9kZWxldGUtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWduYXR1cmVBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7U2lnbmF0dXJlQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zaWduYXR1cmUvc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5pbXBvcnQge0NhbmNlbFNpZ25pbmdBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jYW5jZWwtc2lnbmluZy1hY3Rpb24vY2FuY2VsLXNpZ25pbmctYWN0aW9uJztcbmltcG9ydCB7Q2FuY2VsU2lnbmluZ0NvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2NhbmNlbC1zaWduaW5nLWFjdGlvbi9jYW5jZWwtc2lnbmluZy9jYW5jZWwtc2lnbmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHtZdmNEYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvZGF0ZXBpY2tlcic7XG5pbXBvcnQge1l2Y0F1dG9mb2N1c0NoaWxkfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IERvd25sb2FkT2JqZWN0QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1vYmplY3QtYWN0aW9uL2Rvd25sb2FkLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENsaXBib2FyZE9iamVjdEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLW9iamVjdC1hY3Rpb24vY2xpcGJvYXJkLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zL2VtYWlsL2VtYWlsL2VtYWlsLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBlbnRyeUNvbXBvbmVudHMgPSBbXG4gIENvcHlBY3Rpb25Db21wb25lbnQsXG4gIE9wZW5Db250ZXh0QWN0aW9uQ29tcG9uZW50LFxuICBEb3dubG9hZEFjdGlvbkNvbXBvbmVudCxcbiAgT3BlbkRvY3VtZW50QWN0aW9uQ29tcG9uZW50LFxuICBPcGVuRG9jdW1lbnRDb21wb25lbnQsXG4gIEVtYWlsQWN0aW9uQ29tcG9uZW50LFxuICBDbGlwYm9hcmRBY3Rpb25Db21wb25lbnQsXG4gIERlbGV0ZUFjdGlvbkNvbXBvbmVudCxcbiAgRGVsZXRlQ29tcG9uZW50LFxuICBPcGVuVmVyc2lvbnNBY3Rpb25Db21wb25lbnQsXG4gIFJlc3RvcmVWZXJzaW9uQWN0aW9uQ29tcG9uZW50LFxuICBEZWxldGVQcmVwYXJlZEFjdGlvbkNvbXBvbmVudCxcbiAgQWRkU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50LFxuICBBZGRTdWJzY3JpcHRpb25Db21wb25lbnQsXG4gIFJlbW92ZVN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCxcbiAgV29ya2Zsb3dBY3Rpb25Db21wb25lbnQsXG4gIFdvcmtmbG93Q29tcG9uZW50LFxuICBDdXN0b21BY3Rpb25zQ29tcG9uZW50LFxuICBBZGRSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQsXG4gIEFkZFJlc3VibWlzc2lvbkNvbXBvbmVudCxcbiAgVXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50LFxuICBTaGFyZU9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgU2hhcmVPYmplY3RDb21wb25lbnQsXG4gIEN1dEFjdGlvbkNvbXBvbmVudCxcbiAgRmluYWxpemVBY3Rpb25Db21wb25lbnQsXG4gIEZpbmFsaXplT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICBEZWZpbmFsaXplQWN0aW9uQ29tcG9uZW50LFxuICBEZWxldGVDb250ZW50Q29tcG9uZW50LFxuICBEZWxldGVDb250ZW50QWN0aW9uQ29tcG9uZW50LFxuICBVbmxvY2tBY3Rpb25Db21wb25lbnQsXG4gIFNpbXBsZVdvcmtmbG93QWN0aW9uQ29tcG9uZW50LFxuICBTaWduYXR1cmVBY3Rpb25Db21wb25lbnQsXG4gIFNpZ25hdHVyZUNvbXBvbmVudCxcbiAgQ2FuY2VsU2lnbmluZ0FjdGlvbkNvbXBvbmVudCxcbiAgQ2FuY2VsU2lnbmluZ0NvbXBvbmVudCwgXG4gIERvd25sb2FkT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICBDbGlwYm9hcmRPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gIEVtYWlsQ29tcG9uZW50XG5dO1xuXG4vKipcbiAqIEBtb2R1bGVcbiAqIEBkZXNjcmlwdGlvblxuICogTW9kdWxlIGZvciB0aGUgYWN0aW9uIG1lbnVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFl2Y0F1dG9mb2N1c0NoaWxkLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBVaU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgT2JqZWN0Rm9ybU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1FbGVtZW50c01vZHVsZSxcbiAgICBPYmplY3RGb3JtTW9kdWxlLFxuICAgIFByb2Nlc3NGb3JtTW9kdWxlLFxuICAgIEN0YU1vZHVsZSxcbiAgICBZdmNEYXRlcGlja2VyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtBY3Rpb25NZW51Q29tcG9uZW50LCBPcGVuRG9jdW1lbnRDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtBY3Rpb25TZXJ2aWNlLCB7XG4gICAgcHJvdmlkZTogQUNUSU9OUyxcbiAgICB1c2VWYWx1ZTogZW50cnlDb21wb25lbnRzXG4gIH0sIHtcbiAgICBwcm92aWRlOiBDVVNUT01fQUNUSU9OUyxcbiAgICB1c2VWYWx1ZTogW11cbiAgfV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFjdGlvbk1lbnVDb21wb25lbnQsXG4gICAgQWN0aW9uQ29tcG9uZW50QW5jaG9yRGlyZWN0aXZlLFxuICAgIENvcHlBY3Rpb25Db21wb25lbnQsXG4gICAgT3BlbkNvbnRleHRBY3Rpb25Db21wb25lbnQsXG4gICAgRG93bmxvYWRBY3Rpb25Db21wb25lbnQsXG4gICAgT3BlbkRvY3VtZW50QWN0aW9uQ29tcG9uZW50LFxuICAgIE9wZW5Eb2N1bWVudENvbXBvbmVudCxcbiAgICBFbWFpbEFjdGlvbkNvbXBvbmVudCxcbiAgICBDbGlwYm9hcmRBY3Rpb25Db21wb25lbnQsXG4gICAgRmF2b3JpdGVBY3Rpb25Db21wb25lbnQsXG4gICAgRGVsZXRlQWN0aW9uQ29tcG9uZW50LFxuICAgIERlbGV0ZUNvbXBvbmVudCxcbiAgICBPcGVuVmVyc2lvbnNBY3Rpb25Db21wb25lbnQsXG4gICAgUmVzdG9yZVZlcnNpb25BY3Rpb25Db21wb25lbnQsXG4gICAgRGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnQsXG4gICAgQWRkU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIEFkZFN1YnNjcmlwdGlvbkNvbXBvbmVudCxcbiAgICBBZGRSZXN1Ym1pc3Npb25BY3Rpb25Db21wb25lbnQsXG4gICAgQWRkUmVzdWJtaXNzaW9uQ29tcG9uZW50LFxuICAgIFJlbW92ZVN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCxcbiAgICBXb3JrZmxvd0NvbXBvbmVudCxcbiAgICBDdXN0b21BY3Rpb25zQ29tcG9uZW50LFxuICAgIFVwZGF0ZVJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBTaGFyZU9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgICBTaGFyZU9iamVjdENvbXBvbmVudCxcbiAgICBDdXRBY3Rpb25Db21wb25lbnQsXG4gICAgRmluYWxpemVBY3Rpb25Db21wb25lbnQsXG4gICAgRmluYWxpemVPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gICAgRGVmaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWxldGVDb250ZW50Q29tcG9uZW50LFxuICAgIERlbGV0ZUNvbnRlbnRBY3Rpb25Db21wb25lbnQsXG4gICAgVW5sb2NrQWN0aW9uQ29tcG9uZW50LFxuICAgIFNpbXBsZVdvcmtmbG93QWN0aW9uQ29tcG9uZW50LFxuICAgIFByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZSxcbiAgICBTaWduYXR1cmVBY3Rpb25Db21wb25lbnQsXG4gICAgU2lnbmF0dXJlQ29tcG9uZW50LFxuICAgIENhbmNlbFNpZ25pbmdBY3Rpb25Db21wb25lbnQsXG4gICAgQ2FuY2VsU2lnbmluZ0NvbXBvbmVudCxcbiAgICBEb3dubG9hZE9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgICBDbGlwYm9hcmRPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gICAgRW1haWxDb21wb25lbnRcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzXG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbk1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbXBvbmVudHM6IGFueVtdID0gW10pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFjdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBBTkFMWVpFX0ZPUl9FTlRSWV9DT01QT05FTlRTLFxuICAgICAgICB1c2VWYWx1ZTogY29tcG9uZW50cyxcbiAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB9LCB7XG4gICAgICAgIHByb3ZpZGU6IEFDVElPTlMsXG4gICAgICAgIHVzZVZhbHVlOiBlbnRyeUNvbXBvbmVudHNcbiAgICAgIH0sIHtcbiAgICAgICAgcHJvdmlkZTogQ1VTVE9NX0FDVElPTlMsXG4gICAgICAgIHVzZVZhbHVlOiBjb21wb25lbnRzXG4gICAgICB9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsNEJBQTRCLEVBQXVCLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHlFQUF5RSxDQUFDO0FBQ3ZILE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDJDQUEyQyxDQUFD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QWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLGlDQUFpQzt3QkFDakMsMEJBQTBCO3dCQUMxQixvQkFBb0I7d0JBQ3BCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLHFCQUFxQjt3QkFDckIsNkJBQTZCO3dCQUM3QiwyQkFBMkI7d0JBQzNCLHdCQUF3Qjt3QkFDeEIsa0JBQWtCO3dCQUNsQiw0QkFBNEI7d0JBQzVCLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3Qiw4QkFBOEI7d0JBQzlCLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQix5QkFBeUI7cUJBQzFCO29CQUNELGVBQWU7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBTkFMWVpFX0ZPUl9FTlRSWV9DT01QT05FTlRTLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1ByZXZlbnREb3VibGVDbGlja0RpcmVjdGl2ZX0gZnJvbSAnLi4vdXRpbC9kaXJlY3RpdmUvcHJldmVudC1kb3VibGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7QUNUSU9OUywgQ1VTVE9NX0FDVElPTlMsIEFjdGlvblNlcnZpY2V9IGZyb20gJy4vYWN0aW9uLXNlcnZpY2UvYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtBY3Rpb25NZW51Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VWlNb2R1bGV9IGZyb20gJy4uL3VpL3VpLm1vZHVsZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudEFuY2hvckRpcmVjdGl2ZX0gZnJvbSAnLi9hY3Rpb24tbWVudS9hY3Rpb24tY29tcG9uZW50LWFuY2hvci9hY3Rpb24tY29tcG9uZW50LWFuY2hvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtDb3B5QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvY29weS1hY3Rpb24vY29weS1hY3Rpb24nO1xuaW1wb3J0IHtPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tY29udGV4dC1hY3Rpb24vb3Blbi1jb250ZXh0LWFjdGlvbic7XG5pbXBvcnQge0Rvd25sb2FkQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZG93bmxvYWQtYWN0aW9uL2Rvd25sb2FkLWFjdGlvbic7XG5pbXBvcnQge09wZW5Eb2N1bWVudENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tZG9jdW1lbnQtYWN0aW9uL29wZW4tZG9jdW1lbnQtYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge09wZW5Eb2N1bWVudEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL29wZW4tZG9jdW1lbnQtYWN0aW9uL29wZW4tZG9jdW1lbnQtYWN0aW9uJztcbmltcG9ydCB7T2JqZWN0Rm9ybU1vZHVsZX0gZnJvbSAnLi4vb2JqZWN0LWZvcm0vb2JqZWN0LWZvcm0ubW9kdWxlJztcbmltcG9ydCB7RW1haWxBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9lbWFpbC9lbWFpbC1hY3Rpb24nO1xuaW1wb3J0IHtDbGlwYm9hcmRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLWFjdGlvbic7XG5pbXBvcnQge0Zhdm9yaXRlQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZmF2b3JpdGUtYWN0aW9uL2Zhdm9yaXRlLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlLWFjdGlvbic7XG5pbXBvcnQge0RlbGV0ZUNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1hY3Rpb24vZGVsZXRlL2RlbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHtPcGVuVmVyc2lvbnNBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9vcGVuLXZlcnNpb25zLWFjdGlvbi9vcGVuLXZlcnNpb25zLWFjdGlvbic7XG5pbXBvcnQge1Jlc3RvcmVWZXJzaW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvcmVzdG9yZS12ZXJzaW9uLWFjdGlvbi9yZXN0b3JlLXZlcnNpb24tYWN0aW9uJztcbmltcG9ydCB7RGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9kZWxldGUtYWN0aW9uL2RlbGV0ZS1wcmVwYXJlZC1hY3Rpb24nO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0FkZFN1YnNjcmlwdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2FkZC1zdWJzY3JpcHRpb24tYWN0aW9uL2FkZC1zdWJzY3JpcHRpb24vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHtBZGRTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbic7XG5pbXBvcnQge0Zvcm1FbGVtZW50c01vZHVsZX0gZnJvbSAnLi4vZm9ybS1lbGVtZW50cy9mb3JtLWVsZW1lbnRzLm1vZHVsZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JlbW92ZVN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3JlbW92ZS1zdWJzY3JpcHRpb24tYWN0aW9uL3JlbW92ZS1zdWJzY3JpcHRpb24tYWN0aW9uJztcbmltcG9ydCB7V29ya2Zsb3dBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy93b3JrZmxvdy1hY3Rpb24vd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1dvcmtmbG93Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvd29ya2Zsb3ctYWN0aW9uL3dvcmtmbG93L3dvcmtmbG93LmNvbXBvbmVudCc7XG5pbXBvcnQge0N1c3RvbUFjdGlvbnNDb21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jdXN0b20tYWN0aW9ucy9jdXN0b20tYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHtDdGFNb2R1bGV9IGZyb20gJy4uL2N0YS9jdGEubW9kdWxlJztcbmltcG9ydCB7QWRkUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24vYWRkLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuaW1wb3J0IHtBZGRSZXN1Ym1pc3Npb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9hZGQtcmVzdWJtaXNzaW9uLWFjdGlvbi9hZGQtcmVzdWJtaXNzaW9uL2FkZC1yZXN1Ym1pc3Npb24uY29tcG9uZW50JztcbmltcG9ydCB7VXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24vdXBkYXRlLXJlc3VibWlzc2lvbi1hY3Rpb24nO1xuaW1wb3J0IHtTaGFyZU9iamVjdEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NoYXJlLW9iamVjdC1hY3Rpb24vc2hhcmUtb2JqZWN0LWFjdGlvbic7XG5pbXBvcnQge1NoYXJlT2JqZWN0Q29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvc2hhcmUtb2JqZWN0LWFjdGlvbi9zaGFyZS1vYmplY3Qvc2hhcmUtb2JqZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0N1dEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2N1dC1hY3Rpb24vY3V0LWFjdGlvbic7XG5pbXBvcnQge0ZpbmFsaXplQWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvZmluYWxpemUvZmluYWxpemUtYWN0aW9uJztcbmltcG9ydCB7RGVmaW5hbGl6ZUFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2ZpbmFsaXplL2RlZmluYWxpemUtYWN0aW9uJztcbmltcG9ydCB7RGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1jb250ZW50LWFjdGlvbi9kZWxldGUtY29udGVudC1hY3Rpb24nO1xuaW1wb3J0IHtVbmxvY2tBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy91bmxvY2stYWN0aW9uL3VubG9jay1hY3Rpb24nO1xuaW1wb3J0IHtTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3dvcmtmbG93LWFjdGlvbi9zaW1wbGUtd29ya2Zsb3ctYWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQge1Byb2Nlc3NGb3JtTW9kdWxlfSBmcm9tICcuLi9wcm9jZXNzLWZvcm0vcHJvY2Vzcy1mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9ucy9maW5hbGl6ZS9maW5hbGl6ZS1vYmplY3QtYWN0aW9uL2ZpbmFsaXplLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7RGVsZXRlQ29udGVudENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2RlbGV0ZS1jb250ZW50LWFjdGlvbi9kZWxldGUtY29udGVudC9kZWxldGUtY29udGVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtTaWduYXR1cmVBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NpZ25hdHVyZS1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7U2lnbmF0dXJlQ29tcG9uZW50fSBmcm9tICcuL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zaWduYXR1cmUvc2lnbmF0dXJlLmNvbXBvbmVudCc7XG5pbXBvcnQge0NhbmNlbFNpZ25pbmdBY3Rpb25Db21wb25lbnR9IGZyb20gJy4vYWN0aW9ucy9jYW5jZWwtc2lnbmluZy1hY3Rpb24vY2FuY2VsLXNpZ25pbmctYWN0aW9uJztcbmltcG9ydCB7Q2FuY2VsU2lnbmluZ0NvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL2NhbmNlbC1zaWduaW5nLWFjdGlvbi9jYW5jZWwtc2lnbmluZy9jYW5jZWwtc2lnbmluZy5jb21wb25lbnQnO1xuaW1wb3J0IHtZdmNEYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvZGF0ZXBpY2tlcic7XG5pbXBvcnQge1l2Y0F1dG9mb2N1c0NoaWxkfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IERvd25sb2FkT2JqZWN0QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1vYmplY3QtYWN0aW9uL2Rvd25sb2FkLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IENsaXBib2FyZE9iamVjdEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYWN0aW9ucy9jbGlwYm9hcmQvY2xpcGJvYXJkLW9iamVjdC1hY3Rpb24vY2xpcGJvYXJkLW9iamVjdC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9hY3Rpb25zL2VtYWlsL2VtYWlsL2VtYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQge1NlcXVlbmNlTGlzdENvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2VxdWVuY2UtbGlzdC9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge0RyYWdEcm9wTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7U2VxdWVuY2VMaXN0SXRlbUNvbXBvbmVudH0gZnJvbSAnLi9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2VxdWVuY2UtbGlzdC1pdGVtL3NlcXVlbmNlLWxpc3QtaXRlbS5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgZW50cnlDb21wb25lbnRzID0gW1xuICBDb3B5QWN0aW9uQ29tcG9uZW50LFxuICBPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudCxcbiAgRG93bmxvYWRBY3Rpb25Db21wb25lbnQsXG4gIE9wZW5Eb2N1bWVudEFjdGlvbkNvbXBvbmVudCxcbiAgT3BlbkRvY3VtZW50Q29tcG9uZW50LFxuICBFbWFpbEFjdGlvbkNvbXBvbmVudCxcbiAgQ2xpcGJvYXJkQWN0aW9uQ29tcG9uZW50LFxuICBEZWxldGVBY3Rpb25Db21wb25lbnQsXG4gIERlbGV0ZUNvbXBvbmVudCxcbiAgT3BlblZlcnNpb25zQWN0aW9uQ29tcG9uZW50LFxuICBSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgRGVsZXRlUHJlcGFyZWRBY3Rpb25Db21wb25lbnQsXG4gIEFkZFN1YnNjcmlwdGlvbkFjdGlvbkNvbXBvbmVudCxcbiAgQWRkU3Vic2NyaXB0aW9uQ29tcG9uZW50LFxuICBSZW1vdmVTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQsXG4gIFdvcmtmbG93QWN0aW9uQ29tcG9uZW50LFxuICBXb3JrZmxvd0NvbXBvbmVudCxcbiAgQ3VzdG9tQWN0aW9uc0NvbXBvbmVudCxcbiAgQWRkUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50LFxuICBBZGRSZXN1Ym1pc3Npb25Db21wb25lbnQsXG4gIFVwZGF0ZVJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgU2hhcmVPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gIFNoYXJlT2JqZWN0Q29tcG9uZW50LFxuICBDdXRBY3Rpb25Db21wb25lbnQsXG4gIEZpbmFsaXplQWN0aW9uQ29tcG9uZW50LFxuICBGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgRGVmaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCxcbiAgRGVsZXRlQ29udGVudENvbXBvbmVudCxcbiAgRGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudCxcbiAgVW5sb2NrQWN0aW9uQ29tcG9uZW50LFxuICBTaW1wbGVXb3JrZmxvd0FjdGlvbkNvbXBvbmVudCxcbiAgU2lnbmF0dXJlQWN0aW9uQ29tcG9uZW50LFxuICBTaWduYXR1cmVDb21wb25lbnQsXG4gIENhbmNlbFNpZ25pbmdBY3Rpb25Db21wb25lbnQsXG4gIENhbmNlbFNpZ25pbmdDb21wb25lbnQsXG4gIERvd25sb2FkT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICBDbGlwYm9hcmRPYmplY3RBY3Rpb25Db21wb25lbnQsXG4gIEVtYWlsQ29tcG9uZW50LFxuICBTZXF1ZW5jZUxpc3RDb21wb25lbnQsXG4gIFNlcXVlbmNlTGlzdEl0ZW1Db21wb25lbnRcbl07XG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBNb2R1bGUgZm9yIHRoZSBhY3Rpb24gbWVudVxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgWXZjQXV0b2ZvY3VzQ2hpbGQsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFVpTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBPYmplY3RGb3JtTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybUVsZW1lbnRzTW9kdWxlLFxuICAgIE9iamVjdEZvcm1Nb2R1bGUsXG4gICAgUHJvY2Vzc0Zvcm1Nb2R1bGUsXG4gICAgQ3RhTW9kdWxlLFxuICAgIFl2Y0RhdGVwaWNrZXJNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0FjdGlvbk1lbnVDb21wb25lbnQsIE9wZW5Eb2N1bWVudENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW0FjdGlvblNlcnZpY2UsIHtcbiAgICBwcm92aWRlOiBBQ1RJT05TLFxuICAgIHVzZVZhbHVlOiBlbnRyeUNvbXBvbmVudHNcbiAgfSwge1xuICAgIHByb3ZpZGU6IENVU1RPTV9BQ1RJT05TLFxuICAgIHVzZVZhbHVlOiBbXVxuICB9XSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQWN0aW9uTWVudUNvbXBvbmVudCxcbiAgICBBY3Rpb25Db21wb25lbnRBbmNob3JEaXJlY3RpdmUsXG4gICAgQ29weUFjdGlvbkNvbXBvbmVudCxcbiAgICBPcGVuQ29udGV4dEFjdGlvbkNvbXBvbmVudCxcbiAgICBEb3dubG9hZEFjdGlvbkNvbXBvbmVudCxcbiAgICBPcGVuRG9jdW1lbnRBY3Rpb25Db21wb25lbnQsXG4gICAgT3BlbkRvY3VtZW50Q29tcG9uZW50LFxuICAgIEVtYWlsQWN0aW9uQ29tcG9uZW50LFxuICAgIENsaXBib2FyZEFjdGlvbkNvbXBvbmVudCxcbiAgICBGYXZvcml0ZUFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWxldGVBY3Rpb25Db21wb25lbnQsXG4gICAgRGVsZXRlQ29tcG9uZW50LFxuICAgIE9wZW5WZXJzaW9uc0FjdGlvbkNvbXBvbmVudCxcbiAgICBSZXN0b3JlVmVyc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWxldGVQcmVwYXJlZEFjdGlvbkNvbXBvbmVudCxcbiAgICBBZGRTdWJzY3JpcHRpb25BY3Rpb25Db21wb25lbnQsXG4gICAgQWRkU3Vic2NyaXB0aW9uQ29tcG9uZW50LFxuICAgIEFkZFJlc3VibWlzc2lvbkFjdGlvbkNvbXBvbmVudCxcbiAgICBBZGRSZXN1Ym1pc3Npb25Db21wb25lbnQsXG4gICAgUmVtb3ZlU3Vic2NyaXB0aW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIFdvcmtmbG93QWN0aW9uQ29tcG9uZW50LFxuICAgIFdvcmtmbG93Q29tcG9uZW50LFxuICAgIEN1c3RvbUFjdGlvbnNDb21wb25lbnQsXG4gICAgVXBkYXRlUmVzdWJtaXNzaW9uQWN0aW9uQ29tcG9uZW50LFxuICAgIFNoYXJlT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICAgIFNoYXJlT2JqZWN0Q29tcG9uZW50LFxuICAgIEN1dEFjdGlvbkNvbXBvbmVudCxcbiAgICBGaW5hbGl6ZUFjdGlvbkNvbXBvbmVudCxcbiAgICBGaW5hbGl6ZU9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgICBEZWZpbmFsaXplQWN0aW9uQ29tcG9uZW50LFxuICAgIERlbGV0ZUNvbnRlbnRDb21wb25lbnQsXG4gICAgRGVsZXRlQ29udGVudEFjdGlvbkNvbXBvbmVudCxcbiAgICBVbmxvY2tBY3Rpb25Db21wb25lbnQsXG4gICAgU2ltcGxlV29ya2Zsb3dBY3Rpb25Db21wb25lbnQsXG4gICAgUHJldmVudERvdWJsZUNsaWNrRGlyZWN0aXZlLFxuICAgIFNpZ25hdHVyZUFjdGlvbkNvbXBvbmVudCxcbiAgICBTaWduYXR1cmVDb21wb25lbnQsXG4gICAgQ2FuY2VsU2lnbmluZ0FjdGlvbkNvbXBvbmVudCxcbiAgICBDYW5jZWxTaWduaW5nQ29tcG9uZW50LFxuICAgIERvd25sb2FkT2JqZWN0QWN0aW9uQ29tcG9uZW50LFxuICAgIENsaXBib2FyZE9iamVjdEFjdGlvbkNvbXBvbmVudCxcbiAgICBFbWFpbENvbXBvbmVudCxcbiAgICBTZXF1ZW5jZUxpc3RDb21wb25lbnQsXG4gICAgU2VxdWVuY2VMaXN0SXRlbUNvbXBvbmVudFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHNcbn0pXG5leHBvcnQgY2xhc3MgQWN0aW9uTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoY29tcG9uZW50czogYW55W10gPSBbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QWN0aW9uTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBY3Rpb25Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IEFOQUxZWkVfRk9SX0VOVFJZX0NPTVBPTkVOVFMsXG4gICAgICAgIHVzZVZhbHVlOiBjb21wb25lbnRzLFxuICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIH0sIHtcbiAgICAgICAgcHJvdmlkZTogQUNUSU9OUyxcbiAgICAgICAgdXNlVmFsdWU6IGVudHJ5Q29tcG9uZW50c1xuICAgICAgfSwge1xuICAgICAgICBwcm92aWRlOiBDVVNUT01fQUNUSU9OUyxcbiAgICAgICAgdXNlVmFsdWU6IGNvbXBvbmVudHNcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,184 @@
1
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
2
+ import { Attribute, Component, EventEmitter, forwardRef, HostListener, Input, Output } from '@angular/core';
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
4
+ import { ChangeMode } from '../signature.model';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@eo-sdk/core";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@ngx-translate/core";
10
+ import * as i5 from "../../../../ui/eo-icon/eo-icon.component";
11
+ import * as i6 from "../../../../form-elements/form-input/form-input.component";
12
+ import * as i7 from "../../../../form-elements/string/string.component";
13
+ import * as i8 from "@angular/cdk/drag-drop";
14
+ import * as i9 from "../sequence-list-item/sequence-list-item.component";
15
+ export class SequenceListComponent {
16
+ controlPlusHandler(event) {
17
+ this.showEntryForm();
18
+ event.preventDefault();
19
+ event.stopPropagation();
20
+ }
21
+ controlEnterHandler(event) {
22
+ if (this.entryForm?.dirty && this.entryForm.valid) {
23
+ this.addSigner();
24
+ event.preventDefault();
25
+ event.stopPropagation();
26
+ }
27
+ }
28
+ escapeHandler(event) {
29
+ if (this.entryForm) {
30
+ this.hideEntryForm();
31
+ event.preventDefault();
32
+ event.stopPropagation();
33
+ }
34
+ }
35
+ get maxSigners() {
36
+ return this.entries.length === this.MAX_SIGNERS;
37
+ }
38
+ constructor(formOpen, elRef, fb, translate) {
39
+ this.formOpen = formOpen;
40
+ this.elRef = elRef;
41
+ this.fb = fb;
42
+ this.translate = translate;
43
+ this.entries = [];
44
+ this.lengthValidator = { max: 100, min: 3 };
45
+ this.changeMode = ChangeMode;
46
+ this.itemEdit = new EventEmitter();
47
+ this.propagateChange = (_) => { };
48
+ }
49
+ propagate() {
50
+ this.propagateChange(this.entries);
51
+ }
52
+ writeValue(value) {
53
+ this.entries = value || [];
54
+ }
55
+ registerOnChange(fn) {
56
+ this.propagateChange = fn;
57
+ }
58
+ registerOnTouched(fn) { }
59
+ validate(control) {
60
+ return this.entryForm?.dirty ? { routinglist: { pending: true } } : null;
61
+ }
62
+ dragDrop(event) {
63
+ moveItemInArray(this.entries, event.previousIndex, event.currentIndex);
64
+ this.propagate();
65
+ }
66
+ showEntryForm(index, addAtIndex) {
67
+ let entry;
68
+ if (addAtIndex) {
69
+ this.addTargetIndex = index;
70
+ }
71
+ else {
72
+ this.editIndex = index;
73
+ entry = index !== undefined ? this.entries[index] : undefined;
74
+ }
75
+ this.entryForm = this.fb.group({
76
+ name: ['', [Validators.required, Validators.maxLength(100)]],
77
+ email: ['', [Validators.required, Validators.maxLength(200), Validators.email]],
78
+ phone: ['', [Validators.maxLength(100)]]
79
+ });
80
+ if (entry) {
81
+ this.entryForm.patchValue({ name: entry.name, email: entry.email, phone: entry.phone });
82
+ }
83
+ this.itemEdit.emit(true);
84
+ }
85
+ removeEntry(index) {
86
+ const entry = this.entries[index];
87
+ if (!entry) {
88
+ return;
89
+ }
90
+ this.entries.splice(index, 1);
91
+ this.mode = null;
92
+ this.propagate();
93
+ }
94
+ changeEntry({ index, mode }) {
95
+ this.mode = mode;
96
+ if (mode === ChangeMode.EDIT) {
97
+ this.showEntryForm(index);
98
+ this.addTargetIndex = index;
99
+ }
100
+ else if (mode === ChangeMode.DELETE) {
101
+ this.removeEntry(index);
102
+ }
103
+ else if (mode === ChangeMode.INSERT && !this.maxSigners) {
104
+ this.showEntryForm();
105
+ this.addTargetIndex = index;
106
+ }
107
+ }
108
+ addSigner() {
109
+ if (this.editIndex !== undefined) {
110
+ this.entries.splice(this.editIndex, 1, this.entryForm.value);
111
+ }
112
+ else if (this.addTargetIndex !== undefined) {
113
+ this.entries.splice(this.addTargetIndex, 0, this.entryForm.value);
114
+ }
115
+ else {
116
+ this.entries.push(this.entryForm.value);
117
+ }
118
+ this.hideEntryForm();
119
+ this.propagate();
120
+ }
121
+ hideEntryForm() {
122
+ this.addTargetIndex = undefined;
123
+ this.editIndex = undefined;
124
+ this.entryForm = undefined;
125
+ this.mode = undefined;
126
+ this.itemEdit.emit(false);
127
+ setTimeout(() => this.elRef.nativeElement.querySelector('#add-item ')?.focus());
128
+ }
129
+ cancel() {
130
+ this.hideEntryForm();
131
+ }
132
+ ngOnInit() {
133
+ this.showEntryForm();
134
+ }
135
+ }
136
+ SequenceListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SequenceListComponent, deps: [{ token: 'form-open', attribute: true }, { token: i0.ElementRef }, { token: i1.FormBuilder }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
137
+ SequenceListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SequenceListComponent, selector: "eo-sequence-list", inputs: { MAX_SIGNERS: "MAX_SIGNERS", phoneRequired: "phoneRequired" }, outputs: { itemEdit: "itemEdit" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown.control.+": "controlPlusHandler($event)", "keydown.enter": "controlEnterHandler($event)", "keydown.escape": "escapeHandler($event)" } }, providers: [
138
+ {
139
+ provide: NG_VALUE_ACCESSOR,
140
+ useExisting: forwardRef(() => SequenceListComponent),
141
+ multi: true
142
+ },
143
+ {
144
+ provide: NG_VALIDATORS,
145
+ useExisting: forwardRef(() => SequenceListComponent),
146
+ multi: true
147
+ }
148
+ ], ngImport: i0, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"200\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i7.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "directive", type: i8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i9.SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: ["index", "disableAdd", "addTargetIndex"], outputs: ["changeEntry", "edit", "delete", "insert"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SequenceListComponent, decorators: [{
150
+ type: Component,
151
+ args: [{ selector: 'eo-sequence-list', providers: [
152
+ {
153
+ provide: NG_VALUE_ACCESSOR,
154
+ useExisting: forwardRef(() => SequenceListComponent),
155
+ multi: true
156
+ },
157
+ {
158
+ provide: NG_VALIDATORS,
159
+ useExisting: forwardRef(() => SequenceListComponent),
160
+ multi: true
161
+ }
162
+ ], host: {
163
+ tabindex: '0'
164
+ }, template: "<div class=\"toolbar\" *ngIf=\"!entryForm; else tplEntryForm\">\n <h4>{{ 'eo.action.signature.signers' | translate }}</h4>\n <button id=\"add-item\" class=\"add primary\" (click)=\"showEntryForm()\" [disabled]=\"maxSigners\">\n <eo-icon [iconTitle]=\"('eo.action.signature.add.button.tooltip' | translate)\"\n [iconSrc]=\"'assets/_default/svg/ic_add.svg'\">\n </eo-icon>\n </button>\n</div>\n\n<div class=\"entries\" cdkDropList (cdkDropListDropped)=\"dragDrop($event)\" [cdkDropListData]=\"entries\">\n <div [ngClass]=\"{ disabled: !!entryForm, single: entries.length === 1 }\" cdkDrag *ngFor=\"let entry of entries; let i = index\">\n <eo-sequence-list-item [index]=\"i\" (changeEntry)=\"changeEntry($event)\" [disableAdd]=\"maxSigners\">\n <ng-template #content>\n <div class=\"signer-list-entry\">\n <div class=\"signer-name\" title=\"{{entry.name}}\">{{ entry.name }}</div>\n <div class=\"signer-email\" title=\"{{entry.email}}\">{{ entry.email }}</div>\n <div class=\"signer-phone\" *ngIf=\"entry.phone\" title=\"{{entry.phone}}\">{{ entry.phone }}</div>\n </div>\n </ng-template>\n </eo-sequence-list-item>\n </div>\n</div>\n\n<ng-template #tplEntryForm>\n <form class=\"entryForm\" [formGroup]=\"entryForm\" (ngSubmit)=\"addSigner()\">\n <div class=\"form-body\">\n <eo-form-input\n class=\"name\"\n [invalid]=\"entryForm.get('name').dirty && entryForm.get('name').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignername' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignername'\" [autocomplete]=\"true\" [autofocus]=\"true\" formControlName=\"name\"></eo-string>\n </eo-form-input>\n\n <eo-form-input\n class=\"task\"\n [invalid]=\"entryForm.get('email').dirty && entryForm.get('email').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsigneremail' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"200\" [qname]=\"'yuvsigning.yuvsigners.yuvsigneremail'\" [autocomplete]=\"true\" formControlName=\"email\"></eo-string>\n </eo-form-input>\n <small class=\"errors\" *ngIf=\"entryForm.get('email').hasError('email')\" translate>eo.form.property.string.error.classification.email</small>\n <eo-form-input\n class=\"task\"\n *ngIf=\"phoneRequired\"\n [invalid]=\"entryForm.get('phone').dirty && entryForm.get('phone').invalid\"\n [skipToggle]=\"true\"\n [label]=\"'eo.action.signature.yuvsigners.yuvsignerphone' | translate\"\n [required]=\"true\"\n >\n <eo-string maxLength=\"100\" [qname]=\"'yuvsigning.yuvsigners.yuvsignerphone'\" formControlName=\"phone\"> </eo-string>\n </eo-form-input>\n </div>\n <footer class=\"footer-action\">\n <button class=\"secondary\" type=\"button\" (click)=\"cancel()\" translate>eo.action.signature.cancel</button>\n <ng-container [ngSwitch]=\"mode\">\n <button *ngSwitchCase=\"'edit'\" class=\"primary\" [disabled]=\"entryForm.invalid || entryForm.pristine\" type=\"submit\" translate>eo.action.signature.editSigner</button>\n <button *ngSwitchDefault class=\"primary\" [disabled]=\"entryForm.invalid\" type=\"submit\" translate>eo.action.signature.addSigner</button>\n </ng-container>\n </footer>\n </form>\n</ng-template>\n", styles: [":host{display:block;border:1px solid var(--panel-divider-color);padding:1px;background-color:var(--panel-background)}:host:focus{border-color:var(--color-accent)}:host.ng-invalid{border-color:var(--color-error)}:host.dense form.entryForm{display:flex;flex-flow:column}:host form.entryForm{display:grid;grid-template-rows:auto auto auto auto;grid-template-columns:1fr;padding:calc(var(--app-pane-padding) / 2);gap:calc(var(--app-pane-padding) / 2);grid-template-areas:\"title\" \"task\" \"nextAssignee\" \"expiryDatetime\" \"buttons\";border:1px solid var(--panel-divider-color)}:host form.entryForm eo-form-input.task{grid-area:task}:host form.entryForm eo-form-input.nextAssignee{grid-area:nextAssignee}:host form.entryForm eo-form-input.expiryDatetime{grid-area:expiryDatetime}:host form.entryForm .buttons{grid-area:buttons;display:flex;justify-content:end;margin:0 -2px}:host form.entryForm .buttons button{margin:0 2px}:host form.entryForm .errors{color:var(--color-error)}:host .toolbar{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--app-pane-padding) / 4);border:1px solid var(--panel-divider-color)}:host .toolbar:focus{border-color:var(--color-accent)}:host .toolbar h4{padding:0;margin:0 calc(var(--app-pane-padding) * .75);flex:1;color:var(--color-primary-2)}:host .toolbar button{padding:calc(var(--app-pane-padding) / 4);border-radius:2px}:host .entries .entry{position:relative;transition:background-color .1s ease-in-out;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entries .entry.disabled{background-color:var(--panel-background-lightgrey);opacity:.85}:host .entries .entry.disabled.current{background-color:var(--panel-background);border-color:var(--color-accent)}:host .entries .entry.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host .entries .entry.disabled button,:host .entries .entry.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host .entries .entry.single .handle,:host .entries .entry.single .index{display:none}:host .entries .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entries .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entries .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entries .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entries .entry .content{grid-area:content}:host .entries .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entries .entry .action{grid-area:action;display:flex;align-items:center}:host .entries .entry .action button{padding:2px}:host .entries .entry .action button eo-icon{width:18px;height:18px}.footer-action{display:flex;justify-content:flex-end;padding:var(--app-pane-padding) 0;background-color:transparent;border-top:none}\n"] }]
165
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
166
+ type: Attribute,
167
+ args: ['form-open']
168
+ }] }, { type: i0.ElementRef }, { type: i1.FormBuilder }, { type: i2.TranslateService }]; }, propDecorators: { MAX_SIGNERS: [{
169
+ type: Input
170
+ }], phoneRequired: [{
171
+ type: Input
172
+ }], itemEdit: [{
173
+ type: Output
174
+ }], controlPlusHandler: [{
175
+ type: HostListener,
176
+ args: ['keydown.control.+', ['$event']]
177
+ }], controlEnterHandler: [{
178
+ type: HostListener,
179
+ args: ['keydown.enter', ['$event']]
180
+ }], escapeHandler: [{
181
+ type: HostListener,
182
+ args: ['keydown.escape', ['$event']]
183
+ }] } });
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvc2lnbmF0dXJlLWFjdGlvbi9zZXF1ZW5jZS1saXN0L3NlcXVlbmNlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2VxdWVuY2UtbGlzdC9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBaUUsYUFBYSxFQUFFLGlCQUFpQixFQUErQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSyxPQUFPLEVBQUMsVUFBVSxFQUF1QixNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7OztBQXVCcEUsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxrQkFBa0IsQ0FBQyxLQUFvQjtRQUNyQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR0QsbUJBQW1CLENBQUMsS0FBb0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtZQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFHRCxhQUFhLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBMkMsUUFBZ0IsRUFDeEMsS0FBaUIsRUFDakIsRUFBZSxFQUNmLFNBQTJCO1FBSEgsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUN4QyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQTNDOUMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUd2QixvQkFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDdkMsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUtkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBb0NqRCxvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFGZ0IsQ0FBQztJQUkxQyxTQUFTO1FBQ2YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFlO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTyxJQUFTLENBQUM7SUFFbkMsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzRSxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQTRCO1FBQ25DLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWMsRUFBRSxVQUFvQjtRQUNoRCxJQUFJLEtBQUssQ0FBQztRQUNWLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7U0FDN0I7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLEtBQUssR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDL0Q7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzVELEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0UsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDekY7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsT0FBTztTQUFFO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQWdCO1FBQ3ZDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxLQUFLLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6QjthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3pELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlEO2FBQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25FO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDOztrSEE5SVUscUJBQXFCLGtCQTBDVCxXQUFXO3NHQTFDdkIscUJBQXFCLDhWQWhCckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNyQkgsODdHQWtFQTsyRkR4Q2EscUJBQXFCO2tCQXBCakMsU0FBUzsrQkFDRSxrQkFBa0IsYUFHakI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsUUFDSzt3QkFDSixRQUFRLEVBQUUsR0FBRztxQkFDZDs7MEJBNENZLFNBQVM7MkJBQUMsV0FBVzs4SEFqQ3pCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNO2dCQUdQLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxtQkFBbUIsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRN0MsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVekMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHtBdHRyaWJ1dGUsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlLCBDaGFuZ2VPdXRwdXQsIFNpZ25lcn0gZnJvbSAnLi4vc2lnbmF0dXJlLm1vZGVsJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tc2VxdWVuY2UtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXF1ZW5jZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VxdWVuY2UtbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlcXVlbmNlTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNlcXVlbmNlTGlzdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbiAgaG9zdDoge1xuICAgIHRhYmluZGV4OiAnMCdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuICBlbnRyeUZvcm06IEZvcm1Hcm91cDtcbiAgZW50cmllczogU2lnbmVyW10gPSBbXTtcbiAgZWRpdEluZGV4OiBudW1iZXI7XG4gIGFkZFRhcmdldEluZGV4OiBudW1iZXI7XG4gIGxlbmd0aFZhbGlkYXRvciA9IHsgbWF4OiAxMDAsIG1pbjogMyB9O1xuICBjaGFuZ2VNb2RlID0gQ2hhbmdlTW9kZTtcbiAgbW9kZTogQ2hhbmdlTW9kZTtcblxuICBASW5wdXQoKSBNQVhfU0lHTkVSUzogbnVtYmVyO1xuICBASW5wdXQoKSBwaG9uZVJlcXVpcmVkOiBib29sZWFuO1xuICBAT3V0cHV0KCkgaXRlbUVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5jb250cm9sLisnLCBbJyRldmVudCddKVxuICBjb250cm9sUGx1c0hhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLnNob3dFbnRyeUZvcm0oKTtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIGNvbnRyb2xFbnRlckhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5lbnRyeUZvcm0/LmRpcnR5ICYmIHRoaXMuZW50cnlGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmFkZFNpZ25lcigpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjYXBlJywgWyckZXZlbnQnXSlcbiAgZXNjYXBlSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmVudHJ5Rm9ybSkge1xuICAgICAgdGhpcy5oaWRlRW50cnlGb3JtKCk7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1heFNpZ25lcnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZW50cmllcy5sZW5ndGggPT09IHRoaXMuTUFYX1NJR05FUlM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihAQXR0cmlidXRlKCdmb3JtLW9wZW4nKSBwdWJsaWMgZm9ybU9wZW46IHN0cmluZyxcbiAgICAgICAgICAgICAgcHVibGljIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwdWJsaWMgZmI6IEZvcm1CdWlsZGVyLFxuICAgICAgICAgICAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHByaXZhdGUgcHJvcGFnYXRlKCkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuZW50cmllcyk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBTaWduZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuZW50cmllcyA9IHZhbHVlIHx8IFtdO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmVudHJ5Rm9ybT8uZGlydHkgPyB7IHJvdXRpbmdsaXN0OiB7IHBlbmRpbmc6IHRydWUgfSB9IDogbnVsbDtcbiAgfVxuXG4gIGRyYWdEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcbiAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5lbnRyaWVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBzaG93RW50cnlGb3JtKGluZGV4PzogbnVtYmVyLCBhZGRBdEluZGV4PzogYm9vbGVhbikge1xuICAgIGxldCBlbnRyeTtcbiAgICBpZiAoYWRkQXRJbmRleCkge1xuICAgICAgdGhpcy5hZGRUYXJnZXRJbmRleCA9IGluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVkaXRJbmRleCA9IGluZGV4O1xuICAgICAgZW50cnkgPSBpbmRleCAhPT0gdW5kZWZpbmVkID8gdGhpcy5lbnRyaWVzW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICB0aGlzLmVudHJ5Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKV1dLFxuICAgICAgZW1haWw6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwMCksIFZhbGlkYXRvcnMuZW1haWxdXSxcbiAgICAgIHBob25lOiBbJycsIFtWYWxpZGF0b3JzLm1heExlbmd0aCgxMDApXV1cbiAgICB9KTtcblxuICAgIGlmIChlbnRyeSkge1xuICAgICAgdGhpcy5lbnRyeUZvcm0ucGF0Y2hWYWx1ZSh7IG5hbWU6IGVudHJ5Lm5hbWUsIGVtYWlsOiBlbnRyeS5lbWFpbCwgcGhvbmU6IGVudHJ5LnBob25lIH0pO1xuICAgIH1cbiAgICB0aGlzLml0ZW1FZGl0LmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUVudHJ5KGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBlbnRyeSA9IHRoaXMuZW50cmllc1tpbmRleF07XG4gICAgaWYgKCFlbnRyeSkgeyByZXR1cm47IH1cbiAgICB0aGlzLmVudHJpZXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB0aGlzLm1vZGUgPSBudWxsO1xuICAgIHRoaXMucHJvcGFnYXRlKCk7XG4gIH1cblxuICBjaGFuZ2VFbnRyeSh7IGluZGV4LCBtb2RlIH06IENoYW5nZU91dHB1dCkge1xuICAgIHRoaXMubW9kZSA9IG1vZGU7XG4gICAgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuRURJVCkge1xuICAgICAgdGhpcy5zaG93RW50cnlGb3JtKGluZGV4KTtcbiAgICAgIHRoaXMuYWRkVGFyZ2V0SW5kZXggPSBpbmRleDtcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuREVMRVRFKSB7XG4gICAgICB0aGlzLnJlbW92ZUVudHJ5KGluZGV4KTtcbiAgICB9IGVsc2UgaWYgKG1vZGUgPT09IENoYW5nZU1vZGUuSU5TRVJUICYmICF0aGlzLm1heFNpZ25lcnMpIHtcbiAgICAgIHRoaXMuc2hvd0VudHJ5Rm9ybSgpO1xuICAgICAgdGhpcy5hZGRUYXJnZXRJbmRleCA9IGluZGV4O1xuICAgIH1cbiAgfVxuXG4gIGFkZFNpZ25lcigpIHtcbiAgICBpZiAodGhpcy5lZGl0SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbnRyaWVzLnNwbGljZSh0aGlzLmVkaXRJbmRleCwgMSwgdGhpcy5lbnRyeUZvcm0udmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hZGRUYXJnZXRJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVudHJpZXMuc3BsaWNlKHRoaXMuYWRkVGFyZ2V0SW5kZXgsIDAsIHRoaXMuZW50cnlGb3JtLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5lbnRyaWVzLnB1c2godGhpcy5lbnRyeUZvcm0udmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmhpZGVFbnRyeUZvcm0oKTtcbiAgICB0aGlzLnByb3BhZ2F0ZSgpO1xuICB9XG5cbiAgaGlkZUVudHJ5Rm9ybSgpIHtcbiAgICB0aGlzLmFkZFRhcmdldEluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZWRpdEluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuZW50cnlGb3JtID0gdW5kZWZpbmVkO1xuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLml0ZW1FZGl0LmVtaXQoZmFsc2UpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI2FkZC1pdGVtICcpPy5mb2N1cygpKTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmhpZGVFbnRyeUZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0VudHJ5Rm9ybSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidG9vbGJhclwiICpuZ0lmPVwiIWVudHJ5Rm9ybTsgZWxzZSB0cGxFbnRyeUZvcm1cIj5cbiAgPGg0Pnt7ICdlby5hY3Rpb24uc2lnbmF0dXJlLnNpZ25lcnMnIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPGJ1dHRvbiBpZD1cImFkZC1pdGVtXCIgY2xhc3M9XCJhZGQgcHJpbWFyeVwiIChjbGljayk9XCJzaG93RW50cnlGb3JtKClcIiBbZGlzYWJsZWRdPVwibWF4U2lnbmVyc1wiPlxuICAgIDxlby1pY29uIFtpY29uVGl0bGVdPVwiKCdlby5hY3Rpb24uc2lnbmF0dXJlLmFkZC5idXR0b24udG9vbHRpcCcgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgICAgICBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19hZGQuc3ZnJ1wiPlxuICAgIDwvZW8taWNvbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImVudHJpZXNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyYWdEcm9wKCRldmVudClcIiBbY2RrRHJvcExpc3REYXRhXT1cImVudHJpZXNcIj5cbiAgPGRpdiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiAhIWVudHJ5Rm9ybSwgc2luZ2xlOiBlbnRyaWVzLmxlbmd0aCA9PT0gMSB9XCIgY2RrRHJhZyAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZW50cmllczsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxlby1zZXF1ZW5jZS1saXN0LWl0ZW0gW2luZGV4XT1cImlcIiAoY2hhbmdlRW50cnkpPVwiY2hhbmdlRW50cnkoJGV2ZW50KVwiIFtkaXNhYmxlQWRkXT1cIm1heFNpZ25lcnNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25lci1saXN0LWVudHJ5XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpZ25lci1uYW1lXCIgdGl0bGU9XCJ7e2VudHJ5Lm5hbWV9fVwiPnt7IGVudHJ5Lm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbmVyLWVtYWlsXCIgdGl0bGU9XCJ7e2VudHJ5LmVtYWlsfX1cIj57eyBlbnRyeS5lbWFpbCB9fTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWduZXItcGhvbmVcIiAqbmdJZj1cImVudHJ5LnBob25lXCIgdGl0bGU9XCJ7e2VudHJ5LnBob25lfX1cIj57eyBlbnRyeS5waG9uZSB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9lby1zZXF1ZW5jZS1saXN0LWl0ZW0+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjdHBsRW50cnlGb3JtPlxuICA8Zm9ybSBjbGFzcz1cImVudHJ5Rm9ybVwiIFtmb3JtR3JvdXBdPVwiZW50cnlGb3JtXCIgKG5nU3VibWl0KT1cImFkZFNpZ25lcigpXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tYm9keVwiPlxuICAgICAgPGVvLWZvcm0taW5wdXRcbiAgICAgICAgY2xhc3M9XCJuYW1lXCJcbiAgICAgICAgW2ludmFsaWRdPVwiZW50cnlGb3JtLmdldCgnbmFtZScpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ25hbWUnKS5pbnZhbGlkXCJcbiAgICAgICAgW3NraXBUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtsYWJlbF09XCInZW8uYWN0aW9uLnNpZ25hdHVyZS55dXZzaWduZXJzLnl1dnNpZ25lcm5hbWUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgPlxuICAgICAgICA8ZW8tc3RyaW5nIG1heExlbmd0aD1cIjEwMFwiIFtxbmFtZV09XCIneXV2c2lnbmluZy55dXZzaWduZXJzLnl1dnNpZ25lcm5hbWUnXCIgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCIgW2F1dG9mb2N1c109XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiPjwvZW8tc3RyaW5nPlxuICAgICAgPC9lby1mb3JtLWlucHV0PlxuXG4gICAgICA8ZW8tZm9ybS1pbnB1dFxuICAgICAgICBjbGFzcz1cInRhc2tcIlxuICAgICAgICBbaW52YWxpZF09XCJlbnRyeUZvcm0uZ2V0KCdlbWFpbCcpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ2VtYWlsJykuaW52YWxpZFwiXG4gICAgICAgIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmVycy55dXZzaWduZXJlbWFpbCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxlby1zdHJpbmcgbWF4TGVuZ3RoPVwiMjAwXCIgW3FuYW1lXT1cIid5dXZzaWduaW5nLnl1dnNpZ25lcnMueXV2c2lnbmVyZW1haWwnXCIgW2F1dG9jb21wbGV0ZV09XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIj48L2VvLXN0cmluZz5cbiAgICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICAgIDxzbWFsbCBjbGFzcz1cImVycm9yc1wiICpuZ0lmPVwiZW50cnlGb3JtLmdldCgnZW1haWwnKS5oYXNFcnJvcignZW1haWwnKVwiIHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnN0cmluZy5lcnJvci5jbGFzc2lmaWNhdGlvbi5lbWFpbDwvc21hbGw+XG4gICAgICA8ZW8tZm9ybS1pbnB1dFxuICAgICAgICBjbGFzcz1cInRhc2tcIlxuICAgICAgICAqbmdJZj1cInBob25lUmVxdWlyZWRcIlxuICAgICAgICBbaW52YWxpZF09XCJlbnRyeUZvcm0uZ2V0KCdwaG9uZScpLmRpcnR5ICYmIGVudHJ5Rm9ybS5nZXQoJ3Bob25lJykuaW52YWxpZFwiXG4gICAgICAgIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbbGFiZWxdPVwiJ2VvLmFjdGlvbi5zaWduYXR1cmUueXV2c2lnbmVycy55dXZzaWduZXJwaG9uZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICA+XG4gICAgICAgIDxlby1zdHJpbmcgbWF4TGVuZ3RoPVwiMTAwXCIgW3FuYW1lXT1cIid5dXZzaWduaW5nLnl1dnNpZ25lcnMueXV2c2lnbmVycGhvbmUnXCIgZm9ybUNvbnRyb2xOYW1lPVwicGhvbmVcIj4gPC9lby1zdHJpbmc+XG4gICAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPC9kaXY+XG4gICAgPGZvb3RlciBjbGFzcz1cImZvb3Rlci1hY3Rpb25cIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJzZWNvbmRhcnlcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNhbmNlbCgpXCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUuY2FuY2VsPC9idXR0b24+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlXCI+XG4gICAgICAgIDxidXR0b24gKm5nU3dpdGNoQ2FzZT1cIidlZGl0J1wiIGNsYXNzPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJlbnRyeUZvcm0uaW52YWxpZCB8fCBlbnRyeUZvcm0ucHJpc3RpbmVcIiB0eXBlPVwic3VibWl0XCIgdHJhbnNsYXRlPmVvLmFjdGlvbi5zaWduYXR1cmUuZWRpdFNpZ25lcjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImVudHJ5Rm9ybS5pbnZhbGlkXCIgdHlwZT1cInN1Ym1pdFwiIHRyYW5zbGF0ZT5lby5hY3Rpb24uc2lnbmF0dXJlLmFkZFNpZ25lcjwvYnV0dG9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9mb290ZXI+XG4gIDwvZm9ybT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
2
+ import { ChangeMode } from '../signature.model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../../../ui/eo-icon/eo-icon.component";
6
+ import * as i3 from "@angular/cdk/drag-drop";
7
+ export class SequenceListItemComponent {
8
+ constructor() {
9
+ this.changeMode = ChangeMode;
10
+ this.disableAdd = false;
11
+ this.addTargetIndex = null;
12
+ this.changeEntry = new EventEmitter();
13
+ this.edit = new EventEmitter();
14
+ this.delete = new EventEmitter();
15
+ this.insert = new EventEmitter();
16
+ }
17
+ changes(index, mode) {
18
+ this.changeEntry.emit({ index, mode });
19
+ if (ChangeMode.EDIT === mode) {
20
+ this.edit.emit(index);
21
+ }
22
+ if (ChangeMode.DELETE === mode) {
23
+ this.delete.emit(index);
24
+ }
25
+ if (ChangeMode.INSERT === mode) {
26
+ this.insert.emit(index);
27
+ }
28
+ }
29
+ }
30
+ SequenceListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SequenceListItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
+ SequenceListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: SequenceListItemComponent, selector: "eo-sequence-list-item", inputs: { index: "index", disableAdd: "disableAdd", addTargetIndex: "addTargetIndex" }, outputs: { changeEntry: "changeEntry", edit: "edit", delete: "delete", insert: "insert" }, queries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"entry\">\n <eo-icon class=\"handle\" cdkDragHandle [iconSrc]=\"'assets/_default/svg/ic_drag.svg'\"></eo-icon>\n <div class=\"index\">\n <span>{{ index + 1 }}</span><span>&darr;</span>\n </div>\n\n <div class=\"action\">\n <button class=\"edit\" type=\"button\" (click)=\"changes(index, changeMode.EDIT)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"></eo-icon>\n </button>\n <button class=\"remove\" type=\"button\" (click)=\"changes(index, changeMode.DELETE)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <eo-icon class=\"innerAdd\" [ngClass]=\"{ active: addTargetIndex === index, disabled: disableAdd }\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" *ngIf=\"index !== 0\" (click)=\"changes(index, changeMode.INSERT)\"></eo-icon>\n</div>\n", styles: [":host{display:block}:host.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host.disabled button,:host.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host.single .handle,:host.single .index{display:none}:host .entry{position:relative;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entry .innerAdd.disabled{display:none}:host .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entry .content{grid-area:content;text-overflow:ellipsis;overflow:hidden}:host .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entry .content ::ng-deep .signer-list-entry .signer-name,:host .entry .content ::ng-deep .signer-list-entry .signer-email,:host .entry .content ::ng-deep .signer-list-entry .signer-phone{word-break:break-all}:host .entry .action{grid-area:action;display:flex;align-items:center}:host .entry .action button{padding:2px}:host .entry .action button eo-icon{width:18px;height:18px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: SequenceListItemComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'eo-sequence-list-item', template: "<div class=\"entry\">\n <eo-icon class=\"handle\" cdkDragHandle [iconSrc]=\"'assets/_default/svg/ic_drag.svg'\"></eo-icon>\n <div class=\"index\">\n <span>{{ index + 1 }}</span><span>&darr;</span>\n </div>\n\n <div class=\"action\">\n <button class=\"edit\" type=\"button\" (click)=\"changes(index, changeMode.EDIT)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_edit.svg'\"></eo-icon>\n </button>\n <button class=\"remove\" type=\"button\" (click)=\"changes(index, changeMode.DELETE)\">\n <eo-icon [iconSrc]=\"'assets/_default/svg/ic_trash.svg'\"></eo-icon>\n </button>\n </div>\n\n <div class=\"content\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <eo-icon class=\"innerAdd\" [ngClass]=\"{ active: addTargetIndex === index, disabled: disableAdd }\" [iconSrc]=\"'assets/_default/svg/ic_add.svg'\" *ngIf=\"index !== 0\" (click)=\"changes(index, changeMode.INSERT)\"></eo-icon>\n</div>\n", styles: [":host{display:block}:host.disabled .innerAdd:not(.active){opacity:0;pointer-events:none}:host.disabled button,:host.disabled .handle{pointer-events:none;cursor:default;opacity:.5}:host.single .handle,:host.single .index{display:none}:host .entry{position:relative;border:1px solid var(--panel-divider-color);display:grid;padding:calc(var(--app-pane-padding) * .75);-moz-column-gap:calc(var(--app-pane-padding) / 2);column-gap:calc(var(--app-pane-padding) / 2);row-gap:calc(var(--app-pane-padding) / 4);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;grid-template-areas:\"handle index content action\" \"handle index content action\";margin-top:1px}:host .entry .innerAdd{position:absolute;top:-12px;left:calc(50% - 12px);border-radius:2px;color:var(--text-color-caption);cursor:pointer;background-color:var(--panel-background);border:1px solid var(--panel-divider-color);width:20px;height:20px}:host .entry .innerAdd.active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}:host .entry .innerAdd.disabled{display:none}:host .entry .index{grid-area:index;display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-accent);padding:0 calc(var(--app-pane-padding) / 4)}:host .entry .handle{grid-area:handle;color:var(--text-color-caption);align-self:center;cursor:n-resize}:host .entry .content{grid-area:content;text-overflow:ellipsis;overflow:hidden}:host .entry .content ::ng-deep .list-entry .task{word-break:break-all}:host .entry .content ::ng-deep .signer-list-entry .signer-name,:host .entry .content ::ng-deep .signer-list-entry .signer-email,:host .entry .content ::ng-deep .signer-list-entry .signer-phone{word-break:break-all}:host .entry .action{grid-area:action;display:flex;align-items:center}:host .entry .action button{padding:2px}:host .entry .action button eo-icon{width:18px;height:18px}\n"] }]
35
+ }], ctorParameters: function () { return []; }, propDecorators: { index: [{
36
+ type: Input
37
+ }], disableAdd: [{
38
+ type: Input
39
+ }], addTargetIndex: [{
40
+ type: Input
41
+ }], changeEntry: [{
42
+ type: Output
43
+ }], edit: [{
44
+ type: Output
45
+ }], delete: [{
46
+ type: Output
47
+ }], insert: [{
48
+ type: Output
49
+ }], content: [{
50
+ type: ContentChild,
51
+ args: ['content']
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UtbGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9zaWduYXR1cmUtYWN0aW9uL3NlcXVlbmNlLWxpc3QtaXRlbS9zZXF1ZW5jZS1saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvYWN0aW9ucy9hY3Rpb25zL3NpZ25hdHVyZS1hY3Rpb24vc2VxdWVuY2UtbGlzdC1pdGVtL3NlcXVlbmNlLWxpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUMsVUFBVSxFQUFlLE1BQU0sb0JBQW9CLENBQUM7Ozs7O0FBTzVELE1BQU0sT0FBTyx5QkFBeUI7SUFXcEM7UUFWQSxlQUFVLEdBQUcsVUFBVSxDQUFDO1FBRWYsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixtQkFBYyxHQUFXLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUMzRSxTQUFJLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEQsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzFELFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUdyRCxDQUFDO0lBRWhCLE9BQU8sQ0FBQyxLQUFhLEVBQUUsSUFBZ0I7UUFDckMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBRTtRQUN4RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBRTtRQUM1RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FBRTtJQUM5RCxDQUFDOztzSEFsQlUseUJBQXlCOzBHQUF6Qix5QkFBeUIsZ1ZDUnRDLGc4QkFxQkE7MkZEYmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHVCQUF1QjswRUFNeEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNrQixPQUFPO3NCQUEvQixZQUFZO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDaGFuZ2VNb2RlLCBDaGFuZ2VPdXRwdXR9IGZyb20gJy4uL3NpZ25hdHVyZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLXNlcXVlbmNlLWxpc3QtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXF1ZW5jZS1saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZXF1ZW5jZS1saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZUxpc3RJdGVtQ29tcG9uZW50IHtcbiAgY2hhbmdlTW9kZSA9IENoYW5nZU1vZGU7XG4gIEBJbnB1dCgpIGluZGV4OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpc2FibGVBZGQgPSBmYWxzZTtcbiAgQElucHV0KCkgYWRkVGFyZ2V0SW5kZXg6IG51bWJlciA9IG51bGw7XG4gIEBPdXRwdXQoKSBjaGFuZ2VFbnRyeTogRXZlbnRFbWl0dGVyPENoYW5nZU91dHB1dD4gPSBuZXcgRXZlbnRFbWl0dGVyPENoYW5nZU91dHB1dD4oKTtcbiAgQE91dHB1dCgpIGVkaXQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGU6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBPdXRwdXQoKSBpbnNlcnQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBjaGFuZ2VzKGluZGV4OiBudW1iZXIsIG1vZGU6IENoYW5nZU1vZGUpIHtcbiAgICB0aGlzLmNoYW5nZUVudHJ5LmVtaXQoeyBpbmRleCwgbW9kZSB9KTtcbiAgICBpZiAoQ2hhbmdlTW9kZS5FRElUID09PSBtb2RlKSB7IHRoaXMuZWRpdC5lbWl0KGluZGV4KTsgfVxuICAgIGlmIChDaGFuZ2VNb2RlLkRFTEVURSA9PT0gbW9kZSkgeyB0aGlzLmRlbGV0ZS5lbWl0KGluZGV4KTsgfVxuICAgIGlmIChDaGFuZ2VNb2RlLklOU0VSVCA9PT0gbW9kZSkgeyB0aGlzLmluc2VydC5lbWl0KGluZGV4KTsgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZW50cnlcIj5cbiAgPGVvLWljb24gY2xhc3M9XCJoYW5kbGVcIiBjZGtEcmFnSGFuZGxlIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2RyYWcuc3ZnJ1wiPjwvZW8taWNvbj5cbiAgPGRpdiBjbGFzcz1cImluZGV4XCI+XG4gICAgPHNwYW4+e3sgaW5kZXggKyAxIH19PC9zcGFuPjxzcGFuPiZkYXJyOzwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImFjdGlvblwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJlZGl0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjaGFuZ2VzKGluZGV4LCBjaGFuZ2VNb2RlLkVESVQpXCI+XG4gICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY19lZGl0LnN2ZydcIj48L2VvLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInJlbW92ZVwiIHR5cGU9XCJidXR0b25cIiAoY2xpY2spPVwiY2hhbmdlcyhpbmRleCwgY2hhbmdlTW9kZS5ERUxFVEUpXCI+XG4gICAgICA8ZW8taWNvbiBbaWNvblNyY109XCInYXNzZXRzL19kZWZhdWx0L3N2Zy9pY190cmFzaC5zdmcnXCI+PC9lby1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxlby1pY29uIGNsYXNzPVwiaW5uZXJBZGRcIiBbbmdDbGFzc109XCJ7IGFjdGl2ZTogYWRkVGFyZ2V0SW5kZXggPT09IGluZGV4LCBkaXNhYmxlZDogZGlzYWJsZUFkZCB9XCIgW2ljb25TcmNdPVwiJ2Fzc2V0cy9fZGVmYXVsdC9zdmcvaWNfYWRkLnN2ZydcIiAqbmdJZj1cImluZGV4ICE9PSAwXCIgKGNsaWNrKT1cImNoYW5nZXMoaW5kZXgsIGNoYW5nZU1vZGUuSU5TRVJUKVwiPjwvZW8taWNvbj5cbjwvZGl2PlxuIl19