@talrace/ngx-noder 0.0.5 → 0.0.6

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 (46) hide show
  1. package/esm2022/lib/+shared/abstract/base-api.service.mjs +4 -4
  2. package/esm2022/lib/+shared/abstract/observer.component.mjs +4 -4
  3. package/esm2022/lib/+shared/add-link-dialog/add-link-dialog.component.mjs +4 -4
  4. package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +4 -4
  5. package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +4 -4
  6. package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +4 -4
  7. package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +4 -4
  8. package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +4 -4
  9. package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +4 -4
  10. package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +4 -4
  11. package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +4 -4
  12. package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +4 -4
  13. package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +4 -4
  14. package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +4 -4
  15. package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +4 -4
  16. package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +4 -4
  17. package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +4 -4
  18. package/esm2022/lib/+shared/editor/editor.component.mjs +4 -4
  19. package/esm2022/lib/+shared/editor/editor.module.mjs +5 -5
  20. package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +4 -4
  21. package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +4 -4
  22. package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +4 -4
  23. package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +4 -4
  24. package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +5 -5
  25. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +4 -4
  26. package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +5 -5
  27. package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +4 -4
  28. package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +4 -4
  29. package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +5 -5
  30. package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +5 -5
  31. package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +4 -4
  32. package/esm2022/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.mjs +4 -4
  33. package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +5 -5
  34. package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +4 -4
  35. package/esm2022/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.mjs +4 -4
  36. package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +4 -4
  37. package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +4 -4
  38. package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +4 -4
  39. package/esm2022/lib/+shared/services/commands.service.mjs +4 -4
  40. package/esm2022/lib/+shared/services/custom-icon.service.mjs +4 -4
  41. package/fesm2022/talrace-ngx-noder.mjs +126 -126
  42. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  43. package/package.json +1 -1
  44. package/src/lib/+shared/editor-toolbar/_theme.scss +2 -0
  45. package/src/lib/+shared/editor-toolbar/font/_font.theme.scss +12 -0
  46. package/src/lib/+shared/editor-toolbar/menu-dropdowns/_menu-dropdowns.theme.scss +4 -0
