@talrace/ngx-noder 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/apart-components/editor-toolbar/components/toolbar-actions/toolbar-actions.component.mjs +3 -3
- package/esm2022/lib/editor/components/image/components/image.component.mjs +2 -2
- package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +9 -18
- package/esm2022/lib/editor/components/shared/abstract/base.component.mjs +2 -1
- package/esm2022/lib/editor/display/layers/cursor.layer.mjs +2 -2
- package/esm2022/lib/editor/execution/edit.session.mjs +18 -1
- package/esm2022/lib/editor/execution/editor.mjs +36 -50
- package/esm2022/lib/editor/execution/regulator.service.mjs +2 -2
- package/esm2022/lib/editor/interaction/editor.service.mjs +18 -11
- package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +5 -2
- package/esm2022/lib/editor/positioning/selection.mjs +35 -1
- package/fesm2022/talrace-ngx-noder.mjs +120 -81
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/editor/components/image/input-handler/image-input.handler.d.ts +1 -6
- package/lib/editor/components/shared/abstract/base.component.d.ts +2 -0
- package/lib/editor/execution/edit.session.d.ts +1 -0
- package/lib/editor/execution/editor.d.ts +5 -5
- package/lib/editor/interaction/editor.service.d.ts +10 -8
- package/lib/editor/positioning/selection.d.ts +7 -0
- package/package.json +1 -1
|
@@ -53,13 +53,13 @@ export class ToolbarActionsComponent extends BaseToolbarComponent {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarActionsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CustomIconService }, { token: i0.Injector }, { token: i2.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToolbarActionsComponent, selector: "app-nod-toolbar-actions", viewQueries: [{ propertyName: "tableInsertMenu", first: true, predicate: ["tableInsert"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{ isViewOnly: editorService.isViewOnly$ | async } as data\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <app-nod-print (print)=\"print.emit()\" />\n <div class=\"separator\"></div>\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n [fontColor]=\"styles.fontColor\"\n [highlightColor]=\"styles.highlightColor\"\n (selectFontColor)=\"onApplyFontColor($event)\"\n (toggleBold)=\"onApplyBold()\"\n (toggleItalic)=\"onApplyItalic()\"\n (toggleUnderline)=\"onApplyUnderline()\"\n (selectHighlightColor)=\"onApplyHighlightColor($event)\" />\n <div class=\"separator\"></div>\n <div class=\"insert-buttons\">\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-image\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertImage.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-image\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-table\"\n [class.active-button]=\"showInsertTableMenu\"\n [disabled]=\"data.isViewOnly\"\n [matMenuTriggerFor]=\"tableInsert\"\n (menuOpened)=\"showInsertTableMenu = true\"\n (menuClosed)=\"onTableInsertMenuClosed()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-link\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertLink.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-link-on\" />\n </button>\n </div>\n <div
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToolbarActionsComponent, selector: "app-nod-toolbar-actions", viewQueries: [{ propertyName: "tableInsertMenu", first: true, predicate: ["tableInsert"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{ isViewOnly: editorService.isViewOnly$ | async } as data\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <app-nod-print (print)=\"print.emit()\" />\n <div class=\"separator\"></div>\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n [fontColor]=\"styles.fontColor\"\n [highlightColor]=\"styles.highlightColor\"\n (selectFontColor)=\"onApplyFontColor($event)\"\n (toggleBold)=\"onApplyBold()\"\n (toggleItalic)=\"onApplyItalic()\"\n (toggleUnderline)=\"onApplyUnderline()\"\n (selectHighlightColor)=\"onApplyHighlightColor($event)\" />\n <div class=\"separator\"></div>\n <app-nod-format\n [isDisabled]=\"data.isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n <div class=\"separator\"></div>\n <app-nod-numbering\n [isDisabled]=\"data.isViewOnly\"\n [selectedNumberingType]=\"numberingType\"\n [selectedNumberingTemplate]=\"numberingTemplateType\"\n (selectNumberingTemplate)=\"onSetNumberingTemplateType($event)\"\n (removeNumberings)=\"removeNumberings.emit()\" />\n <div class=\"separator\"></div>\n <div class=\"insert-buttons\">\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-image\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertImage.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-image\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-table\"\n [class.active-button]=\"showInsertTableMenu\"\n [disabled]=\"data.isViewOnly\"\n [matMenuTriggerFor]=\"tableInsert\"\n (menuOpened)=\"showInsertTableMenu = true\"\n (menuClosed)=\"onTableInsertMenuClosed()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-link\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertLink.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-link-on\" />\n </button>\n </div>\n <div\n *ngIf=\"elements.length\"\n class=\"separator\"></div>\n <div\n *ngIf=\"elements.length\"\n class=\"custom-elements\">\n <button\n *ngFor=\"let element of elements\"\n mat-button\n [disabled]=\"data.isViewOnly\"\n (click)=\"onCreateElement(element)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ element.icon }}\"></mat-icon>\n </button>\n </div>\n</ng-container>\n<mat-menu\n #tableInsert=\"matMenu\"\n class=\"insert-table noder-modal\">\n <app-nod-insert-table\n *ngIf=\"showInsertTableMenu\"\n (selectSizes)=\"insertTable.emit($event)\" />\n</mat-menu>\n", styles: [":host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}.mdc-button{width:28px;height:28px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0}.do-action{padding-right:1px;justify-content:center;display:flex}.custom-elements,.insert-buttons{display:flex;align-items:center;height:100%}.custom-elements .mdc-button,.insert-buttons .mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.custom-elements .mdc-button>.mat-icon,.insert-buttons .mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.FontComponent, selector: "app-nod-font", inputs: ["isDisabled", "styles"], outputs: ["selectFont"] }, { kind: "component", type: i5.FontSizeComponent, selector: "app-nod-font-size", inputs: ["isDisabled", "fontSize"], outputs: ["selectFontSize"] }, { kind: "component", type: i6.InsertTableComponent, selector: "app-nod-insert-table", outputs: ["selectSizes"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i10.FontStyleComponent, selector: "app-nod-font-style", inputs: ["isDisabled", "bold", "italic", "underline", "fontColor", "highlightColor"], outputs: ["toggleBold", "toggleItalic", "toggleUnderline", "selectFontColor", "selectHighlightColor"] }, { kind: "component", type: i11.FormatComponent, selector: "app-nod-format", inputs: ["isDisabled", "alignment"], outputs: ["selectAlignment"] }, { kind: "component", type: i12.NumberingComponent, selector: "app-nod-numbering", inputs: ["isDisabled", "selectedNumberingType", "selectedNumberingTemplate"], outputs: ["selectNumberingTemplate", "removeNumberings"] }, { kind: "component", type: i13.PrintComponent, selector: "app-nod-print", outputs: ["print"] }, { kind: "component", type: i14.UndoRedoComponent, selector: "app-nod-undo-redo", inputs: ["canUndo", "canRedo"], outputs: ["undo", "redo"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
57
57
|
}
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToolbarActionsComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-toolbar-actions', template: "<ng-container *ngIf=\"{ isViewOnly: editorService.isViewOnly$ | async } as data\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <app-nod-print (print)=\"print.emit()\" />\n <div class=\"separator\"></div>\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n [fontColor]=\"styles.fontColor\"\n [highlightColor]=\"styles.highlightColor\"\n (selectFontColor)=\"onApplyFontColor($event)\"\n (toggleBold)=\"onApplyBold()\"\n (toggleItalic)=\"onApplyItalic()\"\n (toggleUnderline)=\"onApplyUnderline()\"\n (selectHighlightColor)=\"onApplyHighlightColor($event)\" />\n <div class=\"separator\"></div>\n <div class=\"insert-buttons\">\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-image\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertImage.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-image\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-table\"\n [class.active-button]=\"showInsertTableMenu\"\n [disabled]=\"data.isViewOnly\"\n [matMenuTriggerFor]=\"tableInsert\"\n (menuOpened)=\"showInsertTableMenu = true\"\n (menuClosed)=\"onTableInsertMenuClosed()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-link\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertLink.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-link-on\" />\n </button>\n </div>\n <div
|
|
60
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-toolbar-actions', template: "<ng-container *ngIf=\"{ isViewOnly: editorService.isViewOnly$ | async } as data\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <app-nod-print (print)=\"print.emit()\" />\n <div class=\"separator\"></div>\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n [fontColor]=\"styles.fontColor\"\n [highlightColor]=\"styles.highlightColor\"\n (selectFontColor)=\"onApplyFontColor($event)\"\n (toggleBold)=\"onApplyBold()\"\n (toggleItalic)=\"onApplyItalic()\"\n (toggleUnderline)=\"onApplyUnderline()\"\n (selectHighlightColor)=\"onApplyHighlightColor($event)\" />\n <div class=\"separator\"></div>\n <app-nod-format\n [isDisabled]=\"data.isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n <div class=\"separator\"></div>\n <app-nod-numbering\n [isDisabled]=\"data.isViewOnly\"\n [selectedNumberingType]=\"numberingType\"\n [selectedNumberingTemplate]=\"numberingTemplateType\"\n (selectNumberingTemplate)=\"onSetNumberingTemplateType($event)\"\n (removeNumberings)=\"removeNumberings.emit()\" />\n <div class=\"separator\"></div>\n <div class=\"insert-buttons\">\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-image\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertImage.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-image\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-table\"\n [class.active-button]=\"showInsertTableMenu\"\n [disabled]=\"data.isViewOnly\"\n [matMenuTriggerFor]=\"tableInsert\"\n (menuOpened)=\"showInsertTableMenu = true\"\n (menuClosed)=\"onTableInsertMenuClosed()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-table\" />\n </button>\n <button\n mat-button\n id=\"toolbar-actions-menu-item-insert-link\"\n [disabled]=\"data.isViewOnly\"\n (click)=\"insertLink.emit()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-link-on\" />\n </button>\n </div>\n <div\n *ngIf=\"elements.length\"\n class=\"separator\"></div>\n <div\n *ngIf=\"elements.length\"\n class=\"custom-elements\">\n <button\n *ngFor=\"let element of elements\"\n mat-button\n [disabled]=\"data.isViewOnly\"\n (click)=\"onCreateElement(element)\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"{{ element.icon }}\"></mat-icon>\n </button>\n </div>\n</ng-container>\n<mat-menu\n #tableInsert=\"matMenu\"\n class=\"insert-table noder-modal\">\n <app-nod-insert-table\n *ngIf=\"showInsertTableMenu\"\n (selectSizes)=\"insertTable.emit($event)\" />\n</mat-menu>\n", styles: [":host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}.mdc-button{width:28px;height:28px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0}.do-action{padding-right:1px;justify-content:center;display:flex}.custom-elements,.insert-buttons{display:flex;align-items:center;height:100%}.custom-elements .mdc-button,.insert-buttons .mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.custom-elements .mdc-button>.mat-icon,.insert-buttons .mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}\n"] }]
|
|
61
61
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CustomIconService }, { type: i0.Injector }, { type: i2.EditorService }], propDecorators: { tableInsertMenu: [{
|
|
62
62
|
type: ViewChild,
|
|
63
63
|
args: ['tableInsert']
|
|
64
64
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy90b29sYmFyLWFjdGlvbnMvdG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy90b29sYmFyLWFjdGlvbnMvdG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFZLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUdySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRL0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQUs3RCxZQUNJLEdBQXNCLEVBQ3RCLGlCQUFvQyxFQUNwQyxRQUFrQixFQUNGLGFBQTRCO1FBRTVDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTmhELHdCQUFtQixHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQW9CO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsMEJBQTBCLENBQUMsWUFBbUM7UUFDMUQsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDNUYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYzthQUM5QixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsRUFDakMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBakRRLHVCQUF1QjttR0FBdkIsdUJBQXVCLHNNQ25CcEMsd21IQWlHQTs7NEZEOUVhLHVCQUF1QjtrQkFObkMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLHlCQUF5Qjt5S0FLVCxlQUFlO3NCQUF4QyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0b3IsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRNZW51IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL2FsaWdubWVudC5lbnVtJztcbmltcG9ydCB7IEJhc2VUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2Jhc2UtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvY3VzdG9tLWljb24uc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE51bWJlcmluZ1RlbXBsYXRlcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb25zdGFudHMvbnVtYmVyaW5nLXRlbXBsYXRlcy5jb25zdCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL3NoYXJlZC9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLW5vZC10b29sYmFyLWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAndG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsndG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJhckFjdGlvbnNDb21wb25lbnQgZXh0ZW5kcyBCYXNlVG9vbGJhckNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgndGFibGVJbnNlcnQnKSB0YWJsZUluc2VydE1lbnU6IE1hdE1lbnU7XG5cbiAgICBzaG93SW5zZXJ0VGFibGVNZW51ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgY3VzdG9tSWNvblNlcnZpY2U6IEN1c3RvbUljb25TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGN1c3RvbUljb25TZXJ2aWNlLCBpbmplY3RvciwgY2RyLCBlZGl0b3JTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udEZhbWlseShmb250OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRGYW1pbHk6IGZvbnQgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRTaXplOiBzaXplIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udENvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChuZXcgVGV4dFN0eWxlTW9kZWwoeyBmb250Q29sb3I6IGNvbG9yIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5SGlnaGxpZ2h0Q29sb3IoY29sb3I6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVRleHRTdHlsZS5lbWl0KG5ldyBUZXh0U3R5bGVNb2RlbCh7IGhpZ2hsaWdodENvbG9yOiBjb2xvciB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseUFsaWdubWVudChhbGlnbm1lbnQ6IEFsaWdubWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVBhcmFncmFwaFN0eWxlLmVtaXQobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQgfSkpO1xuICAgIH1cblxuICAgIG9uU2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlKHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlTGV2ZWxzID0gTnVtYmVyaW5nVGVtcGxhdGVzLmZpbmQoeCA9PiB4LnRlbXBsYXRlVHlwZSA9PT0gdGVtcGxhdGVUeXBlKS5sZXZlbHM7XG4gICAgICAgIHRoaXMuc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlLmVtaXQodGVtcGxhdGVMZXZlbHMpO1xuICAgIH1cblxuICAgIG9uVGFibGVJbnNlcnRNZW51Q2xvc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlSW5zZXJ0TWVudS5fYW5pbWF0aW9uRG9uZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKHggPT4geC50b1N0YXRlID09PSAndm9pZCcpLFxuICAgICAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0luc2VydFRhYmxlTWVudSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInsgaXNWaWV3T25seTogZWRpdG9yU2VydmljZS5pc1ZpZXdPbmx5JCB8IGFzeW5jIH0gYXMgZGF0YVwiPlxuICAgIDxhcHAtbm9kLXVuZG8tcmVkb1xuICAgICAgICBbY2FuVW5kb109XCJjYW5VbmRvXCJcbiAgICAgICAgW2NhblJlZG9dPVwiY2FuUmVkb1wiXG4gICAgICAgICh1bmRvKT1cInVuZG8uZW1pdCgpXCJcbiAgICAgICAgKHJlZG8pPVwicmVkby5lbWl0KClcIiAvPlxuICAgIDxhcHAtbm9kLXByaW50IChwcmludCk9XCJwcmludC5lbWl0KClcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8YXBwLW5vZC1mb250XG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgIFtzdHlsZXNdPVwic3R5bGVzXCJcbiAgICAgICAgKHNlbGVjdEZvbnQpPVwib25BcHBseUZvbnRGYW1pbHkoJGV2ZW50KVwiIC8+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxhcHAtbm9kLWZvbnQtc2l6ZVxuICAgICAgICBbaXNEaXNhYmxlZF09XCJkYXRhLmlzVmlld09ubHlcIlxuICAgICAgICBbZm9udFNpemVdPVwic3R5bGVzLmZvbnRTaXplXCJcbiAgICAgICAgKHNlbGVjdEZvbnRTaXplKT1cIm9uQXBwbHlGb250U2l6ZSgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGFwcC1ub2QtZm9udC1zdHlsZVxuICAgICAgICBbaXNEaXNhYmxlZF09XCJkYXRhLmlzVmlld09ubHlcIlxuICAgICAgICBbYm9sZF09XCJzdHlsZXMuYm9sZFwiXG4gICAgICAgIFtpdGFsaWNdPVwic3R5bGVzLml0YWxpY1wiXG4gICAgICAgIFt1bmRlcmxpbmVdPVwic3R5bGVzLnVuZGVybGluZVwiXG4gICAgICAgIFtmb250Q29sb3JdPVwic3R5bGVzLmZvbnRDb2xvclwiXG4gICAgICAgIFtoaWdobGlnaHRDb2xvcl09XCJzdHlsZXMuaGlnaGxpZ2h0Q29sb3JcIlxuICAgICAgICAoc2VsZWN0Rm9udENvbG9yKT1cIm9uQXBwbHlGb250Q29sb3IoJGV2ZW50KVwiXG4gICAgICAgICh0b2dnbGVCb2xkKT1cIm9uQXBwbHlCb2xkKClcIlxuICAgICAgICAodG9nZ2xlSXRhbGljKT1cIm9uQXBwbHlJdGFsaWMoKVwiXG4gICAgICAgICh0b2dnbGVVbmRlcmxpbmUpPVwib25BcHBseVVuZGVybGluZSgpXCJcbiAgICAgICAgKHNlbGVjdEhpZ2hsaWdodENvbG9yKT1cIm9uQXBwbHlIaWdobGlnaHRDb2xvcigkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImluc2VydC1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIGlkPVwidG9vbGJhci1hY3Rpb25zLW1lbnUtaXRlbS1pbnNlcnQtaW1hZ2VcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiaW5zZXJ0SW1hZ2UuZW1pdCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWltYWdlXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIGlkPVwidG9vbGJhci1hY3Rpb25zLW1lbnUtaXRlbS1pbnNlcnQtdGFibGVcIlxuICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZS1idXR0b25dPVwic2hvd0luc2VydFRhYmxlTWVudVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5pc1ZpZXdPbmx5XCJcbiAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJ0YWJsZUluc2VydFwiXG4gICAgICAgICAgICAobWVudU9wZW5lZCk9XCJzaG93SW5zZXJ0VGFibGVNZW51ID0gdHJ1ZVwiXG4gICAgICAgICAgICAobWVudUNsb3NlZCk9XCJvblRhYmxlSW5zZXJ0TWVudUNsb3NlZCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLXRhYmxlXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgIGlkPVwidG9vbGJhci1hY3Rpb25zLW1lbnUtaXRlbS1pbnNlcnQtbGlua1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5pc1ZpZXdPbmx5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJpbnNlcnRMaW5rLmVtaXQoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1saW5rLW9uXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJlbGVtZW50cy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cImN1c3RvbS1lbGVtZW50c1wiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50c1wiXG4gICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5pc1ZpZXdPbmx5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNyZWF0ZUVsZW1lbnQoZWxlbWVudClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICBmb250SWNvbj1cInt7IGVsZW1lbnQuaWNvbiB9fVwiPjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1ub2QtZm9ybWF0XG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgIFthbGlnbm1lbnRdPVwic3R5bGVzLmFsaWdubWVudFwiXG4gICAgICAgIChzZWxlY3RBbGlnbm1lbnQpPVwib25BcHBseUFsaWdubWVudCgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGFwcC1ub2QtbnVtYmVyaW5nXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgIFtzZWxlY3RlZE51bWJlcmluZ1R5cGVdPVwibnVtYmVyaW5nVHlwZVwiXG4gICAgICAgIFtzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlXT1cIm51bWJlcmluZ1RlbXBsYXRlVHlwZVwiXG4gICAgICAgIChzZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZSk9XCJvblNldE51bWJlcmluZ1RlbXBsYXRlVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgKHJlbW92ZU51bWJlcmluZ3MpPVwicmVtb3ZlTnVtYmVyaW5ncy5lbWl0KClcIiAvPlxuPC9uZy1jb250YWluZXI+XG48bWF0LW1lbnVcbiAgICAjdGFibGVJbnNlcnQ9XCJtYXRNZW51XCJcbiAgICBjbGFzcz1cImluc2VydC10YWJsZSBub2Rlci1tb2RhbFwiPlxuICAgIDxhcHAtbm9kLWluc2VydC10YWJsZVxuICAgICAgICAqbmdJZj1cInNob3dJbnNlcnRUYWJsZU1lbnVcIlxuICAgICAgICAoc2VsZWN0U2l6ZXMpPVwiaW5zZXJ0VGFibGUuZW1pdCgkZXZlbnQpXCIgLz5cbjwvbWF0LW1lbnU+XG4iXX0=
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy90b29sYmFyLWFjdGlvbnMvdG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy90b29sYmFyLWFjdGlvbnMvdG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFZLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUlwQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUdySCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRL0UsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQUs3RCxZQUNJLEdBQXNCLEVBQ3RCLGlCQUFvQyxFQUNwQyxRQUFrQixFQUNGLGFBQTRCO1FBRTVDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRnZDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTmhELHdCQUFtQixHQUFHLEtBQUssQ0FBQztJQVM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBWTtRQUMxQixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELGdCQUFnQixDQUFDLFNBQW9CO1FBQ2pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQsMEJBQTBCLENBQUMsWUFBbUM7UUFDMUQsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDNUYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYzthQUM5QixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsRUFDakMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7K0dBakRRLHVCQUF1QjttR0FBdkIsdUJBQXVCLHNNQ25CcEMsZ3BIQW1HQTs7NEZEaEZhLHVCQUF1QjtrQkFObkMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLHlCQUF5Qjt5S0FLVCxlQUFlO3NCQUF4QyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0b3IsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRNZW51IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvc2hhcmVkL2VudW1zL2FsaWdubWVudC5lbnVtJztcbmltcG9ydCB7IEJhc2VUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2Jhc2UtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvY3VzdG9tLWljb24uc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IE51bWJlcmluZ1RlbXBsYXRlcyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb25zdGFudHMvbnVtYmVyaW5nLXRlbXBsYXRlcy5jb25zdCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi9hcGFydC1jb21wb25lbnRzL2VkaXRvci10b29sYmFyL3NoYXJlZC9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXBwLW5vZC10b29sYmFyLWFjdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAndG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsndG9vbGJhci1hY3Rpb25zLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJhckFjdGlvbnNDb21wb25lbnQgZXh0ZW5kcyBCYXNlVG9vbGJhckNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgndGFibGVJbnNlcnQnKSB0YWJsZUluc2VydE1lbnU6IE1hdE1lbnU7XG5cbiAgICBzaG93SW5zZXJ0VGFibGVNZW51ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgY3VzdG9tSWNvblNlcnZpY2U6IEN1c3RvbUljb25TZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGN1c3RvbUljb25TZXJ2aWNlLCBpbmplY3RvciwgY2RyLCBlZGl0b3JTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udEZhbWlseShmb250OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRGYW1pbHk6IGZvbnQgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGZvbnRTaXplOiBzaXplIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Rm9udENvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChuZXcgVGV4dFN0eWxlTW9kZWwoeyBmb250Q29sb3I6IGNvbG9yIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5SGlnaGxpZ2h0Q29sb3IoY29sb3I6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVRleHRTdHlsZS5lbWl0KG5ldyBUZXh0U3R5bGVNb2RlbCh7IGhpZ2hsaWdodENvbG9yOiBjb2xvciB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseUFsaWdubWVudChhbGlnbm1lbnQ6IEFsaWdubWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZVBhcmFncmFwaFN0eWxlLmVtaXQobmV3IFBhcmFncmFwaFN0eWxlTW9kZWwoeyBhbGlnbm1lbnQgfSkpO1xuICAgIH1cblxuICAgIG9uU2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlKHRlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlTGV2ZWxzID0gTnVtYmVyaW5nVGVtcGxhdGVzLmZpbmQoeCA9PiB4LnRlbXBsYXRlVHlwZSA9PT0gdGVtcGxhdGVUeXBlKS5sZXZlbHM7XG4gICAgICAgIHRoaXMuc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlLmVtaXQodGVtcGxhdGVMZXZlbHMpO1xuICAgIH1cblxuICAgIG9uVGFibGVJbnNlcnRNZW51Q2xvc2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlSW5zZXJ0TWVudS5fYW5pbWF0aW9uRG9uZVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKHggPT4geC50b1N0YXRlID09PSAndm9pZCcpLFxuICAgICAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0luc2VydFRhYmxlTWVudSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInsgaXNWaWV3T25seTogZWRpdG9yU2VydmljZS5pc1ZpZXdPbmx5JCB8IGFzeW5jIH0gYXMgZGF0YVwiPlxuICAgIDxhcHAtbm9kLXVuZG8tcmVkb1xuICAgICAgICBbY2FuVW5kb109XCJjYW5VbmRvXCJcbiAgICAgICAgW2NhblJlZG9dPVwiY2FuUmVkb1wiXG4gICAgICAgICh1bmRvKT1cInVuZG8uZW1pdCgpXCJcbiAgICAgICAgKHJlZG8pPVwicmVkby5lbWl0KClcIiAvPlxuICAgIDxhcHAtbm9kLXByaW50IChwcmludCk9XCJwcmludC5lbWl0KClcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8YXBwLW5vZC1mb250XG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgIFtzdHlsZXNdPVwic3R5bGVzXCJcbiAgICAgICAgKHNlbGVjdEZvbnQpPVwib25BcHBseUZvbnRGYW1pbHkoJGV2ZW50KVwiIC8+XG4gICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvclwiPjwvZGl2PlxuICAgIDxhcHAtbm9kLWZvbnQtc2l6ZVxuICAgICAgICBbaXNEaXNhYmxlZF09XCJkYXRhLmlzVmlld09ubHlcIlxuICAgICAgICBbZm9udFNpemVdPVwic3R5bGVzLmZvbnRTaXplXCJcbiAgICAgICAgKHNlbGVjdEZvbnRTaXplKT1cIm9uQXBwbHlGb250U2l6ZSgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGFwcC1ub2QtZm9udC1zdHlsZVxuICAgICAgICBbaXNEaXNhYmxlZF09XCJkYXRhLmlzVmlld09ubHlcIlxuICAgICAgICBbYm9sZF09XCJzdHlsZXMuYm9sZFwiXG4gICAgICAgIFtpdGFsaWNdPVwic3R5bGVzLml0YWxpY1wiXG4gICAgICAgIFt1bmRlcmxpbmVdPVwic3R5bGVzLnVuZGVybGluZVwiXG4gICAgICAgIFtmb250Q29sb3JdPVwic3R5bGVzLmZvbnRDb2xvclwiXG4gICAgICAgIFtoaWdobGlnaHRDb2xvcl09XCJzdHlsZXMuaGlnaGxpZ2h0Q29sb3JcIlxuICAgICAgICAoc2VsZWN0Rm9udENvbG9yKT1cIm9uQXBwbHlGb250Q29sb3IoJGV2ZW50KVwiXG4gICAgICAgICh0b2dnbGVCb2xkKT1cIm9uQXBwbHlCb2xkKClcIlxuICAgICAgICAodG9nZ2xlSXRhbGljKT1cIm9uQXBwbHlJdGFsaWMoKVwiXG4gICAgICAgICh0b2dnbGVVbmRlcmxpbmUpPVwib25BcHBseVVuZGVybGluZSgpXCJcbiAgICAgICAgKHNlbGVjdEhpZ2hsaWdodENvbG9yKT1cIm9uQXBwbHlIaWdobGlnaHRDb2xvcigkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGFwcC1ub2QtZm9ybWF0XG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgIFthbGlnbm1lbnRdPVwic3R5bGVzLmFsaWdubWVudFwiXG4gICAgICAgIChzZWxlY3RBbGlnbm1lbnQpPVwib25BcHBseUFsaWdubWVudCgkZXZlbnQpXCIgLz5cbiAgICA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yXCI+PC9kaXY+XG4gICAgPGFwcC1ub2QtbnVtYmVyaW5nXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgIFtzZWxlY3RlZE51bWJlcmluZ1R5cGVdPVwibnVtYmVyaW5nVHlwZVwiXG4gICAgICAgIFtzZWxlY3RlZE51bWJlcmluZ1RlbXBsYXRlXT1cIm51bWJlcmluZ1RlbXBsYXRlVHlwZVwiXG4gICAgICAgIChzZWxlY3ROdW1iZXJpbmdUZW1wbGF0ZSk9XCJvblNldE51bWJlcmluZ1RlbXBsYXRlVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgKHJlbW92ZU51bWJlcmluZ3MpPVwicmVtb3ZlTnVtYmVyaW5ncy5lbWl0KClcIiAvPlxuICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5zZXJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJ0b29sYmFyLWFjdGlvbnMtbWVudS1pdGVtLWluc2VydC1pbWFnZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGF0YS5pc1ZpZXdPbmx5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJpbnNlcnRJbWFnZS5lbWl0KClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24taW1hZ2VcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJ0b29sYmFyLWFjdGlvbnMtbWVudS1pdGVtLWluc2VydC10YWJsZVwiXG4gICAgICAgICAgICBbY2xhc3MuYWN0aXZlLWJ1dHRvbl09XCJzaG93SW5zZXJ0VGFibGVNZW51XCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmlzVmlld09ubHlcIlxuICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInRhYmxlSW5zZXJ0XCJcbiAgICAgICAgICAgIChtZW51T3BlbmVkKT1cInNob3dJbnNlcnRUYWJsZU1lbnUgPSB0cnVlXCJcbiAgICAgICAgICAgIChtZW51Q2xvc2VkKT1cIm9uVGFibGVJbnNlcnRNZW51Q2xvc2VkKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgICAgICBmb250SWNvbj1cImljb24tdGFibGVcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgaWQ9XCJ0b29sYmFyLWFjdGlvbnMtbWVudS1pdGVtLWluc2VydC1saW5rXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkYXRhLmlzVmlld09ubHlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImluc2VydExpbmsuZW1pdCgpXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgZm9udEljb249XCJpY29uLWxpbmstb25cIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZWxlbWVudHMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJzZXBhcmF0b3JcIj48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAgICpuZ0lmPVwiZWxlbWVudHMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJjdXN0b20tZWxlbWVudHNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgZWxlbWVudHNcIlxuICAgICAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRhdGEuaXNWaWV3T25seVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DcmVhdGVFbGVtZW50KGVsZW1lbnQpXCI+XG4gICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICAgICAgZm9udEljb249XCJ7eyBlbGVtZW50Lmljb24gfX1cIj48L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuPG1hdC1tZW51XG4gICAgI3RhYmxlSW5zZXJ0PVwibWF0TWVudVwiXG4gICAgY2xhc3M9XCJpbnNlcnQtdGFibGUgbm9kZXItbW9kYWxcIj5cbiAgICA8YXBwLW5vZC1pbnNlcnQtdGFibGVcbiAgICAgICAgKm5nSWY9XCJzaG93SW5zZXJ0VGFibGVNZW51XCJcbiAgICAgICAgKHNlbGVjdFNpemVzKT1cImluc2VydFRhYmxlLmVtaXQoJGV2ZW50KVwiIC8+XG48L21hdC1tZW51PlxuIl19
|
|
@@ -50,7 +50,7 @@ export class NoderImageComponent extends BaseNoderComponent {
|
|
|
50
50
|
this.cdr.markForCheck();
|
|
51
51
|
}
|
|
52
52
|
focus() {
|
|
53
|
-
this.inputHandler = new ImageInputHandler(this.editorService
|
|
53
|
+
this.inputHandler = new ImageInputHandler(this.editorService);
|
|
54
54
|
super.focus();
|
|
55
55
|
}
|
|
56
56
|
blur() {
|
|
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
85
85
|
type: Component,
|
|
86
86
|
args: [{ selector: 'app-nod-image', changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-nod-resizer\n *ngIf=\"isFocused\"\n class=\"resizer\"\n [isDisabled]=\"isViewOnly$ | async\"\n [size]=\"size\"\n (resizeEnd)=\"onResizeEnd($event)\" />\n", styles: [":host{position:relative;outline:none}.resizer{position:absolute;z-index:1}\n"] }]
|
|
87
87
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ImageApiService }, { type: i2.EditorService }] });
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2NvbXBvbmVudHMvaW1hZ2UvY29tcG9uZW50cy9pbWFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9pbWFnZS9jb21wb25lbnRzL2ltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFTeEUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQUN2RCxJQUFJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxPQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxHQUFlO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDSixPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBTUQsWUFBc0IsVUFBbUMsRUFBVSxVQUEyQixFQUFVLGFBQTRCO1FBQ2hJLEtBQUssRUFBRSxDQUFDO1FBRFUs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LFVBQVUsQ0FBQztRQUN6QixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8sV0FBVyxDQUFDLElBQVU7UUFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFVO1FBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRSxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQztRQUN0QyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQztJQUM1QyxDQUFDOytHQWxGUSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw0RUNqQmhDLCtLQU1BOzs0RkRXYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlTm9kZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWJzdHJhY3QvYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEltYWdlQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvaW1hZ2UvaW1hZ2UtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSW1hZ2VJbnB1dEhhbmRsZXIgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ltYWdlL2lucHV0LWhhbmRsZXIvaW1hZ2UtaW5wdXQuaGFuZGxlcic7XG5pbXBvcnQgeyBJbWFnZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9pbWFnZS5tb2RlbCc7XG5pbXBvcnQgeyBTY2FsaW5nSGVscGVyIH0gZnJvbSAnLi4vLi4vLi4vY29udGVudC9oZWxwZXJzL3NjYWxpbmcuaGVscGVyJztcbmltcG9ydCB7IFNpemUgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2ltYWdlL3NpemUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtaW1hZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW1hZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlckltYWdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZU5vZGVyQ29tcG9uZW50IHtcbiAgICBnZXQgaXNWaWV3T25seSQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvclNlcnZpY2UuaXNWaWV3T25seSQ7XG4gICAgfVxuXG4gICAgZ2V0IGltYWdlKCk6IEltYWdlTW9kZWwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50IGFzIEltYWdlTW9kZWw7XG4gICAgfVxuICAgIHNldCBpbWFnZSh2YWw6IEltYWdlTW9kZWwpIHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdmFsO1xuICAgIH1cblxuICAgIGdldCBzaXplKCk6IFNpemUge1xuICAgICAgICByZXR1cm4geyB3aWR0aDogdGhpcy5fd2lkdGgsIGhlaWdodDogdGhpcy5faGVpZ2h0IH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0NhbnZhcyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpbnB1dEhhbmRsZXI6IEltYWdlSW5wdXRIYW5kbGVyO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIGFwaVNlcnZpY2U6IEltYWdlQXBpU2VydmljZSwgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5pbWFnZS5jb250ZW50Py5yZXBsYWNlKCcvYXBpLycsICcnKSA/PyAnJztcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gU2NhbGluZ0hlbHBlci5zY2FsZSh0aGlzLmltYWdlLmhlaWdodCwgdGhpcy5nZW5lcmFsUHJvcGVydGllcy5zY2FsaW5nUmF0aW8pO1xuICAgICAgICB0aGlzLl93aWR0aCA9IFNjYWxpbmdIZWxwZXIuc2NhbGUodGhpcy5pbWFnZS53aWR0aCwgdGhpcy5nZW5lcmFsUHJvcGVydGllcy5zY2FsaW5nUmF0aW8pO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0RmlsZSh1cmwpLnN1YnNjcmliZSh4ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVTb3VyY2UgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHgpO1xuICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSB0aGlzLmNyZWF0ZUltYWdlKGZpbGVTb3VyY2UpO1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoaW1hZ2UpO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmltYWdlTG9hZGVkKHRoaXMuc2Vzc2lvbklkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25SZXNpemVFbmQoc2l6ZTogU2l6ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlc2l6ZShzaXplKTtcbiAgICAgICAgY29uc3QgcmVzaXplZEltYWdlID0geyAuLi50aGlzLmltYWdlLCB3aWR0aDogc2l6ZS53aWR0aCwgaGVpZ2h0OiBzaXplLmhlaWdodCB9O1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY2hhbmdlSW1hZ2VTdHlsZShyZXNpemVkSW1hZ2UpO1xuICAgIH1cblxuICAgIHJlc2l6ZShzaXplOiBTaXplKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3dpZHRoID0gc2l6ZS53aWR0aDtcbiAgICAgICAgdGhpcy5faGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XG4gICAgICAgIHRoaXMuaXNDYW52YXMgPyB0aGlzLnJlc2l6ZUNhbnZhcyhzaXplKSA6IHRoaXMucmVzaXplSW1hZ2Uoc2l6ZSk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0SGFuZGxlciA9IG5ldyBJbWFnZUlucHV0SGFuZGxlcih0aGlzLmVkaXRvclNlcnZpY2UpO1xuICAgICAgICBzdXBlci5mb2N1cygpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRIYW5kbGVyPy5kZXN0cm95KCk7XG4gICAgICAgIHN1cGVyLmJsdXIoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEhhbmRsZXI/LmRlc3Ryb3koKTtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUltYWdlKGZpbGVTb3VyY2U6IHN0cmluZyk6IEhUTUxJbWFnZUVsZW1lbnQge1xuICAgICAgICBjb25zdCBpbWFnZUVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgICAgIGltYWdlRWwud2lkdGggPSB0aGlzLl93aWR0aDtcbiAgICAgICAgaW1hZ2VFbC5oZWlnaHQgPSB0aGlzLl9oZWlnaHQ7XG4gICAgICAgIGltYWdlRWwuc3JjID0gZmlsZVNvdXJjZTtcbiAgICAgICAgcmV0dXJuIGltYWdlRWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVJbWFnZShzaXplOiBTaXplKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGltYWdlID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW1nJyk7XG4gICAgICAgIGltYWdlLndpZHRoID0gc2l6ZS53aWR0aDtcbiAgICAgICAgaW1hZ2UuaGVpZ2h0ID0gc2l6ZS5oZWlnaHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVDYW52YXMoc2l6ZTogU2l6ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbWFnZSA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycpO1xuICAgICAgICBpbWFnZS5zdHlsZS53aWR0aCA9IGAke3NpemUud2lkdGh9cHhgO1xuICAgICAgICBpbWFnZS5zdHlsZS5oZWlnaHQgPSBgJHtzaXplLmhlaWdodH1weGA7XG4gICAgfVxufVxuIiwiPGFwcC1ub2QtcmVzaXplclxuICAgICpuZ0lmPVwiaXNGb2N1c2VkXCJcbiAgICBjbGFzcz1cInJlc2l6ZXJcIlxuICAgIFtpc0Rpc2FibGVkXT1cImlzVmlld09ubHkkIHwgYXN5bmNcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIChyZXNpemVFbmQpPVwib25SZXNpemVFbmQoJGV2ZW50KVwiIC8+XG4iXX0=
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { fromEvent } from 'rxjs';
|
|
2
2
|
export class ImageInputHandler {
|
|
3
|
-
constructor(editorService
|
|
3
|
+
constructor(editorService) {
|
|
4
4
|
this.editorService = editorService;
|
|
5
|
-
this.image = image;
|
|
6
|
-
this.imageComponentTagName = 'APP-NOD-IMAGE';
|
|
7
5
|
this.undoRedoActions = {};
|
|
8
6
|
this.imageKeyDownSubscription = fromEvent(document, 'keydown').subscribe(event => this.onKeyDown(event));
|
|
9
|
-
this.clickSubscription = fromEvent(document, 'click').subscribe(event => this.onClick(event.target));
|
|
10
7
|
this.fillUndoRedoActions();
|
|
11
8
|
}
|
|
12
9
|
destroy() {
|
|
13
10
|
this.imageKeyDownSubscription?.unsubscribe();
|
|
14
|
-
this.clickSubscription?.unsubscribe();
|
|
15
11
|
}
|
|
16
12
|
onKeyDown(event) {
|
|
17
13
|
if (this.editorService.isViewOnly) {
|
|
18
14
|
return;
|
|
19
15
|
}
|
|
20
|
-
if (
|
|
21
|
-
this.editorService.
|
|
16
|
+
if ('Backspace' === event.code) {
|
|
17
|
+
this.editorService.removeLeft();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if ('Delete' === event.code) {
|
|
21
|
+
this.editorService.removeRight();
|
|
22
22
|
return;
|
|
23
23
|
}
|
|
24
24
|
const keyCombination = this.getKeyCombination(event);
|
|
@@ -29,6 +29,7 @@ export class ImageInputHandler {
|
|
|
29
29
|
}
|
|
30
30
|
if (!event.ctrlKey && !event.altKey && !event.shiftKey && !event.metaKey && event.key.length === 1) {
|
|
31
31
|
this.editorService.insertText(event.key);
|
|
32
|
+
event.preventDefault();
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
getKeyCombination(event) {
|
|
@@ -41,15 +42,5 @@ export class ImageInputHandler {
|
|
|
41
42
|
this.undoRedoActions['Ctrl-KeyY'] = () => this.editorService.redo();
|
|
42
43
|
this.undoRedoActions['Command-KeyY'] = () => this.editorService.redo();
|
|
43
44
|
}
|
|
44
|
-
onClick(element) {
|
|
45
|
-
let currentElement = element;
|
|
46
|
-
while (currentElement) {
|
|
47
|
-
if (currentElement.tagName === this.imageComponentTagName) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
currentElement = currentElement.parentElement;
|
|
51
|
-
}
|
|
52
|
-
this.editorService.blurCustomComponent();
|
|
53
|
-
}
|
|
54
45
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtaW5wdXQuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2ltYWdlL2lucHV0LWhhbmRsZXIvaW1hZ2UtaW5wdXQuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUkvQyxNQUFNLE9BQU8saUJBQWlCO0lBSzFCLFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBSnhDLG9CQUFlLEdBQWtDLEVBQUUsQ0FBQztRQUtqRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFnQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3hILElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLHdCQUF3QixFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFTyxTQUFTLENBQUMsS0FBb0I7UUFDbEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUMvQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLFdBQVcsS0FBSyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsT0FBTztTQUNWO1FBQ0QsSUFBSSxRQUFRLEtBQUssS0FBSyxDQUFDLElBQUksRUFBRTtZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pDLE9BQU87U0FDVjtRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFvQjtRQUMxQyxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFTyxtQkFBbUI7UUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FdmVudCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZUlucHV0SGFuZGxlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSB1bmRvUmVkb0FjdGlvbnM6IHsgW2tleTogc3RyaW5nXTogKCkgPT4gdm9pZCB9ID0ge307XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGltYWdlS2V5RG93blN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VLZXlEb3duU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KGRvY3VtZW50LCAna2V5ZG93bicpLnN1YnNjcmliZShldmVudCA9PiB0aGlzLm9uS2V5RG93bihldmVudCkpO1xuICAgICAgICB0aGlzLmZpbGxVbmRvUmVkb0FjdGlvbnMoKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlS2V5RG93blN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmlzVmlld09ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgnQmFja3NwYWNlJyA9PT0gZXZlbnQuY29kZSkge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbW92ZUxlZnQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ0RlbGV0ZScgPT09IGV2ZW50LmNvZGUpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW1vdmVSaWdodCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qga2V5Q29tYmluYXRpb24gPSB0aGlzLmdldEtleUNvbWJpbmF0aW9uKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMudW5kb1JlZG9BY3Rpb25zW2tleUNvbWJpbmF0aW9uXSkge1xuICAgICAgICAgICAgdGhpcy51bmRvUmVkb0FjdGlvbnNba2V5Q29tYmluYXRpb25dKCk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFldmVudC5jdHJsS2V5ICYmICFldmVudC5hbHRLZXkgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmICFldmVudC5tZXRhS2V5ICYmIGV2ZW50LmtleS5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5pbnNlcnRUZXh0KGV2ZW50LmtleSk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRLZXlDb21iaW5hdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHN0cmluZyB7XG4gICAgICAgIGxldCByZXN1bHQgPSBldmVudC5tZXRhS2V5ID8gJ0NvbW1hbmQtJyA6ICcnO1xuICAgICAgICByZXR1cm4gZXZlbnQuY3RybEtleSA/IGAke3Jlc3VsdH1DdHJsLSR7ZXZlbnQuY29kZX1gIDogJyc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWxsVW5kb1JlZG9BY3Rpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ3RybC1LZXlaJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UudW5kbygpO1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ29tbWFuZC1LZXlaJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UudW5kbygpO1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ3RybC1LZXlZJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UucmVkbygpO1xuICAgICAgICB0aGlzLnVuZG9SZWRvQWN0aW9uc1snQ29tbWFuZC1LZXlZJ10gPSAoKSA9PiB0aGlzLmVkaXRvclNlcnZpY2UucmVkbygpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -33,6 +33,7 @@ export class BaseNoderComponent extends DestroyComponent {
|
|
|
33
33
|
this._isFocused = false;
|
|
34
34
|
this.cdr.detectChanges();
|
|
35
35
|
}
|
|
36
|
+
receiveStyle(_textStyle) { }
|
|
36
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BaseNoderComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
38
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: BaseNoderComponent, inputs: { content: "content", sessionId: "sessionId", contentWidth: "contentWidth", generalProperties: "generalProperties" }, host: { properties: { "class.focused": "this.focused", "attr.data-session-id": "this.sessionId", "attr.data-insert-index": "this.insertIndex" } }, usesInheritance: true, ngImport: i0 }); }
|
|
38
39
|
}
|
|
@@ -56,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
56
57
|
}], generalProperties: [{
|
|
57
58
|
type: Input
|
|
58
59
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLdkQsTUFBTSxPQUFnQixrQkFBbUIsU0FBUSxnQkFBZ0I7SUFEakU7O1FBc0NjLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFLVixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FldEQ7SUF4REcsSUFDSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7SUFTRCxJQUNJLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxHQUFXO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBU0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFHRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUdELElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBTUQsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxZQUFZLENBQUMsVUFBMEIsSUFBUyxDQUFDOytHQXhEL0Isa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRHZDLFNBQVM7OEJBR0YsT0FBTztzQkFEVixXQUFXO3VCQUFDLGVBQWU7Z0JBTTVCLE9BQU87c0JBRE4sS0FBSztnQkFLTixTQUFTO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsc0JBQXNCO2dCQUkvQixXQUFXO3NCQURkLFdBQVc7dUJBQUMsd0JBQXdCO2dCQVNyQyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4saUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VzdG9tQ29udGVudCB9IGZyb20gJy4uL2N1c3RvbS1jb250ZW50JztcbmltcG9ydCB7IERlc3Ryb3lDb21wb25lbnQgfSBmcm9tICcuL2Rlc3Ryb3kuY29tcG9uZW50JztcbmltcG9ydCB7IEdlbmVyYWxQcm9wZXJ0aWVzTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9jb250ZW50L2Rpc3BsYXktZGF0YS9nZW5lcmFsLXByb3BlcnRpZXMubW9kZWwnO1xuaW1wb3J0IHsgVGV4dFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3RleHQtc3R5bGUubW9kZWwnO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTm9kZXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95Q29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZvY3VzZWQnKVxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNGb2N1c2VkO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY29udGVudDogQ3VzdG9tQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2Vzc2lvbi1pZCcpXG4gICAgc2Vzc2lvbklkOiBudW1iZXI7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1pbnNlcnQtaW5kZXgnKVxuICAgIGdldCBpbnNlcnRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50Lmluc2VydEluZGV4O1xuICAgIH1cbiAgICBzZXQgaW5zZXJ0SW5kZXgodmFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5jb250ZW50Lmluc2VydEluZGV4ID0gdmFsO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY29udGVudFdpZHRoOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKVxuICAgIGdlbmVyYWxQcm9wZXJ0aWVzOiBHZW5lcmFsUHJvcGVydGllc01vZGVsO1xuXG4gICAgcHJvdGVjdGVkIF9oZWlnaHQ6IG51bWJlcjtcbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF93aWR0aDogbnVtYmVyO1xuICAgIGdldCB3aWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF9pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICBnZXQgaXNGb2N1c2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNGb2N1c2VkO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgYWJzdHJhY3QgaW5pdGlhbGl6ZSgpOiB2b2lkO1xuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2lzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBibHVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHJlY2VpdmVTdHlsZShfdGV4dFN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge31cbn1cbiJdfQ==
|
|
@@ -26,7 +26,7 @@ export class CursorLayer {
|
|
|
26
26
|
this.addAnimationClass();
|
|
27
27
|
}
|
|
28
28
|
detectVisibility() {
|
|
29
|
-
const selectionRange = this.session.selection.
|
|
29
|
+
const selectionRange = this.session.selection.selectedRange;
|
|
30
30
|
if (selectionRange.isEmpty) {
|
|
31
31
|
DomHelper.removeCssClass(this.layer, 'selecting');
|
|
32
32
|
return;
|
|
@@ -99,4 +99,4 @@ export class CursorLayer {
|
|
|
99
99
|
DomHelper.addCssClass(this.layer, 'noder-animate-blinking');
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vyc29yLmxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2Rpc3BsYXkvbGF5ZXJzL2N1cnNvci5sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUdoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFNUUsTUFBTSxPQUFPLFdBQVc7SUFXcEIsWUFBWSxhQUEwQixFQUFVLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFKbkQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFLbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGdDQUFnQyxDQUFDO1FBQ3hELGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQjtRQUNaLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNwRCxJQUFJLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDeEIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBRWxELE9BQU87U0FDVjtRQUVELFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQW9CO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQTBCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1NBQzVDO1FBRUQsT0FBTyxjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELHFCQUFxQjtRQUNqQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDcEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNFLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFFN0UsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ2xCLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUM7U0FDL0U7YUFBTTtZQUNILFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDMUU7UUFFRCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUMxQyxZQUFZLEVBQ1osa0JBQWtCLENBQUMsbUJBQW1CLENBQ2xDLElBQUksY0FBYyxDQUFDO1lBQ2YsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1lBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtZQUNwQixRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7WUFDNUIsVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1NBQ25DLENBQUMsQ0FDTCxDQUNKLENBQUM7UUFDRixNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNoRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQzNGLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDekQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7UUFFbEQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3BHLElBQUksZ0JBQWdCLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUMvRSxHQUFHLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1NBQ3JEO1FBRUQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxnQkFBZ0IsSUFBSSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNqQixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sVUFBVSxDQUFDLGNBQXNCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7UUFDcEcsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxPQUFPO1NBQ1Y7UUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoRixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQztRQUNoRSxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50U3R5bGVIZWxwZXIgfSBmcm9tICcuLi8uLi9jb250ZW50L2hlbHBlcnMvY29udGVudC1zdHlsZS5oZWxwZXInO1xuaW1wb3J0IHsgQ3Vyc29yUGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvY3Vyc29yLXBhcmFncmFwaCc7XG5pbXBvcnQgeyBDdXJzb3JQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL2N1cnNvci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgRm9udE1ldHJpY3MgfSBmcm9tICcuLi8uLi9nYWRnZXRzL2ZvbnQtbWV0cmljcy9mb250LW1ldHJpY3MuaGVscGVyJztcbmltcG9ydCB7IElMYXllckNvbmZpZyB9IGZyb20gJy4vbGF5ZXIuY29uZmlnJztcbmltcG9ydCB7IFBvc2l0aW9uSGVscGVyIH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvcG9zaXRpb24uaGVscGVyJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEN1cnNvckxheWVyIHtcbiAgICBjdXJzb3JQb3NpdGlvbjogQ3Vyc29yUG9zaXRpb247XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cnNvcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheWVyOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmxpbmtJbnRlcnZhbCA9IDEwMDA7XG5cbiAgICBpc1Zpc2libGU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCwgcHJpdmF0ZSBzZXNzaW9uOiBFZGl0U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmxheWVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMubGF5ZXIuY2xhc3NOYW1lID0gJ25vZGVyLWxheWVyIG5vZGVyLWN1cnNvci1sYXllcic7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5sYXllcik7XG5cbiAgICAgICAgdGhpcy5jdXJzb3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5jdXJzb3IuY2xhc3NOYW1lID0gJ25vZGVyLWN1cnNvcic7XG4gICAgICAgIHRoaXMubGF5ZXIuYXBwZW5kQ2hpbGQodGhpcy5jdXJzb3IpO1xuXG4gICAgICAgIHRoaXMuaGlkZUN1cnNvcigpO1xuICAgIH1cblxuICAgIGhpZGVDdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIERvbUhlbHBlci5hZGRDc3NDbGFzcyh0aGlzLmxheWVyLCAnbm9kZXItaGlkZGVuLWN1cnNvcnMnKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbmltYXRpb25DbGFzcygpO1xuICAgIH1cblxuICAgIHNob3dDdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMubGF5ZXIsICdub2Rlci1oaWRkZW4tY3Vyc29ycycpO1xuICAgICAgICB0aGlzLmFkZEFuaW1hdGlvbkNsYXNzKCk7XG4gICAgfVxuXG4gICAgZGV0ZWN0VmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmFuZ2UgPSB0aGlzLnNlc3Npb24uc2VsZWN0aW9uLnJhbmdlO1xuICAgICAgICBpZiAoc2VsZWN0aW9uUmFuZ2UuaXNFbXB0eSkge1xuICAgICAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMubGF5ZXIsICdzZWxlY3RpbmcnKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgRG9tSGVscGVyLmFkZENzc0NsYXNzKHRoaXMubGF5ZXIsICdzZWxlY3RpbmcnKTtcbiAgICB9XG5cbiAgICB1cGRhdGUoY29uZmlnOiBJTGF5ZXJDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJzb3JQb3NpdGlvbiA9IHRoaXMuZ2V0UGl4ZWxQb3NpdGlvbigpO1xuICAgICAgICB0aGlzLmRyYXdDdXJzb3IoY29uZmlnLm1heEhlaWdodCk7XG4gICAgICAgIHRoaXMuZGV0ZWN0VmlzaWJpbGl0eSgpO1xuICAgICAgICB0aGlzLnJlc3RhcnRBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBnZXRQaXhlbFBvc2l0aW9uKHBvc2l0aW9uPzogQ3Vyc29yUGFyYWdyYXBoKTogQ3Vyc29yUG9zaXRpb24ge1xuICAgICAgICBpZiAoIXBvc2l0aW9uKSB7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IHRoaXMuc2Vzc2lvbi5zZWxlY3Rpb24uY3Vyc29yO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFBvc2l0aW9uSGVscGVyLmRvY3VtZW50VG9QaXhlbCh0aGlzLnNlc3Npb24sIHBvc2l0aW9uKTtcbiAgICB9XG5cbiAgICBhZGRUZXh0U3R5bGVzVG9DdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRleHRTdHlsZSA9IHRoaXMuc2Vzc2lvbi5lZGl0b3JTZXJ2aWNlLnN0eWxlcztcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnYm9yZGVyLWNvbG9yJywgdGV4dFN0eWxlLmZvbnRDb2xvcik7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ2ZvbnRTaXplJywgYCR7dGV4dFN0eWxlLmZvbnRTaXplfXB4YCk7XG5cbiAgICAgICAgaWYgKHRleHRTdHlsZS5pdGFsaWMpIHtcbiAgICAgICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJy13ZWJraXQtdHJhbnNmb3JtJywgJ3NrZXdYKC0xM2RlZyknKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJy13ZWJraXQtdHJhbnNmb3JtJywgJ3NrZXdYKDApJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZXRyaWNTaXplID0gRm9udE1ldHJpY3MubWVhc3VyZUNoYXJTaXplKFxuICAgICAgICAgICAgJ0VNUFRZX0xJTkUnLFxuICAgICAgICAgICAgQ29udGVudFN0eWxlSGVscGVyLmdldEZvbnRTdHlsZXNTdHJpbmcoXG4gICAgICAgICAgICAgICAgbmV3IFRleHRTdHlsZU1vZGVsKHtcbiAgICAgICAgICAgICAgICAgICAgaXRhbGljOiB0ZXh0U3R5bGUuaXRhbGljLFxuICAgICAgICAgICAgICAgICAgICBib2xkOiB0ZXh0U3R5bGUuYm9sZCxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IHRleHRTdHlsZS5mb250U2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogdGV4dFN0eWxlLmZvbnRGYW1pbHlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmb250TWV0cmljSGVpZ2h0ID0gbWV0cmljU2l6ZS5hc2NlbnQgKyBtZXRyaWNTaXplLmRlc2NlbnQ7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMuY3Vyc29yUG9zaXRpb24uc2l6ZU1heC5hc2NlbnQgKyB0aGlzLmN1cnNvclBvc2l0aW9uLnNpemVNYXguZGVzY2VudDtcbiAgICAgICAgY29uc3QgZm9udFNob3VsZGVycyA9IGZvbnRNZXRyaWNIZWlnaHQgLSBtZXRyaWNTaXplLmZvbnQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IG1ldHJpY1NpemUuZGVzY2VudCAtIGZvbnRTaG91bGRlcnM7XG5cbiAgICAgICAgbGV0IHRvcCA9IHRoaXMuY3Vyc29yUG9zaXRpb24ucGFnZVkgKyB0aGlzLmN1cnNvclBvc2l0aW9uLnNpemVNYXguYXNjZW50IC0gbWV0cmljU2l6ZS5mb250ICsgb2Zmc2V0O1xuICAgICAgICBpZiAoZm9udE1ldHJpY0hlaWdodCAhPT0gbWF4SGVpZ2h0ICYmIG1heEhlaWdodCA+PSB0aGlzLmN1cnNvclBvc2l0aW9uLmxpbmVIZWlnaHQpIHtcbiAgICAgICAgICAgIHRvcCAtPSBtYXhIZWlnaHQgLSB0aGlzLmN1cnNvclBvc2l0aW9uLmxpbmVIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jdXJzb3Iuc3R5bGUsICd0b3AnLCBgJHt0b3AgPCAwID8gMCA6IHRvcH1weGApO1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jdXJzb3Iuc3R5bGUsICdoZWlnaHQnLCBgJHtmb250TWV0cmljSGVpZ2h0fXB4YCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXN0YXJ0QW5pbWF0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUFuaW1hdGlvbkNsYXNzKCk7XG4gICAgICAgIGlmICghdGhpcy5pc1Zpc2libGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWRkQW5pbWF0aW9uQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRyYXdDdXJzb3IobWF4TGF5ZXJIZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBpc0N1cnNvckluVmlldyA9IHRoaXMuY3Vyc29yUG9zaXRpb24ucGFnZVkgPj0gMCAmJiB0aGlzLmN1cnNvclBvc2l0aW9uLnBhZ2VZIDwgbWF4TGF5ZXJIZWlnaHQ7XG4gICAgICAgIGlmICghaXNDdXJzb3JJblZpZXcpIHtcbiAgICAgICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnZGlzcGxheScsICdibG9jaycpO1xuICAgICAgICBjb25zdCBjdXJyZW50U2l6ZSA9IHRoaXMuY3Vyc29yUG9zaXRpb24uc2l6ZUN1cnJlbnQ7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ2xlZnQnLCBgJHt0aGlzLmN1cnNvclBvc2l0aW9uLnBhZ2VYfXB4YCk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ3dpZHRoJywgYCR7Y3VycmVudFNpemUud2lkdGh9cHhgKTtcbiAgICAgICAgdGhpcy5hZGRUZXh0U3R5bGVzVG9DdXJzb3IoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUFuaW1hdGlvbkNsYXNzKCk6IHZvaWQge1xuICAgICAgICBEb21IZWxwZXIucmVtb3ZlQ3NzQ2xhc3ModGhpcy5sYXllciwgJ25vZGVyLWFuaW1hdGUtYmxpbmtpbmcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEFuaW1hdGlvbkNsYXNzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnNvci5zdHlsZS5hbmltYXRpb25EdXJhdGlvbiA9IGAke3RoaXMuYmxpbmtJbnRlcnZhbH1tc2A7XG4gICAgICAgIERvbUhlbHBlci5hZGRDc3NDbGFzcyh0aGlzLmxheWVyLCAnbm9kZXItYW5pbWF0ZS1ibGlua2luZycpO1xuICAgIH1cbn1cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vyc29yLmxheWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvZWRpdG9yL2Rpc3BsYXkvbGF5ZXJzL2N1cnNvci5sYXllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUdoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRTdFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFNUUsTUFBTSxPQUFPLFdBQVc7SUFXcEIsWUFBWSxhQUEwQixFQUFVLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFKbkQsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFLbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGdDQUFnQyxDQUFDO1FBQ3hELGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcs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USxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxPQUFPO1NBQ1Y7UUFFRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQztRQUNwRCxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztRQUNoRixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVPLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQztRQUNoRSxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50U3R5bGVIZWxwZXIgfSBmcm9tICcuLi8uLi9jb250ZW50L2hlbHBlcnMvY29udGVudC1zdHlsZS5oZWxwZXInO1xuaW1wb3J0IHsgQ3Vyc29yUGFyYWdyYXBoIH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvY3Vyc29yLXBhcmFncmFwaCc7XG5pbXBvcnQgeyBDdXJzb3JQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3Bvc2l0aW9uaW5nL2N1cnNvci1wb3NpdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgRm9udE1ldHJpY3MgfSBmcm9tICcuLi8uLi9nYWRnZXRzL2ZvbnQtbWV0cmljcy9mb250LW1ldHJpY3MuaGVscGVyJztcbmltcG9ydCB7IElMYXllckNvbmZpZyB9IGZyb20gJy4vbGF5ZXIuY29uZmlnJztcbmltcG9ydCB7IFBvc2l0aW9uSGVscGVyIH0gZnJvbSAnLi4vLi4vcG9zaXRpb25pbmcvcG9zaXRpb24uaGVscGVyJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEN1cnNvckxheWVyIHtcbiAgICBjdXJzb3JQb3NpdGlvbjogQ3Vyc29yUG9zaXRpb247XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cnNvcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheWVyOiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYmxpbmtJbnRlcnZhbCA9IDEwMDA7XG5cbiAgICBpc1Zpc2libGU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCwgcHJpdmF0ZSBzZXNzaW9uOiBFZGl0U2Vzc2lvbikge1xuICAgICAgICB0aGlzLmxheWVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMubGF5ZXIuY2xhc3NOYW1lID0gJ25vZGVyLWxheWVyIG5vZGVyLWN1cnNvci1sYXllcic7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5sYXllcik7XG5cbiAgICAgICAgdGhpcy5jdXJzb3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5jdXJzb3IuY2xhc3NOYW1lID0gJ25vZGVyLWN1cnNvcic7XG4gICAgICAgIHRoaXMubGF5ZXIuYXBwZW5kQ2hpbGQodGhpcy5jdXJzb3IpO1xuXG4gICAgICAgIHRoaXMuaGlkZUN1cnNvcigpO1xuICAgIH1cblxuICAgIGhpZGVDdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIERvbUhlbHBlci5hZGRDc3NDbGFzcyh0aGlzLmxheWVyLCAnbm9kZXItaGlkZGVuLWN1cnNvcnMnKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBbmltYXRpb25DbGFzcygpO1xuICAgIH1cblxuICAgIHNob3dDdXJzb3IoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMubGF5ZXIsICdub2Rlci1oaWRkZW4tY3Vyc29ycycpO1xuICAgICAgICB0aGlzLmFkZEFuaW1hdGlvbkNsYXNzKCk7XG4gICAgfVxuXG4gICAgZGV0ZWN0VmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmFuZ2UgPSB0aGlzLnNlc3Npb24uc2VsZWN0aW9uLnNlbGVjdGVkUmFuZ2U7XG4gICAgICAgIGlmIChzZWxlY3Rpb25SYW5nZS5pc0VtcHR5KSB7XG4gICAgICAgICAgICBEb21IZWxwZXIucmVtb3ZlQ3NzQ2xhc3ModGhpcy5sYXllciwgJ3NlbGVjdGluZycpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBEb21IZWxwZXIuYWRkQ3NzQ2xhc3ModGhpcy5sYXllciwgJ3NlbGVjdGluZycpO1xuICAgIH1cblxuICAgIHVwZGF0ZShjb25maWc6IElMYXllckNvbmZpZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnNvclBvc2l0aW9uID0gdGhpcy5nZXRQaXhlbFBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuZHJhd0N1cnNvcihjb25maWcubWF4SGVpZ2h0KTtcbiAgICAgICAgdGhpcy5kZXRlY3RWaXNpYmlsaXR5KCk7XG4gICAgICAgIHRoaXMucmVzdGFydEFuaW1hdGlvbigpO1xuICAgIH1cblxuICAgIGdldFBpeGVsUG9zaXRpb24ocG9zaXRpb24/OiBDdXJzb3JQYXJhZ3JhcGgpOiBDdXJzb3JQb3NpdGlvbiB7XG4gICAgICAgIGlmICghcG9zaXRpb24pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uID0gdGhpcy5zZXNzaW9uLnNlbGVjdGlvbi5jdXJzb3I7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gUG9zaXRpb25IZWxwZXIuZG9jdW1lbnRUb1BpeGVsKHRoaXMuc2Vzc2lvbiwgcG9zaXRpb24pO1xuICAgIH1cblxuICAgIGFkZFRleHRTdHlsZXNUb0N1cnNvcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGV4dFN0eWxlID0gdGhpcy5zZXNzaW9uLmVkaXRvclNlcnZpY2Uuc3R5bGVzO1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jdXJzb3Iuc3R5bGUsICdib3JkZXItY29sb3InLCB0ZXh0U3R5bGUuZm9udENvbG9yKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnZm9udFNpemUnLCBgJHt0ZXh0U3R5bGUuZm9udFNpemV9cHhgKTtcblxuICAgICAgICBpZiAodGV4dFN0eWxlLml0YWxpYykge1xuICAgICAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnLXdlYmtpdC10cmFuc2Zvcm0nLCAnc2tld1goLTEzZGVnKScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnLXdlYmtpdC10cmFuc2Zvcm0nLCAnc2tld1goMCknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1ldHJpY1NpemUgPSBGb250TWV0cmljcy5tZWFzdXJlQ2hhclNpemUoXG4gICAgICAgICAgICAnRU1QVFlfTElORScsXG4gICAgICAgICAgICBDb250ZW50U3R5bGVIZWxwZXIuZ2V0Rm9udFN0eWxlc1N0cmluZyhcbiAgICAgICAgICAgICAgICBuZXcgVGV4dFN0eWxlTW9kZWwoe1xuICAgICAgICAgICAgICAgICAgICBpdGFsaWM6IHRleHRTdHlsZS5pdGFsaWMsXG4gICAgICAgICAgICAgICAgICAgIGJvbGQ6IHRleHRTdHlsZS5ib2xkLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogdGV4dFN0eWxlLmZvbnRTaXplLFxuICAgICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiB0ZXh0U3R5bGUuZm9udEZhbWlseVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZvbnRNZXRyaWNIZWlnaHQgPSBtZXRyaWNTaXplLmFzY2VudCArIG1ldHJpY1NpemUuZGVzY2VudDtcbiAgICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5zaXplTWF4LmFzY2VudCArIHRoaXMuY3Vyc29yUG9zaXRpb24uc2l6ZU1heC5kZXNjZW50O1xuICAgICAgICBjb25zdCBmb250U2hvdWxkZXJzID0gZm9udE1ldHJpY0hlaWdodCAtIG1ldHJpY1NpemUuZm9udDtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gbWV0cmljU2l6ZS5kZXNjZW50IC0gZm9udFNob3VsZGVycztcblxuICAgICAgICBsZXQgdG9wID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5wYWdlWSArIHRoaXMuY3Vyc29yUG9zaXRpb24uc2l6ZU1heC5hc2NlbnQgLSBtZXRyaWNTaXplLmZvbnQgKyBvZmZzZXQ7XG4gICAgICAgIGlmIChmb250TWV0cmljSGVpZ2h0ICE9PSBtYXhIZWlnaHQgJiYgbWF4SGVpZ2h0ID49IHRoaXMuY3Vyc29yUG9zaXRpb24ubGluZUhlaWdodCkge1xuICAgICAgICAgICAgdG9wIC09IG1heEhlaWdodCAtIHRoaXMuY3Vyc29yUG9zaXRpb24ubGluZUhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ3RvcCcsIGAke3RvcCA8IDAgPyAwIDogdG9wfXB4YCk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmN1cnNvci5zdHlsZSwgJ2hlaWdodCcsIGAke2ZvbnRNZXRyaWNIZWlnaHR9cHhgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RhcnRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQW5pbWF0aW9uQ2xhc3MoKTtcbiAgICAgICAgaWYgKCF0aGlzLmlzVmlzaWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hZGRBbmltYXRpb25DbGFzcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJhd0N1cnNvcihtYXhMYXllckhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzQ3Vyc29ySW5WaWV3ID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5wYWdlWSA+PSAwICYmIHRoaXMuY3Vyc29yUG9zaXRpb24ucGFnZVkgPCBtYXhMYXllckhlaWdodDtcbiAgICAgICAgaWYgKCFpc0N1cnNvckluVmlldykge1xuICAgICAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy5jdXJzb3Iuc3R5bGUsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRTaXplID0gdGhpcy5jdXJzb3JQb3NpdGlvbi5zaXplQ3VycmVudDtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnbGVmdCcsIGAke3RoaXMuY3Vyc29yUG9zaXRpb24ucGFnZVh9cHhgKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY3Vyc29yLnN0eWxlLCAnd2lkdGgnLCBgJHtjdXJyZW50U2l6ZS53aWR0aH1weGApO1xuICAgICAgICB0aGlzLmFkZFRleHRTdHlsZXNUb0N1cnNvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQW5pbWF0aW9uQ2xhc3MoKTogdm9pZCB7XG4gICAgICAgIERvbUhlbHBlci5yZW1vdmVDc3NDbGFzcyh0aGlzLmxheWVyLCAnbm9kZXItYW5pbWF0ZS1ibGlua2luZycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQW5pbWF0aW9uQ2xhc3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3Vyc29yLnN0eWxlLmFuaW1hdGlvbkR1cmF0aW9uID0gYCR7dGhpcy5ibGlua0ludGVydmFsfW1zYDtcbiAgICAgICAgRG9tSGVscGVyLmFkZENzc0NsYXNzKHRoaXMubGF5ZXIsICdub2Rlci1hbmltYXRlLWJsaW5raW5nJyk7XG4gICAgfVxufVxuIl19
|