@@ -52,10 +52,10 @@ export class TableOverlayMenuComponent {
52
52
  this.editorService.removeTableColumns(this.tableInsertIndex, this.selectionRange.cellIndexes.startIndex, this.selectionRange.cellIndexes.endIndex, this.sessionId);
53
53
  this.overlayService.close();
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TableOverlayMenuComponent, deps: [{ token: i1.EditorService }, { token: i2.OverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: TableOverlayMenuComponent, selector: "app-table-overlay-menu", inputs: { selectionRange: "selectionRange", targets: "targets", canRemoveRows: "canRemoveRows", canRemoveColumns: "canRemoveColumns", tableInsertIndex: "tableInsertIndex", sessionId: "sessionId" }, ngImport: i0, template: "<div\n class=\"menu-item\"\n (click)=\"onInsertRowsAbove()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertRowsAboveMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertRowsBelow()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertRowsBelowMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertColumnsLeft()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertColumnsLeftMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertColumnsRight()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertColumnsRightMessage }}\n</div>\n<ng-container *ngIf=\"canRemoveRows || canRemoveColumns\">\n <div class=\"menu-separator\">\n <div class=\"menu-separator-top\"></div>\n <div class=\"menu-separator-bottom\"></div>\n </div>\n <div\n *ngIf=\"canRemoveRows\"\n class=\"menu-item\"\n (click)=\"onRemoveRows()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-delete\"></mat-icon>\n {{ removeMessages.removeRowsMessage }}\n </div>\n <div\n *ngIf=\"canRemoveColumns\"\n class=\"menu-item\"\n (click)=\"onRemoveColumns()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-delete\"></mat-icon>\n {{ removeMessages.removeColumnsMessage }}\n </div>\n</ng-container>\n", styles: [":host{position:absolute;border:1px solid transparent;border-radius:4px;box-shadow:0 2px 6px 2px #3c404326;overflow-y:auto;background:#fff;cursor:default;font-size:13px;margin:0;padding:6px 0}.menu-item{display:flex;flex-direction:row;align-items:center;cursor:pointer;min-height:20px;color:#202124;font-size:16px;letter-spacing:.2px;line-height:20px;padding:6px}.menu-item:hover{background-color:#0000001a}.mat-icon{margin-right:6px;width:20px;height:20px;font-size:20px}.menu-separator{-webkit-user-select:none;user-select:none}.menu-separator .menu-separator-top{padding:4px}.menu-separator .menu-separator-bottom{border-top:1px solid #dadce0;padding:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableOverlayMenuComponent, deps: [{ token: i1.EditorService }, { token: i2.OverlayService }], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TableOverlayMenuComponent, selector: "app-table-overlay-menu", inputs: { selectionRange: "selectionRange", targets: "targets", canRemoveRows: "canRemoveRows", canRemoveColumns: "canRemoveColumns", tableInsertIndex: "tableInsertIndex", sessionId: "sessionId" }, ngImport: i0, template: "<div\n class=\"menu-item\"\n (click)=\"onInsertRowsAbove()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertRowsAboveMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertRowsBelow()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertRowsBelowMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertColumnsLeft()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertColumnsLeftMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertColumnsRight()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertColumnsRightMessage }}\n</div>\n<ng-container *ngIf=\"canRemoveRows || canRemoveColumns\">\n <div class=\"menu-separator\">\n <div class=\"menu-separator-top\"></div>\n <div class=\"menu-separator-bottom\"></div>\n </div>\n <div\n *ngIf=\"canRemoveRows\"\n class=\"menu-item\"\n (click)=\"onRemoveRows()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-delete\"></mat-icon>\n {{ removeMessages.removeRowsMessage }}\n </div>\n <div\n *ngIf=\"canRemoveColumns\"\n class=\"menu-item\"\n (click)=\"onRemoveColumns()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-delete\"></mat-icon>\n {{ removeMessages.removeColumnsMessage }}\n </div>\n</ng-container>\n", styles: [":host{position:absolute;border:1px solid transparent;border-radius:4px;box-shadow:0 2px 6px 2px #3c404326;overflow-y:auto;background:#fff;cursor:default;font-size:13px;margin:0;padding:6px 0}.menu-item{display:flex;flex-direction:row;align-items:center;cursor:pointer;min-height:20px;color:#202124;font-size:16px;letter-spacing:.2px;line-height:20px;padding:6px}.menu-item:hover{background-color:#0000001a}.mat-icon{margin-right:6px;width:20px;height:20px;font-size:20px}.menu-separator{-webkit-user-select:none;user-select:none}.menu-separator .menu-separator-top{padding:4px}.menu-separator .menu-separator-bottom{border-top:1px solid #dadce0;padding:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: TableOverlayMenuComponent, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TableOverlayMenuComponent, decorators: [{
59
59
  type: Component,
60
60
  args: [{ selector: 'app-table-overlay-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"menu-item\"\n (click)=\"onInsertRowsAbove()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertRowsAboveMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertRowsBelow()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertRowsBelowMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertColumnsLeft()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertColumnsLeftMessage }}\n</div>\n<div\n class=\"menu-item\"\n (click)=\"onInsertColumnsRight()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n {{ insertMessages.insertColumnsRightMessage }}\n</div>\n<ng-container *ngIf=\"canRemoveRows || canRemoveColumns\">\n <div class=\"menu-separator\">\n <div class=\"menu-separator-top\"></div>\n <div class=\"menu-separator-bottom\"></div>\n </div>\n <div\n *ngIf=\"canRemoveRows\"\n class=\"menu-item\"\n (click)=\"onRemoveRows()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-delete\"></mat-icon>\n {{ removeMessages.removeRowsMessage }}\n </div>\n <div\n *ngIf=\"canRemoveColumns\"\n class=\"menu-item\"\n (click)=\"onRemoveColumns()\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-delete\"></mat-icon>\n {{ removeMessages.removeColumnsMessage }}\n </div>\n</ng-container>\n", styles: [":host{position:absolute;border:1px solid transparent;border-radius:4px;box-shadow:0 2px 6px 2px #3c404326;overflow-y:auto;background:#fff;cursor:default;font-size:13px;margin:0;padding:6px 0}.menu-item{display:flex;flex-direction:row;align-items:center;cursor:pointer;min-height:20px;color:#202124;font-size:16px;letter-spacing:.2px;line-height:20px;padding:6px}.menu-item:hover{background-color:#0000001a}.mat-icon{margin-right:6px;width:20px;height:20px;font-size:20px}.menu-separator{-webkit-user-select:none;user-select:none}.menu-separator .menu-separator-top{padding:4px}.menu-separator .menu-separator-bottom{border-top:1px solid #dadce0;padding:4px}\n"] }]
61
61
  }], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.OverlayService }], propDecorators: { selectionRange: [{
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
71
71
  }], sessionId: [{
72
72
  type: Input
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2N1c3RvbS1jb21wb25lbnRzL3RhYmxlL292ZXJsYXktbWVudS9vdmVybGF5LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3IvY3VzdG9tLWNvbXBvbmVudHMvdGFibGUvb3ZlcmxheS1tZW51L292ZXJsYXktbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWTFFLE1BQU0sT0FBTyx5QkFBeUI7SUE2QmxDLFlBQW9CLGFBQTRCLEVBQVUsY0FBOEI7UUFBcEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRTVGLFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDakgsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3RILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENB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QyxXQUFXLENBQUMsVUFBVSxFQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQ3hDLElBQUksQ0FBQyxTQUFTLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7OEdBbEhRLHlCQUF5QjtrR0FBekIseUJBQXlCLG9RQ1p0QywybURBd0RBOzsyRkQ1Q2EseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTsrR0FHdEMsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZWN0aW9uUmFuZ2VNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZWxlY3Rpb24tcmFuZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10YWJsZS1vdmVybGF5LW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vdmVybGF5LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL292ZXJsYXktbWVudS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlT3ZlcmxheU1lbnVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNlbGVjdGlvblJhbmdlOiBTZWxlY3Rpb25SYW5nZU1vZGVsO1xuXG4gICAgQElucHV0KCkgdGFyZ2V0czogU2VsZWN0aW9uUmFuZ2VNb2RlbDtcblxuICAgIEBJbnB1dCgpIGNhblJlbW92ZVJvd3M6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBjYW5SZW1vdmVDb2x1bW5zOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgdGFibGVJbnNlcnRJbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgc2Vzc2lvbklkOiBudW1iZXI7XG5cbiAgICBzZWxlY3RlZFJvd3NDb3VudDogbnVtYmVyO1xuXG4gICAgc2VsZWN0ZWRDb2x1bW5zQ291bnQ6IG51bWJlcjtcblxuICAgIGluc2VydE1lc3NhZ2VzOiB7XG4gICAgICAgIGluc2VydFJvd3NBYm92ZU1lc3NhZ2U6IHN0cmluZztcbiAgICAgICAgaW5zZXJ0Um93c0JlbG93TWVzc2FnZTogc3RyaW5nO1xuICAgICAgICBpbnNlcnRDb2x1bW5zTGVmdE1lc3NhZ2U6IHN0cmluZztcbiAgICAgICAgaW5zZXJ0Q29sdW1uc1JpZ2h0TWVzc2FnZTogc3RyaW5nO1xuICAgIH07XG5cbiAgICByZW1vdmVNZXNzYWdlczoge1xuICAgICAgICByZW1vdmVSb3dzTWVzc2FnZTogc3RyaW5nO1xuICAgICAgICByZW1vdmVDb2x1bW5zTWVzc2FnZTogc3RyaW5nO1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQgPSB0aGlzLnNlbGVjdGlvblJhbmdlLnJvd0luZGV4ZXMuZW5kSW5kZXggLSB0aGlzLnNlbGVjdGlvblJhbmdlLnJvd0luZGV4ZXMuc3RhcnRJbmRleCArIDE7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQgPSB0aGlzLnNlbGVjdGlvblJhbmdlLmNlbGxJbmRleGVzLmVuZEluZGV4IC0gdGhpcy5zZWxlY3Rpb25SYW5nZS5jZWxsSW5kZXhlcy5zdGFydEluZGV4ICsgMTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zZXJ0TWVudUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0luc2VydE1lbnVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgcm93c1N1ZmZpeCA9IHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQgPiAxID8gYCR7dGhpcy5zZWxlY3RlZFJvd3NDb3VudH0gcm93c2AgOiAncm93JztcbiAgICAgICAgY29uc3QgY29sdW1uc1N1ZmZpeCA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQgPiAxID8gYCR7dGhpcy5zZWxlY3RlZENvbHVtbnNDb3VudH0gY29sdW1uc2AgOiAnY29sdW1uJztcbiAgICAgICAgdGhpcy5pbnNlcnRNZXNzYWdlcyA9IHtcbiAgICAgICAgICAgIGluc2VydFJvd3NBYm92ZU1lc3NhZ2U6IGBJbnNlcnQgJHtyb3dzU3VmZml4fSBhYm92ZWAsXG4gICAgICAgICAgICBpbnNlcnRSb3dzQmVsb3dNZXNzYWdlOiBgSW5zZXJ0ICR7cm93c1N1ZmZpeH0gYmVsb3dgLFxuICAgICAgICAgICAgaW5zZXJ0Q29sdW1uc0xlZnRNZXNzYWdlOiBgSW5zZXJ0ICR7Y29sdW1uc1N1ZmZpeH0gdG8gdGhlIGxlZnRgLFxuICAgICAgICAgICAgaW5zZXJ0Q29sdW1uc1JpZ2h0TWVzc2FnZTogYEluc2VydCAke2NvbHVtbnNTdWZmaXh9IHRvIHRoZSByaWdodGBcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yZW1vdmVNZXNzYWdlcyA9IHtcbiAgICAgICAgICAgIHJlbW92ZVJvd3NNZXNzYWdlOiBgUmVtb3ZlICR7cm93c1N1ZmZpeH1gLFxuICAgICAgICAgICAgcmVtb3ZlQ29sdW1uc01lc3NhZ2U6IGBSZW1vdmUgJHtjb2x1bW5zU3VmZml4fWBcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbkluc2VydFJvd3NBYm92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmluc2VydFRhYmxlUm93cyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQsXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMucm93SW5kZXhlcy5zdGFydEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25SYW5nZS5yb3dJbmRleGVzLnN0YXJ0SW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25JbnNlcnRSb3dzQmVsb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5pbnNlcnRUYWJsZVJvd3MoXG4gICAgICAgICAgICB0aGlzLnRhYmxlSW5zZXJ0SW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUm93c0NvdW50LFxuICAgICAgICAgICAgdGhpcy50YXJnZXRzLnJvd0luZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblJhbmdlLnJvd0luZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25JbnNlcnRDb2x1bW5zTGVmdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmluc2VydFRhYmxlQ29sdW1ucyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQsXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMuY2VsbEluZGV4ZXMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2UuY2VsbEluZGV4ZXMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklkXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkluc2VydENvbHVtbnNSaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmluc2VydFRhYmxlQ29sdW1ucyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQsXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMuY2VsbEluZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblJhbmdlLmNlbGxJbmRleGVzLmVuZEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbW92ZVRhYmxlUm93cyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2Uucm93SW5kZXhlcy5zdGFydEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25SYW5nZS5yb3dJbmRleGVzLmVuZEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbW92ZVRhYmxlQ29sdW1ucyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2UuY2VsbEluZGV4ZXMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2UuY2VsbEluZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibWVudS1pdGVtXCJcbiAgICAoY2xpY2spPVwib25JbnNlcnRSb3dzQWJvdmUoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuICAgIHt7IGluc2VydE1lc3NhZ2VzLmluc2VydFJvd3NBYm92ZU1lc3NhZ2UgfX1cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwibWVudS1pdGVtXCJcbiAgICAoY2xpY2spPVwib25JbnNlcnRSb3dzQmVsb3coKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuICAgIHt7IGluc2VydE1lc3NhZ2VzLmluc2VydFJvd3NCZWxvd01lc3NhZ2UgfX1cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwibWVudS1pdGVtXCJcbiAgICAoY2xpY2spPVwib25JbnNlcnRDb2x1bW5zTGVmdCgpXCI+XG4gICAgPG1hdC1pY29uXG4gICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgZm9udEljb249XCJpY29uLWFkZFwiPjwvbWF0LWljb24+XG4gICAge3sgaW5zZXJ0TWVzc2FnZXMuaW5zZXJ0Q29sdW1uc0xlZnRNZXNzYWdlIH19XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cIm1lbnUtaXRlbVwiXG4gICAgKGNsaWNrKT1cIm9uSW5zZXJ0Q29sdW1uc1JpZ2h0KClcIj5cbiAgICA8bWF0LWljb25cbiAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICBmb250SWNvbj1cImljb24tYWRkXCI+PC9tYXQtaWNvbj5cbiAgICB7eyBpbnNlcnRNZXNzYWdlcy5pbnNlcnRDb2x1bW5zUmlnaHRNZXNzYWdlIH19XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5SZW1vdmVSb3dzIHx8IGNhblJlbW92ZUNvbHVtbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtc2VwYXJhdG9yLXRvcFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1zZXBhcmF0b3ItYm90dG9tXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImNhblJlbW92ZVJvd3NcIlxuICAgICAgICBjbGFzcz1cIm1lbnUtaXRlbVwiXG4gICAgICAgIChjbGljayk9XCJvblJlbW92ZVJvd3MoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kZWxldGVcIj48L21hdC1pY29uPlxuICAgICAgICB7eyByZW1vdmVNZXNzYWdlcy5yZW1vdmVSb3dzTWVzc2FnZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJjYW5SZW1vdmVDb2x1bW5zXCJcbiAgICAgICAgY2xhc3M9XCJtZW51LWl0ZW1cIlxuICAgICAgICAoY2xpY2spPVwib25SZW1vdmVDb2x1bW5zKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZGVsZXRlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAge3sgcmVtb3ZlTWVzc2FnZXMucmVtb3ZlQ29sdW1uc01lc3NhZ2UgfX1cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2N1c3RvbS1jb21wb25lbnRzL3RhYmxlL292ZXJsYXktbWVudS9vdmVybGF5LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvK3NoYXJlZC9lZGl0b3IvY3VzdG9tLWNvbXBvbmVudHMvdGFibGUvb3ZlcmxheS1tZW51L292ZXJsYXktbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWTFFLE1BQU0sT0FBTyx5QkFBeUI7SUE2QmxDLFlBQW9CLGFBQTRCLEVBQVUsY0FBOEI7UUFBcEUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBRyxDQUFDO0lBRTVGLFFBQVE7UUFDSixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDakgsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ3RILElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLENB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QyxXQUFXLENBQUMsVUFBVSxFQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQ3hDLElBQUksQ0FBQyxTQUFTLENBQ2pCLENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7K0dBbEhRLHlCQUF5QjttR0FBekIseUJBQXlCLG9RQ1p0QywybURBd0RBOzs0RkQ1Q2EseUJBQXlCO2tCQU5yQyxTQUFTOytCQUNJLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTsrR0FHdEMsY0FBYztzQkFBdEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsYUFBYTtzQkFBckIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZWN0aW9uUmFuZ2VNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zZWxlY3Rpb24tcmFuZ2UubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC10YWJsZS1vdmVybGF5LW1lbnUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9vdmVybGF5LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL292ZXJsYXktbWVudS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRhYmxlT3ZlcmxheU1lbnVDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHNlbGVjdGlvblJhbmdlOiBTZWxlY3Rpb25SYW5nZU1vZGVsO1xuXG4gICAgQElucHV0KCkgdGFyZ2V0czogU2VsZWN0aW9uUmFuZ2VNb2RlbDtcblxuICAgIEBJbnB1dCgpIGNhblJlbW92ZVJvd3M6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBjYW5SZW1vdmVDb2x1bW5zOiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgdGFibGVJbnNlcnRJbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgc2Vzc2lvbklkOiBudW1iZXI7XG5cbiAgICBzZWxlY3RlZFJvd3NDb3VudDogbnVtYmVyO1xuXG4gICAgc2VsZWN0ZWRDb2x1bW5zQ291bnQ6IG51bWJlcjtcblxuICAgIGluc2VydE1lc3NhZ2VzOiB7XG4gICAgICAgIGluc2VydFJvd3NBYm92ZU1lc3NhZ2U6IHN0cmluZztcbiAgICAgICAgaW5zZXJ0Um93c0JlbG93TWVzc2FnZTogc3RyaW5nO1xuICAgICAgICBpbnNlcnRDb2x1bW5zTGVmdE1lc3NhZ2U6IHN0cmluZztcbiAgICAgICAgaW5zZXJ0Q29sdW1uc1JpZ2h0TWVzc2FnZTogc3RyaW5nO1xuICAgIH07XG5cbiAgICByZW1vdmVNZXNzYWdlczoge1xuICAgICAgICByZW1vdmVSb3dzTWVzc2FnZTogc3RyaW5nO1xuICAgICAgICByZW1vdmVDb2x1bW5zTWVzc2FnZTogc3RyaW5nO1xuICAgIH07XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UsIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQgPSB0aGlzLnNlbGVjdGlvblJhbmdlLnJvd0luZGV4ZXMuZW5kSW5kZXggLSB0aGlzLnNlbGVjdGlvblJhbmdlLnJvd0luZGV4ZXMuc3RhcnRJbmRleCArIDE7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQgPSB0aGlzLnNlbGVjdGlvblJhbmdlLmNlbGxJbmRleGVzLmVuZEluZGV4IC0gdGhpcy5zZWxlY3Rpb25SYW5nZS5jZWxsSW5kZXhlcy5zdGFydEluZGV4ICsgMTtcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5zZXJ0TWVudUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJvY2Vzc0luc2VydE1lbnVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgcm93c1N1ZmZpeCA9IHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQgPiAxID8gYCR7dGhpcy5zZWxlY3RlZFJvd3NDb3VudH0gcm93c2AgOiAncm93JztcbiAgICAgICAgY29uc3QgY29sdW1uc1N1ZmZpeCA9IHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQgPiAxID8gYCR7dGhpcy5zZWxlY3RlZENvbHVtbnNDb3VudH0gY29sdW1uc2AgOiAnY29sdW1uJztcbiAgICAgICAgdGhpcy5pbnNlcnRNZXNzYWdlcyA9IHtcbiAgICAgICAgICAgIGluc2VydFJvd3NBYm92ZU1lc3NhZ2U6IGBJbnNlcnQgJHtyb3dzU3VmZml4fSBhYm92ZWAsXG4gICAgICAgICAgICBpbnNlcnRSb3dzQmVsb3dNZXNzYWdlOiBgSW5zZXJ0ICR7cm93c1N1ZmZpeH0gYmVsb3dgLFxuICAgICAgICAgICAgaW5zZXJ0Q29sdW1uc0xlZnRNZXNzYWdlOiBgSW5zZXJ0ICR7Y29sdW1uc1N1ZmZpeH0gdG8gdGhlIGxlZnRgLFxuICAgICAgICAgICAgaW5zZXJ0Q29sdW1uc1JpZ2h0TWVzc2FnZTogYEluc2VydCAke2NvbHVtbnNTdWZmaXh9IHRvIHRoZSByaWdodGBcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5yZW1vdmVNZXNzYWdlcyA9IHtcbiAgICAgICAgICAgIHJlbW92ZVJvd3NNZXNzYWdlOiBgUmVtb3ZlICR7cm93c1N1ZmZpeH1gLFxuICAgICAgICAgICAgcmVtb3ZlQ29sdW1uc01lc3NhZ2U6IGBSZW1vdmUgJHtjb2x1bW5zU3VmZml4fWBcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbkluc2VydFJvd3NBYm92ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmluc2VydFRhYmxlUm93cyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzQ291bnQsXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMucm93SW5kZXhlcy5zdGFydEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25SYW5nZS5yb3dJbmRleGVzLnN0YXJ0SW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25JbnNlcnRSb3dzQmVsb3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5pbnNlcnRUYWJsZVJvd3MoXG4gICAgICAgICAgICB0aGlzLnRhYmxlSW5zZXJ0SW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkUm93c0NvdW50LFxuICAgICAgICAgICAgdGhpcy50YXJnZXRzLnJvd0luZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblJhbmdlLnJvd0luZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25JbnNlcnRDb2x1bW5zTGVmdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmluc2VydFRhYmxlQ29sdW1ucyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQsXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMuY2VsbEluZGV4ZXMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2UuY2VsbEluZGV4ZXMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbklkXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkluc2VydENvbHVtbnNSaWdodCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmluc2VydFRhYmxlQ29sdW1ucyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb2x1bW5zQ291bnQsXG4gICAgICAgICAgICB0aGlzLnRhcmdldHMuY2VsbEluZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvblJhbmdlLmNlbGxJbmRleGVzLmVuZEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbW92ZVRhYmxlUm93cyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2Uucm93SW5kZXhlcy5zdGFydEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25SYW5nZS5yb3dJbmRleGVzLmVuZEluZGV4LFxuICAgICAgICAgICAgdGhpcy5zZXNzaW9uSWRcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5vdmVybGF5U2VydmljZS5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uUmVtb3ZlQ29sdW1ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbW92ZVRhYmxlQ29sdW1ucyhcbiAgICAgICAgICAgIHRoaXMudGFibGVJbnNlcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2UuY2VsbEluZGV4ZXMuc3RhcnRJbmRleCxcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uUmFuZ2UuY2VsbEluZGV4ZXMuZW5kSW5kZXgsXG4gICAgICAgICAgICB0aGlzLnNlc3Npb25JZFxuICAgICAgICApO1xuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibWVudS1pdGVtXCJcbiAgICAoY2xpY2spPVwib25JbnNlcnRSb3dzQWJvdmUoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuICAgIHt7IGluc2VydE1lc3NhZ2VzLmluc2VydFJvd3NBYm92ZU1lc3NhZ2UgfX1cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwibWVudS1pdGVtXCJcbiAgICAoY2xpY2spPVwib25JbnNlcnRSb3dzQmVsb3coKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuICAgIHt7IGluc2VydE1lc3NhZ2VzLmluc2VydFJvd3NCZWxvd01lc3NhZ2UgfX1cbjwvZGl2PlxuPGRpdlxuICAgIGNsYXNzPVwibWVudS1pdGVtXCJcbiAgICAoY2xpY2spPVwib25JbnNlcnRDb2x1bW5zTGVmdCgpXCI+XG4gICAgPG1hdC1pY29uXG4gICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgZm9udEljb249XCJpY29uLWFkZFwiPjwvbWF0LWljb24+XG4gICAge3sgaW5zZXJ0TWVzc2FnZXMuaW5zZXJ0Q29sdW1uc0xlZnRNZXNzYWdlIH19XG48L2Rpdj5cbjxkaXZcbiAgICBjbGFzcz1cIm1lbnUtaXRlbVwiXG4gICAgKGNsaWNrKT1cIm9uSW5zZXJ0Q29sdW1uc1JpZ2h0KClcIj5cbiAgICA8bWF0LWljb25cbiAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICBmb250SWNvbj1cImljb24tYWRkXCI+PC9tYXQtaWNvbj5cbiAgICB7eyBpbnNlcnRNZXNzYWdlcy5pbnNlcnRDb2x1bW5zUmlnaHRNZXNzYWdlIH19XG48L2Rpdj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5SZW1vdmVSb3dzIHx8IGNhblJlbW92ZUNvbHVtbnNcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWVudS1zZXBhcmF0b3JcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtc2VwYXJhdG9yLXRvcFwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1zZXBhcmF0b3ItYm90dG9tXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgICAqbmdJZj1cImNhblJlbW92ZVJvd3NcIlxuICAgICAgICBjbGFzcz1cIm1lbnUtaXRlbVwiXG4gICAgICAgIChjbGljayk9XCJvblJlbW92ZVJvd3MoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJuYy1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kZWxldGVcIj48L21hdC1pY29uPlxuICAgICAgICB7eyByZW1vdmVNZXNzYWdlcy5yZW1vdmVSb3dzTWVzc2FnZSB9fVxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJjYW5SZW1vdmVDb2x1bW5zXCJcbiAgICAgICAgY2xhc3M9XCJtZW51LWl0ZW1cIlxuICAgICAgICAoY2xpY2spPVwib25SZW1vdmVDb2x1bW5zKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZGVsZXRlXCI+PC9tYXQtaWNvbj5cbiAgICAgICAge3sgcmVtb3ZlTWVzc2FnZXMucmVtb3ZlQ29sdW1uc01lc3NhZ2UgfX1cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -72,10 +72,10 @@ export class EditorComponent {
72
72
  this.cdr.markForCheck();
73
73
  });
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ComponentService }, { token: i2.EditorService }, { token: i0.Injector }, { token: i3.RegulatorService }, { token: i4.CommandsService }, { token: i5.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: EditorComponent, selector: "app-editor", inputs: { customPageWidth: "customPageWidth", content: "content" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "sidenavContainer", first: true, predicate: ["drawerContainer"], descendants: true, static: true }, { propertyName: "sidenav", first: true, predicate: ["drawer"], descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n class=\"sidenav-container\"\n [hasBackdrop]=\"sidenavProperties.hasBackdrop\">\n <mat-drawer-content>\n <div class=\"container\">\n <div\n #container\n class=\"edit-container\"></div>\n </div>\n </mat-drawer-content>\n <mat-drawer\n #drawer\n [autoFocus]=\"sidenavProperties.autoFocus\"\n [position]=\"sidenavProperties.position\"\n [mode]=\"sidenavProperties.mode\">\n <div\n #drawerContainer\n class=\"drawer-container\"></div>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{flex:1;display:flex;position:relative}.sidenav-container{width:100%}.container{height:100%;display:flex;justify-content:center}:host::ng-deep .ace-editor{position:relative;line-height:1;font-size:12pt;font-family:Courier New,Courier,monospace;text-align:left;width:100%;height:100%}:host::ng-deep .ace-scroller{position:absolute;overflow:hidden;top:0;bottom:0;-webkit-user-select:none;user-select:none;cursor:text}:host::ng-deep .ace-scrollbar{overflow:hidden scroll;contain:strict;position:absolute;right:0;bottom:0;z-index:6;top:0}:host::ng-deep .ace-scrollbar-inner{position:absolute;cursor:text;left:0;top:0}:host::ng-deep .ace-text-input{position:absolute;z-index:0;width:.5em;height:1em;opacity:0;background:transparent;appearance:none;border:none;resize:none;overflow:hidden;font:inherit;padding:0 1px;margin:0 -1px;contain:strict;-webkit-user-select:text;user-select:text}:host::ng-deep .ace-layer{z-index:1;position:absolute;word-wrap:normal;white-space:pre;height:100%;width:100%;box-sizing:border-box;pointer-events:none}:host::ng-deep .ace-text-layer{font:inherit!important;position:absolute;contain:style size layout;pointer-events:auto}:host::ng-deep .ace-edges-layer{z-index:2}:host::ng-deep .ace-line{display:flex;align-items:baseline;line-height:normal}:host::ng-deep .ace-line .hyperlink-hover{cursor:pointer}:host::ng-deep .ace-line>*{display:inline-block;font-kerning:none}:host::ng-deep .ace-line>*.paragraph-symbol{align-self:flex-end}:host::ng-deep .ace-content{position:inherit;box-sizing:border-box;min-width:100%;contain:style size layout;inset:0}:host::ng-deep .ace-line-group{display:inline-flex}:host::ng-deep .ace-line-group .lines-container{width:100%}:host::ng-deep .ace-line-group .numberingMarker{display:inline-flex}:host::ng-deep .ace-line-group .numberingMarker span{align-self:end}:host::ng-deep .ace-text-layer>.ace-line,:host::ng-deep .ace-text-layer>.ace-line-group,:host::ng-deep .ace-edges-layer>.ace-line,:host::ng-deep .ace-edges-layer>.ace-line-group{contain:style size layout;position:absolute;top:0;left:0;right:0}:host::ng-deep .ace-text-layer>.ace-line-group:has(.focused){z-index:1}:host::ng-deep .ace-line-group:has(.lines-container>.ace-line:first-child>span:not(:empty)){align-items:baseline}:host::ng-deep .ace-cursor-layer{z-index:4}:host::ng-deep .ace-cursor-layer.selecting{display:none}:host::ng-deep .ace-cursor{z-index:4;position:absolute;box-sizing:border-box;border-left:2px solid;transform:translateZ(0)}:host::ng-deep .ace-hidden-cursors .ace-cursor{opacity:0}:host::ng-deep .ace-hidden-cursors{visibility:hidden}:host::ng-deep .ace-animate-blinking .ace-cursor{animation-duration:1s;animation-timing-function:step-end;animation-name:blink-ace-animate;animation-iteration-count:infinite}:host::ng-deep .ace-animate-blinking.ace-smooth-blinking .ace-cursor{animation-duration:1s;animation-timing-function:ease-in-out;animation-name:blink-ace-animate-smooth}@keyframes blink-ace-animate{0%,to{opacity:1}60%{opacity:0}}@keyframes blink-ace-animate-smooth{0%,to{opacity:1}45%{opacity:1}60%{opacity:0}85%{opacity:0}}:host::ng-deep .ace-selection-layer .ace-selection{position:absolute;z-index:5}:host::ng-deep .ace-selection-layer.text-selection .ace-selection{background-color:#5ea8f766}:host::ng-deep .ace-selection-layer.notes-highlight .ace-selection{background:#ff06}:host::ng-deep .ace-underline{text-decoration:underline}:host::ng-deep .ace-bold{font-weight:700}:host::ng-deep .ace-italic{font-style:italic}:host::ng-deep .page{width:100%;position:absolute}:host::ng-deep .page-label{position:absolute;top:40px;right:96px;font-family:Courier New,Courier,monospace;font-size:16px;line-height:1}:host::ng-deep .font-baseline{visibility:hidden;height:500px}:host::ng-deep .font-baseline span:after{content:\"\";height:100%;display:inline-block}:host::ng-deep .ruler-line{position:absolute;top:0;bottom:0;width:0;border-left:1px solid rgba(0,0,0,.4);opacity:.5;display:none;z-index:1}:host::ng-deep .ruler-line.visible{display:block}:host::ng-deep .drawer-container .mat-button-toggle-button{height:48px;border-radius:4px}:host::ng-deep .drawer-container .mat-button-toggle-checked button{height:48px;border-radius:4px}\n"], dependencies: [{ kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ComponentService }, { token: i2.EditorService }, { token: i0.Injector }, { token: i3.RegulatorService }, { token: i4.CommandsService }, { token: i5.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditorComponent, selector: "app-editor", inputs: { customPageWidth: "customPageWidth", content: "content" }, host: { properties: { "class": "this.class" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "sidenavContainer", first: true, predicate: ["drawerContainer"], descendants: true, static: true }, { propertyName: "sidenav", first: true, predicate: ["drawer"], descendants: true, static: true }], ngImport: i0, template: "<mat-drawer-container\n class=\"sidenav-container\"\n [hasBackdrop]=\"sidenavProperties.hasBackdrop\">\n <mat-drawer-content>\n <div class=\"container\">\n <div\n #container\n class=\"edit-container\"></div>\n </div>\n </mat-drawer-content>\n <mat-drawer\n #drawer\n [autoFocus]=\"sidenavProperties.autoFocus\"\n [position]=\"sidenavProperties.position\"\n [mode]=\"sidenavProperties.mode\">\n <div\n #drawerContainer\n class=\"drawer-container\"></div>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{flex:1;display:flex;position:relative}.sidenav-container{width:100%}.container{height:100%;display:flex;justify-content:center}:host::ng-deep .ace-editor{position:relative;line-height:1;font-size:12pt;font-family:Courier New,Courier,monospace;text-align:left;width:100%;height:100%}:host::ng-deep .ace-scroller{position:absolute;overflow:hidden;top:0;bottom:0;-webkit-user-select:none;user-select:none;cursor:text}:host::ng-deep .ace-scrollbar{overflow:hidden scroll;contain:strict;position:absolute;right:0;bottom:0;z-index:6;top:0}:host::ng-deep .ace-scrollbar-inner{position:absolute;cursor:text;left:0;top:0}:host::ng-deep .ace-text-input{position:absolute;z-index:0;width:.5em;height:1em;opacity:0;background:transparent;appearance:none;border:none;resize:none;overflow:hidden;font:inherit;padding:0 1px;margin:0 -1px;contain:strict;-webkit-user-select:text;user-select:text}:host::ng-deep .ace-layer{z-index:1;position:absolute;word-wrap:normal;white-space:pre;height:100%;width:100%;box-sizing:border-box;pointer-events:none}:host::ng-deep .ace-text-layer{font:inherit!important;position:absolute;contain:style size layout;pointer-events:auto}:host::ng-deep .ace-edges-layer{z-index:2}:host::ng-deep .ace-line{display:flex;align-items:baseline;line-height:normal}:host::ng-deep .ace-line .hyperlink-hover{cursor:pointer}:host::ng-deep .ace-line>*{display:inline-block;font-kerning:none}:host::ng-deep .ace-line>*.paragraph-symbol{align-self:flex-end}:host::ng-deep .ace-content{position:inherit;box-sizing:border-box;min-width:100%;contain:style size layout;inset:0}:host::ng-deep .ace-line-group{display:inline-flex}:host::ng-deep .ace-line-group .lines-container{width:100%}:host::ng-deep .ace-line-group .numberingMarker{display:inline-flex}:host::ng-deep .ace-line-group .numberingMarker span{align-self:end}:host::ng-deep .ace-text-layer>.ace-line,:host::ng-deep .ace-text-layer>.ace-line-group,:host::ng-deep .ace-edges-layer>.ace-line,:host::ng-deep .ace-edges-layer>.ace-line-group{contain:style size layout;position:absolute;top:0;left:0;right:0}:host::ng-deep .ace-text-layer>.ace-line-group:has(.focused){z-index:1}:host::ng-deep .ace-line-group:has(.lines-container>.ace-line:first-child>span:not(:empty)){align-items:baseline}:host::ng-deep .ace-cursor-layer{z-index:4}:host::ng-deep .ace-cursor-layer.selecting{display:none}:host::ng-deep .ace-cursor{z-index:4;position:absolute;box-sizing:border-box;border-left:2px solid;transform:translateZ(0)}:host::ng-deep .ace-hidden-cursors .ace-cursor{opacity:0}:host::ng-deep .ace-hidden-cursors{visibility:hidden}:host::ng-deep .ace-animate-blinking .ace-cursor{animation-duration:1s;animation-timing-function:step-end;animation-name:blink-ace-animate;animation-iteration-count:infinite}:host::ng-deep .ace-animate-blinking.ace-smooth-blinking .ace-cursor{animation-duration:1s;animation-timing-function:ease-in-out;animation-name:blink-ace-animate-smooth}@keyframes blink-ace-animate{0%,to{opacity:1}60%{opacity:0}}@keyframes blink-ace-animate-smooth{0%,to{opacity:1}45%{opacity:1}60%{opacity:0}85%{opacity:0}}:host::ng-deep .ace-selection-layer .ace-selection{position:absolute;z-index:5}:host::ng-deep .ace-selection-layer.text-selection .ace-selection{background-color:#5ea8f766}:host::ng-deep .ace-selection-layer.notes-highlight .ace-selection{background:#ff06}:host::ng-deep .ace-underline{text-decoration:underline}:host::ng-deep .ace-bold{font-weight:700}:host::ng-deep .ace-italic{font-style:italic}:host::ng-deep .page{width:100%;position:absolute}:host::ng-deep .page-label{position:absolute;top:40px;right:96px;font-family:Courier New,Courier,monospace;font-size:16px;line-height:1}:host::ng-deep .font-baseline{visibility:hidden;height:500px}:host::ng-deep .font-baseline span:after{content:\"\";height:100%;display:inline-block}:host::ng-deep .ruler-line{position:absolute;top:0;bottom:0;width:0;border-left:1px solid rgba(0,0,0,.4);opacity:.5;display:none;z-index:1}:host::ng-deep .ruler-line.visible{display:block}:host::ng-deep .drawer-container .mat-button-toggle-button{height:48px;border-radius:4px}:host::ng-deep .drawer-container .mat-button-toggle-checked button{height:48px;border-radius:4px}\n"], dependencies: [{ kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
77
77
  }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ selector: 'app-editor', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-drawer-container\n class=\"sidenav-container\"\n [hasBackdrop]=\"sidenavProperties.hasBackdrop\">\n <mat-drawer-content>\n <div class=\"container\">\n <div\n #container\n class=\"edit-container\"></div>\n </div>\n </mat-drawer-content>\n <mat-drawer\n #drawer\n [autoFocus]=\"sidenavProperties.autoFocus\"\n [position]=\"sidenavProperties.position\"\n [mode]=\"sidenavProperties.mode\">\n <div\n #drawerContainer\n class=\"drawer-container\"></div>\n </mat-drawer>\n</mat-drawer-container>\n", styles: [":host{flex:1;display:flex;position:relative}.sidenav-container{width:100%}.container{height:100%;display:flex;justify-content:center}:host::ng-deep .ace-editor{position:relative;line-height:1;font-size:12pt;font-family:Courier New,Courier,monospace;text-align:left;width:100%;height:100%}:host::ng-deep .ace-scroller{position:absolute;overflow:hidden;top:0;bottom:0;-webkit-user-select:none;user-select:none;cursor:text}:host::ng-deep .ace-scrollbar{overflow:hidden scroll;contain:strict;position:absolute;right:0;bottom:0;z-index:6;top:0}:host::ng-deep .ace-scrollbar-inner{position:absolute;cursor:text;left:0;top:0}:host::ng-deep .ace-text-input{position:absolute;z-index:0;width:.5em;height:1em;opacity:0;background:transparent;appearance:none;border:none;resize:none;overflow:hidden;font:inherit;padding:0 1px;margin:0 -1px;contain:strict;-webkit-user-select:text;user-select:text}:host::ng-deep .ace-layer{z-index:1;position:absolute;word-wrap:normal;white-space:pre;height:100%;width:100%;box-sizing:border-box;pointer-events:none}:host::ng-deep .ace-text-layer{font:inherit!important;position:absolute;contain:style size layout;pointer-events:auto}:host::ng-deep .ace-edges-layer{z-index:2}:host::ng-deep .ace-line{display:flex;align-items:baseline;line-height:normal}:host::ng-deep .ace-line .hyperlink-hover{cursor:pointer}:host::ng-deep .ace-line>*{display:inline-block;font-kerning:none}:host::ng-deep .ace-line>*.paragraph-symbol{align-self:flex-end}:host::ng-deep .ace-content{position:inherit;box-sizing:border-box;min-width:100%;contain:style size layout;inset:0}:host::ng-deep .ace-line-group{display:inline-flex}:host::ng-deep .ace-line-group .lines-container{width:100%}:host::ng-deep .ace-line-group .numberingMarker{display:inline-flex}:host::ng-deep .ace-line-group .numberingMarker span{align-self:end}:host::ng-deep .ace-text-layer>.ace-line,:host::ng-deep .ace-text-layer>.ace-line-group,:host::ng-deep .ace-edges-layer>.ace-line,:host::ng-deep .ace-edges-layer>.ace-line-group{contain:style size layout;position:absolute;top:0;left:0;right:0}:host::ng-deep .ace-text-layer>.ace-line-group:has(.focused){z-index:1}:host::ng-deep .ace-line-group:has(.lines-container>.ace-line:first-child>span:not(:empty)){align-items:baseline}:host::ng-deep .ace-cursor-layer{z-index:4}:host::ng-deep .ace-cursor-layer.selecting{display:none}:host::ng-deep .ace-cursor{z-index:4;position:absolute;box-sizing:border-box;border-left:2px solid;transform:translateZ(0)}:host::ng-deep .ace-hidden-cursors .ace-cursor{opacity:0}:host::ng-deep .ace-hidden-cursors{visibility:hidden}:host::ng-deep .ace-animate-blinking .ace-cursor{animation-duration:1s;animation-timing-function:step-end;animation-name:blink-ace-animate;animation-iteration-count:infinite}:host::ng-deep .ace-animate-blinking.ace-smooth-blinking .ace-cursor{animation-duration:1s;animation-timing-function:ease-in-out;animation-name:blink-ace-animate-smooth}@keyframes blink-ace-animate{0%,to{opacity:1}60%{opacity:0}}@keyframes blink-ace-animate-smooth{0%,to{opacity:1}45%{opacity:1}60%{opacity:0}85%{opacity:0}}:host::ng-deep .ace-selection-layer .ace-selection{position:absolute;z-index:5}:host::ng-deep .ace-selection-layer.text-selection .ace-selection{background-color:#5ea8f766}:host::ng-deep .ace-selection-layer.notes-highlight .ace-selection{background:#ff06}:host::ng-deep .ace-underline{text-decoration:underline}:host::ng-deep .ace-bold{font-weight:700}:host::ng-deep .ace-italic{font-style:italic}:host::ng-deep .page{width:100%;position:absolute}:host::ng-deep .page-label{position:absolute;top:40px;right:96px;font-family:Courier New,Courier,monospace;font-size:16px;line-height:1}:host::ng-deep .font-baseline{visibility:hidden;height:500px}:host::ng-deep .font-baseline span:after{content:\"\";height:100%;display:inline-block}:host::ng-deep .ruler-line{position:absolute;top:0;bottom:0;width:0;border-left:1px solid rgba(0,0,0,.4);opacity:.5;display:none;z-index:1}:host::ng-deep .ruler-line.visible{display:block}:host::ng-deep .drawer-container .mat-button-toggle-button{height:48px;border-radius:4px}:host::ng-deep .drawer-container .mat-button-toggle-checked button{height:48px;border-radius:4px}\n"] }]
81
81
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.ComponentService }, { type: i2.EditorService }, { type: i0.Injector }, { type: i3.RegulatorService }, { type: i4.CommandsService }, { type: i5.Clipboard }], propDecorators: { customPageWidth: [{
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
95
95
  type: HostBinding,
96
96
  args: ['class']
97
97
  }] } });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBR1QsV0FBVyxFQUVYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFPdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7QUFTakUsTUFBTSxPQUFPLGVBQWU7SUFDeEIsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUMxQyxDQUFDO0lBSUQsSUFDSSxPQUFPLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQXFCLENBQUMsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENB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WUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTNGUSxlQUFlO2tHQUFmLGVBQWUsbWZDakM1QixvbkJBb0JBOzsyRkRhYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTs2UEFPdEMsZUFBZTtzQkFBdkIsS0FBSztnQkFHRixPQUFPO3NCQURWLEtBQUs7Z0JBY29DLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFUSxnQkFBZ0I7c0JBQS9ELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVQLE9BQU87c0JBQTdDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFZixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBNYXREcmF3ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tYW5kc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3NoYXJlZC9zZXJ2aWNlcy9jb21wb25lbnQvY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jeE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9kb2N4Lm1vZGVsJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vY29yZS9lZGl0b3InO1xuaW1wb3J0IHsgRURJVE9SX1ZFUlNJT04gfSBmcm9tICcuL2NvcmUvY29uc3RhbnRzL2VkaXRvci12ZXJzaW9uLmNvbnN0JztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEVYVEVSTkFMX0VMRU1FTlRfU0lERU5BViB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9leHRlcm5hbC1lbGVtZW50cy5jb25zdCc7XG5pbXBvcnQgeyBFeHRlcm5hbFNpZGVuYXZNb2RlbCB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZXh0ZXJuYWwtc2lkZW5hdi5tb2RlbCc7XG5pbXBvcnQgeyBGb250TWV0cmljcyB9IGZyb20gJy4vY29yZS9oZWxwZXJzL2ZvbnQtbWV0cmljcy5oZWxwZXInO1xuaW1wb3J0IHsgUmVndWxhdG9yU2VydmljZSB9IGZyb20gJy4vZXhlY3V0aW9uL3JlZ3VsYXRvci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIGdldCBpc1ZpZXdPbmx5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yU2VydmljZS5pc1ZpZXdPbmx5JDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBjdXN0b21QYWdlV2lkdGg/OiBudW1iZXIgfCBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChtb2RlbDogRG9jeE1vZGVsKSB7XG4gICAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICAgICAgY29uc3QgZGVlcENvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG1vZGVsKSk7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50ID0gbmV3IERvY3hNb2RlbChkZWVwQ29weSBhcyBEb2N4TW9kZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0RWRpdG9yKHRoaXMuX2NvbnRlbnQpO1xuICAgIH1cbiAgICBnZXQgY29udGVudCgpOiBEb2N4TW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY29udGVudDogRG9jeE1vZGVsO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2RyYXdlckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHNpZGVuYXZDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnZHJhd2VyJywgeyBzdGF0aWM6IHRydWUgfSkgc2lkZW5hdjogTWF0RHJhd2VyO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2Jhc2UtZWRpdG9yJztcblxuICAgIGVkaXRvcjogRWRpdG9yO1xuXG4gICAgc2lkZW5hdlByb3BlcnRpZXM6IEV4dGVybmFsU2lkZW5hdk1vZGVsO1xuXG4gICAgcmVhZG9ubHkgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIHByaXZhdGUgc2lkZW5hdkNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWd1bGF0b3JTZXJ2aWNlOiBSZWd1bGF0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbW1hbmRzU2VydmljZTogQ29tbWFuZHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlByb3BlcnRpZXMgPSB0aGlzLmluamVjdG9yLmdldChFWFRFUk5BTF9FTEVNRU5UX1NJREVOQVYpO1xuICAgICAgICBGb250TWV0cmljcy5jaGVja1ZlcnNpb24oRURJVE9SX1ZFUlNJT04pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvcj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnJlZ3VsYXRvclNlcnZpY2UuY2xlYXJBbGxTZXNzaW9ucygpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCh4ID0+IHg/LnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuc3BsaWNlKDApO1xuICAgIH1cblxuICAgIGluaXRFZGl0b3IoY29udGVudDogRG9jeE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9yKFxuICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgdGhpcy5jb21tYW5kc1NlcnZpY2UsXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZCxcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tUGFnZVdpZHRoXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMudG9nZ2xlU2lkZW5hdlN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICB0b2dnbGVTaWRlbmF2U3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvclNlcnZpY2UudG9nZ2xlU2lkZW5hdiQuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2lkZW5hdi5vcGVuZWQgPT09IGRhdGEub3Blbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLm9wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNpZGVuYXZDb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KGRhdGEuY29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiBkYXRhLm1vZGVsLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50V2lkdGg6IGRhdGEuY29udGVudFdpZHRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmF0dGFjaENvbXBvbmVudCh0aGlzLnNpZGVuYXZDb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5zaWRlbmF2Q29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLnNpZGVuYXZDb21wb25lbnRSZWYpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2lkZW5hdkNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNpZGVuYXYudG9nZ2xlKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIHJlZ2FyZGxlc3Mgb2YgZXJyb3JcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtYXQtZHJhd2VyLWNvbnRhaW5lclxuICAgIGNsYXNzPVwic2lkZW5hdi1jb250YWluZXJcIlxuICAgIFtoYXNCYWNrZHJvcF09XCJzaWRlbmF2UHJvcGVydGllcy5oYXNCYWNrZHJvcFwiPlxuICAgIDxtYXQtZHJhd2VyLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAjY29udGFpbmVyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0LWNvbnRhaW5lclwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbiAgICA8bWF0LWRyYXdlclxuICAgICAgICAjZHJhd2VyXG4gICAgICAgIFthdXRvRm9jdXNdPVwic2lkZW5hdlByb3BlcnRpZXMuYXV0b0ZvY3VzXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cInNpZGVuYXZQcm9wZXJ0aWVzLnBvc2l0aW9uXCJcbiAgICAgICAgW21vZGVdPVwic2lkZW5hdlByb3BlcnRpZXMubW9kZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjZHJhd2VyQ29udGFpbmVyXG4gICAgICAgICAgICBjbGFzcz1cImRyYXdlci1jb250YWluZXJcIj48L2Rpdj5cbiAgICA8L21hdC1kcmF3ZXI+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBR1QsV0FBVyxFQUVYLEtBQUssRUFFTCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFPdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7QUFTakUsTUFBTSxPQUFPLGVBQWU7SUFDeEIsSUFBSSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUMxQyxDQUFDO0lBSUQsSUFDSSxPQUFPLENBQUMsS0FBZ0I7UUFDeEIsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQXFCLENBQUMsQ0FBQztTQUN4RDtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENB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WUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTNGUSxlQUFlO21HQUFmLGVBQWUsbWZDakM1QixvbkJBb0JBOzs0RkRhYSxlQUFlO2tCQU4zQixTQUFTOytCQUNJLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTs2UEFPdEMsZUFBZTtzQkFBdkIsS0FBSztnQkFHRixPQUFPO3NCQURWLEtBQUs7Z0JBY29DLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFUSxnQkFBZ0I7c0JBQS9ELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVQLE9BQU87c0JBQTdDLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFZixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBNYXREcmF3ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDb21tYW5kc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3NoYXJlZC9zZXJ2aWNlcy9jb21wb25lbnQvY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jeE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9kb2N4Lm1vZGVsJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJy4vY29yZS9lZGl0b3InO1xuaW1wb3J0IHsgRURJVE9SX1ZFUlNJT04gfSBmcm9tICcuL2NvcmUvY29uc3RhbnRzL2VkaXRvci12ZXJzaW9uLmNvbnN0JztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEVYVEVSTkFMX0VMRU1FTlRfU0lERU5BViB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9leHRlcm5hbC1lbGVtZW50cy5jb25zdCc7XG5pbXBvcnQgeyBFeHRlcm5hbFNpZGVuYXZNb2RlbCB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZXh0ZXJuYWwtc2lkZW5hdi5tb2RlbCc7XG5pbXBvcnQgeyBGb250TWV0cmljcyB9IGZyb20gJy4vY29yZS9oZWxwZXJzL2ZvbnQtbWV0cmljcy5oZWxwZXInO1xuaW1wb3J0IHsgUmVndWxhdG9yU2VydmljZSB9IGZyb20gJy4vZXhlY3V0aW9uL3JlZ3VsYXRvci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtZWRpdG9yJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIGdldCBpc1ZpZXdPbmx5JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yU2VydmljZS5pc1ZpZXdPbmx5JDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBjdXN0b21QYWdlV2lkdGg/OiBudW1iZXIgfCBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChtb2RlbDogRG9jeE1vZGVsKSB7XG4gICAgICAgIGlmIChtb2RlbCkge1xuICAgICAgICAgICAgY29uc3QgZGVlcENvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG1vZGVsKSk7XG4gICAgICAgICAgICB0aGlzLl9jb250ZW50ID0gbmV3IERvY3hNb2RlbChkZWVwQ29weSBhcyBEb2N4TW9kZWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbml0RWRpdG9yKHRoaXMuX2NvbnRlbnQpO1xuICAgIH1cbiAgICBnZXQgY29udGVudCgpOiBEb2N4TW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY29udGVudDogRG9jeE1vZGVsO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSkgY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2RyYXdlckNvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIHNpZGVuYXZDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnZHJhd2VyJywgeyBzdGF0aWM6IHRydWUgfSkgc2lkZW5hdjogTWF0RHJhd2VyO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2Jhc2UtZWRpdG9yJztcblxuICAgIGVkaXRvcjogRWRpdG9yO1xuXG4gICAgc2lkZW5hdlByb3BlcnRpZXM6IEV4dGVybmFsU2lkZW5hdk1vZGVsO1xuXG4gICAgcmVhZG9ubHkgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIHByaXZhdGUgc2lkZW5hdkNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50U2VydmljZTogQ29tcG9uZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSByZWd1bGF0b3JTZXJ2aWNlOiBSZWd1bGF0b3JTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbW1hbmRzU2VydmljZTogQ29tbWFuZHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2lkZW5hdlByb3BlcnRpZXMgPSB0aGlzLmluamVjdG9yLmdldChFWFRFUk5BTF9FTEVNRU5UX1NJREVOQVYpO1xuICAgICAgICBGb250TWV0cmljcy5jaGVja1ZlcnNpb24oRURJVE9SX1ZFUlNJT04pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvcj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnJlZ3VsYXRvclNlcnZpY2UuY2xlYXJBbGxTZXNzaW9ucygpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCh4ID0+IHg/LnVuc3Vic2NyaWJlKCkpO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuc3BsaWNlKDApO1xuICAgIH1cblxuICAgIGluaXRFZGl0b3IoY29udGVudDogRG9jeE1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSBuZXcgRWRpdG9yKFxuICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLFxuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLFxuICAgICAgICAgICAgdGhpcy5jb21tYW5kc1NlcnZpY2UsXG4gICAgICAgICAgICB0aGlzLmNsaXBib2FyZCxcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tUGFnZVdpZHRoXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMudG9nZ2xlU2lkZW5hdlN1YnNjcmlwdGlvbigpKTtcbiAgICB9XG5cbiAgICB0b2dnbGVTaWRlbmF2U3Vic2NyaXB0aW9uKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvclNlcnZpY2UudG9nZ2xlU2lkZW5hdiQuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2lkZW5hdi5vcGVuZWQgPT09IGRhdGEub3Blbikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLm9wZW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNpZGVuYXZDb21wb25lbnRSZWYgPSB0aGlzLmNvbXBvbmVudFNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KGRhdGEuY29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGVsOiBkYXRhLm1vZGVsLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50V2lkdGg6IGRhdGEuY29udGVudFdpZHRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmF0dGFjaENvbXBvbmVudCh0aGlzLnNpZGVuYXZDb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5zaWRlbmF2Q29tcG9uZW50UmVmKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLnNpZGVuYXZDb21wb25lbnRSZWYpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2lkZW5hdkNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNpZGVuYXYudG9nZ2xlKCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnRpbnVlIHJlZ2FyZGxlc3Mgb2YgZXJyb3JcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxtYXQtZHJhd2VyLWNvbnRhaW5lclxuICAgIGNsYXNzPVwic2lkZW5hdi1jb250YWluZXJcIlxuICAgIFtoYXNCYWNrZHJvcF09XCJzaWRlbmF2UHJvcGVydGllcy5oYXNCYWNrZHJvcFwiPlxuICAgIDxtYXQtZHJhd2VyLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAjY29udGFpbmVyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJlZGl0LWNvbnRhaW5lclwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbiAgICA8bWF0LWRyYXdlclxuICAgICAgICAjZHJhd2VyXG4gICAgICAgIFthdXRvRm9jdXNdPVwic2lkZW5hdlByb3BlcnRpZXMuYXV0b0ZvY3VzXCJcbiAgICAgICAgW3Bvc2l0aW9uXT1cInNpZGVuYXZQcm9wZXJ0aWVzLnBvc2l0aW9uXCJcbiAgICAgICAgW21vZGVdPVwic2lkZW5hdlByb3BlcnRpZXMubW9kZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjZHJhd2VyQ29udGFpbmVyXG4gICAgICAgICAgICBjbGFzcz1cImRyYXdlci1jb250YWluZXJcIj48L2Rpdj5cbiAgICA8L21hdC1kcmF3ZXI+XG48L21hdC1kcmF3ZXItY29udGFpbmVyPlxuIl19
@@ -34,8 +34,8 @@ export class EditorModule {
34
34
  ]
35
35
  };
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
38
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.1", ngImport: i0, type: EditorModule, declarations: [EditorComponent,
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
38
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EditorModule, declarations: [EditorComponent,
39
39
  NoderEdgeComponent,
40
40
  NoderImageComponent,
41
41
  NoderTabComponent,
@@ -43,7 +43,7 @@ export class EditorModule {
43
43
  NoderTableComponent,
44
44
  ResizerComponent,
45
45
  TableOverlayMenuComponent], imports: [CommonModule, MatButtonModule, MatDialogModule, MatIconModule, MatSidenavModule, MatTooltipModule, ReactiveFormsModule], exports: [EditorComponent] }); }
46
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorModule, providers: [
46
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorModule, providers: [
47
47
  ComponentService,
48
48
  CustomContentService,
49
49
  ImageApiService,
@@ -53,7 +53,7 @@ export class EditorModule {
53
53
  CommandsService
54
54
  ], imports: [CommonModule, MatButtonModule, MatDialogModule, MatIconModule, MatSidenavModule, MatTooltipModule, ReactiveFormsModule] }); }
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorModule, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorModule, decorators: [{
57
57
  type: NgModule,
58
58
  args: [{
59
59
  declarations: [
@@ -79,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
79
79
  exports: [EditorComponent]
80
80
  }]
81
81
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2VkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBdUIsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEksT0FBTyxFQUE0QixzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUM7O0FBOEIxRyxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXVCO1FBQ2xDLE9BQU87WUFDSCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLElBQUksb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUMzRixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGNBQWMsSUFBSSxzQkFBc0IsRUFBRTthQUNyRztTQUNKLENBQUM7SUFDTixDQUFDOzhHQVRRLFlBQVk7K0dBQVosWUFBWSxpQkFyQmpCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQix5QkFBeUIsYUFFbkIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixhQVV0SCxlQUFlOytHQUVoQixZQUFZLGFBWFY7WUFDUCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixlQUFlO1NBQ2xCLFlBVFMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQjs7MkZBWXZILFlBQVk7a0JBdkJ4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHlCQUF5QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO29CQUNqSSxTQUFTLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21tYW5kc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3NoYXJlZC9zZXJ2aWNlcy9jb21wb25lbnQvY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tQ29udGVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3NoYXJlZC9zZXJ2aWNlcy9jdXN0b20tY29udGVudC9jdXN0b20tY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFWFRFUk5BTF9FTEVNRU5UX1NFUlZJQ0UsIEVYVEVSTkFMX0VMRU1FTlRfU0lERU5BViB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9leHRlcm5hbC1lbGVtZW50cy5jb25zdCc7XG5pbXBvcnQgeyBFeHRlcm5hbEVsZW1lbnRJbnRlcmZhY2UsIEV4dGVybmFsRWxlbWVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvZXh0ZXJuYWwtZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsU2lkZW5hdk1vZGVsIH0gZnJvbSAnLi9jdXN0b20tY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L21vZGVscy9leHRlcm5hbC1zaWRlbmF2Lm1vZGVsJztcbmltcG9ydCB7IEltYWdlQXBpU2VydmljZSB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvaW1hZ2Uvc2VydmljZXMvaW1hZ2UtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZXJFZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJUYWJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3RhYi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVyVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi9jdXN0b20tY29tcG9uZW50cy9zaGFyZWQvc2VydmljZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVndWxhdG9yU2VydmljZSB9IGZyb20gJy4vZXhlY3V0aW9uL3JlZ3VsYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc2l6ZXJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL2ltYWdlL3Jlc2l6ZXIvcmVzaXplci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPdmVybGF5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvdGFibGUvb3ZlcmxheS1tZW51L292ZXJsYXktbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2Rlck9wdGlvbnMge1xuICAgIHNpZGVuYXY/OiBQYXJ0aWFsPEV4dGVybmFsU2lkZW5hdk1vZGVsPjtcbiAgICBlbGVtZW50U2VydmljZTogVHlwZTxFeHRlcm5hbEVsZW1lbnRJbnRlcmZhY2U+O1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIE5vZGVyRWRnZUNvbXBvbmVudCxcbiAgICAgICAgTm9kZXJJbWFnZUNvbXBvbmVudCxcbiAgICAgICAgTm9kZXJUYWJDb21wb25lbnQsXG4gICAgICAgIE5vZGVyVGFibGVDZWxsQ29tcG9uZW50LFxuICAgICAgICBOb2RlclRhYmxlQ29tcG9uZW50LFxuICAgICAgICBSZXNpemVyQ29tcG9uZW50LFxuICAgICAgICBUYWJsZU92ZXJsYXlNZW51Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0U2lkZW5hdk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvbXBvbmVudFNlcnZpY2UsXG4gICAgICAgIEN1c3RvbUNvbnRlbnRTZXJ2aWNlLFxuICAgICAgICBJbWFnZUFwaVNlcnZpY2UsXG4gICAgICAgIE92ZXJsYXlTZXJ2aWNlLFxuICAgICAgICBSZWd1bGF0b3JTZXJ2aWNlLFxuICAgICAgICBFeHRlcm5hbEVsZW1lbnRTZXJ2aWNlLFxuICAgICAgICBDb21tYW5kc1NlcnZpY2VcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtFZGl0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvck1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElOb2Rlck9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVkaXRvck1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEVkaXRvck1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRVhURVJOQUxfRUxFTUVOVF9TSURFTkFWLCB1c2VWYWx1ZTogbmV3IEV4dGVybmFsU2lkZW5hdk1vZGVsKG9wdGlvbnM/LnNpZGVuYXYpIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBFWFRFUk5BTF9FTEVNRU5UX1NFUlZJQ0UsIHVzZUNsYXNzOiBvcHRpb25zPy5lbGVtZW50U2VydmljZSA/PyBFeHRlcm5hbEVsZW1lbnRTZXJ2aWNlIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2VkaXRvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBdUIsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDbEksT0FBTyxFQUE0QixzQkFBc0IsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDdkYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0RBQStELENBQUM7O0FBOEIxRyxNQUFNLE9BQU8sWUFBWTtJQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQXVCO1FBQ2xDLE9BQU87WUFDSCxRQUFRLEVBQUUsWUFBWTtZQUN0QixTQUFTLEVBQUU7Z0JBQ1AsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLElBQUksb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUMzRixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGNBQWMsSUFBSSxzQkFBc0IsRUFBRTthQUNyRztTQUNKLENBQUM7SUFDTixDQUFDOytHQVRRLFlBQVk7Z0hBQVosWUFBWSxpQkFyQmpCLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQix5QkFBeUIsYUFFbkIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixhQVV0SCxlQUFlO2dIQUVoQixZQUFZLGFBWFY7WUFDUCxnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixlQUFlO1NBQ2xCLFlBVFMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQjs7NEZBWXZILFlBQVk7a0JBdkJ4QixRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRTt3QkFDVixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLHlCQUF5QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO29CQUNqSSxTQUFTLEVBQUU7d0JBQ1AsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIsZUFBZTtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBDb21tYW5kc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21tYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3NoYXJlZC9zZXJ2aWNlcy9jb21wb25lbnQvY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3VzdG9tQ29udGVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3NoYXJlZC9zZXJ2aWNlcy9jdXN0b20tY29udGVudC9jdXN0b20tY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFWFRFUk5BTF9FTEVNRU5UX1NFUlZJQ0UsIEVYVEVSTkFMX0VMRU1FTlRfU0lERU5BViB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9leHRlcm5hbC1lbGVtZW50cy5jb25zdCc7XG5pbXBvcnQgeyBFeHRlcm5hbEVsZW1lbnRJbnRlcmZhY2UsIEV4dGVybmFsRWxlbWVudFNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvZXh0ZXJuYWwtZWxlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsU2lkZW5hdk1vZGVsIH0gZnJvbSAnLi9jdXN0b20tY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L21vZGVscy9leHRlcm5hbC1zaWRlbmF2Lm1vZGVsJztcbmltcG9ydCB7IEltYWdlQXBpU2VydmljZSB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvaW1hZ2Uvc2VydmljZXMvaW1hZ2UtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZXJFZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJUYWJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3RhYi90YWIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVyVGFibGVDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVyVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IE92ZXJsYXlTZXJ2aWNlIH0gZnJvbSAnLi9jdXN0b20tY29tcG9uZW50cy9zaGFyZWQvc2VydmljZXMvb3ZlcmxheS9vdmVybGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVndWxhdG9yU2VydmljZSB9IGZyb20gJy4vZXhlY3V0aW9uL3JlZ3VsYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc2l6ZXJDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1jb21wb25lbnRzL2ltYWdlL3Jlc2l6ZXIvcmVzaXplci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFibGVPdmVybGF5TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY3VzdG9tLWNvbXBvbmVudHMvdGFibGUvb3ZlcmxheS1tZW51L292ZXJsYXktbWVudS5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElOb2Rlck9wdGlvbnMge1xuICAgIHNpZGVuYXY/OiBQYXJ0aWFsPEV4dGVybmFsU2lkZW5hdk1vZGVsPjtcbiAgICBlbGVtZW50U2VydmljZTogVHlwZTxFeHRlcm5hbEVsZW1lbnRJbnRlcmZhY2U+O1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBFZGl0b3JDb21wb25lbnQsXG4gICAgICAgIE5vZGVyRWRnZUNvbXBvbmVudCxcbiAgICAgICAgTm9kZXJJbWFnZUNvbXBvbmVudCxcbiAgICAgICAgTm9kZXJUYWJDb21wb25lbnQsXG4gICAgICAgIE5vZGVyVGFibGVDZWxsQ29tcG9uZW50LFxuICAgICAgICBOb2RlclRhYmxlQ29tcG9uZW50LFxuICAgICAgICBSZXNpemVyQ29tcG9uZW50LFxuICAgICAgICBUYWJsZU92ZXJsYXlNZW51Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0U2lkZW5hdk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIENvbXBvbmVudFNlcnZpY2UsXG4gICAgICAgIEN1c3RvbUNvbnRlbnRTZXJ2aWNlLFxuICAgICAgICBJbWFnZUFwaVNlcnZpY2UsXG4gICAgICAgIE92ZXJsYXlTZXJ2aWNlLFxuICAgICAgICBSZWd1bGF0b3JTZXJ2aWNlLFxuICAgICAgICBFeHRlcm5hbEVsZW1lbnRTZXJ2aWNlLFxuICAgICAgICBDb21tYW5kc1NlcnZpY2VcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtFZGl0b3JDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvck1vZHVsZSB7XG4gICAgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElOb2Rlck9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEVkaXRvck1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEVkaXRvck1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogRVhURVJOQUxfRUxFTUVOVF9TSURFTkFWLCB1c2VWYWx1ZTogbmV3IEV4dGVybmFsU2lkZW5hdk1vZGVsKG9wdGlvbnM/LnNpZGVuYXYpIH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBFWFRFUk5BTF9FTEVNRU5UX1NFUlZJQ0UsIHVzZUNsYXNzOiBvcHRpb25zPy5lbGVtZW50U2VydmljZSA/PyBFeHRlcm5hbEVsZW1lbnRTZXJ2aWNlIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -194,10 +194,10 @@ export class RegulatorService {
194
194
  const mainRenderer = this.mainSession.renderer;
195
195
  mainRenderer.edgesLayer.update(mainRenderer.layerConfig);
196
196
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RegulatorService, deps: [{ token: i1.CustomContentService }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
198
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RegulatorService }); }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RegulatorService, deps: [{ token: i1.CustomContentService }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
198
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RegulatorService }); }
199
199
  }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: RegulatorService, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RegulatorService, decorators: [{
201
201
  type: Injectable
202
202
  }], ctorParameters: () => [{ type: i1.CustomContentService }, { type: i2.EditorService }] });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVndWxhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sZ0JBQWdCO0lBYXpCLFlBQW9CLG9CQUEwQyxFQUFVLGFBQTRCO1FB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QixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENlbGxTZXNzaW9uU291cmNlTW9kZWwgfSBmcm9tICcuL21vZGVscy9jZWxsLXNlc3Npb24tc291cmNlLm1vZGVsJztcbmltcG9ydCB7IEN1c3RvbUNvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY3VzdG9tLWNvbXBvbmVudHMvc2hhcmVkL3NlcnZpY2VzL2N1c3RvbS1jb250ZW50L2N1c3RvbS1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9FREdFX01BWF9IRUlHSFRfTVVMVElQTElFUiB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4uL2NvcmUvZG9jdW1lbnQnO1xuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMvZG9jdW1lbnQtaW5mby5jb25zdCc7XG5pbXBvcnQgeyBEb2N4TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2RvY3gubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVNlc3Npb25Tb3VyY2VNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2VkZ2Utc2Vzc2lvbi1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tICcuLi9jb3JlL2VkaXQuc2Vzc2lvbic7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBNYWluU2Vzc2lvblNvdXJjZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvbWFpbi1zZXNzaW9uLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBNYXJnaW5Nb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzL21hcmdpbi5tb2RlbCc7XG5pbXBvcnQgeyBOb2RlckVkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJUYWJsZUNlbGxDb21wb25lbnQgfSBmcm9tICcuLi9jdXN0b20tY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VUeXBlIH0gZnJvbSAnLi4vY29yZS9lbnVtcy9wYWdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSZW5kZXJlciB9IGZyb20gJy4uL2NvcmUvcmVuZGVyZXInO1xuaW1wb3J0IHsgU2NhbGluZ0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvc2NhbGluZy5oZWxwZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uIH0gZnJvbSAnLi4vcG9zaXRpb25pbmcvc2VsZWN0aW9uJztcbmltcG9ydCB7IFNlc3Npb25Nb2RlbCB9IGZyb20gJy4vbW9kZWxzL3Nlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgVGFyZ2V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhcmdldC5tb2RlbCc7XG5pbXBvcnQgeyBUYXJnZXRUeXBlIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy9lbnVtcy90YXJnZXQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFZpcnR1YWxSZW5kZXJlciB9IGZyb20gJy4uL2NvcmUvdmlydHVhbC5yZW5kZXJlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWd1bGF0b3JTZXJ2aWNlIHtcbiAgICBtYWluU2Vzc2lvbjogU2Vzc2lvbk1vZGVsO1xuXG4gICAgc2Vzc2lvbnM6IFNlc3Npb25Nb2RlbFtdID0gW107XG5cbiAgICBjdXJyZW50U2Vzc2lvbjogU2Vzc2lvbk1vZGVsO1xuXG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb247XG5cbiAgICBzZXNzaW9uSWRJbmNyZW1lbnQgPSAwO1xuXG4gICAgZWRnZUVkaXRpbmdQYWdlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VzdG9tQ29udGVudFNlcnZpY2U6IEN1c3RvbUNvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHt9XG5cbiAgICBhZGRNYWluU2Vzc2lvbihtb2RlbDogRG9jeE1vZGVsLCBwYWdlV2lkdGg6IG51bWJlciwgc2NhbGluZ1JhdGlvOiBudW1iZXIsIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFNlc3Npb25JZCA9ICsrdGhpcy5zZXNzaW9uSWRJbmNyZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gbmV3IERvY3VtZW50KFxuICAgICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgICBuZXcgTWFyZ2luTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxlZnQ6IFNjYWxpbmdIZWxwZXIuc2NhbGUobW9kZWwubWFyZ2luTGVmdCwgc2NhbGluZ1JhdGlvKSxcbiAgICAgICAgICAgICAgICByaWdodDogU2NhbGluZ0hlbHBlci5zY2FsZShtb2RlbC5tYXJnaW5SaWdodCwgc2NhbGluZ1JhdGlvKSxcbiAgICAgICAgICAgICAgICB0b3A6IG1vZGVsLm1hcmdpblRvcCxcbiAgICAgICAgICAgICAgICBib3R0b206IG1vZGVsLm1hcmdpbkJvdHRvbSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IG1vZGVsLm1hcmdpbkhlYWRlcixcbiAgICAgICAgICAgICAgICBmb290ZXI6IG1vZGVsLm1hcmdpbkZvb3RlclxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBEb2N1bWVudEluZm8ucGFnZXNTcGFjZSxcbiAgICAgICAgICAgIHBhZ2VXaWR0aCxcbiAgICAgICAgICAgIG1vZGVsLnBhZ2VIZWlnaHRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBuZXcgVmlydHVhbFJlbmRlcmVyKGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB0aGlzLmVkaXRvclNlcnZpY2UpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEVkaXRTZXNzaW9uKFxuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBjdXJyZW50U2Vzc2lvbklkLFxuICAgICAgICAgICAgdGhpcy5jdXN0b21Db250ZW50U2VydmljZSxcbiAgICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24sXG4gICAgICAgICAgICBuZXcgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCh7XG4gICAgICAgICAgICAgICAgbnVtYmVyaW5nczogbW9kZWwubnVtYmVyaW5ncyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VGFiV2lkdGg6IFNjYWxpbmdIZWxwZXIuc2NhbGUobW9kZWwuZGVmYXVsdFRhYldpZHRoLCBzY2FsaW5nUmF0aW8pLFxuICAgICAgICAgICAgICAgIG1heEVkZ2VIZWlnaHQ6IG1vZGVsLnBhZ2VIZWlnaHQgKiBERUZBVUxUX0VER0VfTUFYX0hFSUdIVF9NVUxUSVBMSUVSLFxuICAgICAgICAgICAgICAgIHNjYWxpbmdSYXRpb1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgcmVuZGVyZXIuc2V0U2Vzc2lvbihzZXNzaW9uKTtcbiAgICAgICAgcmVuZGVyZXIuc2Nyb2xsVG8oc2Vzc2lvbi5zY3JvbGxUb3ApO1xuICAgICAgICBzZXNzaW9uLmNvbnRlbnRXaWR0aCA9IGRvY3VtZW50LnBhZ2VXaWR0aCAtIChkb2N1bWVudC5wYWdlTWFyZ2luLmxlZnQgKyBkb2N1bWVudC5wYWdlTWFyZ2luLnJpZ2h0KTtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0eWxlcyA9IHNlc3Npb24uc3R5bGVzTWFwO1xuICAgICAgICB0aGlzLm1haW5TZXNzaW9uID0gbmV3IFNlc3Npb25Nb2RlbChzZXNzaW9uLCByZW5kZXJlciwgY3VycmVudFNlc3Npb25JZCwgbnVsbCwgbmV3IE1haW5TZXNzaW9uU291cmNlTW9kZWwoKSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMucHVzaCh0aGlzLm1haW5TZXNzaW9uKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbiA9IHRoaXMubWFpblNlc3Npb247XG4gICAgfVxuXG4gICAgYWRkQ2VsbFNlc3Npb24oXG4gICAgICAgIHRhYmxlOiBUYWJsZU1vZGVsLFxuICAgICAgICBtYXJnaW5zOiBNYXJnaW5Nb2RlbCxcbiAgICAgICAgY29tcG9uZW50OiBOb2RlclRhYmxlQ2VsbENvbXBvbmVudCxcbiAgICAgICAgcHJvcGVydGllczogR2VuZXJhbFByb3BlcnRpZXNNb2RlbFxuICAgICk6IFNlc3Npb25Nb2RlbCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uSWQgPSArK3RoaXMuc2Vzc2lvbklkSW5jcmVtZW50O1xuICAgICAgICBjb25zdCBkb2N1bWVudCA9IG5ldyBEb2N1bWVudChjb21wb25lbnQuY2VsbCwgbWFyZ2lucywgMCwgY29tcG9uZW50LndpZHRoLCAwKTtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBuZXcgUmVuZGVyZXIoY29tcG9uZW50LmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB0aGlzLmVkaXRvclNlcnZpY2UpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEVkaXRTZXNzaW9uKGRvY3VtZW50LCBjdXJyZW50U2Vzc2lvbklkLCB0aGlzLmN1c3RvbUNvbnRlbnRTZXJ2aWNlLCBjb21wb25lbnQuY2VsbCwgdGhpcy5zZWxlY3Rpb24sIHByb3BlcnRpZXMpO1xuICAgICAgICByZW5kZXJlci5zZXRTZXNzaW9uKHNlc3Npb24pO1xuICAgICAgICBjb25zdCBjb250ZW50V2lkdGggPSBjb21wb25lbnQud2lkdGggLSAoZG9jdW1lbnQucGFnZU1hcmdpbi5sZWZ0ICsgZG9jdW1lbnQucGFnZU1hcmdpbi5yaWdodCk7XG4gICAgICAgIHNlc3Npb24uY29udGVudFdpZHRoID0gY29udGVudFdpZHRoID09PSAwID8gMSA6IGNvbnRlbnRXaWR0aDtcbiAgICAgICAgY29uc3Qgc291cmNlID0gbmV3IENlbGxTZXNzaW9uU291cmNlTW9kZWwodGFibGUsIGNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IG5ld1Nlc3Npb24gPSBuZXcgU2Vzc2lvbk1vZGVsKHNlc3Npb24sIHJlbmRlcmVyLCBjdXJyZW50U2Vzc2lvbklkLCBjb21wb25lbnQucGFyZW50U2Vzc2lvbklkLCBzb3VyY2UpO1xuICAgICAgICB0aGlzLnNlc3Npb25zLnB1c2gobmV3U2Vzc2lvbik7XG4gICAgICAgIHJldHVybiBuZXdTZXNzaW9uO1xuICAgIH1cblxuICAgIGFkZEVkZ2VTZXNzaW9uKGNvbXBvbmVudDogTm9kZXJFZGdlQ29tcG9uZW50KTogU2Vzc2lvbk1vZGVsIHtcbiAgICAgICAgY29uc3QgY3VycmVudFNlc3Npb25JZCA9ICsrdGhpcy5zZXNzaW9uSWRJbmNyZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gbmV3IERvY3VtZW50KGNvbXBvbmVudC5tb2RlbCwgY29tcG9uZW50Lm1hcmdpbnMsIDAsIGNvbXBvbmVudC53aWR0aCwgMCk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IFJlbmRlcmVyKGNvbXBvbmVudC5jb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5lZGl0b3JTZXJ2aWNlKTtcbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBFZGl0U2Vzc2lvbihcbiAgICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgICAgY3VycmVudFNlc3Npb25JZCxcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29udGVudFNlcnZpY2UsXG4gICAgICAgICAgICBjb21wb25lbnQubW9kZWwsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbixcbiAgICAgICAgICAgIGNvbXBvbmVudC5wcm9wZXJ0aWVzXG4gICAgICAgICk7XG4gICAgICAgIHJlbmRlcmVyLnNldFNlc3Npb24oc2Vzc2lvbik7XG4gICAgICAgIHNlc3Npb24uY29udGVudFdpZHRoID0gY29tcG9uZW50LndpZHRoIC0gKGRvY3VtZW50LnBhZ2VNYXJnaW4ubGVmdCArIGRvY3VtZW50LnBhZ2VNYXJnaW4ucmlnaHQpO1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBuZXcgRWRnZVNlc3Npb25Tb3VyY2VNb2RlbChjb21wb25lbnQubW9kZWwucGFnZVR5cGUgYXMgUGFnZVR5cGUsIGNvbXBvbmVudC50eXBlKTtcbiAgICAgICAgY29uc3QgbmV3U2Vzc2lvbiA9IG5ldyBTZXNzaW9uTW9kZWwoc2Vzc2lvbiwgcmVuZGVyZXIsIGN1cnJlbnRTZXNzaW9uSWQsIGNvbXBvbmVudC5wYXJlbnRTZXNzaW9uSWQsIHNvdXJjZSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMucHVzaChuZXdTZXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ld1Nlc3Npb247XG4gICAgfVxuXG4gICAgcmVtb3ZlU2Vzc2lvbihzZXNzaW9uSWQ6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2Vzc2lvbnMuZmluZEluZGV4KHggPT4geC5zZXNzaW9uSWQgPT09IHNlc3Npb25JZCk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnNbaW5kZXhdLnNlc3Npb24uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnNlc3Npb25zW2luZGV4XS5yZW5kZXJlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG5cbiAgICBzZXRNYWluU2Vzc2lvbkFzQ3VycmVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWFpblNlc3Npb24uc2Vzc2lvbklkID09PSB0aGlzLmN1cnJlbnRTZXNzaW9uLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlRWRnZUVkaXRNb2RlKCk7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFNlc3Npb24odGhpcy5tYWluU2Vzc2lvbik7XG4gICAgfVxuXG4gICAgc2V0Q3VzdG9tU2Vzc2lvbkFzQ3VycmVudChzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoc2Vzc2lvbklkID09PSB0aGlzLmN1cnJlbnRTZXNzaW9uLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlRWRnZUVkaXRNb2RlKCk7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFNlc3Npb25CeUlkKHNlc3Npb25JZCk7XG4gICAgfVxuXG4gICAgc2V0RWRnZVNlc3Npb25Bc0N1cnJlbnQoc2Vzc2lvbklkOiBudW1iZXIsIGNsaWNrZWRQYWdlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy50b2dnbGVFZGdlRWRpdE1vZGUoY2xpY2tlZFBhZ2UpO1xuICAgICAgICBpZiAoc2Vzc2lvbklkID09PSB0aGlzLmN1cnJlbnRTZXNzaW9uLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5zb3VyY2UuZWRnZUVkaXRQYWdlID0gY2xpY2tlZFBhZ2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRDdXJyZW50U2Vzc2lvbkJ5SWQoc2Vzc2lvbklkKTtcbiAgICB9XG5cbiAgICBzZXRUYXJnZXRlZFNlc3Npb25Bc0N1cnJlbnQodGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXRlZFNlc3Npb24gPSB0aGlzLmdldFRhcmdldGVkU2Vzc2lvbih0YXJnZXRzKTtcbiAgICAgICAgaWYgKHRhcmdldGVkU2Vzc2lvbi5zZXNzaW9uSWQgPT09IHRoaXMuY3VycmVudFNlc3Npb24uc2Vzc2lvbklkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZmluZCh4ID0+IHguc2Vzc2lvbklkID09PSB0YXJnZXRlZFNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgY29uc3QgZWRnZUVkaXRQYWdlID0gdGFyZ2V0cy5sZW5ndGggPyB0YXJnZXRzW3RhcmdldHMubGVuZ3RoIC0gMV0uZWRnZUVkaXRQYWdlIDogbnVsbDtcbiAgICAgICAgdGhpcy50b2dnbGVFZGdlRWRpdE1vZGUoZWRnZUVkaXRQYWdlKTtcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50U2Vzc2lvbihzZXNzaW9uKTtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50U2Vzc2lvbkJ5SWQoc2Vzc2lvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlc3Npb25zLmZpbmRJbmRleCh4ID0+IHguc2Vzc2lvbklkID09PSBzZXNzaW9uSWQpO1xuICAgICAgICB0aGlzLnNldEN1cnJlbnRTZXNzaW9uKHRoaXMuc2Vzc2lvbnNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50U2Vzc2lvbihzZXNzaW9uOiBTZXNzaW9uTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5yZW5kZXJlci5oaWRlQ3Vyc29yKCk7XG4gICAgICAgIHRoaXMuY3VycmVudFNlc3Npb24ucmVuZGVyZXIudXBkYXRlU2VsZWN0aW9uKHRoaXMuc2VsZWN0aW9uLnJhbmdlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbiA9IHNlc3Npb247XG4gICAgICAgIHRoaXMuY3VycmVudFNlc3Npb24ucmVuZGVyZXIuc2hvd0N1cnNvcigpO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLnNvdXJjZS5lZGdlRWRpdFBhZ2UgPSB0aGlzLmVkZ2VFZGl0aW5nUGFnZTtcbiAgICB9XG5cbiAgICBnZXRTZXNzaW9uKHNlc3Npb25JZDogbnVtYmVyKTogRWRpdFNlc3Npb24ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHNlc3Npb25JZCk7XG4gICAgICAgIHJldHVybiBzZXNzaW9uLnNlc3Npb247XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIGNsZWFyQWxsU2Vzc2lvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMuZm9yRWFjaChzZXNzaW9uID0+IHtcbiAgICAgICAgICAgIHNlc3Npb24uc2Vzc2lvbi5kZXN0cm95KCk7XG4gICAgICAgICAgICBzZXNzaW9uLnJlbmRlcmVyLmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMgPSBbXTtcbiAgICB9XG5cbiAgICBnZXRDdXJyZW50U2Vzc2lvblRhcmdldHMoKTogVGFyZ2V0TW9kZWxbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhcmdldHModGhpcy5jdXJyZW50U2Vzc2lvbik7XG4gICAgfVxuXG4gICAgZ2V0VGFyZ2V0cyhzZXNzaW9uOiBTZXNzaW9uTW9kZWwpOiBUYXJnZXRNb2RlbFtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBUYXJnZXRNb2RlbFtdID0gW107XG4gICAgICAgIGxldCBwYXJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHNlc3Npb24ucGFyZW50U2Vzc2lvbklkKTtcbiAgICAgICAgd2hpbGUgKHBhcmVudFNlc3Npb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHNlc3Npb24uc291cmNlLmdldFRhcmdldCgpO1xuICAgICAgICAgICAgcmVzdWx0LnNwbGljZSgwLCAwLCB0YXJnZXQpO1xuICAgICAgICAgICAgc2Vzc2lvbiA9IHBhcmVudFNlc3Npb247XG4gICAgICAgICAgICBwYXJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHBhcmVudFNlc3Npb24ucGFyZW50U2Vzc2lvbklkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldEVkZ2VUYXJnZXQoc2Vzc2lvbklkOiBudW1iZXIpOiBUYXJnZXRNb2RlbCB8IG51bGwge1xuICAgICAgICBsZXQgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZmluZCh4ID0+IHguc2Vzc2lvbklkID09PSBzZXNzaW9uSWQpO1xuICAgICAgICBsZXQgcGFyZW50U2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZmluZCh4ID0+IHguc2Vzc2lvbklkID09PSBzZXNzaW9uLnBhcmVudFNlc3Npb25JZCk7XG4gICAgICAgIHdoaWxlIChwYXJlbnRTZXNzaW9uKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBzZXNzaW9uLnNvdXJjZS5nZXRUYXJnZXQoKTtcbiAgICAgICAgICAgIGlmICh0YXJnZXQudHlwZSA9PT0gVGFyZ2V0VHlwZS5FZGdlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2Vzc2lvbiA9IHBhcmVudFNlc3Npb247XG4gICAgICAgICAgICBwYXJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHBhcmVudFNlc3Npb24ucGFyZW50U2Vzc2lvbklkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldFRhcmdldGVkU2Vzc2lvbih0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogRWRpdFNlc3Npb24ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5tYWluU2Vzc2lvbi5zZXNzaW9uO1xuICAgICAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiB0YXJnZXRzKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRhcmdldC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBUYXJnZXRUeXBlLkRvY3VtZW50OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFRhcmdldFR5cGUuVGFibGVDZWxsOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYmxlID0gcmVzdWx0LmN1c3RvbUNvbXBvbmVudHMudGFibGVzLmZpbmQoeCA9PiB4Lmluc3RhbmNlLmNvbnRlbnQuaW5zZXJ0SW5kZXggPT09IHRhcmdldC50YWJsZUNlbGwuaW5zZXJ0SW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0YWJsZS5pbnN0YW5jZS5nZXRDZWxsU2Vzc2lvbih0YXJnZXQudGFibGVDZWxsLnJvdywgdGFyZ2V0LnRhYmxlQ2VsbC5jb2x1bW4pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBUYXJnZXRUeXBlLkVkZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWRnZSA9IHJlc3VsdC5jdXN0b21Db21wb25lbnRzLmVkZ2VzLmdldENvbXBvbmVudEJ5UGFnZVR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZWRnZURhdGEucGFnZVR5cGUgYXMgUGFnZVR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZWRnZURhdGEudHlwZSBhcyBFZGdlVHlwZVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBlZGdlLmluc3RhbmNlLmVkZ2VTZXNzaW9uLnNlc3Npb247XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRvZ2dsZUVkZ2VFZGl0TW9kZShjbGlja2VkUGFnZTogbnVtYmVyIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGdlRWRpdGluZ1BhZ2UgPSBjbGlja2VkUGFnZTtcbiAgICAgICAgaWYgKCF0aGlzLm1haW5TZXNzaW9uLnNlc3Npb24uY3VzdG9tQ29tcG9uZW50cy5lZGdlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYWluU2Vzc2lvbi5zZXNzaW9uLmN1c3RvbUNvbXBvbmVudHMuZWRnZXMudG9nZ2xlRWRpdE1vZGUoISF0aGlzLmVkZ2VFZGl0aW5nUGFnZSk7XG4gICAgICAgIGNvbnN0IG1haW5SZW5kZXJlciA9IHRoaXMubWFpblNlc3Npb24ucmVuZGVyZXIgYXMgVmlydHVhbFJlbmRlcmVyO1xuICAgICAgICBtYWluUmVuZGVyZXIuZWRnZXNMYXllci51cGRhdGUobWFpblJlbmRlcmVyLmxheWVyQ29uZmlnKTtcbiAgICB9XG59XG4iXX0=
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVndWxhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFJMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sZ0JBQWdCO0lBYXpCLFlBQW9CLG9CQUEwQyxFQUFVLGFBQTRCO1FB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QixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENlbGxTZXNzaW9uU291cmNlTW9kZWwgfSBmcm9tICcuL21vZGVscy9jZWxsLXNlc3Npb24tc291cmNlLm1vZGVsJztcbmltcG9ydCB7IEN1c3RvbUNvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vY3VzdG9tLWNvbXBvbmVudHMvc2hhcmVkL3NlcnZpY2VzL2N1c3RvbS1jb250ZW50L2N1c3RvbS1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9FREdFX01BWF9IRUlHSFRfTVVMVElQTElFUiB9IGZyb20gJy4uL2NvcmUvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5pbXBvcnQgeyBEb2N1bWVudCB9IGZyb20gJy4uL2NvcmUvZG9jdW1lbnQnO1xuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vY29yZS9jb25zdGFudHMvZG9jdW1lbnQtaW5mby5jb25zdCc7XG5pbXBvcnQgeyBEb2N4TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2RvY3gubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVNlc3Npb25Tb3VyY2VNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2VkZ2Utc2Vzc2lvbi1zb3VyY2UubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgRWRpdFNlc3Npb24gfSBmcm9tICcuLi9jb3JlL2VkaXQuc2Vzc2lvbic7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJhY3Rpb24vZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCB9IGZyb20gJy4vbW9kZWxzL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBNYWluU2Vzc2lvblNvdXJjZU1vZGVsIH0gZnJvbSAnLi9tb2RlbHMvbWFpbi1zZXNzaW9uLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBNYXJnaW5Nb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzL21hcmdpbi5tb2RlbCc7XG5pbXBvcnQgeyBOb2RlckVkZ2VDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudHMvZWRnZXMvZWRnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZXJUYWJsZUNlbGxDb21wb25lbnQgfSBmcm9tICcuLi9jdXN0b20tY29tcG9uZW50cy90YWJsZS9jb21wb25lbnRzL3RhYmxlLWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IFBhZ2VUeXBlIH0gZnJvbSAnLi4vY29yZS9lbnVtcy9wYWdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBSZW5kZXJlciB9IGZyb20gJy4uL2NvcmUvcmVuZGVyZXInO1xuaW1wb3J0IHsgU2NhbGluZ0hlbHBlciB9IGZyb20gJy4uLy4uL2hlbHBlcnMvc2NhbGluZy5oZWxwZXInO1xuaW1wb3J0IHsgU2VsZWN0aW9uIH0gZnJvbSAnLi4vcG9zaXRpb25pbmcvc2VsZWN0aW9uJztcbmltcG9ydCB7IFNlc3Npb25Nb2RlbCB9IGZyb20gJy4vbW9kZWxzL3Nlc3Npb24ubW9kZWwnO1xuaW1wb3J0IHsgVGFibGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGFibGUubW9kZWwnO1xuaW1wb3J0IHsgVGFyZ2V0TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RhcmdldC5tb2RlbCc7XG5pbXBvcnQgeyBUYXJnZXRUeXBlIH0gZnJvbSAnLi4vb3BlcmF0aW9ucy9lbnVtcy90YXJnZXQtdHlwZS5lbnVtJztcbmltcG9ydCB7IFZpcnR1YWxSZW5kZXJlciB9IGZyb20gJy4uL2NvcmUvdmlydHVhbC5yZW5kZXJlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZWd1bGF0b3JTZXJ2aWNlIHtcbiAgICBtYWluU2Vzc2lvbjogU2Vzc2lvbk1vZGVsO1xuXG4gICAgc2Vzc2lvbnM6IFNlc3Npb25Nb2RlbFtdID0gW107XG5cbiAgICBjdXJyZW50U2Vzc2lvbjogU2Vzc2lvbk1vZGVsO1xuXG4gICAgc2VsZWN0aW9uOiBTZWxlY3Rpb247XG5cbiAgICBzZXNzaW9uSWRJbmNyZW1lbnQgPSAwO1xuXG4gICAgZWRnZUVkaXRpbmdQYWdlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VzdG9tQ29udGVudFNlcnZpY2U6IEN1c3RvbUNvbnRlbnRTZXJ2aWNlLCBwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHt9XG5cbiAgICBhZGRNYWluU2Vzc2lvbihtb2RlbDogRG9jeE1vZGVsLCBwYWdlV2lkdGg6IG51bWJlciwgc2NhbGluZ1JhdGlvOiBudW1iZXIsIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudFNlc3Npb25JZCA9ICsrdGhpcy5zZXNzaW9uSWRJbmNyZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gbmV3IERvY3VtZW50KFxuICAgICAgICAgICAgbW9kZWwsXG4gICAgICAgICAgICBuZXcgTWFyZ2luTW9kZWwoe1xuICAgICAgICAgICAgICAgIGxlZnQ6IFNjYWxpbmdIZWxwZXIuc2NhbGUobW9kZWwubWFyZ2luTGVmdCwgc2NhbGluZ1JhdGlvKSxcbiAgICAgICAgICAgICAgICByaWdodDogU2NhbGluZ0hlbHBlci5zY2FsZShtb2RlbC5tYXJnaW5SaWdodCwgc2NhbGluZ1JhdGlvKSxcbiAgICAgICAgICAgICAgICB0b3A6IG1vZGVsLm1hcmdpblRvcCxcbiAgICAgICAgICAgICAgICBib3R0b206IG1vZGVsLm1hcmdpbkJvdHRvbSxcbiAgICAgICAgICAgICAgICBoZWFkZXI6IG1vZGVsLm1hcmdpbkhlYWRlcixcbiAgICAgICAgICAgICAgICBmb290ZXI6IG1vZGVsLm1hcmdpbkZvb3RlclxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBEb2N1bWVudEluZm8ucGFnZXNTcGFjZSxcbiAgICAgICAgICAgIHBhZ2VXaWR0aCxcbiAgICAgICAgICAgIG1vZGVsLnBhZ2VIZWlnaHRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBuZXcgVmlydHVhbFJlbmRlcmVyKGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB0aGlzLmVkaXRvclNlcnZpY2UpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEVkaXRTZXNzaW9uKFxuICAgICAgICAgICAgZG9jdW1lbnQsXG4gICAgICAgICAgICBjdXJyZW50U2Vzc2lvbklkLFxuICAgICAgICAgICAgdGhpcy5jdXN0b21Db250ZW50U2VydmljZSxcbiAgICAgICAgICAgIG1vZGVsLFxuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24sXG4gICAgICAgICAgICBuZXcgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCh7XG4gICAgICAgICAgICAgICAgbnVtYmVyaW5nczogbW9kZWwubnVtYmVyaW5ncyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VGFiV2lkdGg6IFNjYWxpbmdIZWxwZXIuc2NhbGUobW9kZWwuZGVmYXVsdFRhYldpZHRoLCBzY2FsaW5nUmF0aW8pLFxuICAgICAgICAgICAgICAgIG1heEVkZ2VIZWlnaHQ6IG1vZGVsLnBhZ2VIZWlnaHQgKiBERUZBVUxUX0VER0VfTUFYX0hFSUdIVF9NVUxUSVBMSUVSLFxuICAgICAgICAgICAgICAgIHNjYWxpbmdSYXRpb1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgcmVuZGVyZXIuc2V0U2Vzc2lvbihzZXNzaW9uKTtcbiAgICAgICAgcmVuZGVyZXIuc2Nyb2xsVG8oc2Vzc2lvbi5zY3JvbGxUb3ApO1xuICAgICAgICBzZXNzaW9uLmNvbnRlbnRXaWR0aCA9IGRvY3VtZW50LnBhZ2VXaWR0aCAtIChkb2N1bWVudC5wYWdlTWFyZ2luLmxlZnQgKyBkb2N1bWVudC5wYWdlTWFyZ2luLnJpZ2h0KTtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0eWxlcyA9IHNlc3Npb24uc3R5bGVzTWFwO1xuICAgICAgICB0aGlzLm1haW5TZXNzaW9uID0gbmV3IFNlc3Npb25Nb2RlbChzZXNzaW9uLCByZW5kZXJlciwgY3VycmVudFNlc3Npb25JZCwgbnVsbCwgbmV3IE1haW5TZXNzaW9uU291cmNlTW9kZWwoKSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMucHVzaCh0aGlzLm1haW5TZXNzaW9uKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbiA9IHRoaXMubWFpblNlc3Npb247XG4gICAgfVxuXG4gICAgYWRkQ2VsbFNlc3Npb24oXG4gICAgICAgIHRhYmxlOiBUYWJsZU1vZGVsLFxuICAgICAgICBtYXJnaW5zOiBNYXJnaW5Nb2RlbCxcbiAgICAgICAgY29tcG9uZW50OiBOb2RlclRhYmxlQ2VsbENvbXBvbmVudCxcbiAgICAgICAgcHJvcGVydGllczogR2VuZXJhbFByb3BlcnRpZXNNb2RlbFxuICAgICk6IFNlc3Npb25Nb2RlbCB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTZXNzaW9uSWQgPSArK3RoaXMuc2Vzc2lvbklkSW5jcmVtZW50O1xuICAgICAgICBjb25zdCBkb2N1bWVudCA9IG5ldyBEb2N1bWVudChjb21wb25lbnQuY2VsbCwgbWFyZ2lucywgMCwgY29tcG9uZW50LndpZHRoLCAwKTtcbiAgICAgICAgY29uc3QgcmVuZGVyZXIgPSBuZXcgUmVuZGVyZXIoY29tcG9uZW50LmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB0aGlzLmVkaXRvclNlcnZpY2UpO1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gbmV3IEVkaXRTZXNzaW9uKGRvY3VtZW50LCBjdXJyZW50U2Vzc2lvbklkLCB0aGlzLmN1c3RvbUNvbnRlbnRTZXJ2aWNlLCBjb21wb25lbnQuY2VsbCwgdGhpcy5zZWxlY3Rpb24sIHByb3BlcnRpZXMpO1xuICAgICAgICByZW5kZXJlci5zZXRTZXNzaW9uKHNlc3Npb24pO1xuICAgICAgICBjb25zdCBjb250ZW50V2lkdGggPSBjb21wb25lbnQud2lkdGggLSAoZG9jdW1lbnQucGFnZU1hcmdpbi5sZWZ0ICsgZG9jdW1lbnQucGFnZU1hcmdpbi5yaWdodCk7XG4gICAgICAgIHNlc3Npb24uY29udGVudFdpZHRoID0gY29udGVudFdpZHRoID09PSAwID8gMSA6IGNvbnRlbnRXaWR0aDtcbiAgICAgICAgY29uc3Qgc291cmNlID0gbmV3IENlbGxTZXNzaW9uU291cmNlTW9kZWwodGFibGUsIGNvbXBvbmVudCk7XG4gICAgICAgIGNvbnN0IG5ld1Nlc3Npb24gPSBuZXcgU2Vzc2lvbk1vZGVsKHNlc3Npb24sIHJlbmRlcmVyLCBjdXJyZW50U2Vzc2lvbklkLCBjb21wb25lbnQucGFyZW50U2Vzc2lvbklkLCBzb3VyY2UpO1xuICAgICAgICB0aGlzLnNlc3Npb25zLnB1c2gobmV3U2Vzc2lvbik7XG4gICAgICAgIHJldHVybiBuZXdTZXNzaW9uO1xuICAgIH1cblxuICAgIGFkZEVkZ2VTZXNzaW9uKGNvbXBvbmVudDogTm9kZXJFZGdlQ29tcG9uZW50KTogU2Vzc2lvbk1vZGVsIHtcbiAgICAgICAgY29uc3QgY3VycmVudFNlc3Npb25JZCA9ICsrdGhpcy5zZXNzaW9uSWRJbmNyZW1lbnQ7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gbmV3IERvY3VtZW50KGNvbXBvbmVudC5tb2RlbCwgY29tcG9uZW50Lm1hcmdpbnMsIDAsIGNvbXBvbmVudC53aWR0aCwgMCk7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVyID0gbmV3IFJlbmRlcmVyKGNvbXBvbmVudC5jb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5lZGl0b3JTZXJ2aWNlKTtcbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IG5ldyBFZGl0U2Vzc2lvbihcbiAgICAgICAgICAgIGRvY3VtZW50LFxuICAgICAgICAgICAgY3VycmVudFNlc3Npb25JZCxcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQ29udGVudFNlcnZpY2UsXG4gICAgICAgICAgICBjb21wb25lbnQubW9kZWwsXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbixcbiAgICAgICAgICAgIGNvbXBvbmVudC5wcm9wZXJ0aWVzXG4gICAgICAgICk7XG4gICAgICAgIHJlbmRlcmVyLnNldFNlc3Npb24oc2Vzc2lvbik7XG4gICAgICAgIHNlc3Npb24uY29udGVudFdpZHRoID0gY29tcG9uZW50LndpZHRoIC0gKGRvY3VtZW50LnBhZ2VNYXJnaW4ubGVmdCArIGRvY3VtZW50LnBhZ2VNYXJnaW4ucmlnaHQpO1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBuZXcgRWRnZVNlc3Npb25Tb3VyY2VNb2RlbChjb21wb25lbnQubW9kZWwucGFnZVR5cGUgYXMgUGFnZVR5cGUsIGNvbXBvbmVudC50eXBlKTtcbiAgICAgICAgY29uc3QgbmV3U2Vzc2lvbiA9IG5ldyBTZXNzaW9uTW9kZWwoc2Vzc2lvbiwgcmVuZGVyZXIsIGN1cnJlbnRTZXNzaW9uSWQsIGNvbXBvbmVudC5wYXJlbnRTZXNzaW9uSWQsIHNvdXJjZSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMucHVzaChuZXdTZXNzaW9uKTtcbiAgICAgICAgcmV0dXJuIG5ld1Nlc3Npb247XG4gICAgfVxuXG4gICAgcmVtb3ZlU2Vzc2lvbihzZXNzaW9uSWQ6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuc2Vzc2lvbnMuZmluZEluZGV4KHggPT4geC5zZXNzaW9uSWQgPT09IHNlc3Npb25JZCk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnNbaW5kZXhdLnNlc3Npb24uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnNlc3Npb25zW2luZGV4XS5yZW5kZXJlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG5cbiAgICBzZXRNYWluU2Vzc2lvbkFzQ3VycmVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubWFpblNlc3Npb24uc2Vzc2lvbklkID09PSB0aGlzLmN1cnJlbnRTZXNzaW9uLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlRWRnZUVkaXRNb2RlKCk7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFNlc3Npb24odGhpcy5tYWluU2Vzc2lvbik7XG4gICAgfVxuXG4gICAgc2V0Q3VzdG9tU2Vzc2lvbkFzQ3VycmVudChzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoc2Vzc2lvbklkID09PSB0aGlzLmN1cnJlbnRTZXNzaW9uLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9nZ2xlRWRnZUVkaXRNb2RlKCk7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudFNlc3Npb25CeUlkKHNlc3Npb25JZCk7XG4gICAgfVxuXG4gICAgc2V0RWRnZVNlc3Npb25Bc0N1cnJlbnQoc2Vzc2lvbklkOiBudW1iZXIsIGNsaWNrZWRQYWdlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy50b2dnbGVFZGdlRWRpdE1vZGUoY2xpY2tlZFBhZ2UpO1xuICAgICAgICBpZiAoc2Vzc2lvbklkID09PSB0aGlzLmN1cnJlbnRTZXNzaW9uLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5zb3VyY2UuZWRnZUVkaXRQYWdlID0gY2xpY2tlZFBhZ2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRDdXJyZW50U2Vzc2lvbkJ5SWQoc2Vzc2lvbklkKTtcbiAgICB9XG5cbiAgICBzZXRUYXJnZXRlZFNlc3Npb25Bc0N1cnJlbnQodGFyZ2V0czogVGFyZ2V0TW9kZWxbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXRlZFNlc3Npb24gPSB0aGlzLmdldFRhcmdldGVkU2Vzc2lvbih0YXJnZXRzKTtcbiAgICAgICAgaWYgKHRhcmdldGVkU2Vzc2lvbi5zZXNzaW9uSWQgPT09IHRoaXMuY3VycmVudFNlc3Npb24uc2Vzc2lvbklkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZmluZCh4ID0+IHguc2Vzc2lvbklkID09PSB0YXJnZXRlZFNlc3Npb24uc2Vzc2lvbklkKTtcbiAgICAgICAgY29uc3QgZWRnZUVkaXRQYWdlID0gdGFyZ2V0cy5sZW5ndGggPyB0YXJnZXRzW3RhcmdldHMubGVuZ3RoIC0gMV0uZWRnZUVkaXRQYWdlIDogbnVsbDtcbiAgICAgICAgdGhpcy50b2dnbGVFZGdlRWRpdE1vZGUoZWRnZUVkaXRQYWdlKTtcbiAgICAgICAgdGhpcy5zZXRDdXJyZW50U2Vzc2lvbihzZXNzaW9uKTtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50U2Vzc2lvbkJ5SWQoc2Vzc2lvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnNlc3Npb25zLmZpbmRJbmRleCh4ID0+IHguc2Vzc2lvbklkID09PSBzZXNzaW9uSWQpO1xuICAgICAgICB0aGlzLnNldEN1cnJlbnRTZXNzaW9uKHRoaXMuc2Vzc2lvbnNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBzZXRDdXJyZW50U2Vzc2lvbihzZXNzaW9uOiBTZXNzaW9uTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXJTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbi5yZW5kZXJlci5oaWRlQ3Vyc29yKCk7XG4gICAgICAgIHRoaXMuY3VycmVudFNlc3Npb24ucmVuZGVyZXIudXBkYXRlU2VsZWN0aW9uKHRoaXMuc2VsZWN0aW9uLnJhbmdlKTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2Vzc2lvbiA9IHNlc3Npb247XG4gICAgICAgIHRoaXMuY3VycmVudFNlc3Npb24ucmVuZGVyZXIuc2hvd0N1cnNvcigpO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXNzaW9uLnNvdXJjZS5lZGdlRWRpdFBhZ2UgPSB0aGlzLmVkZ2VFZGl0aW5nUGFnZTtcbiAgICB9XG5cbiAgICBnZXRTZXNzaW9uKHNlc3Npb25JZDogbnVtYmVyKTogRWRpdFNlc3Npb24ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHNlc3Npb25JZCk7XG4gICAgICAgIHJldHVybiBzZXNzaW9uLnNlc3Npb247XG4gICAgfVxuXG4gICAgc2V0U2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uID0gc2VsZWN0aW9uO1xuICAgIH1cblxuICAgIGNsZWFyQWxsU2Vzc2lvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMuZm9yRWFjaChzZXNzaW9uID0+IHtcbiAgICAgICAgICAgIHNlc3Npb24uc2Vzc2lvbi5kZXN0cm95KCk7XG4gICAgICAgICAgICBzZXNzaW9uLnJlbmRlcmVyLmRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbnMgPSBbXTtcbiAgICB9XG5cbiAgICBnZXRDdXJyZW50U2Vzc2lvblRhcmdldHMoKTogVGFyZ2V0TW9kZWxbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRhcmdldHModGhpcy5jdXJyZW50U2Vzc2lvbik7XG4gICAgfVxuXG4gICAgZ2V0VGFyZ2V0cyhzZXNzaW9uOiBTZXNzaW9uTW9kZWwpOiBUYXJnZXRNb2RlbFtdIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBUYXJnZXRNb2RlbFtdID0gW107XG4gICAgICAgIGxldCBwYXJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHNlc3Npb24ucGFyZW50U2Vzc2lvbklkKTtcbiAgICAgICAgd2hpbGUgKHBhcmVudFNlc3Npb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHNlc3Npb24uc291cmNlLmdldFRhcmdldCgpO1xuICAgICAgICAgICAgcmVzdWx0LnNwbGljZSgwLCAwLCB0YXJnZXQpO1xuICAgICAgICAgICAgc2Vzc2lvbiA9IHBhcmVudFNlc3Npb247XG4gICAgICAgICAgICBwYXJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHBhcmVudFNlc3Npb24ucGFyZW50U2Vzc2lvbklkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIGdldEVkZ2VUYXJnZXQoc2Vzc2lvbklkOiBudW1iZXIpOiBUYXJnZXRNb2RlbCB8IG51bGwge1xuICAgICAgICBsZXQgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZmluZCh4ID0+IHguc2Vzc2lvbklkID09PSBzZXNzaW9uSWQpO1xuICAgICAgICBsZXQgcGFyZW50U2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbnMuZmluZCh4ID0+IHguc2Vzc2lvbklkID09PSBzZXNzaW9uLnBhcmVudFNlc3Npb25JZCk7XG4gICAgICAgIHdoaWxlIChwYXJlbnRTZXNzaW9uKSB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBzZXNzaW9uLnNvdXJjZS5nZXRUYXJnZXQoKTtcbiAgICAgICAgICAgIGlmICh0YXJnZXQudHlwZSA9PT0gVGFyZ2V0VHlwZS5FZGdlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2Vzc2lvbiA9IHBhcmVudFNlc3Npb247XG4gICAgICAgICAgICBwYXJlbnRTZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5maW5kKHggPT4geC5zZXNzaW9uSWQgPT09IHBhcmVudFNlc3Npb24ucGFyZW50U2Vzc2lvbklkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldFRhcmdldGVkU2Vzc2lvbih0YXJnZXRzOiBUYXJnZXRNb2RlbFtdKTogRWRpdFNlc3Npb24ge1xuICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5tYWluU2Vzc2lvbi5zZXNzaW9uO1xuICAgICAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiB0YXJnZXRzKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRhcmdldC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBUYXJnZXRUeXBlLkRvY3VtZW50OlxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFRhcmdldFR5cGUuVGFibGVDZWxsOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYmxlID0gcmVzdWx0LmN1c3RvbUNvbXBvbmVudHMudGFibGVzLmZpbmQoeCA9PiB4Lmluc3RhbmNlLmNvbnRlbnQuaW5zZXJ0SW5kZXggPT09IHRhcmdldC50YWJsZUNlbGwuaW5zZXJ0SW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSB0YWJsZS5pbnN0YW5jZS5nZXRDZWxsU2Vzc2lvbih0YXJnZXQudGFibGVDZWxsLnJvdywgdGFyZ2V0LnRhYmxlQ2VsbC5jb2x1bW4pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSBUYXJnZXRUeXBlLkVkZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWRnZSA9IHJlc3VsdC5jdXN0b21Db21wb25lbnRzLmVkZ2VzLmdldENvbXBvbmVudEJ5UGFnZVR5cGUoXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZWRnZURhdGEucGFnZVR5cGUgYXMgUGFnZVR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQuZWRnZURhdGEudHlwZSBhcyBFZGdlVHlwZVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBlZGdlLmluc3RhbmNlLmVkZ2VTZXNzaW9uLnNlc3Npb247XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRvZ2dsZUVkZ2VFZGl0TW9kZShjbGlja2VkUGFnZTogbnVtYmVyIHwgbnVsbCA9IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGdlRWRpdGluZ1BhZ2UgPSBjbGlja2VkUGFnZTtcbiAgICAgICAgaWYgKCF0aGlzLm1haW5TZXNzaW9uLnNlc3Npb24uY3VzdG9tQ29tcG9uZW50cy5lZGdlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tYWluU2Vzc2lvbi5zZXNzaW9uLmN1c3RvbUNvbXBvbmVudHMuZWRnZXMudG9nZ2xlRWRpdE1vZGUoISF0aGlzLmVkZ2VFZGl0aW5nUGFnZSk7XG4gICAgICAgIGNvbnN0IG1haW5SZW5kZXJlciA9IHRoaXMubWFpblNlc3Npb24ucmVuZGVyZXIgYXMgVmlydHVhbFJlbmRlcmVyO1xuICAgICAgICBtYWluUmVuZGVyZXIuZWRnZXNMYXllci51cGRhdGUobWFpblJlbmRlcmVyLmxheWVyQ29uZmlnKTtcbiAgICB9XG59XG4iXX0=
@@ -300,10 +300,10 @@ export class EditorService {
300
300
  removeSelected() {
301
301
  this._removeSelected$.next();
302
302
  }
303
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
304
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorService }); }
303
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
304
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorService }); }
305
305
  }
306
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: EditorService, decorators: [{
306
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorService, decorators: [{
307
307
  type: Injectable
308
308
  }] });
309
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBVWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQVNoRyxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQVFZLGFBQVEsR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBUXBGLGlCQUFZLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBS3BCLG9CQUFlLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBSzNFLG1CQUFjLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBUS9FLGtCQUFhLEdBQWdELElBQUksZUFBZSxDQUNwRixJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3pDLENBQUM7UUFLTSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFzRixDQUFDO1FBUXBILHVCQUFrQixHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBUTlELG9CQUFlLEdBQTJCLElBQUksT0FBTyxFQUFpQixDQUFDO1FBUXZFLHNCQUFpQixHQUE2QixJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQVE3RSxjQUFTLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFLckQsb0JBQWUsR0FBNEIsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFLekUseUJB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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnJlYWtUeXBlcyB9IGZyb20gJy4uL2NvcmUvZW51bXMvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFZGdlVHlwZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9lZGdlcy9lZGdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFbGVtZW50RGF0YU1vZGVsIH0gZnJvbSAnLi4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZWxlbWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZURhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBJVG9vbGJhclN0eWxlcyB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy90b29sYmFyLXN0eWxlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnVtYmVyaW5nTGV2ZWxNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbnVtYmVyaW5nLWxldmVsLm1vZGVsJztcbmltcG9ydCB7IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsIH0gZnJvbSAnLi4vb3BlcmF0aW9uLWhpc3Rvcnkvb3BlcmF0aW9ucy1oaXN0b3J5LWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFJlcGxhY2UgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMvcmVwbGFjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzaXplVGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc2l6ZS10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IFNlYXJjaEl0ZXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy9zZWFyY2gtaXRlcmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9zZWFyY2gnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yU2VydmljZSB7XG4gICAgc2V0IHN0eWxlcyh2YWx1ZTogSVRvb2xiYXJTdHlsZXMpIHtcbiAgICAgICAgdGhpcy5fc3R5bGVzJC5uZXh0KHsgLi4udmFsdWUgfSk7XG4gICAgfVxuICAgIGdldCBzdHlsZXMkKCk6IE9ic2VydmFibGU8SVRvb2xiYXJTdHlsZXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlcyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3N0eWxlcyQ6IEJlaGF2aW9yU3ViamVjdDxJVG9vbGJhclN0eWxlcz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElUb29sYmFyU3R5bGVzPih7fSk7XG5cbiAgICBnZXQgaXNWaWV3T25seSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZpZXdPbmx5JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgZ2V0IGlzVmlld09ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZpZXdPbmx5O1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1ZpZXdPbmx5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfaXNWaWV3T25seSA9IGZhbHNlO1xuXG4gICAgZ2V0IGNsaXBib2FyZERhdGEkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGlwYm9hcmREYXRhJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY2xpcGJvYXJkRGF0YSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAgIGdldCBoYXNTZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzU2VsZWN0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaGFzU2VsZWN0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBzZXQgaGlzdG9yeUluZm8odmFsdWU6IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsKSB7XG4gICAgICAgIHRoaXMuX2hpc3RvcnlJbmZvJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IGhpc3RvcnlJbmZvJCgpOiBPYnNlcnZhYmxlPE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaXN0b3J5SW5mbyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2hpc3RvcnlJbmZvJDogQmVoYXZpb3JTdWJqZWN0PE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWw+KFxuICAgICAgICBuZXcgT3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWwoLTEsIC0xKVxuICAgICk7XG5cbiAgICBnZXQgdG9nZ2xlU2lkZW5hdiQoKTogT2JzZXJ2YWJsZTx7IG9wZW46IGJvb2xlYW47IGNvbXBvbmVudDogVHlwZTxhbnk+OyBtb2RlbDogRWxlbWVudE1vZGVsOyBjb250ZW50V2lkdGg6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90b2dnbGVTaWRlbmF2JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdG9nZ2xlU2lkZW5hdiQgPSBuZXcgU3ViamVjdDx7IG9wZW46IGJvb2xlYW47IGNvbXBvbmVudDogVHlwZTxhbnk+OyBtb2RlbDogRWxlbWVudE1vZGVsOyBjb250ZW50V2lkdGg6IG51bWJlciB9PigpO1xuXG4gICAgc2V0IG9wZW5TZWFyY2hEaWFsb2codmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaERpYWxvZyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBvcGVuU2VhcmNoRGlhbG9nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wZW5TZWFyY2hEaWFsb2ckLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9vcGVuU2VhcmNoRGlhbG9nJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBzZXQgc2VhcmNoT3B0aW9ucyh2YWx1ZTogU2VhcmNoT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9zZWFyY2hPcHRpb25zJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHNlYXJjaE9wdGlvbnMkKCk6IE9ic2VydmFibGU8U2VhcmNoT3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoT3B0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlYXJjaE9wdGlvbnMkOiBTdWJqZWN0PFNlYXJjaE9wdGlvbnM+ID0gbmV3IFN1YmplY3Q8U2VhcmNoT3B0aW9ucz4oKTtcblxuICAgIHNldCBzZWFyY2hJdGVyYXRpb24odmFsdWU6IFNlYXJjaEl0ZXJhdGlvbikge1xuICAgICAgICB0aGlzLl9zZWFyY2hJdGVyYXRpb24kLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgc2VhcmNoSXRlcmF0aW9uJCgpOiBPYnNlcnZhYmxlPFNlYXJjaEl0ZXJhdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoSXRlcmF0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2VhcmNoSXRlcmF0aW9uJDogU3ViamVjdDxTZWFyY2hJdGVyYXRpb24+ID0gbmV3IFN1YmplY3Q8U2VhcmNoSXRlcmF0aW9uPigpO1xuXG4gICAgc2V0IHJlcGxhY2UodmFsdWU6IFJlcGxhY2UpIHtcbiAgICAgICAgdGhpcy5fcmVwbGFjZSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCByZXBsYWNlJCgpOiBPYnNlcnZhYmxlPFJlcGxhY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcGxhY2UkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZXBsYWNlJDogU3ViamVjdDxSZXBsYWNlPiA9IG5ldyBTdWJqZWN0PFJlcGxhY2U+KCk7XG5cbiAgICBnZXQgc2V0VGV4dFN0eWxlcyQoKTogT2JzZXJ2YWJsZTxUZXh0U3R5bGVNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2V0VGV4dFN0eWxlcyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NldFRleHRTdHlsZXMkOiBTdWJqZWN0PFRleHRTdHlsZU1vZGVsPiA9IG5ldyBTdWJqZWN0PFRleHRTdHlsZU1vZGVsPigpO1xuXG4gICAgZ2V0IHNldFBhcmFncmFwaFN0eWxlcyQoKTogT2JzZXJ2YWJsZTxQYXJhZ3JhcGhTdHlsZU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXRQYXJhZ3JhcGhTdHlsZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRQYXJhZ3JhcGhTdHlsZXMkOiBTdWJqZWN0PFBhcmFncmFwaFN0eWxlTW9kZWw+ID0gbmV3IFN1YmplY3Q8UGFyYWdyYXBoU3R5bGVNb2RlbD4oKTtcblxuICAgIGdldCBzZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUkKCk6IE9ic2VydmFibGU8TnVtYmVyaW5nTGV2ZWxNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUkOiBTdWJqZWN0PE51bWJlcmluZ0xldmVsTW9kZWxbXT4gPSBuZXcgU3ViamVjdDxOdW1iZXJpbmdMZXZlbE1vZGVsW10+KCk7XG5cbiAgICBnZXQgcmVtb3ZlTnVtYmVyaW5ncyQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW1vdmVOdW1iZXJpbmdzJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVtb3ZlTnVtYmVyaW5ncyQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IHNldEltYWdlU3R5bGUkKCk6IE9ic2VydmFibGU8SW1hZ2VNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hhbmdlSW1hZ2VTdHlsZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoYW5nZUltYWdlU3R5bGUkID0gbmV3IFN1YmplY3Q8SW1hZ2VNb2RlbD4oKTtcblxuICAgIGdldCBjaGFuZ2VFbGVtZW50U3R5bGUkKCk6IE9ic2VydmFibGU8RWxlbWVudE1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGFuZ2VFbGVtZW50U3R5bGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VFbGVtZW50U3R5bGUkID0gbmV3IFN1YmplY3Q8RWxlbWVudE1vZGVsPigpO1xuXG4gICAgZ2V0IGNyZWF0ZUN1c3RvbUNvbXBvbmVudCQoKTogT2JzZXJ2YWJsZTxFbGVtZW50RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVDdXN0b21Db21wb25lbnQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jcmVhdGVDdXN0b21Db21wb25lbnQkOiBTdWJqZWN0PEVsZW1lbnREYXRhTW9kZWw+ID0gbmV3IFN1YmplY3Q8RWxlbWVudERhdGFNb2RlbD4oKTtcblxuICAgIGdldCBpbnNlcnRCcmVhayQoKTogT2JzZXJ2YWJsZTxCcmVha1R5cGVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNlcnRCcmVhayQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2luc2VydEJyZWFrJDogU3ViamVjdDxCcmVha1R5cGVzPiA9IG5ldyBTdWJqZWN0PEJyZWFrVHlwZXM+KCk7XG5cbiAgICBnZXQgaW5zZXJ0SW1hZ2UkKCk6IE9ic2VydmFibGU8SW1hZ2VEYXRhTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc2VydEltYWdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaW5zZXJ0SW1hZ2UkID0gbmV3IFN1YmplY3Q8SW1hZ2VEYXRhTW9kZWw+KCk7XG5cbiAgICBnZXQgaW5zZXJ0TGluayQoKTogT2JzZXJ2YWJsZTx7IHRleHQ6IHN0cmluZzsgbGluazogc3RyaW5nIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc2VydExpbmskLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRMaW5rJCA9IG5ldyBTdWJqZWN0PHsgdGV4dDogc3RyaW5nOyBsaW5rOiBzdHJpbmcgfT4oKTtcblxuICAgIGdldCBlbmRNb3VzZVByZXNzJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VuZE1vdXNlUHJlc3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9lbmRNb3VzZVByZXNzJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgY2xlYXJTZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xlYXJTZWxlY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jbGVhclNlbGVjdGlvbiQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGNoYW5nZWRUYWJsZVNpemUkKCk6IE9ic2VydmFibGU8eyBpbnNlcnRJbmRleDogbnVtYmVyOyBzZXNzaW9uSWQ6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGFuZ2VkVGFibGVTaXplJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY2hhbmdlZFRhYmxlU2l6ZSQgPSBuZXcgU3ViamVjdDx7IGluc2VydEluZGV4OiBudW1iZXI7IHNlc3Npb25JZDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgaW5zZXJ0VGFibGVSb3dzJCgpOiBPYnNlcnZhYmxlPHtcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgcm93c0NvdW50OiBudW1iZXI7XG4gICAgICAgIHRhcmdldEluZGV4OiBudW1iZXI7XG4gICAgICAgIGluaGVyaXRJbmRleDogbnVtYmVyO1xuICAgICAgICBzZXNzaW9uSWQ6IG51bWJlcjtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNlcnRUYWJsZVJvd3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRUYWJsZVJvd3MkID0gbmV3IFN1YmplY3Q8e1xuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyO1xuICAgICAgICByb3dzQ291bnQ6IG51bWJlcjtcbiAgICAgICAgdGFyZ2V0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgaW5oZXJpdEluZGV4OiBudW1iZXI7XG4gICAgICAgIHNlc3Npb25JZDogbnVtYmVyO1xuICAgIH0+KCk7XG5cbiAgICBnZXQgaW5zZXJ0VGFibGVDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPHtcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgY29sdW1uc0NvdW50OiBudW1iZXI7XG4gICAgICAgIHRhcmdldEluZGV4OiBudW1iZXI7XG4gICAgICAgIGluaGVyaXRJbmRleDogbnVtYmVyO1xuICAgICAgICBzZXNzaW9uSWQ6IG51bWJlcjtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNlcnRUYWJsZUNvbHVtbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRUYWJsZUNvbHVtbnMkID0gbmV3IFN1YmplY3Q8e1xuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyO1xuICAgICAgICBjb2x1bW5zQ291bnQ6IG51bWJlcjtcbiAgICAgICAgdGFyZ2V0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgaW5oZXJpdEluZGV4OiBudW1iZXI7XG4gICAgICAgIHNlc3Npb25JZDogbnVtYmVyO1xuICAgIH0+KCk7XG5cbiAgICBnZXQgcmVtb3ZlVGFibGVSb3dzJCgpOiBPYnNlcnZhYmxlPHsgaW5zZXJ0SW5kZXg6IG51bWJlcjsgc3RhcnRJbmRleDogbnVtYmVyOyBlbmRJbmRleDogbnVtYmVyOyBzZXNzaW9uSWQ6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW1vdmVUYWJsZVJvd3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZW1vdmVUYWJsZVJvd3MkID0gbmV3IFN1YmplY3Q8eyBpbnNlcnRJbmRleDogbnVtYmVyOyBzdGFydEluZGV4OiBudW1iZXI7IGVuZEluZGV4OiBudW1iZXI7IHNlc3Npb25JZDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgcmVtb3ZlVGFibGVDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPHsgaW5zZXJ0SW5kZXg6IG51bWJlcjsgc3RhcnRJbmRleDogbnVtYmVyOyBlbmRJbmRleDogbnVtYmVyOyBzZXNzaW9uSWQ6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW1vdmVUYWJsZUNvbHVtbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZW1vdmVUYWJsZUNvbHVtbnMkID0gbmV3IFN1YmplY3Q8eyBpbnNlcnRJbmRleDogbnVtYmVyOyBzdGFydEluZGV4OiBudW1iZXI7IGVuZEluZGV4OiBudW1iZXI7IHNlc3Npb25JZDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgcmVtb3ZlSW1hZ2UkKCk6IE9ic2VydmFibGU8eyBpbnNlcnRJbmRleDogbnVtYmVyIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW92ZUltYWdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVtb3ZlSW1hZ2UkID0gbmV3IFN1YmplY3Q8eyBpbnNlcnRJbmRleDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgcmVzaXplVGFibGVDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPHtcbiAgICAgICAgcmVzaXplVGFibGVDb2x1bW5zOiBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbDtcbiAgICAgICAgc2Vzc2lvbklkOiBudW1iZXI7XG4gICAgfT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplVGFibGVDb2x1bW5zJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVzaXplVGFibGVDb2x1bW5zJCA9IG5ldyBTdWJqZWN0PHtcbiAgICAgICAgcmVzaXplVGFibGVDb2x1bW5zOiBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbDtcbiAgICAgICAgc2Vzc2lvbklkOiBudW1iZXI7XG4gICAgfT4oKTtcblxuICAgIGdldCBpbnNlcnRUYWJsZSQoKTogT2JzZXJ2YWJsZTx7IHJvd3M6IG51bWJlcjsgY29sdW1uczogbnVtYmVyIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc2VydFRhYmxlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaW5zZXJ0VGFibGUkID0gbmV3IFN1YmplY3Q8eyByb3dzOiBudW1iZXI7IGNvbHVtbnM6IG51bWJlciB9PigpO1xuXG4gICAgZ2V0IHJlbmRlcmVyVXBkYXRlZCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlcmVyVXBkYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlbmRlcmVyVXBkYXRlZCQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICBnZXQgZWRnZUVsZW1lbnRDb3B5VXBkYXRlZCQoKTogT2JzZXJ2YWJsZTx7IG5ld0VsZW1lbnRDb3B5OiBIVE1MRWxlbWVudDsgcGFnZTogbnVtYmVyIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VkZ2VFbGVtZW50Q29weVVwZGF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9lZGdlRWxlbWVudENvcHlVcGRhdGVkJCA9IG5ldyBTdWJqZWN0PHtcbiAgICAgICAgbmV3RWxlbWVudENvcHk6IEhUTUxFbGVtZW50O1xuICAgICAgICBwYWdlOiBudW1iZXI7XG4gICAgfT4oKTtcblxuICAgIGdldCBjaGFuZ2VkRWRnZUhlaWdodCQoKTogT2JzZXJ2YWJsZTxFZGdlVHlwZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hhbmdlZEVkZ2VIZWlnaHQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VkRWRnZUhlaWdodCQ6IFN1YmplY3Q8RWRnZVR5cGU+ID0gbmV3IFN1YmplY3Q8RWRnZVR5cGU+KCk7XG5cbiAgICBnZXQgcmVkbyQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWRvJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVkbyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IHVuZG8kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdW5kbyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3VuZG8kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGdldCBwcmludCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmludCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3ByaW50JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgY3V0U2VsZWN0ZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3V0U2VsZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jdXRTZWxlY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGNvcHlTZWxlY3RlZCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb3B5U2VsZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jb3B5U2VsZWN0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGdldCBwYXN0ZUZyb21DbGlwYm9hcmQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFzdGVGcm9tQ2xpcGJvYXJkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcGFzdGVGcm9tQ2xpcGJvYXJkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgc2VsZWN0QWxsJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdEFsbCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlbGVjdEFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IHJlbW92ZVNlbGVjdGVkJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW92ZVNlbGVjdGVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVtb3ZlU2VsZWN0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHNldElzVmlld09ubHkodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNWaWV3T25seSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9pc1ZpZXdPbmx5JC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRIYXNTZWxlY3Rpb24odmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFzU2VsZWN0aW9uJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRDbGlwYm9hcmREYXRhKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xpcGJvYXJkRGF0YSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0VGV4dFN0eWxlcyh2YWx1ZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0VGV4dFN0eWxlcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0UGFyYWdyYXBoU3R5bGVzKHZhbHVlOiBQYXJhZ3JhcGhTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFBhcmFncmFwaFN0eWxlcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlKHZhbHVlOiBOdW1iZXJpbmdMZXZlbE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICByZW1vdmVOdW1iZXJpbmdzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVOdW1iZXJpbmdzJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlSW1hZ2VTdHlsZSh2YWx1ZTogSW1hZ2VNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VJbWFnZVN0eWxlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VFbGVtZW50U3R5bGUodmFsdWU6IEVsZW1lbnRNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VFbGVtZW50U3R5bGUkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIGNyZWF0ZUN1c3RvbUNvbXBvbmVudChtb2RlbDogRWxlbWVudERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jcmVhdGVDdXN0b21Db21wb25lbnQkLm5leHQobW9kZWwpO1xuICAgIH1cblxuICAgIGluc2VydEJyZWFrKHZhbHVlOiBCcmVha1R5cGVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydEJyZWFrJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpbnNlcnRJbWFnZShpbWFnZURhdGE6IEltYWdlRGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydEltYWdlJC5uZXh0KGltYWdlRGF0YSk7XG4gICAgfVxuXG4gICAgaW5zZXJ0TGluayh0ZXh0OiBzdHJpbmcsIGxpbms6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbnNlcnRMaW5rJC5uZXh0KHsgdGV4dCwgbGluayB9KTtcbiAgICB9XG5cbiAgICBlbmRNb3VzZVByZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbmRNb3VzZVByZXNzJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyU2VsZWN0aW9uJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlU2lkZW5hdihvcGVuOiBib29sZWFuLCBjb21wb25lbnQ6IFR5cGU8YW55PiwgbW9kZWw6IEVsZW1lbnRNb2RlbCwgY29udGVudFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlU2lkZW5hdiQubmV4dCh7IG9wZW4sIGNvbXBvbmVudCwgbW9kZWwsIGNvbnRlbnRXaWR0aCB9KTtcbiAgICB9XG5cbiAgICBjaGFuZ2VkVGFibGVTaXplKGluc2VydEluZGV4OiBudW1iZXIsIHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZWRUYWJsZVNpemUkLm5leHQoeyBpbnNlcnRJbmRleCwgc2Vzc2lvbklkIH0pO1xuICAgIH1cblxuICAgIGluc2VydFRhYmxlUm93cyhpbnNlcnRJbmRleDogbnVtYmVyLCByb3dzQ291bnQ6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlciwgaW5oZXJpdEluZGV4OiBudW1iZXIsIHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydFRhYmxlUm93cyQubmV4dCh7IGluc2VydEluZGV4LCByb3dzQ291bnQsIHRhcmdldEluZGV4LCBpbmhlcml0SW5kZXgsIHNlc3Npb25JZCB9KTtcbiAgICB9XG5cbiAgICBpbnNlcnRUYWJsZUNvbHVtbnMoaW5zZXJ0SW5kZXg6IG51bWJlciwgY29sdW1uc0NvdW50OiBudW1iZXIsIHRhcmdldEluZGV4OiBudW1iZXIsIGluaGVyaXRJbmRleDogbnVtYmVyLCBzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbnNlcnRUYWJsZUNvbHVtbnMkLm5leHQoeyBpbnNlcnRJbmRleCwgY29sdW1uc0NvdW50LCB0YXJnZXRJbmRleCwgaW5oZXJpdEluZGV4LCBzZXNzaW9uSWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVGFibGVSb3dzKGluc2VydEluZGV4OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc2Vzc2lvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlVGFibGVSb3dzJC5uZXh0KHsgaW5zZXJ0SW5kZXgsIHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBzZXNzaW9uSWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVGFibGVDb2x1bW5zKGluc2VydEluZGV4OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc2Vzc2lvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlVGFibGVDb2x1bW5zJC5uZXh0KHsgaW5zZXJ0SW5kZXgsIHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBzZXNzaW9uSWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSW1hZ2UoaW5zZXJ0SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVJbWFnZSQubmV4dCh7IGluc2VydEluZGV4IH0pO1xuICAgIH1cblxuICAgIHJlc2l6ZVRhYmxlQ29sdW1ucyhyZXNpemVUYWJsZUNvbHVtbnM6IFJlc2l6ZVRhYmxlQ29sdW1uc01vZGVsLCBzZXNzaW9uSWQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9yZXNpemVUYWJsZUNvbHVtbnMkLm5leHQoe1xuICAgICAgICAgICAgcmVzaXplVGFibGVDb2x1bW5zLFxuICAgICAgICAgICAgc2Vzc2lvbklkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluc2VydFRhYmxlKHRhYmxlRGF0YTogeyByb3dzOiBudW1iZXI7IGNvbHVtbnM6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydFRhYmxlJC5uZXh0KHRhYmxlRGF0YSk7XG4gICAgfVxuXG4gICAgcmVuZGVyZXJVcGRhdGVkKHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyVXBkYXRlZCQubmV4dChzZXNzaW9uSWQpO1xuICAgIH1cblxuICAgIGVkZ2VFbGVtZW50Q29weVVwZGF0ZWQobmV3RWxlbWVudENvcHksIHBhZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWRnZUVsZW1lbnRDb3B5VXBkYXRlZCQubmV4dCh7IG5ld0VsZW1lbnRDb3B5LCBwYWdlIH0pO1xuICAgIH1cblxuICAgIGNoYW5nZWRFZGdlSGVpZ2h0KHR5cGU6IEVkZ2VUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZWRFZGdlSGVpZ2h0JC5uZXh0KHR5cGUpO1xuICAgIH1cblxuICAgIHVuZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VuZG8kLm5leHQoKTtcbiAgICB9XG5cbiAgICByZWRvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWRvJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByaW50JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY3V0U2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1dFNlbGVjdGVkJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY29weVNlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb3B5U2VsZWN0ZWQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwYXN0ZUZyb21DbGlwYm9hcmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bhc3RlRnJvbUNsaXBib2FyZCQubmV4dCgpO1xuICAgIH1cblxuICAgIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0QWxsJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbW92ZVNlbGVjdGVkJC5uZXh0KCk7XG4gICAgfVxufVxuIl19
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBVWpELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQVNoRyxNQUFNLE9BQU8sYUFBYTtJQUQxQjtRQVFZLGFBQVEsR0FBb0MsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBUXBGLGlCQUFZLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzdFLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBS3BCLG9CQUFlLEdBQTRCLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBSzNFLG1CQUFjLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBUS9FLGtCQUFhLEdBQWdELElBQUksZUFBZSxDQUNwRixJQUFJLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3pDLENBQUM7UUFLTSxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFzRixDQUFDO1FBUXBILHVCQUFrQixHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBUTlELG9CQUFlLEdBQTJCLElBQUksT0FBTyxFQUFpQixDQUFDO1FBUXZFLHNCQUFpQixHQUE2QixJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQVE3RSxjQUFTLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFLckQsb0JBQWUsR0FBNEIsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFLekUseUJB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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnJlYWtUeXBlcyB9IGZyb20gJy4uL2NvcmUvZW51bXMvYnJlYWstdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFZGdlVHlwZSB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50cy9lZGdlcy9lZGdlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBFbGVtZW50RGF0YU1vZGVsIH0gZnJvbSAnLi4vY3VzdG9tLWNvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZWxlbWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvZWxlbWVudC5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZURhdGFNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvaW1hZ2UtZGF0YS5tb2RlbCc7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBJVG9vbGJhclN0eWxlcyB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy90b29sYmFyLXN0eWxlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTnVtYmVyaW5nTGV2ZWxNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvbnVtYmVyaW5nLWxldmVsLm1vZGVsJztcbmltcG9ydCB7IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsIH0gZnJvbSAnLi4vb3BlcmF0aW9uLWhpc3Rvcnkvb3BlcmF0aW9ucy1oaXN0b3J5LWluZm8ubW9kZWwnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFJlcGxhY2UgfSBmcm9tICcuLi9jb3JlL2ludGVyZmFjZXMvcmVwbGFjZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzaXplVGFibGVDb2x1bW5zTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3Jlc2l6ZS10YWJsZS1jb2x1bW5zLm1vZGVsJztcbmltcG9ydCB7IFNlYXJjaEl0ZXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcy9zZWFyY2gtaXRlcmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWFyY2hPcHRpb25zIH0gZnJvbSAnLi4vY29yZS9zZWFyY2gnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRWRpdG9yU2VydmljZSB7XG4gICAgc2V0IHN0eWxlcyh2YWx1ZTogSVRvb2xiYXJTdHlsZXMpIHtcbiAgICAgICAgdGhpcy5fc3R5bGVzJC5uZXh0KHsgLi4udmFsdWUgfSk7XG4gICAgfVxuICAgIGdldCBzdHlsZXMkKCk6IE9ic2VydmFibGU8SVRvb2xiYXJTdHlsZXM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0eWxlcyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3N0eWxlcyQ6IEJlaGF2aW9yU3ViamVjdDxJVG9vbGJhclN0eWxlcz4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElUb29sYmFyU3R5bGVzPih7fSk7XG5cbiAgICBnZXQgaXNWaWV3T25seSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZpZXdPbmx5JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgZ2V0IGlzVmlld09ubHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc1ZpZXdPbmx5O1xuICAgIH1cbiAgICBwcml2YXRlIF9pc1ZpZXdPbmx5JDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfaXNWaWV3T25seSA9IGZhbHNlO1xuXG4gICAgZ2V0IGNsaXBib2FyZERhdGEkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jbGlwYm9hcmREYXRhJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY2xpcGJvYXJkRGF0YSQ6IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICAgIGdldCBoYXNTZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGFzU2VsZWN0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaGFzU2VsZWN0aW9uJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgICBzZXQgaGlzdG9yeUluZm8odmFsdWU6IE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsKSB7XG4gICAgICAgIHRoaXMuX2hpc3RvcnlJbmZvJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IGhpc3RvcnlJbmZvJCgpOiBPYnNlcnZhYmxlPE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oaXN0b3J5SW5mbyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2hpc3RvcnlJbmZvJDogQmVoYXZpb3JTdWJqZWN0PE9wZXJhdGlvbnNIaXN0b3J5SW5mb01vZGVsPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8T3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWw+KFxuICAgICAgICBuZXcgT3BlcmF0aW9uc0hpc3RvcnlJbmZvTW9kZWwoLTEsIC0xKVxuICAgICk7XG5cbiAgICBnZXQgdG9nZ2xlU2lkZW5hdiQoKTogT2JzZXJ2YWJsZTx7IG9wZW46IGJvb2xlYW47IGNvbXBvbmVudDogVHlwZTxhbnk+OyBtb2RlbDogRWxlbWVudE1vZGVsOyBjb250ZW50V2lkdGg6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl90b2dnbGVTaWRlbmF2JC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdG9nZ2xlU2lkZW5hdiQgPSBuZXcgU3ViamVjdDx7IG9wZW46IGJvb2xlYW47IGNvbXBvbmVudDogVHlwZTxhbnk+OyBtb2RlbDogRWxlbWVudE1vZGVsOyBjb250ZW50V2lkdGg6IG51bWJlciB9PigpO1xuXG4gICAgc2V0IG9wZW5TZWFyY2hEaWFsb2codmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fb3BlblNlYXJjaERpYWxvZyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBvcGVuU2VhcmNoRGlhbG9nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wZW5TZWFyY2hEaWFsb2ckLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9vcGVuU2VhcmNoRGlhbG9nJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBzZXQgc2VhcmNoT3B0aW9ucyh2YWx1ZTogU2VhcmNoT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9zZWFyY2hPcHRpb25zJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHNlYXJjaE9wdGlvbnMkKCk6IE9ic2VydmFibGU8U2VhcmNoT3B0aW9ucz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoT3B0aW9ucyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlYXJjaE9wdGlvbnMkOiBTdWJqZWN0PFNlYXJjaE9wdGlvbnM+ID0gbmV3IFN1YmplY3Q8U2VhcmNoT3B0aW9ucz4oKTtcblxuICAgIHNldCBzZWFyY2hJdGVyYXRpb24odmFsdWU6IFNlYXJjaEl0ZXJhdGlvbikge1xuICAgICAgICB0aGlzLl9zZWFyY2hJdGVyYXRpb24kLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBnZXQgc2VhcmNoSXRlcmF0aW9uJCgpOiBPYnNlcnZhYmxlPFNlYXJjaEl0ZXJhdGlvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VhcmNoSXRlcmF0aW9uJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2VhcmNoSXRlcmF0aW9uJDogU3ViamVjdDxTZWFyY2hJdGVyYXRpb24+ID0gbmV3IFN1YmplY3Q8U2VhcmNoSXRlcmF0aW9uPigpO1xuXG4gICAgc2V0IHJlcGxhY2UodmFsdWU6IFJlcGxhY2UpIHtcbiAgICAgICAgdGhpcy5fcmVwbGFjZSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCByZXBsYWNlJCgpOiBPYnNlcnZhYmxlPFJlcGxhY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcGxhY2UkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZXBsYWNlJDogU3ViamVjdDxSZXBsYWNlPiA9IG5ldyBTdWJqZWN0PFJlcGxhY2U+KCk7XG5cbiAgICBnZXQgc2V0VGV4dFN0eWxlcyQoKTogT2JzZXJ2YWJsZTxUZXh0U3R5bGVNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2V0VGV4dFN0eWxlcyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NldFRleHRTdHlsZXMkOiBTdWJqZWN0PFRleHRTdHlsZU1vZGVsPiA9IG5ldyBTdWJqZWN0PFRleHRTdHlsZU1vZGVsPigpO1xuXG4gICAgZ2V0IHNldFBhcmFncmFwaFN0eWxlcyQoKTogT2JzZXJ2YWJsZTxQYXJhZ3JhcGhTdHlsZU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXRQYXJhZ3JhcGhTdHlsZXMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRQYXJhZ3JhcGhTdHlsZXMkOiBTdWJqZWN0PFBhcmFncmFwaFN0eWxlTW9kZWw+ID0gbmV3IFN1YmplY3Q8UGFyYWdyYXBoU3R5bGVNb2RlbD4oKTtcblxuICAgIGdldCBzZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUkKCk6IE9ic2VydmFibGU8TnVtYmVyaW5nTGV2ZWxNb2RlbFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUkOiBTdWJqZWN0PE51bWJlcmluZ0xldmVsTW9kZWxbXT4gPSBuZXcgU3ViamVjdDxOdW1iZXJpbmdMZXZlbE1vZGVsW10+KCk7XG5cbiAgICBnZXQgcmVtb3ZlTnVtYmVyaW5ncyQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW1vdmVOdW1iZXJpbmdzJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVtb3ZlTnVtYmVyaW5ncyQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IHNldEltYWdlU3R5bGUkKCk6IE9ic2VydmFibGU8SW1hZ2VNb2RlbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hhbmdlSW1hZ2VTdHlsZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoYW5nZUltYWdlU3R5bGUkID0gbmV3IFN1YmplY3Q8SW1hZ2VNb2RlbD4oKTtcblxuICAgIGdldCBjaGFuZ2VFbGVtZW50U3R5bGUkKCk6IE9ic2VydmFibGU8RWxlbWVudE1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGFuZ2VFbGVtZW50U3R5bGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VFbGVtZW50U3R5bGUkID0gbmV3IFN1YmplY3Q8RWxlbWVudE1vZGVsPigpO1xuXG4gICAgZ2V0IGNyZWF0ZUN1c3RvbUNvbXBvbmVudCQoKTogT2JzZXJ2YWJsZTxFbGVtZW50RGF0YU1vZGVsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVDdXN0b21Db21wb25lbnQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jcmVhdGVDdXN0b21Db21wb25lbnQkOiBTdWJqZWN0PEVsZW1lbnREYXRhTW9kZWw+ID0gbmV3IFN1YmplY3Q8RWxlbWVudERhdGFNb2RlbD4oKTtcblxuICAgIGdldCBpbnNlcnRCcmVhayQoKTogT2JzZXJ2YWJsZTxCcmVha1R5cGVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNlcnRCcmVhayQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX2luc2VydEJyZWFrJDogU3ViamVjdDxCcmVha1R5cGVzPiA9IG5ldyBTdWJqZWN0PEJyZWFrVHlwZXM+KCk7XG5cbiAgICBnZXQgaW5zZXJ0SW1hZ2UkKCk6IE9ic2VydmFibGU8SW1hZ2VEYXRhTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc2VydEltYWdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaW5zZXJ0SW1hZ2UkID0gbmV3IFN1YmplY3Q8SW1hZ2VEYXRhTW9kZWw+KCk7XG5cbiAgICBnZXQgaW5zZXJ0TGluayQoKTogT2JzZXJ2YWJsZTx7IHRleHQ6IHN0cmluZzsgbGluazogc3RyaW5nIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc2VydExpbmskLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRMaW5rJCA9IG5ldyBTdWJqZWN0PHsgdGV4dDogc3RyaW5nOyBsaW5rOiBzdHJpbmcgfT4oKTtcblxuICAgIGdldCBlbmRNb3VzZVByZXNzJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VuZE1vdXNlUHJlc3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9lbmRNb3VzZVByZXNzJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgY2xlYXJTZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xlYXJTZWxlY3Rpb24kLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jbGVhclNlbGVjdGlvbiQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGNoYW5nZWRUYWJsZVNpemUkKCk6IE9ic2VydmFibGU8eyBpbnNlcnRJbmRleDogbnVtYmVyOyBzZXNzaW9uSWQ6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jaGFuZ2VkVGFibGVTaXplJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfY2hhbmdlZFRhYmxlU2l6ZSQgPSBuZXcgU3ViamVjdDx7IGluc2VydEluZGV4OiBudW1iZXI7IHNlc3Npb25JZDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgaW5zZXJ0VGFibGVSb3dzJCgpOiBPYnNlcnZhYmxlPHtcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgcm93c0NvdW50OiBudW1iZXI7XG4gICAgICAgIHRhcmdldEluZGV4OiBudW1iZXI7XG4gICAgICAgIGluaGVyaXRJbmRleDogbnVtYmVyO1xuICAgICAgICBzZXNzaW9uSWQ6IG51bWJlcjtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNlcnRUYWJsZVJvd3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRUYWJsZVJvd3MkID0gbmV3IFN1YmplY3Q8e1xuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyO1xuICAgICAgICByb3dzQ291bnQ6IG51bWJlcjtcbiAgICAgICAgdGFyZ2V0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgaW5oZXJpdEluZGV4OiBudW1iZXI7XG4gICAgICAgIHNlc3Npb25JZDogbnVtYmVyO1xuICAgIH0+KCk7XG5cbiAgICBnZXQgaW5zZXJ0VGFibGVDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPHtcbiAgICAgICAgaW5zZXJ0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgY29sdW1uc0NvdW50OiBudW1iZXI7XG4gICAgICAgIHRhcmdldEluZGV4OiBudW1iZXI7XG4gICAgICAgIGluaGVyaXRJbmRleDogbnVtYmVyO1xuICAgICAgICBzZXNzaW9uSWQ6IG51bWJlcjtcbiAgICB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnNlcnRUYWJsZUNvbHVtbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pbnNlcnRUYWJsZUNvbHVtbnMkID0gbmV3IFN1YmplY3Q8e1xuICAgICAgICBpbnNlcnRJbmRleDogbnVtYmVyO1xuICAgICAgICBjb2x1bW5zQ291bnQ6IG51bWJlcjtcbiAgICAgICAgdGFyZ2V0SW5kZXg6IG51bWJlcjtcbiAgICAgICAgaW5oZXJpdEluZGV4OiBudW1iZXI7XG4gICAgICAgIHNlc3Npb25JZDogbnVtYmVyO1xuICAgIH0+KCk7XG5cbiAgICBnZXQgcmVtb3ZlVGFibGVSb3dzJCgpOiBPYnNlcnZhYmxlPHsgaW5zZXJ0SW5kZXg6IG51bWJlcjsgc3RhcnRJbmRleDogbnVtYmVyOyBlbmRJbmRleDogbnVtYmVyOyBzZXNzaW9uSWQ6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW1vdmVUYWJsZVJvd3MkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZW1vdmVUYWJsZVJvd3MkID0gbmV3IFN1YmplY3Q8eyBpbnNlcnRJbmRleDogbnVtYmVyOyBzdGFydEluZGV4OiBudW1iZXI7IGVuZEluZGV4OiBudW1iZXI7IHNlc3Npb25JZDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgcmVtb3ZlVGFibGVDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPHsgaW5zZXJ0SW5kZXg6IG51bWJlcjsgc3RhcnRJbmRleDogbnVtYmVyOyBlbmRJbmRleDogbnVtYmVyOyBzZXNzaW9uSWQ6IG51bWJlciB9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZW1vdmVUYWJsZUNvbHVtbnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9yZW1vdmVUYWJsZUNvbHVtbnMkID0gbmV3IFN1YmplY3Q8eyBpbnNlcnRJbmRleDogbnVtYmVyOyBzdGFydEluZGV4OiBudW1iZXI7IGVuZEluZGV4OiBudW1iZXI7IHNlc3Npb25JZDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgcmVtb3ZlSW1hZ2UkKCk6IE9ic2VydmFibGU8eyBpbnNlcnRJbmRleDogbnVtYmVyIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW92ZUltYWdlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVtb3ZlSW1hZ2UkID0gbmV3IFN1YmplY3Q8eyBpbnNlcnRJbmRleDogbnVtYmVyIH0+KCk7XG5cbiAgICBnZXQgcmVzaXplVGFibGVDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPHtcbiAgICAgICAgcmVzaXplVGFibGVDb2x1bW5zOiBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbDtcbiAgICAgICAgc2Vzc2lvbklkOiBudW1iZXI7XG4gICAgfT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVzaXplVGFibGVDb2x1bW5zJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVzaXplVGFibGVDb2x1bW5zJCA9IG5ldyBTdWJqZWN0PHtcbiAgICAgICAgcmVzaXplVGFibGVDb2x1bW5zOiBSZXNpemVUYWJsZUNvbHVtbnNNb2RlbDtcbiAgICAgICAgc2Vzc2lvbklkOiBudW1iZXI7XG4gICAgfT4oKTtcblxuICAgIGdldCBpbnNlcnRUYWJsZSQoKTogT2JzZXJ2YWJsZTx7IHJvd3M6IG51bWJlcjsgY29sdW1uczogbnVtYmVyIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2luc2VydFRhYmxlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaW5zZXJ0VGFibGUkID0gbmV3IFN1YmplY3Q8eyByb3dzOiBudW1iZXI7IGNvbHVtbnM6IG51bWJlciB9PigpO1xuXG4gICAgZ2V0IHJlbmRlcmVyVXBkYXRlZCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbmRlcmVyVXBkYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JlbmRlcmVyVXBkYXRlZCQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICBnZXQgZWRnZUVsZW1lbnRDb3B5VXBkYXRlZCQoKTogT2JzZXJ2YWJsZTx7IG5ld0VsZW1lbnRDb3B5OiBIVE1MRWxlbWVudDsgcGFnZTogbnVtYmVyIH0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VkZ2VFbGVtZW50Q29weVVwZGF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9lZGdlRWxlbWVudENvcHlVcGRhdGVkJCA9IG5ldyBTdWJqZWN0PHtcbiAgICAgICAgbmV3RWxlbWVudENvcHk6IEhUTUxFbGVtZW50O1xuICAgICAgICBwYWdlOiBudW1iZXI7XG4gICAgfT4oKTtcblxuICAgIGdldCBjaGFuZ2VkRWRnZUhlaWdodCQoKTogT2JzZXJ2YWJsZTxFZGdlVHlwZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2hhbmdlZEVkZ2VIZWlnaHQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jaGFuZ2VkRWRnZUhlaWdodCQ6IFN1YmplY3Q8RWRnZVR5cGU+ID0gbmV3IFN1YmplY3Q8RWRnZVR5cGU+KCk7XG5cbiAgICBnZXQgcmVkbyQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWRvJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVkbyQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IHVuZG8kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdW5kbyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3VuZG8kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGdldCBwcmludCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmludCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3ByaW50JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgY3V0U2VsZWN0ZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3V0U2VsZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jdXRTZWxlY3RlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IGNvcHlTZWxlY3RlZCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb3B5U2VsZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwcml2YXRlIF9jb3B5U2VsZWN0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGdldCBwYXN0ZUZyb21DbGlwYm9hcmQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFzdGVGcm9tQ2xpcGJvYXJkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcGFzdGVGcm9tQ2xpcGJvYXJkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBnZXQgc2VsZWN0QWxsJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdEFsbCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHByaXZhdGUgX3NlbGVjdEFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgZ2V0IHJlbW92ZVNlbGVjdGVkJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbW92ZVNlbGVjdGVkJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVtb3ZlU2VsZWN0ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHNldElzVmlld09ubHkodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXNWaWV3T25seSA9IHZhbHVlO1xuICAgICAgICB0aGlzLl9pc1ZpZXdPbmx5JC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRIYXNTZWxlY3Rpb24odmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFzU2VsZWN0aW9uJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXRDbGlwYm9hcmREYXRhKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xpcGJvYXJkRGF0YSQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0VGV4dFN0eWxlcyh2YWx1ZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0VGV4dFN0eWxlcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0UGFyYWdyYXBoU3R5bGVzKHZhbHVlOiBQYXJhZ3JhcGhTdHlsZU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFBhcmFncmFwaFN0eWxlcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlKHZhbHVlOiBOdW1iZXJpbmdMZXZlbE1vZGVsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICByZW1vdmVOdW1iZXJpbmdzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVOdW1iZXJpbmdzJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlSW1hZ2VTdHlsZSh2YWx1ZTogSW1hZ2VNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VJbWFnZVN0eWxlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VFbGVtZW50U3R5bGUodmFsdWU6IEVsZW1lbnRNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jaGFuZ2VFbGVtZW50U3R5bGUkLm5leHQodmFsdWUpO1xuICAgIH1cblxuICAgIGNyZWF0ZUN1c3RvbUNvbXBvbmVudChtb2RlbDogRWxlbWVudERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jcmVhdGVDdXN0b21Db21wb25lbnQkLm5leHQobW9kZWwpO1xuICAgIH1cblxuICAgIGluc2VydEJyZWFrKHZhbHVlOiBCcmVha1R5cGVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydEJyZWFrJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBpbnNlcnRJbWFnZShpbWFnZURhdGE6IEltYWdlRGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydEltYWdlJC5uZXh0KGltYWdlRGF0YSk7XG4gICAgfVxuXG4gICAgaW5zZXJ0TGluayh0ZXh0OiBzdHJpbmcsIGxpbms6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbnNlcnRMaW5rJC5uZXh0KHsgdGV4dCwgbGluayB9KTtcbiAgICB9XG5cbiAgICBlbmRNb3VzZVByZXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbmRNb3VzZVByZXNzJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY2xlYXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NsZWFyU2VsZWN0aW9uJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlU2lkZW5hdihvcGVuOiBib29sZWFuLCBjb21wb25lbnQ6IFR5cGU8YW55PiwgbW9kZWw6IEVsZW1lbnRNb2RlbCwgY29udGVudFdpZHRoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlU2lkZW5hdiQubmV4dCh7IG9wZW4sIGNvbXBvbmVudCwgbW9kZWwsIGNvbnRlbnRXaWR0aCB9KTtcbiAgICB9XG5cbiAgICBjaGFuZ2VkVGFibGVTaXplKGluc2VydEluZGV4OiBudW1iZXIsIHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZWRUYWJsZVNpemUkLm5leHQoeyBpbnNlcnRJbmRleCwgc2Vzc2lvbklkIH0pO1xuICAgIH1cblxuICAgIGluc2VydFRhYmxlUm93cyhpbnNlcnRJbmRleDogbnVtYmVyLCByb3dzQ291bnQ6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlciwgaW5oZXJpdEluZGV4OiBudW1iZXIsIHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydFRhYmxlUm93cyQubmV4dCh7IGluc2VydEluZGV4LCByb3dzQ291bnQsIHRhcmdldEluZGV4LCBpbmhlcml0SW5kZXgsIHNlc3Npb25JZCB9KTtcbiAgICB9XG5cbiAgICBpbnNlcnRUYWJsZUNvbHVtbnMoaW5zZXJ0SW5kZXg6IG51bWJlciwgY29sdW1uc0NvdW50OiBudW1iZXIsIHRhcmdldEluZGV4OiBudW1iZXIsIGluaGVyaXRJbmRleDogbnVtYmVyLCBzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbnNlcnRUYWJsZUNvbHVtbnMkLm5leHQoeyBpbnNlcnRJbmRleCwgY29sdW1uc0NvdW50LCB0YXJnZXRJbmRleCwgaW5oZXJpdEluZGV4LCBzZXNzaW9uSWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVGFibGVSb3dzKGluc2VydEluZGV4OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc2Vzc2lvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlVGFibGVSb3dzJC5uZXh0KHsgaW5zZXJ0SW5kZXgsIHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBzZXNzaW9uSWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVGFibGVDb2x1bW5zKGluc2VydEluZGV4OiBudW1iZXIsIHN0YXJ0SW5kZXg6IG51bWJlciwgZW5kSW5kZXg6IG51bWJlciwgc2Vzc2lvbklkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlVGFibGVDb2x1bW5zJC5uZXh0KHsgaW5zZXJ0SW5kZXgsIHN0YXJ0SW5kZXgsIGVuZEluZGV4LCBzZXNzaW9uSWQgfSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlSW1hZ2UoaW5zZXJ0SW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZW1vdmVJbWFnZSQubmV4dCh7IGluc2VydEluZGV4IH0pO1xuICAgIH1cblxuICAgIHJlc2l6ZVRhYmxlQ29sdW1ucyhyZXNpemVUYWJsZUNvbHVtbnM6IFJlc2l6ZVRhYmxlQ29sdW1uc01vZGVsLCBzZXNzaW9uSWQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9yZXNpemVUYWJsZUNvbHVtbnMkLm5leHQoe1xuICAgICAgICAgICAgcmVzaXplVGFibGVDb2x1bW5zLFxuICAgICAgICAgICAgc2Vzc2lvbklkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluc2VydFRhYmxlKHRhYmxlRGF0YTogeyByb3dzOiBudW1iZXI7IGNvbHVtbnM6IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2luc2VydFRhYmxlJC5uZXh0KHRhYmxlRGF0YSk7XG4gICAgfVxuXG4gICAgcmVuZGVyZXJVcGRhdGVkKHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyVXBkYXRlZCQubmV4dChzZXNzaW9uSWQpO1xuICAgIH1cblxuICAgIGVkZ2VFbGVtZW50Q29weVVwZGF0ZWQobmV3RWxlbWVudENvcHksIHBhZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWRnZUVsZW1lbnRDb3B5VXBkYXRlZCQubmV4dCh7IG5ld0VsZW1lbnRDb3B5LCBwYWdlIH0pO1xuICAgIH1cblxuICAgIGNoYW5nZWRFZGdlSGVpZ2h0KHR5cGU6IEVkZ2VUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZWRFZGdlSGVpZ2h0JC5uZXh0KHR5cGUpO1xuICAgIH1cblxuICAgIHVuZG8oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3VuZG8kLm5leHQoKTtcbiAgICB9XG5cbiAgICByZWRvKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9yZWRvJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcHJpbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ByaW50JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY3V0U2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2N1dFNlbGVjdGVkJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgY29weVNlbGVjdGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb3B5U2VsZWN0ZWQkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwYXN0ZUZyb21DbGlwYm9hcmQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3Bhc3RlRnJvbUNsaXBib2FyZCQubmV4dCgpO1xuICAgIH1cblxuICAgIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0QWxsJC5uZXh0KCk7XG4gICAgfVxuXG4gICAgcmVtb3ZlU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3JlbW92ZVNlbGVjdGVkJC5uZXh0KCk7XG4gICAgfVxufVxuIl19