@worktile/theia 1.2.19 → 2.0.2

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 (34) hide show
  1. package/bundles/worktile-theia.umd.js +137 -323
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/constants/code.d.ts +3 -3
  4. package/constants/node-types.d.ts +1 -2
  5. package/custom-types.d.ts +1 -3
  6. package/editor.module.d.ts +39 -43
  7. package/esm2015/components/text/text.component.js +2 -7
  8. package/esm2015/constants/code.js +2 -2
  9. package/esm2015/constants/node-types.js +2 -4
  10. package/esm2015/constants/toolbar.js +1 -2
  11. package/esm2015/custom-types.js +1 -1
  12. package/esm2015/editor.module.js +5 -14
  13. package/esm2015/plugins/code/code.component.js +30 -74
  14. package/esm2015/plugins/code/code.editor.js +9 -3
  15. package/esm2015/plugins/image/image.component.js +1 -1
  16. package/esm2015/plugins/index.js +1 -3
  17. package/esm2015/plugins/link/edit/link-edit.component.js +1 -1
  18. package/esm2015/plugins/table/transforms/insert-table.js +2 -2
  19. package/fesm2015/worktile-theia.js +105 -283
  20. package/fesm2015/worktile-theia.js.map +1 -1
  21. package/package.json +1 -1
  22. package/plugins/code/code.component.d.ts +4 -16
  23. package/plugins/code/code.component.scss +7 -46
  24. package/plugins/code/code.editor.d.ts +2 -3
  25. package/plugins/table/transforms/insert-table.d.ts +1 -1
  26. package/queries/get-selection-marks.d.ts +0 -1
  27. package/styles/editor.scss +0 -6
  28. package/styles/index.scss +0 -1
  29. package/transforms/set-marks.d.ts +0 -1
  30. package/esm2015/plugins/font-size/options.js +0 -11
  31. package/esm2015/plugins/font-size/toolbar-item.component.js +0 -129
  32. package/plugins/font-size/options.d.ts +0 -3
  33. package/plugins/font-size/toolbar-item.component.d.ts +0 -35
  34. package/plugins/font-size/toolbar-item.component.scss +0 -13
@@ -1,8 +1,8 @@
1
- import { Component, ViewChild, Inject, HostListener } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, ViewChild, Inject } from '@angular/core';
2
2
  import { Transforms } from 'slate';
3
3
  import { AngularEditor } from 'slate-angular';
4
4
  import { CodeMirrorComponent } from 'ng-codemirror';
5
- import { CODEMIRROR_PADDING_TOP, CODE_MODES, DropdownMode, CodeMode, THE_CODE_MODE_TOKEN, ToolbarItemMode } from '../../constants';
5
+ import { CODEMIRROR_PADDING_TOP, CODE_MODES, DropdownMode, CodeMode, THE_CODE_MODE_TOKEN } from '../../constants';
6
6
  import { TheBaseElementComponent } from '../../interfaces';
7
7
  import { CodeEditor } from './code.editor';
8
8
  import * as TheTransforms from '../../transforms';
@@ -11,15 +11,12 @@ import * as i0 from "@angular/core";
11
11
  import * as i1 from "ngx-tethys/notify";
12
12
  import * as i2 from "ngx-tethys/nav";
13
13
  import * as i3 from "../../components/toolbar-dropdown/toolbar-dropdown.component";
14
- import * as i4 from "../../components/nav-split-line/nav-split-line.component";
15
- import * as i5 from "ngx-tethys/switch";
16
- import * as i6 from "slate-angular";
17
- import * as i7 from "ng-codemirror";
18
- import * as i8 from "ngx-tethys/resizable";
19
- import * as i9 from "@angular/common";
20
- import * as i10 from "ngx-tethys/tooltip";
21
- import * as i11 from "@angular/forms";
22
- import * as i12 from "../../constants";
14
+ import * as i4 from "slate-angular";
15
+ import * as i5 from "ng-codemirror";
16
+ import * as i6 from "@angular/common";
17
+ import * as i7 from "ngx-tethys/tooltip";
18
+ import * as i8 from "@angular/forms";
19
+ import * as i9 from "../../constants";
23
20
  export class TheCodeComponent extends TheBaseElementComponent {
24
21
  constructor(elementRef, cdr, thyNotifyService, ngZone, config) {
25
22
  super(elementRef, cdr);
@@ -30,15 +27,11 @@ export class TheCodeComponent extends TheBaseElementComponent {
30
27
  this.config = config;
31
28
  this.startRenderCodemirror = false;
32
29
  this.dropdownMode = DropdownMode;
33
- this.codeMirrorFocused = false;
34
30
  this.maxHeight = this.config.mode === CodeMode.default ? 350 - CODEMIRROR_PADDING_TOP * 2 : 0;
31
+ this.codeMirrorFocused = false;
35
32
  this.menus = CODE_MODES.map(item => {
36
33
  return { key: item.value, name: item.showName };
37
34
  });
38
- this.ToolbarItemMode = ToolbarItemMode;
39
- this.isAutoWrap = false;
40
- this.isResizing = false;
41
- this.resizeHeight = null;
42
35
  this.options = {
43
36
  mode: this.menus[0].key,
44
37
  lineNumbers: false,
@@ -52,17 +45,12 @@ export class TheCodeComponent extends TheBaseElementComponent {
52
45
  this.onChangeLangulage = item => {
53
46
  this.options = Object.assign(Object.assign({}, this.options), { mode: item.key });
54
47
  this.actives = item;
55
- CodeEditor.setCodeAttribute(this.editor, this.element, { langulage: item.key });
48
+ CodeEditor.setLanguage(this.editor, item.key, this.element);
56
49
  };
57
50
  }
58
51
  get code() {
59
52
  return this.element.content;
60
53
  }
61
- handleCodeMousedown(event) {
62
- if (!(event.target instanceof HTMLElement && this.elementRef.nativeElement.contains(event.target))) {
63
- this.codeMirrorFocused = false;
64
- }
65
- }
66
54
  onContextChange() {
67
55
  super.onContextChange();
68
56
  if (this.initialized) {
@@ -97,20 +85,14 @@ export class TheCodeComponent extends TheBaseElementComponent {
97
85
  });
98
86
  }
99
87
  }
100
- focusChange(codeMirrorFocused) {
101
- if (codeMirrorFocused)
102
- this.codeMirrorFocused = codeMirrorFocused;
103
- }
104
88
  renderCodemirror() {
105
89
  this.startRenderCodemirror = true;
106
90
  this.useReadonly();
107
91
  this.useMode();
108
- this.useAutoWrap();
109
- this.useHeight();
110
92
  this.cdr.detectChanges();
111
93
  }
112
94
  initializeCodemirrorFocus() {
113
- if (this.isCollapsed && !this.isResizing) {
95
+ if (this.isCollapsed) {
114
96
  setTimeout(() => {
115
97
  if (this.isCollapsed && this.codemirror && this.codemirror.editor && !this.codemirror.editor.hasFocus()) {
116
98
  AngularEditor.blur(this.editor);
@@ -121,11 +103,13 @@ export class TheCodeComponent extends TheBaseElementComponent {
121
103
  }
122
104
  }
123
105
  codeChange($event) {
124
- CodeEditor.setCodeAttribute(this.editor, this.element, { content: $event });
106
+ CodeEditor.setCodeContent(this.editor, $event, this.element);
107
+ }
108
+ focusChange(codeMirrorFocused) {
109
+ this.codeMirrorFocused = codeMirrorFocused;
125
110
  }
126
111
  onDelete(event) {
127
112
  event.preventDefault();
128
- this.codeMirrorFocused = false;
129
113
  TheTransforms.deleteElement(this.editor, this.element);
130
114
  }
131
115
  onCopy(event) {
@@ -136,67 +120,39 @@ export class TheCodeComponent extends TheBaseElementComponent {
136
120
  if (selection.rangeCount > 0) {
137
121
  selection.removeAllRanges();
138
122
  }
139
- AngularEditor.focus(this.editor);
140
- Transforms.select(this.editor, AngularEditor.findPath(this.editor, this.element));
141
- document.execCommand('copy');
142
- this.thyNotifyService.success('复制成功');
143
- AngularEditor.deselect(this.editor);
144
- this.codeMirrorFocused = false;
123
+ // focus the element
124
+ setTimeout(() => {
125
+ AngularEditor.focus(this.editor);
126
+ Transforms.select(this.editor, AngularEditor.findPath(this.editor, this.element));
127
+ });
128
+ // copy the element
129
+ setTimeout(() => {
130
+ document.execCommand('copy');
131
+ this.thyNotifyService.success('复制成功');
132
+ }, 200);
145
133
  }
146
134
  useMode() {
147
135
  this.options = Object.assign(Object.assign({}, this.options), { mode: this.element.language });
148
136
  this.actives = this.menus.find(i => i.key === this.element.language);
149
137
  }
150
- useAutoWrap() {
151
- if (this.element.autoWrap) {
152
- this.cdr.detectChanges();
153
- this.isAutoWrap = this.element.autoWrap;
154
- this.codemirror.setOptionIfChanged('lineWrapping', this.element.autoWrap);
155
- }
156
- }
157
- useHeight() {
158
- if (this.element.height) {
159
- this.resizeHeight = this.element.height;
160
- this.maxHeight = this.element.height;
161
- }
162
- }
163
138
  useReadonly() {
164
139
  this.options = Object.assign(Object.assign({}, this.options), { readOnly: this.readonly, cursorBlinkRate: this.readonly ? -1 : 500 });
165
140
  }
166
- onResize({ height }) {
167
- this.resizeHeight = height;
168
- Transforms.select(this.editor, AngularEditor.findPath(this.editor, this.element));
169
- CodeEditor.setCodeAttribute(this.editor, this.element, { height });
170
- this.maxHeight = height;
171
- }
172
- onStartResize() {
173
- this.isResizing = true;
174
- }
175
- onEndResize() {
176
- this.isResizing = false;
177
- }
178
- onChangeWrap(value) {
179
- AngularEditor.deselect(this.editor);
180
- this.codemirror.setOptionIfChanged('lineWrapping', value);
181
- CodeEditor.setCodeAttribute(this.editor, this.element, { autoWrap: value ? value : null });
182
- }
183
141
  }
184
142
  TheCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheCodeComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ThyNotifyService }, { token: i0.NgZone }, { token: THE_CODE_MODE_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
185
- TheCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheCodeComponent, selector: "div[theCode]", host: { listeners: { "document: mousedown": "handleCodeMousedown($event)" } }, viewQueries: [{ propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }], usesInheritance: true, ngImport: i0, template: "<div contenteditable=\"false\" class=\"the-block-operation\" *ngIf=\"codeMirrorFocused && !options.readOnly\">\n <thy-icon-nav>\n <the-toolbar-dropdown [menus]=\"menus\" [item]=\"actives\" [itemMousedownHandle]=\"onChangeLangulage\"> </the-toolbar-dropdown>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onCopy($event)\"\n ></a>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n class=\"remove-link\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onDelete($event)\"\n ></a>\n <nav-split-line [mode]=\"ToolbarItemMode.vertical\"></nav-split-line>\n <span class=\"auto-wrap d-flex align-items-center\">\n <span>\u81EA\u52A8\u6362\u884C</span>\n <thy-switch\n class=\"auto-wrap-btn d-flex\"\n [(ngModel)]=\"isAutoWrap\"\n (ngModelChange)=\"onChangeWrap($event)\"\n thySize=\"sm\"\n ></thy-switch>\n </span>\n </thy-icon-nav>\n</div>\n\n<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n<div\n thyResizable\n [thyMinHeight]=\"42\"\n [style.height.px]=\"resizeHeight\"\n (thyResize)=\"onResize($event)\"\n (thyResizeStart)=\"onStartResize()\"\n (thyResizeEnd)=\"onEndResize()\"\n class=\"resize-code-container\"\n>\n <ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n >\n </ng-codemirror>\n <thy-resize-handle thyDirection=\"bottom\" class=\"code-resize-icon\" *ngIf=\"codeMirrorFocused && !options.readOnly\"></thy-resize-handle>\n</div>\n", components: [{ type: i2.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3.TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: ["toolbarItem", "menus", "mode", "item", "itemMousedownHandle"] }, { type: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }, { type: i5.ThySwitchComponent, selector: "thy-switch", inputs: ["thyType", "thySize", "thyDisabled"], outputs: ["thyChange"] }, { type: i6.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i7.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "delayRefreshTime", "options"], outputs: ["focusChange"] }, { type: i8.ThyResizeHandleComponent, selector: "thy-resize-handle, [thy-resize-handle]", inputs: ["thyDirection"], outputs: ["thyMouseDown"], exportAs: ["thyResizeHandle"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.ThyResizableDirective, selector: "[thyResizable]", inputs: ["thyBounds", "thyMaxHeight", "thyMaxWidth", "thyMinHeight", "thyMinWidth", "thyGridColumnCount", "thyMaxColumn", "thyMinColumn", "thyLockAspectRatio", "thyPreview", "thyDisabled"], outputs: ["thyResize", "thyResizeEnd", "thyResizeStart"] }, { type: i9.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
143
+ TheCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheCodeComponent, selector: "div[theCode]", viewQueries: [{ propertyName: "codemirror", first: true, predicate: ["codemirror"], descendants: true, read: CodeMirrorComponent }], usesInheritance: true, ngImport: i0, template: "<div contenteditable=\"false\" class=\"the-block-operation\" *ngIf=\"codeMirrorFocused && !options.readOnly\">\n <thy-icon-nav>\n <the-toolbar-dropdown [menus]=\"menus\" [item]=\"actives\" [itemMousedownHandle]=\"onChangeLangulage\"></the-toolbar-dropdown>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"copy\"\n thyTooltip=\"\u590D\u5236\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onCopy($event)\"\n ></a>\n <a\n href=\"javascript:;\"\n thyIconNavLink\n thyIconNavLinkIcon=\"trash\"\n thyTooltip=\"\u5220\u9664\"\n class=\"remove-link\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"onDelete($event)\"\n ></a>\n </thy-icon-nav>\n</div>\n\n<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n<ng-codemirror\n *ngIf=\"startRenderCodemirror\"\n #codemirror\n contenteditable=\"false\"\n class=\"ng-codemirror-wrapper\"\n [ngStyle]=\"{ maxHeight: maxHeight > 0 ? maxHeight + 'px' : 'auto' }\"\n [options]=\"options\"\n [ngModel]=\"code\"\n [delayRefreshTime]=\"300\"\n (ngModelChange)=\"codeChange($event)\"\n (focusChange)=\"focusChange($event)\"\n [autoMaxHeight]=\"maxHeight\"\n></ng-codemirror>\n", components: [{ type: i2.ThyIconNavComponent, selector: "thy-icon-nav", inputs: ["thyType"] }, { type: i3.TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: ["toolbarItem", "menus", "mode", "item", "itemMousedownHandle"] }, { type: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i5.CodeMirrorComponent, selector: "ng-codemirror, [ngCodeMirror]", inputs: ["autoMaxHeight", "delayRefreshTime", "options"], outputs: ["focusChange"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
186
144
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheCodeComponent, decorators: [{
187
145
  type: Component,
188
146
  args: [{
189
147
  selector: 'div[theCode]',
190
- templateUrl: './code.component.html'
148
+ templateUrl: './code.component.html',
149
+ changeDetection: ChangeDetectionStrategy.OnPush
191
150
  }]
192
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ThyNotifyService }, { type: i0.NgZone }, { type: i12.TheCodeConfig, decorators: [{
151
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.ThyNotifyService }, { type: i0.NgZone }, { type: i9.TheCodeMode, decorators: [{
193
152
  type: Inject,
194
153
  args: [THE_CODE_MODE_TOKEN]
195
154
  }] }]; }, propDecorators: { codemirror: [{
196
155
  type: ViewChild,
197
156
  args: ['codemirror', { read: CodeMirrorComponent, static: false }]
198
- }], handleCodeMousedown: [{
199
- type: HostListener,
200
- args: ['document: mousedown', ['$event']]
201
157
  }] } });
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvY29kZS9jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBS1QsU0FBUyxFQUdULE1BQU0sRUFDTixZQUFZLEVBQ2YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixZQUFZLEVBQ1osUUFBUSxFQUNSLG1CQUFtQixFQUVuQixlQUFlLEVBQ2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFzQix1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxLQUFLLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU83QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsdUJBQTRDO0lBc0Q5RSxZQUNXLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3JCLGdCQUFrQyxFQUNsQyxNQUFjLEVBRWQsTUFBcUI7UUFFN0IsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQVBoQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3JC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cEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvRixDQUFDOzs2R0ExTFEsZ0JBQWdCLG1JQTJEYixtQkFBbUI7aUdBM0R0QixnQkFBZ0Isd05BNkJRLG1CQUFtQixvRENqRXhELDJ3RUEyREE7MkZEdkJhLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHVCQUF1QjtpQkFDdkM7OzBCQTREUSxNQUFNOzJCQUFDLG1CQUFtQjs0Q0E3Qi9CLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJckUsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgTmdab25lLFxuICAgIEluamVjdCxcbiAgICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlOb3RpZnlTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9ub3RpZnknO1xuaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgQ29kZU1pcnJvckNvbXBvbmVudCB9IGZyb20gJ25nLWNvZGVtaXJyb3InO1xuaW1wb3J0IHtcbiAgICBDT0RFTUlSUk9SX1BBRERJTkdfVE9QLFxuICAgIENPREVfTU9ERVMsXG4gICAgRHJvcGRvd25Nb2RlLFxuICAgIENvZGVNb2RlLFxuICAgIFRIRV9DT0RFX01PREVfVE9LRU4sXG4gICAgVGhlQ29kZUNvbmZpZyxcbiAgICBUb29sYmFySXRlbU1vZGVcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IERlZmF1bHRUb29sYmFySXRlbSwgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvZGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IENvZGVFZGl0b3IgfSBmcm9tICcuL2NvZGUuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBkZWxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeVJlc2l6ZUV2ZW50IH0gZnJvbSAnbmd4LXRldGh5cy9yZXNpemFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2Rpdlt0aGVDb2RlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvZGUuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFRoZUNvZGVDb21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudENvbXBvbmVudDxDb2RlRWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhcnRSZW5kZXJDb2RlbWlycm9yID0gZmFsc2U7XG4gICAgZHJvcGRvd25Nb2RlID0gRHJvcGRvd25Nb2RlO1xuICAgIGNvZGVNaXJyb3JGb2N1c2VkID0gZmFsc2U7XG4gICAgbWF4SGVpZ2h0ID0gdGhpcy5jb25maWcubW9kZSA9PT0gQ29kZU1vZGUuZGVmYXVsdCA/IDM1MCAtIENPREVNSVJST1JfUEFERElOR19UT1AgKiAyIDogMDtcbiAgICBtZW51cyA9IENPREVfTU9ERVMubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4geyBrZXk6IGl0ZW0udmFsdWUsIG5hbWU6IGl0ZW0uc2hvd05hbWUgfTtcbiAgICB9KTtcbiAgICBUb29sYmFySXRlbU1vZGUgPSBUb29sYmFySXRlbU1vZGU7XG4gICAgaXNBdXRvV3JhcCA9IGZhbHNlO1xuICAgIGlzUmVzaXppbmcgPSBmYWxzZTtcbiAgICByZXNpemVIZWlnaHQ6IG51bWJlciA9IG51bGw7XG5cbiAgICBvcHRpb25zID0ge1xuICAgICAgICBtb2RlOiB0aGlzLm1lbnVzWzBdLmtleSxcbiAgICAgICAgbGluZU51bWJlcnM6IGZhbHNlLFxuICAgICAgICByZWFkT25seTogZmFsc2UsXG4gICAgICAgIGF1dG9mb2N1czogZmFsc2UsXG4gICAgICAgIGxpbmVXaXNlQ29weUN1dDogdHJ1ZSxcbiAgICAgICAgbGluZVdyYXBwaW5nOiB0aGlzLmNvbmZpZy5tb2RlID09PSBDb2RlTW9kZS5kZWZhdWx0ID8gZmFsc2UgOiB0cnVlLFxuICAgICAgICBjdXJzb3JCbGlua1JhdGU6IDUwMFxuICAgIH07XG5cbiAgICBhY3RpdmVzOiBEZWZhdWx0VG9vbGJhckl0ZW0gPSB0aGlzLm1lbnVzWzBdO1xuXG4gICAgZ2V0IGNvZGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQuY29udGVudDtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjb2RlbWlycm9yJywgeyByZWFkOiBDb2RlTWlycm9yQ29tcG9uZW50LCBzdGF0aWM6IGZhbHNlIH0pXG4gICAgY29kZW1pcnJvcjogQ29kZU1pcnJvckNvbXBvbmVudDtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUNvZGVNb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCEoZXZlbnQudGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29kZU1pcnJvckZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgc3VwZXIub25Db250ZXh0Q2hhbmdlKCk7XG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJlYWRPbmx5ICE9PSB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VSZWFkb25seSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5tb2RlICE9PSB0aGlzLmVsZW1lbnQubGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZU1vZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5yZWFkb25seSAmJiB0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ29kZW1pcnJvckZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHRoeU5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoVEhFX0NPREVfTU9ERV9UT0tFTilcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IFRoZUNvZGVDb25maWdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGhlLWNvZGUtY29udGFpbmVyJyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgLy8gZGVsYXkgMjBtc1xuICAgICAgICAgICAgLy8gY2NvZGVtaXJyb3IgaXMgdG9vIHNsb3dcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSwgZGVsYXkoMjApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQ29kZW1pcnJvcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBlZGl0IG1vZGUgY2FuIG5vdCBkZWxheVxuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQ29kZW1pcnJvcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvZGVtaXJyb3JGb2N1cygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb2N1c0NoYW5nZShjb2RlTWlycm9yRm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoY29kZU1pcnJvckZvY3VzZWQpIHRoaXMuY29kZU1pcnJvckZvY3VzZWQgPSBjb2RlTWlycm9yRm9jdXNlZDtcbiAgICB9XG5cbiAgICByZW5kZXJDb2RlbWlycm9yKCkge1xuICAgICAgICB0aGlzLnN0YXJ0UmVuZGVyQ29kZW1pcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMudXNlUmVhZG9ubHkoKTtcbiAgICAgICAgdGhpcy51c2VNb2RlKCk7XG4gICAgICAgIHRoaXMudXNlQXV0b1dyYXAoKTtcbiAgICAgICAgdGhpcy51c2VIZWlnaHQoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVDb2RlbWlycm9yRm9jdXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkICYmICF0aGlzLmlzUmVzaXppbmcpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkICYmIHRoaXMuY29kZW1pcnJvciAmJiB0aGlzLmNvZGVtaXJyb3IuZWRpdG9yICYmICF0aGlzLmNvZGVtaXJyb3IuZWRpdG9yLmhhc0ZvY3VzKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5ibHVyKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2RlbWlycm9yLmVkaXRvci5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvZGVtaXJyb3IuZWRpdG9yLnJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAyMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29kZUNoYW5nZSgkZXZlbnQpIHtcbiAgICAgICAgQ29kZUVkaXRvci5zZXRDb2RlQXR0cmlidXRlKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQsIHsgY29udGVudDogJGV2ZW50IH0pO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuY29kZU1pcnJvckZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgVGhlVHJhbnNmb3Jtcy5kZWxldGVFbGVtZW50KHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIG9uQ29weShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgLy8gcmVtb3ZlIGNvZGVtb3JyaXIgc2VsZWN0aW9uXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID4gMCkge1xuICAgICAgICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3IuZm9jdXModGhpcy5lZGl0b3IpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KSk7XG4gICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICAgIHRoaXMudGh5Tm90aWZ5U2VydmljZS5zdWNjZXNzKCflpI3liLbmiJDlip8nKTtcbiAgICAgICAgQW5ndWxhckVkaXRvci5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIHRoaXMuY29kZU1pcnJvckZvY3VzZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkNoYW5nZUxhbmd1bGFnZSA9IGl0ZW0gPT4ge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbW9kZTogaXRlbS5rZXkgfTtcbiAgICAgICAgdGhpcy5hY3RpdmVzID0gaXRlbTtcbiAgICAgICAgQ29kZUVkaXRvci5zZXRDb2RlQXR0cmlidXRlKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQsIHsgbGFuZ3VsYWdlOiBpdGVtLmtleSB9KTtcbiAgICB9O1xuXG4gICAgdXNlTW9kZSgpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIG1vZGU6IHRoaXMuZWxlbWVudC5sYW5ndWFnZSB9O1xuICAgICAgICB0aGlzLmFjdGl2ZXMgPSB0aGlzLm1lbnVzLmZpbmQoaSA9PiBpLmtleSA9PT0gdGhpcy5lbGVtZW50Lmxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICB1c2VBdXRvV3JhcCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5hdXRvV3JhcCkge1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgdGhpcy5pc0F1dG9XcmFwID0gdGhpcy5lbGVtZW50LmF1dG9XcmFwO1xuICAgICAgICAgICAgdGhpcy5jb2RlbWlycm9yLnNldE9wdGlvbklmQ2hhbmdlZCgnbGluZVdyYXBwaW5nJywgdGhpcy5lbGVtZW50LmF1dG9XcmFwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZUhlaWdodCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5oZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplSGVpZ2h0ID0gdGhpcy5lbGVtZW50LmhlaWdodDtcbiAgICAgICAgICAgIHRoaXMubWF4SGVpZ2h0ID0gdGhpcy5lbGVtZW50LmhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVzZVJlYWRvbmx5KCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgcmVhZE9ubHk6IHRoaXMucmVhZG9ubHksIGN1cnNvckJsaW5rUmF0ZTogdGhpcy5yZWFkb25seSA/IC0xIDogNTAwIH07XG4gICAgfVxuXG4gICAgb25SZXNpemUoeyBoZWlnaHQgfTogVGh5UmVzaXplRXZlbnQpIHtcbiAgICAgICAgdGhpcy5yZXNpemVIZWlnaHQgPSBoZWlnaHQhO1xuICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KSk7XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0Q29kZUF0dHJpYnV0ZSh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50LCB7IGhlaWdodCB9KTtcbiAgICAgICAgdGhpcy5tYXhIZWlnaHQgPSBoZWlnaHQ7XG4gICAgfVxuXG4gICAgb25TdGFydFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5pc1Jlc2l6aW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkVuZFJlc2l6ZSgpIHtcbiAgICAgICAgdGhpcy5pc1Jlc2l6aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VXcmFwKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIEFuZ3VsYXJFZGl0b3IuZGVzZWxlY3QodGhpcy5lZGl0b3IpO1xuICAgICAgICB0aGlzLmNvZGVtaXJyb3Iuc2V0T3B0aW9uSWZDaGFuZ2VkKCdsaW5lV3JhcHBpbmcnLCB2YWx1ZSk7XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0Q29kZUF0dHJpYnV0ZSh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50LCB7IGF1dG9XcmFwOiB2YWx1ZSA/IHZhbHVlIDogbnVsbCB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCIgY2xhc3M9XCJ0aGUtYmxvY2stb3BlcmF0aW9uXCIgKm5nSWY9XCJjb2RlTWlycm9yRm9jdXNlZCAmJiAhb3B0aW9ucy5yZWFkT25seVwiPlxuICAgIDx0aHktaWNvbi1uYXY+XG4gICAgICAgIDx0aGUtdG9vbGJhci1kcm9wZG93biBbbWVudXNdPVwibWVudXNcIiBbaXRlbV09XCJhY3RpdmVzXCIgW2l0ZW1Nb3VzZWRvd25IYW5kbGVdPVwib25DaGFuZ2VMYW5ndWxhZ2VcIj4gPC90aGUtdG9vbGJhci1kcm9wZG93bj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rSWNvbj1cImNvcHlcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcD1cIuWkjeWItlwiXG4gICAgICAgICAgICB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Db3B5KCRldmVudClcIlxuICAgICAgICA+PC9hPlxuICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgICAgICB0aHlJY29uTmF2TGlua1xuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtJY29uPVwidHJhc2hcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcD1cIuWIoOmZpFwiXG4gICAgICAgICAgICBjbGFzcz1cInJlbW92ZS1saW5rXCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvYT5cbiAgICAgICAgPG5hdi1zcGxpdC1saW5lIFttb2RlXT1cIlRvb2xiYXJJdGVtTW9kZS52ZXJ0aWNhbFwiPjwvbmF2LXNwbGl0LWxpbmU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXV0by13cmFwIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPuiHquWKqOaNouihjDwvc3Bhbj5cbiAgICAgICAgICAgIDx0aHktc3dpdGNoXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhdXRvLXdyYXAtYnRuIGQtZmxleFwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpc0F1dG9XcmFwXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZVdyYXAoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgdGh5U2l6ZT1cInNtXCJcbiAgICAgICAgICAgID48L3RoeS1zd2l0Y2g+XG4gICAgICAgIDwvc3Bhbj5cbiAgICA8L3RoeS1pY29uLW5hdj5cbjwvZGl2PlxuXG48c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cbjxkaXZcbiAgICB0aHlSZXNpemFibGVcbiAgICBbdGh5TWluSGVpZ2h0XT1cIjQyXCJcbiAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInJlc2l6ZUhlaWdodFwiXG4gICAgKHRoeVJlc2l6ZSk9XCJvblJlc2l6ZSgkZXZlbnQpXCJcbiAgICAodGh5UmVzaXplU3RhcnQpPVwib25TdGFydFJlc2l6ZSgpXCJcbiAgICAodGh5UmVzaXplRW5kKT1cIm9uRW5kUmVzaXplKClcIlxuICAgIGNsYXNzPVwicmVzaXplLWNvZGUtY29udGFpbmVyXCJcbj5cbiAgICA8bmctY29kZW1pcnJvclxuICAgICAgICAqbmdJZj1cInN0YXJ0UmVuZGVyQ29kZW1pcnJvclwiXG4gICAgICAgICNjb2RlbWlycm9yXG4gICAgICAgIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCJcbiAgICAgICAgY2xhc3M9XCJuZy1jb2RlbWlycm9yLXdyYXBwZXJcIlxuICAgICAgICBbbmdTdHlsZV09XCJ7IG1heEhlaWdodDogbWF4SGVpZ2h0ID4gMCA/IG1heEhlaWdodCArICdweCcgOiAnYXV0bycgfVwiXG4gICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAgICAgICBbbmdNb2RlbF09XCJjb2RlXCJcbiAgICAgICAgW2RlbGF5UmVmcmVzaFRpbWVdPVwiMzAwXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY29kZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGZvY3VzQ2hhbmdlKT1cImZvY3VzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbYXV0b01heEhlaWdodF09XCJtYXhIZWlnaHRcIlxuICAgID5cbiAgICA8L25nLWNvZGVtaXJyb3I+XG4gICAgPHRoeS1yZXNpemUtaGFuZGxlIHRoeURpcmVjdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiY29kZS1yZXNpemUtaWNvblwiICpuZ0lmPVwiY29kZU1pcnJvckZvY3VzZWQgJiYgIW9wdGlvbnMucmVhZE9ubHlcIj48L3RoeS1yZXNpemUtaGFuZGxlPlxuPC9kaXY+XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb2RlL2NvZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvY29kZS9jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBR1QsdUJBQXVCLEVBRXZCLFNBQVMsRUFHVCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsbUJBQW1CLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvSCxPQUFPLEVBQXNCLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBTzdDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx1QkFBNEM7SUE0QzlFLFlBQ1csVUFBc0IsRUFDdEIsR0FBc0IsRUFDckIsZ0JBQWtDLEVBQ2xDLE1BQWMsRUFFZCxNQUFtQjtRQUUzQixLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBUGhCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDckIscUJBQWdCLEdBQWhC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LENBQUMsT0FBTyxtQ0FBUSxJQUFJLENBQUMsT0FBTyxLQUFFLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxtQ0FBUSxJQUFJLENBQUMsT0FBTyxLQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFFLENBQUM7SUFDM0csQ0FBQzs7NkdBN0lRLGdCQUFnQixtSUFpRGIsbUJBQW1CO2lHQWpEdEIsZ0JBQWdCLHlJQTBCUSxtQkFBbUIsb0RDckR4RCxrNENBcUNBOzJGRFZhLGdCQUFnQjtrQkFMNUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHVCQUF1QjtvQkFDcEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFrRFEsTUFBTTsyQkFBQyxtQkFBbUI7NENBdEIvQixVQUFVO3NCQURULFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBOZ1pvbmUsXG4gICAgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IEVkaXRvciwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IENvZGVNaXJyb3JDb21wb25lbnQgfSBmcm9tICduZy1jb2RlbWlycm9yJztcbmltcG9ydCB7IENPREVNSVJST1JfUEFERElOR19UT1AsIENPREVfTU9ERVMsIERyb3Bkb3duTW9kZSwgQ29kZU1vZGUsIFRIRV9DT0RFX01PREVfVE9LRU4sIFRoZUNvZGVNb2RlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IERlZmF1bHRUb29sYmFySXRlbSwgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENvZGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IENvZGVFZGl0b3IgfSBmcm9tICcuL2NvZGUuZWRpdG9yJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBkZWxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlQ29kZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2RlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUaGVDb2RlQ29tcG9uZW50IGV4dGVuZHMgVGhlQmFzZUVsZW1lbnRDb21wb25lbnQ8Q29kZUVsZW1lbnQsIEVkaXRvcj4gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXJ0UmVuZGVyQ29kZW1pcnJvciA9IGZhbHNlO1xuICAgIGRyb3Bkb3duTW9kZSA9IERyb3Bkb3duTW9kZTtcbiAgICBtYXhIZWlnaHQgPSB0aGlzLmNvbmZpZy5tb2RlID09PSBDb2RlTW9kZS5kZWZhdWx0ID8gMzUwIC0gQ09ERU1JUlJPUl9QQURESU5HX1RPUCAqIDIgOiAwO1xuICAgIGNvZGVNaXJyb3JGb2N1c2VkID0gZmFsc2U7XG5cbiAgICBtZW51cyA9IENPREVfTU9ERVMubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4geyBrZXk6IGl0ZW0udmFsdWUsIG5hbWU6IGl0ZW0uc2hvd05hbWUgfTtcbiAgICB9KTtcblxuICAgIG9wdGlvbnMgPSB7XG4gICAgICAgIG1vZGU6IHRoaXMubWVudXNbMF0ua2V5LFxuICAgICAgICBsaW5lTnVtYmVyczogZmFsc2UsXG4gICAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICAgICAgbGluZVdpc2VDb3B5Q3V0OiB0cnVlLFxuICAgICAgICBsaW5lV3JhcHBpbmc6IHRoaXMuY29uZmlnLm1vZGUgPT09IENvZGVNb2RlLmRlZmF1bHQgPyBmYWxzZSA6IHRydWUsXG4gICAgICAgIGN1cnNvckJsaW5rUmF0ZTogNTAwXG4gICAgfTtcblxuICAgIGFjdGl2ZXM6IERlZmF1bHRUb29sYmFySXRlbSA9IHRoaXMubWVudXNbMF07XG5cbiAgICBnZXQgY29kZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudC5jb250ZW50O1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2NvZGVtaXJyb3InLCB7IHJlYWQ6IENvZGVNaXJyb3JDb21wb25lbnQsIHN0YXRpYzogZmFsc2UgfSlcbiAgICBjb2RlbWlycm9yOiBDb2RlTWlycm9yQ29tcG9uZW50O1xuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICBzdXBlci5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnMucmVhZE9ubHkgIT09IHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZVJlYWRvbmx5KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLm1vZGUgIT09IHRoaXMuZWxlbWVudC5sYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlTW9kZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlYWRvbmx5ICYmIHRoaXMuaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDb2RlbWlycm9yRm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdGh5Tm90aWZ5U2VydmljZTogVGh5Tm90aWZ5U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChUSEVfQ09ERV9NT0RFX1RPS0VOKVxuICAgICAgICBwcml2YXRlIGNvbmZpZzogVGhlQ29kZU1vZGVcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgndGhlLWNvZGUtY29udGFpbmVyJyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgICAgICAgLy8gZGVsYXkgMjBtc1xuICAgICAgICAgICAgLy8gY2NvZGVtaXJyb3IgaXMgdG9vIHNsb3dcbiAgICAgICAgICAgIHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSwgZGVsYXkoMjApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQ29kZW1pcnJvcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBlZGl0IG1vZGUgY2FuIG5vdCBkZWxheVxuICAgICAgICAgICAgdGhpcy5uZ1pvbmUub25TdGFibGUucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyQ29kZW1pcnJvcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZUNvZGVtaXJyb3JGb2N1cygpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW5kZXJDb2RlbWlycm9yKCkge1xuICAgICAgICB0aGlzLnN0YXJ0UmVuZGVyQ29kZW1pcnJvciA9IHRydWU7XG4gICAgICAgIHRoaXMudXNlUmVhZG9ubHkoKTtcbiAgICAgICAgdGhpcy51c2VNb2RlKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplQ29kZW1pcnJvckZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5jb2RlbWlycm9yICYmIHRoaXMuY29kZW1pcnJvci5lZGl0b3IgJiYgIXRoaXMuY29kZW1pcnJvci5lZGl0b3IuaGFzRm9jdXMoKSkge1xuICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLmJsdXIodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvZGVtaXJyb3IuZWRpdG9yLmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29kZW1pcnJvci5lZGl0b3IucmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDIwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlQ2hhbmdlKCRldmVudCkge1xuICAgICAgICBDb2RlRWRpdG9yLnNldENvZGVDb250ZW50KHRoaXMuZWRpdG9yLCAkZXZlbnQsIHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgZm9jdXNDaGFuZ2UoY29kZU1pcnJvckZvY3VzZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jb2RlTWlycm9yRm9jdXNlZCA9IGNvZGVNaXJyb3JGb2N1c2VkO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIFRoZVRyYW5zZm9ybXMuZGVsZXRlRWxlbWVudCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICBvbkNvcHkoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIC8vIHJlbW92ZSBjb2RlbW9ycmlyIHNlbGVjdGlvblxuICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA+IDApIHtcbiAgICAgICAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBmb2N1cyB0aGUgZWxlbWVudFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IuZm9jdXModGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCkpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gY29weSB0aGUgZWxlbWVudFxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgICAgICAgICB0aGlzLnRoeU5vdGlmeVNlcnZpY2Uuc3VjY2Vzcygn5aSN5Yi25oiQ5YqfJyk7XG4gICAgICAgIH0sIDIwMCk7XG4gICAgfVxuXG4gICAgb25DaGFuZ2VMYW5ndWxhZ2UgPSBpdGVtID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIG1vZGU6IGl0ZW0ua2V5IH07XG4gICAgICAgIHRoaXMuYWN0aXZlcyA9IGl0ZW07XG4gICAgICAgIENvZGVFZGl0b3Iuc2V0TGFuZ3VhZ2UodGhpcy5lZGl0b3IsIGl0ZW0ua2V5LCB0aGlzLmVsZW1lbnQpO1xuICAgIH07XG5cbiAgICB1c2VNb2RlKCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgbW9kZTogdGhpcy5lbGVtZW50Lmxhbmd1YWdlIH07XG4gICAgICAgIHRoaXMuYWN0aXZlcyA9IHRoaXMubWVudXMuZmluZChpID0+IGkua2V5ID09PSB0aGlzLmVsZW1lbnQubGFuZ3VhZ2UpO1xuICAgIH1cblxuICAgIHVzZVJlYWRvbmx5KCkge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgcmVhZE9ubHk6IHRoaXMucmVhZG9ubHksIGN1cnNvckJsaW5rUmF0ZTogdGhpcy5yZWFkb25seSA/IC0xIDogNTAwIH07XG4gICAgfVxufVxuIiwiPGRpdiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIGNsYXNzPVwidGhlLWJsb2NrLW9wZXJhdGlvblwiICpuZ0lmPVwiY29kZU1pcnJvckZvY3VzZWQgJiYgIW9wdGlvbnMucmVhZE9ubHlcIj5cbiAgICA8dGh5LWljb24tbmF2PlxuICAgICAgICA8dGhlLXRvb2xiYXItZHJvcGRvd24gW21lbnVzXT1cIm1lbnVzXCIgW2l0ZW1dPVwiYWN0aXZlc1wiIFtpdGVtTW91c2Vkb3duSGFuZGxlXT1cIm9uQ2hhbmdlTGFuZ3VsYWdlXCI+PC90aGUtdG9vbGJhci1kcm9wZG93bj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgICAgIHRoeUljb25OYXZMaW5rSWNvbj1cImNvcHlcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcD1cIuWkjeWItlwiXG4gICAgICAgICAgICB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25Db3B5KCRldmVudClcIlxuICAgICAgICA+PC9hPlxuICAgICAgICA8YVxuICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgICAgICB0aHlJY29uTmF2TGlua1xuICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtJY29uPVwidHJhc2hcIlxuICAgICAgICAgICAgdGh5VG9vbHRpcD1cIuWIoOmZpFwiXG4gICAgICAgICAgICBjbGFzcz1cInJlbW92ZS1saW5rXCJcbiAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkRlbGV0ZSgkZXZlbnQpXCJcbiAgICAgICAgPjwvYT5cbiAgICA8L3RoeS1pY29uLW5hdj5cbjwvZGl2PlxuXG48c2xhdGUtY2hpbGRyZW4gW2NoaWxkcmVuXT1cImNoaWxkcmVuXCIgW2NvbnRleHRdPVwiY2hpbGRyZW5Db250ZXh0XCIgW3ZpZXdDb250ZXh0XT1cInZpZXdDb250ZXh0XCI+PC9zbGF0ZS1jaGlsZHJlbj5cbjxuZy1jb2RlbWlycm9yXG4gICAgKm5nSWY9XCJzdGFydFJlbmRlckNvZGVtaXJyb3JcIlxuICAgICNjb2RlbWlycm9yXG4gICAgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIlxuICAgIGNsYXNzPVwibmctY29kZW1pcnJvci13cmFwcGVyXCJcbiAgICBbbmdTdHlsZV09XCJ7IG1heEhlaWdodDogbWF4SGVpZ2h0ID4gMCA/IG1heEhlaWdodCArICdweCcgOiAnYXV0bycgfVwiXG4gICAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gICAgW25nTW9kZWxdPVwiY29kZVwiXG4gICAgW2RlbGF5UmVmcmVzaFRpbWVdPVwiMzAwXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJjb2RlQ2hhbmdlKCRldmVudClcIlxuICAgIChmb2N1c0NoYW5nZSk9XCJmb2N1c0NoYW5nZSgkZXZlbnQpXCJcbiAgICBbYXV0b01heEhlaWdodF09XCJtYXhIZWlnaHRcIlxuPjwvbmctY29kZW1pcnJvcj5cbiJdfQ==
@@ -4,9 +4,15 @@ import { ElementKinds } from '../../constants/node-types';
4
4
  import * as TheTransforms from '../../transforms';
5
5
  import { DEFAULT_LANGUAGE } from '../../constants/code';
6
6
  export const CodeEditor = {
7
- setCodeAttribute(editor, element, value) {
7
+ setLanguage(editor, language, element) {
8
8
  const at = AngularEditor.findPath(editor, element);
9
- Transforms.setNodes(editor, value, {
9
+ Transforms.setNodes(editor, { language }, {
10
+ at
11
+ });
12
+ },
13
+ setCodeContent(editor, content, element) {
14
+ const at = AngularEditor.findPath(editor, element);
15
+ Transforms.setNodes(editor, { content }, {
10
16
  at
11
17
  });
12
18
  },
@@ -56,4 +62,4 @@ export const CodeEditor = {
56
62
  }
57
63
  }
58
64
  };
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb2RlL2NvZGUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxPQUFvQixFQUFFLEtBQWlDO1FBQ3BGLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUMvQixFQUFFO1NBQ0wsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFjO1FBQ3JCLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRSxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDL0MsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJO1lBQ3JCLEVBQUUsRUFBRSxRQUFRLENBQUMsSUFBSTtZQUNqQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUNuQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hDLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkQsTUFBTSxjQUFjLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVGLElBQUksZUFBZSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRTtZQUNoRixJQUFJLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuRSxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQyxPQUFPLE9BQU8sR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1lBQ3BGLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNQLE1BQU0sV0FBVyxHQUFnQjtnQkFDN0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO2dCQUN2QixPQUFPO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLO2dCQUNoQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUMzQixDQUFDO1lBQ0YsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ25DLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3pFLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDL0MsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUU7b0JBQzNCLEVBQUUsRUFBRTt3QkFDQSxNQUFNLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqRCxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO3FCQUN0QztpQkFDSixDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztTQUNOO2FBQU07WUFDSCxNQUFNLFdBQVcsR0FBZ0I7Z0JBQzdCLElBQUksRUFBRSxZQUFZLENBQUMsSUFBSTtnQkFDdkIsT0FBTyxFQUFFLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLGdCQUFnQixDQUFDLEtBQUs7Z0JBQ2hDLFFBQVEsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQzNCLENBQUM7WUFDRixhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNwRDtJQUNMLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBOb2RlLCBSYW5nZSwgUGF0aCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IENvZGVFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IEVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBERUZBVUxUX0xBTkdVQUdFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvZGUnO1xuXG5leHBvcnQgY29uc3QgQ29kZUVkaXRvciA9IHtcbiAgICBzZXRDb2RlQXR0cmlidXRlKGVkaXRvcjogRWRpdG9yLCBlbGVtZW50OiBDb2RlRWxlbWVudCwgdmFsdWU6IHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KSB7XG4gICAgICAgIGNvbnN0IGF0ID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKGVkaXRvciwgdmFsdWUsIHtcbiAgICAgICAgICAgIGF0XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgaW5zZXJ0Q29kZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBpc1NlbGVjdENvbnRlbnQgPSBFZGl0b3Iuc3RyaW5nKGVkaXRvciwgZWRpdG9yLnNlbGVjdGlvbik7XG4gICAgICAgIGNvbnN0IFtzdGFydFBvaW50LCBlbmRQb2ludF0gPSBSYW5nZS5lZGdlcyhlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3QgZWxlbWVudEVudHJ5SXRlcmF0b3IgPSBOb2RlLmVsZW1lbnRzKGVkaXRvciwge1xuICAgICAgICAgICAgZnJvbTogc3RhcnRQb2ludC5wYXRoLFxuICAgICAgICAgICAgdG86IGVuZFBvaW50LnBhdGgsXG4gICAgICAgICAgICBwYXNzOiAoW25vZGUsIHBhdGhdKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgbm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlbGVtZW50RW50cnlzID0gQXJyYXkuZnJvbShlbGVtZW50RW50cnlJdGVyYXRvcik7XG4gICAgICAgIGNvbnN0IGlzQWxsUGFyYWdyYXBoID0gZWxlbWVudEVudHJ5cy5ldmVyeShpdGVtID0+IGl0ZW1bMF0udHlwZSA9PT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCk7XG4gICAgICAgIGlmIChpc1NlbGVjdENvbnRlbnQgJiYgZWRpdG9yLnNlbGVjdGlvbi5hbmNob3IucGF0aC5sZW5ndGggPT09IDIgJiYgaXNBbGxQYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgIGxldCBjb250ZW50ID0gZWxlbWVudEVudHJ5cy5yZWR1Y2UoKGNvbnRlbnQsIFtlbGVtZW50LCBwYXRoXSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gTm9kZS5zdHJpbmcoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQgKyAoZWxlbWVudEVudHJ5cy5sZW5ndGggLSAxID09PSBpbmRleCA/IGAke3RleHR9YCA6IGAke3RleHR9XFxuYCk7XG4gICAgICAgICAgICB9LCAnJyk7XG4gICAgICAgICAgICBjb25zdCBjb2RlRWxlbWVudDogQ29kZUVsZW1lbnQgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNvZGUsXG4gICAgICAgICAgICAgICAgY29udGVudCxcbiAgICAgICAgICAgICAgICBsYW5ndWFnZTogREVGQVVMVF9MQU5HVUFHRS52YWx1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW3sgdGV4dDogJycgfV1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RQYXRoID0gZWxlbWVudEVudHJ5c1tlbGVtZW50RW50cnlzLmxlbmd0aCAtIDFdWzFdO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoZWRpdG9yLCBjb2RlRWxlbWVudCwgeyBhdDogUGF0aC5uZXh0KGxhc3RQYXRoKSB9KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIFBhdGgubmV4dChsYXN0UGF0aCkpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMucmVtb3ZlTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmNob3I6IEVkaXRvci5zdGFydChlZGl0b3IsIGVsZW1lbnRFbnRyeXNbMF1bMV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXM6IEVkaXRvci5lbmQoZWRpdG9yLCBsYXN0UGF0aClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjb2RlRWxlbWVudDogQ29kZUVsZW1lbnQgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNvZGUsXG4gICAgICAgICAgICAgICAgY29udGVudDogJycsXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2U6IERFRkFVTFRfTEFOR1VBR0UudmFsdWUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFt7IHRleHQ6ICcnIH1dXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5pbnNlcnRFbGVtZW50KGVkaXRvciwgY29kZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9jb2RlL2NvZGUuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3RCLFdBQVcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0IsRUFBRSxPQUFvQjtRQUM5RCxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsUUFBUSxDQUNmLE1BQU0sRUFDTixFQUFFLFFBQVEsRUFBRSxFQUNaO1lBQ0ksRUFBRTtTQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFDRCxjQUFjLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxPQUFvQjtRQUNoRSxNQUFNLEVBQUUsR0FBRyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsUUFBUSxDQUNmLE1BQU0sRUFDTixFQUFFLE9BQU8sRUFBRSxFQUNYO1lBQ0ksRUFBRTtTQUNMLENBQ0osQ0FBQztJQUNOLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBYztRQUNyQixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENB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QyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUMzQixDQUFDO1lBQ0YsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDcEQ7SUFDTCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTm9kZSwgUmFuZ2UsIFBhdGgsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBDb2RlRWxlbWVudCB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uLy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HVUFHRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb2RlJztcblxuZXhwb3J0IGNvbnN0IENvZGVFZGl0b3IgPSB7XG4gICAgc2V0TGFuZ3VhZ2UoZWRpdG9yOiBFZGl0b3IsIGxhbmd1YWdlOiBzdHJpbmcsIGVsZW1lbnQ6IENvZGVFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGF0ID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgeyBsYW5ndWFnZSB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGF0XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBzZXRDb2RlQ29udGVudChlZGl0b3I6IEVkaXRvciwgY29udGVudDogc3RyaW5nLCBlbGVtZW50OiBDb2RlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBhdCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIHsgY29udGVudCB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGF0XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBpbnNlcnRDb2RlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGlzU2VsZWN0Q29udGVudCA9IEVkaXRvci5zdHJpbmcoZWRpdG9yLCBlZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3QgW3N0YXJ0UG9pbnQsIGVuZFBvaW50XSA9IFJhbmdlLmVkZ2VzKGVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBlbGVtZW50RW50cnlJdGVyYXRvciA9IE5vZGUuZWxlbWVudHMoZWRpdG9yLCB7XG4gICAgICAgICAgICBmcm9tOiBzdGFydFBvaW50LnBhdGgsXG4gICAgICAgICAgICB0bzogZW5kUG9pbnQucGF0aCxcbiAgICAgICAgICAgIHBhc3M6IChbbm9kZSwgcGF0aF0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRWRpdG9yLmlzQmxvY2soZWRpdG9yLCBub2RlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRFbnRyeXMgPSBBcnJheS5mcm9tKGVsZW1lbnRFbnRyeUl0ZXJhdG9yKTtcbiAgICAgICAgY29uc3QgaXNBbGxQYXJhZ3JhcGggPSBlbGVtZW50RW50cnlzLmV2ZXJ5KGl0ZW0gPT4gaXRlbVswXS50eXBlID09PSBFbGVtZW50S2luZHMucGFyYWdyYXBoKTtcbiAgICAgICAgaWYgKGlzU2VsZWN0Q29udGVudCAmJiBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5wYXRoLmxlbmd0aCA9PT0gMiAmJiBpc0FsbFBhcmFncmFwaCkge1xuICAgICAgICAgICAgbGV0IGNvbnRlbnQgPSBlbGVtZW50RW50cnlzLnJlZHVjZSgoY29udGVudCwgW2VsZW1lbnQsIHBhdGhdLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSBOb2RlLnN0cmluZyhlbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudCArIChlbGVtZW50RW50cnlzLmxlbmd0aCAtIDEgPT09IGluZGV4ID8gYCR7dGV4dH1gIDogYCR7dGV4dH1cXG5gKTtcbiAgICAgICAgICAgIH0sICcnKTtcbiAgICAgICAgICAgIGNvbnN0IGNvZGVFbGVtZW50OiBDb2RlRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuY29kZSxcbiAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgIGxhbmd1YWdlOiBERUZBVUxUX0xBTkdVQUdFLnZhbHVlLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbeyB0ZXh0OiAnJyB9XVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIEVkaXRvci53aXRob3V0Tm9ybWFsaXppbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdFBhdGggPSBlbGVtZW50RW50cnlzW2VsZW1lbnRFbnRyeXMubGVuZ3RoIC0gMV1bMV07XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlcyhlZGl0b3IsIGNvZGVFbGVtZW50LCB7IGF0OiBQYXRoLm5leHQobGFzdFBhdGgpIH0pO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgUGF0aC5uZXh0KGxhc3RQYXRoKSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgYXQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvcjogRWRpdG9yLnN0YXJ0KGVkaXRvciwgZWxlbWVudEVudHJ5c1swXVsxXSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmb2N1czogRWRpdG9yLmVuZChlZGl0b3IsIGxhc3RQYXRoKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNvZGVFbGVtZW50OiBDb2RlRWxlbWVudCA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuY29kZSxcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJyxcbiAgICAgICAgICAgICAgICBsYW5ndWFnZTogREVGQVVMVF9MQU5HVUFHRS52YWx1ZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW3sgdGV4dDogJycgfV1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnQoZWRpdG9yLCBjb2RlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
@@ -185,7 +185,7 @@ export class TheImageComponent extends TheBaseElementComponent {
185
185
  }
186
186
  }
187
187
  TheImageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheImageComponent, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: THE_UPLOAD_SERVICE_TOKEN }, { token: i0.ChangeDetectorRef }, { token: i2.TheContextService }], target: i0.ɵɵFactoryTarget.Component });
188
- TheImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align || 'center'\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl\"\n class=\"image-content\"\n [class.pointer]=\"!selection\"\n [ngStyle]=\"{ width: imageEntry.width + 'px', height: imageEntry.height + 'px' }\"\n >\n <img #img class=\"main-image\" [src]=\"imageEntry.thumbUrl\" [alt]=\"imageEntry.name\" />\n <div *ngIf=\"selection\" class=\"image-profile\" [class.outline]=\"selection\">\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </div>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"></thy-icon>\n </div>\n </div>\n <div *ngIf=\"!uploading\" class=\"layer\" (mousedown)=\"preview($event)\" [class.readonly]=\"readonly\"></div>\n </div>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n</div>\n", components: [{ type: i3.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i4.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thyTips", "thyValue", "thySize", "thyMax"] }, { type: i5.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
188
+ TheImageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheImageComponent, selector: "the-image, [theImage]", viewQueries: [{ propertyName: "imageContent", first: true, predicate: ["imageContent"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<slate-children [children]=\"children\" [context]=\"childrenContext\" [viewContext]=\"viewContext\"></slate-children>\n<div class=\"image-container\" contenteditable=\"false\" [style.textAlign]=\"imageEntry.align || 'center'\">\n <div\n #imageContent\n *ngIf=\"imageEntry.thumbUrl\"\n class=\"image-content\"\n [class.pointer]=\"!selection\"\n [ngStyle]=\"{ width: imageEntry.width + 'px', height: imageEntry.height + 'px' }\"\n >\n <img #img class=\"main-image\" [src]=\"imageEntry.thumbUrl\" [alt]=\"imageEntry.name\" />\n <div *ngIf=\"selection\" class=\"image-profile\" [class.outline]=\"selection\">\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right top\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, 'xl')\" class=\"image-pointer right bottom\"></span>\n <span *ngIf=\"isCollapsed\" (mousedown)=\"startDrag($event, '-xl')\" class=\"image-pointer left bottom\"></span>\n </div>\n <div *ngIf=\"uploading\" class=\"uploading\">\n <div class=\"uploading-percentage\">\n <thy-progress thyType=\"primary\" [thyValue]=\"percentage\" thySize=\"sm\"></thy-progress>\n <thy-icon (click)=\"cancelUpload($event)\" thyIconName=\"close-circle-bold-fill\" thyIconLegging=\"true\"></thy-icon>\n </div>\n </div>\n <div *ngIf=\"!uploading\" class=\"layer\" (mousedown)=\"preview($event)\" [class.readonly]=\"readonly\"></div>\n </div>\n <div *ngIf=\"!imageEntry.thumbUrl\" class=\"image-loading\" contenteditable=\"false\">\n <thy-icon thyIconName=\"image\"></thy-icon>\n </div>\n</div>\n", components: [{ type: i3.SlateChildrenComponent, selector: "slate-children", inputs: ["children", "context", "viewContext"] }, { type: i4.ThyProgressComponent, selector: "thy-progress", inputs: ["thyType", "thySize", "thyValue", "thyMax", "thyTips"] }, { type: i5.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
189
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheImageComponent, decorators: [{
190
190
  type: Component,
191
191
  args: [{
@@ -45,7 +45,6 @@ import { PaintFormatOptions } from './paint-format/options';
45
45
  import * as TheTransforms from '../transforms';
46
46
  import { withQuickInsert } from './quick-insert/quick-insert.plugint';
47
47
  import { withSoftBreak } from './soft-break/soft-break.plugin';
48
- import { FontSizeOptions } from './font-size/options';
49
48
  const internalPlugins = [
50
49
  withTheHistory,
51
50
  withAutoInsertData(),
@@ -92,7 +91,6 @@ const internalToolbarItems = [
92
91
  ...MarkOptions,
93
92
  ...ColorOptions,
94
93
  ...HeadingOptions,
95
- ...FontSizeOptions,
96
94
  ...TodoItemOptions,
97
95
  ...ListOptions,
98
96
  ...ImageOptions,
@@ -119,4 +117,4 @@ export const withTheEditor = (plugins, editor) => {
119
117
  pluginList.reduce((prevEditor, nextEditor) => nextEditor(prevEditor), e);
120
118
  return e;
121
119
  };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFj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QVksRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBRXBELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0ICogYXMgVHlwZXMgZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yLCBUaGVQbHVnaW4sIFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEVMRU1FTlRfVU5JUVVFX0lELCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uL3V0aWxzL2lkLWNyZWF0b3InO1xuaW1wb3J0IHsgYXV0b0Zvcm1hdFJ1bGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzJztcbmltcG9ydCB7IHdpdGhUaGVIaXN0b3J5IH0gZnJvbSAnLi9jb21tb24vaGlzdG9yeS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aERlc2VyaWFsaXplTWQgfSBmcm9tICcuL2Rlc2VyaWFsaXplcnMvZGVzZXJpYWxpemUtbWQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBdXRvSW5zZXJ0RGF0YSB9IGZyb20gJy4vY29tbW9uL2F1dG8taW5zZXJ0LWRhdGEuJztcbmltcG9ydCB7IHdpdGhSZW1vdmVFbXB0eSB9IGZyb20gJy4vY29tbW9uL3JlbW92ZS1lbXB0eS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFJlc2V0VHlwZSB9IGZyb20gJy4vY29tbW9uL3Jlc2V0LXR5cGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbWFnZSB9IGZyb20gJy4vaW1hZ2UvaW1hZ2UucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbmRlbnQgfSBmcm9tICcuL2luZGVudC9pbmRlbnQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhMaXN0IH0gZnJvbSAnLi9saXN0L2xpc3QucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUb2RvSXRlbSB9IGZyb20gJy4vdG9kby1pdGVtL3RvZG8taXRlbS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEhyIH0gZnJvbSAnLi9oci9oci5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEFsaWduIH0gZnJvbSAnLi9hbGlnbi9hbGlnbi5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEhlYWRpbmcgfSBmcm9tICcuL2hlYWRpbmcvaGVhZGluZy5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aE1hcmsgfSBmcm9tICcuL21hcmsvbWFyay5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aE5vZGVJRCB9IGZyb20gJy4vbm9kZS1pZC9ub2RlLWlkLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQXV0b0Zvcm1hdCB9IGZyb20gJy4vYXV0b2Zvcm1hdC9hdXRvZm9ybWF0LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoVHJhbnNmb3JtcyB9IGZyb20gJy4vY29tbW9uL3RyYW5zZm9ybXMucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUcmFpbGluZ05vZGUgfSBmcm9tICcuL25vcm1hbGl6ZXJzL3RyYWlsaW5nLW5vZGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhCbG9ja0NhcmQgfSBmcm9tICcuL2NvbW1vbi9ibG9jay1jYXJkLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTW92ZVNlbGVjdGlvbiB9IGZyb20gJy4vY29tbW9uL21vdmUtc2VsZWN0aW9uLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoR2V0RnJhZ21lbnQgfSBmcm9tICcuL2NvbW1vbi9nZXQtZnJhZ21lbnQucGx1Z2luJztcbmltcG9ydCB7IFRvZG9JdGVtT3B0aW9ucyB9IGZyb20gJy4vdG9kby1pdGVtL29wdGlvbnMnO1xuaW1wb3J0IHsgTWFya09wdGlvbnMgfSBmcm9tICcuL21hcmsvb3B0aW9ucyc7XG5pbXBvcnQgeyBMaXN0T3B0aW9ucyB9IGZyb20gJy4vbGlzdC9vcHRpb25zJztcbmltcG9ydCB7IEltYWdlT3B0aW9ucyB9IGZyb20gJy4vaW1hZ2Uvb3B0aW9ucyc7XG5pbXBvcnQgeyBIck9wdGlvbnMgfSBmcm9tICcuL2hyL29wdGlvbnMnO1xuaW1wb3J0IHsgSGVhZGluZ09wdGlvbnMgfSBmcm9tICcuL2hlYWRpbmcvb3B0aW9ucyc7XG5pbXBvcnQgeyBCbG9ja3F1b3RlT3B0aW9ucyB9IGZyb20gJy4vYmxvY2txdW90ZS9vcHRpb25zJztcbmltcG9ydCB7IEFsaWduT3B0aW9ucyB9IGZyb20gJy4vYWxpZ24vb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoQmxvY2txdW90ZSB9IGZyb20gJy4vYmxvY2txdW90ZS9ibG9ja3F1b3RlLnBsdWdpbic7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBDb2xvck9wdGlvbnMgfSBmcm9tICcuL2NvbG9yL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aFJlbW92ZVZvaWQgfSBmcm9tICcuL2NvbW1vbi9yZW1vdmUtdm9pZC5wbHVnaW4nO1xuaW1wb3J0IHsgQ29kZU9wdGlvbnMgfSBmcm9tICcuL2NvZGUvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoQ29kZSB9IGZyb20gJy4vY29kZS9jb2RlLnBsdWdpbic7XG5pbXBvcnQgeyBMaW5rT3B0aW9ucyB9IGZyb20gJy4vbGluay9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhMaW5rIH0gZnJvbSAnLi9saW5rL2xpbmsucGx1Z2luJztcbmltcG9ydCB7IFRhYmxlT3B0aW9ucyB9IGZyb20gJy4vdGFibGUvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoVGFibGUgfSBmcm9tICcuL3RhYmxlL3RhYmxlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSW5zZXJ0UGFyYWdyYXBoTm9kZXMgfSBmcm9tICcuL25vcm1hbGl6ZXJzL2luc2VydC1wYXJhZ3JhcGgtbm9kZXMnO1xuaW1wb3J0IHsgd2l0aERlc2VyaWFsaXplSE1UTCB9IGZyb20gJy4vZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1odG1sLnBsdWdpbic7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWduT3B0aW9ucyB9IGZyb20gJy4vdmVydGljYWwtYWxpZ24vb3B0aW9ucyc7XG5pbXBvcnQgeyBQYWludEZvcm1hdE9wdGlvbnMgfSBmcm9tICcuL3BhaW50LWZvcm1hdC9vcHRpb25zJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyB3aXRoUXVpY2tJbnNlcnQgfSBmcm9tICcuL3F1aWNrLWluc2VydC9xdWljay1pbnNlcnQucGx1Z2ludCc7XG5pbXBvcnQgeyB3aXRoU29mdEJyZWFrIH0gZnJvbSAnLi9zb2Z0LWJyZWFrL3NvZnQtYnJlYWsucGx1Z2luJztcbmltcG9ydCB7IEZvbnRTaXplT3B0aW9ucyB9IGZyb20gJy4vZm9udC1zaXplL29wdGlvbnMnO1xuXG5jb25zdCBpbnRlcm5hbFBsdWdpbnM6ICgoZWRpdG9yOiBFZGl0b3IpID0+IEVkaXRvcilbXSA9IFtcbiAgICB3aXRoVGhlSGlzdG9yeSxcbiAgICB3aXRoQXV0b0luc2VydERhdGEoKSxcbiAgICB3aXRoUmVtb3ZlRW1wdHksXG4gICAgd2l0aFJlbW92ZVZvaWQsXG4gICAgd2l0aEJsb2NrQ2FyZCwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN044CBcmVzZXR0eXBl44CBdG9kb+OAgWRlc2VyaWFsaXplLWh0bWxcbiAgICB3aXRoUmVzZXRUeXBlLFxuICAgIHdpdGhJbmRlbnQoW0VsZW1lbnRLaW5kcy5jaGVja0l0ZW0sIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIC4uLkhFQURJTkdfVFlQRVNdKSwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN0XG4gICAgd2l0aExpc3QoeyB2YWxpZExpQ2hpbGRyZW5UeXBlczogW0VsZW1lbnRLaW5kcy5pbWFnZV0gfSksXG4gICAgd2l0aExpbmssXG4gICAgd2l0aFRhYmxlLFxuICAgIHdpdGhUb2RvSXRlbSxcbiAgICB3aXRoSHIsXG4gICAgd2l0aEFsaWduLFxuICAgIHdpdGhDb2RlLFxuICAgIHdpdGhIZWFkaW5nLFxuICAgIHdpdGhNYXJrKCksXG4gICAgd2l0aFNvZnRCcmVhayh7XG4gICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICB7IGhvdGtleTogJ3NoaWZ0K2VudGVyJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGhvdGtleTogJ2VudGVyJyxcbiAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICBhbGxvdzogW0VsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0pLFxuICAgIHdpdGhCbG9ja3F1b3RlLFxuICAgIHdpdGhOb2RlSUQoeyBpZEtleTogRUxFTUVOVF9VTklRVUVfSUQsIGlkQ3JlYXRvciB9KSxcbiAgICB3aXRoQXV0b0Zvcm1hdCh7IHJ1bGVzOiBhdXRvRm9ybWF0UnVsZXMgfSksXG4gICAgd2l0aFRyYW5zZm9ybXMoKSxcbiAgICB3aXRoVHJhaWxpbmdOb2RlKHsgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCwgbGV2ZWw6IDAgfSksXG4gICAgd2l0aE1vdmVTZWxlY3Rpb24sXG4gICAgd2l0aEluc2VydFBhcmFncmFwaE5vZGVzKCksXG4gICAgd2l0aEdldEZyYWdtZW50KCksXG4gICAgd2l0aEltYWdlLCAvLyAgbXVzdCBiZSBiZWZvcmUgd2l0aERlc2VyaWFsaXplSE1UTFxuICAgIHdpdGhEZXNlcmlhbGl6ZUhNVEwsXG4gICAgd2l0aERlc2VyaWFsaXplTWQoKSxcbiAgICB3aXRoUXVpY2tJbnNlcnRcbl07XG5cbmNvbnN0IGludGVybmFsVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdID0gW1xuICAgIC4uLkFsaWduT3B0aW9ucyxcbiAgICAuLi5NYXJrT3B0aW9ucyxcbiAgICAuLi5Db2xvck9wdGlvbnMsXG4gICAgLi4uSGVhZGluZ09wdGlvbnMsXG4gICAgLi4uRm9udFNpemVPcHRpb25zLFxuICAgIC4uLlRvZG9JdGVtT3B0aW9ucyxcbiAgICAuLi5MaXN0T3B0aW9ucyxcbiAgICAuLi5JbWFnZU9wdGlvbnMsXG4gICAgLi4uSHJPcHRpb25zLFxuICAgIC4uLkJsb2NrcXVvdGVPcHRpb25zLFxuICAgIC4uLkNvZGVPcHRpb25zLFxuICAgIC4uLkxpbmtPcHRpb25zLFxuICAgIC4uLlRhYmxlT3B0aW9ucyxcbiAgICAuLi5WZXJ0aWNhbEFsaWduT3B0aW9ucyxcbiAgICAuLi5QYWludEZvcm1hdE9wdGlvbnNcbl07XG5cbmV4cG9ydCBjb25zdCB0b29sYmFyQ29tcG9zZSA9ICh0b29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXSkgPT4ge1xuICAgIHJldHVybiBbLi4uaW50ZXJuYWxUb29sYmFySXRlbXMsIC4uLnRvb2xiYXJJdGVtc107XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aFRoZUVkaXRvciA9IDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciAmIEhpc3RvcnlFZGl0b3I+KHBsdWdpbnM6IFRoZVBsdWdpbltdLCBlZGl0b3I6IFQpID0+IHtcbiAgICBjb25zdCBlID0gZWRpdG9yIGFzIFQgJiBUaGVFZGl0b3I7XG5cbiAgICBlLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCk6IFZpZXdUeXBlID0+IG51bGw7XG4gICAgZS5yZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUuaW5zZXJ0RWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnROZXh0KGUsIGVsZW1lbnQpO1xuICAgIGUuaXNDb250YWluZXIgPSAodmFsdWU6IEVsZW1lbnQpID0+IGZhbHNlO1xuICAgIGUuZXh0cmFFbGVtZW50T3B0aW9ucyA9IFtdO1xuICAgIGUuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBsdWdpbkxpc3QgPSBbLi4uaW50ZXJuYWxQbHVnaW5zLCAuLi5wbHVnaW5zXTtcblxuICAgIHBsdWdpbkxpc3QucmVkdWNlKChwcmV2RWRpdG9yLCBuZXh0RWRpdG9yKSA9PiBuZXh0RWRpdG9yKHByZXZFZGl0b3IpLCBlKTtcblxuICAgIHJldHVybiBlO1xufTtcbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFj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RUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQzlDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUMxQyxDQUFDLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0lBQzNCLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRW5CLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUVwRCxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXpFLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBFbGVtZW50LCBUZXh0IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgVmlld1R5cGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCAqIGFzIFR5cGVzIGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciwgVGhlUGx1Z2luLCBUb29sYmFySXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBFTEVNRU5UX1VOSVFVRV9JRCwgSEVBRElOR19UWVBFUyB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpZENyZWF0b3IgfSBmcm9tICcuLi91dGlscy9pZC1jcmVhdG9yJztcbmltcG9ydCB7IGF1dG9Gb3JtYXRSdWxlcyB9IGZyb20gJy4uL2NvbnN0YW50cy9hdXRvLWZvcm1hdC1ydWxlcyc7XG5pbXBvcnQgeyB3aXRoVGhlSGlzdG9yeSB9IGZyb20gJy4vY29tbW9uL2hpc3RvcnkucGx1Z2luJztcbmltcG9ydCB7IHdpdGhEZXNlcmlhbGl6ZU1kIH0gZnJvbSAnLi9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLW1kLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQXV0b0luc2VydERhdGEgfSBmcm9tICcuL2NvbW1vbi9hdXRvLWluc2VydC1kYXRhLic7XG5pbXBvcnQgeyB3aXRoUmVtb3ZlRW1wdHkgfSBmcm9tICcuL2NvbW1vbi9yZW1vdmUtZW1wdHkucGx1Z2luJztcbmltcG9ydCB7IHdpdGhSZXNldFR5cGUgfSBmcm9tICcuL2NvbW1vbi9yZXNldC10eXBlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSW1hZ2UgfSBmcm9tICcuL2ltYWdlL2ltYWdlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSW5kZW50IH0gZnJvbSAnLi9pbmRlbnQvaW5kZW50LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTGlzdCB9IGZyb20gJy4vbGlzdC9saXN0LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoVG9kb0l0ZW0gfSBmcm9tICcuL3RvZG8taXRlbS90b2RvLWl0ZW0ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhIciB9IGZyb20gJy4vaHIvaHIucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBbGlnbiB9IGZyb20gJy4vYWxpZ24vYWxpZ24ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhIZWFkaW5nIH0gZnJvbSAnLi9oZWFkaW5nL2hlYWRpbmcucGx1Z2luJztcbmltcG9ydCB7IHdpdGhNYXJrIH0gZnJvbSAnLi9tYXJrL21hcmsucGx1Z2luJztcbmltcG9ydCB7IHdpdGhOb2RlSUQgfSBmcm9tICcuL25vZGUtaWQvbm9kZS1pZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEF1dG9Gb3JtYXQgfSBmcm9tICcuL2F1dG9mb3JtYXQvYXV0b2Zvcm1hdC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRyYW5zZm9ybXMgfSBmcm9tICcuL2NvbW1vbi90cmFuc2Zvcm1zLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoVHJhaWxpbmdOb2RlIH0gZnJvbSAnLi9ub3JtYWxpemVycy90cmFpbGluZy1ub2RlLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQmxvY2tDYXJkIH0gZnJvbSAnLi9jb21tb24vYmxvY2stY2FyZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aE1vdmVTZWxlY3Rpb24gfSBmcm9tICcuL2NvbW1vbi9tb3ZlLXNlbGVjdGlvbi5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEdldEZyYWdtZW50IH0gZnJvbSAnLi9jb21tb24vZ2V0LWZyYWdtZW50LnBsdWdpbic7XG5pbXBvcnQgeyBUb2RvSXRlbU9wdGlvbnMgfSBmcm9tICcuL3RvZG8taXRlbS9vcHRpb25zJztcbmltcG9ydCB7IE1hcmtPcHRpb25zIH0gZnJvbSAnLi9tYXJrL29wdGlvbnMnO1xuaW1wb3J0IHsgTGlzdE9wdGlvbnMgfSBmcm9tICcuL2xpc3Qvb3B0aW9ucyc7XG5pbXBvcnQgeyBJbWFnZU9wdGlvbnMgfSBmcm9tICcuL2ltYWdlL29wdGlvbnMnO1xuaW1wb3J0IHsgSHJPcHRpb25zIH0gZnJvbSAnLi9oci9vcHRpb25zJztcbmltcG9ydCB7IEhlYWRpbmdPcHRpb25zIH0gZnJvbSAnLi9oZWFkaW5nL29wdGlvbnMnO1xuaW1wb3J0IHsgQmxvY2txdW90ZU9wdGlvbnMgfSBmcm9tICcuL2Jsb2NrcXVvdGUvb3B0aW9ucyc7XG5pbXBvcnQgeyBBbGlnbk9wdGlvbnMgfSBmcm9tICcuL2FsaWduL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aEJsb2NrcXVvdGUgfSBmcm9tICcuL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5wbHVnaW4nO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQ29sb3JPcHRpb25zIH0gZnJvbSAnLi9jb2xvci9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhSZW1vdmVWb2lkIH0gZnJvbSAnLi9jb21tb24vcmVtb3ZlLXZvaWQucGx1Z2luJztcbmltcG9ydCB7IENvZGVPcHRpb25zIH0gZnJvbSAnLi9jb2RlL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aENvZGUgfSBmcm9tICcuL2NvZGUvY29kZS5wbHVnaW4nO1xuaW1wb3J0IHsgTGlua09wdGlvbnMgfSBmcm9tICcuL2xpbmsvb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoTGluayB9IGZyb20gJy4vbGluay9saW5rLnBsdWdpbic7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuL3RhYmxlL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aFRhYmxlIH0gZnJvbSAnLi90YWJsZS90YWJsZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEluc2VydFBhcmFncmFwaE5vZGVzIH0gZnJvbSAnLi9ub3JtYWxpemVycy9pbnNlcnQtcGFyYWdyYXBoLW5vZGVzJztcbmltcG9ydCB7IHdpdGhEZXNlcmlhbGl6ZUhNVEwgfSBmcm9tICcuL2Rlc2VyaWFsaXplcnMvZGVzZXJpYWxpemUtaHRtbC5wbHVnaW4nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbk9wdGlvbnMgfSBmcm9tICcuL3ZlcnRpY2FsLWFsaWduL29wdGlvbnMnO1xuaW1wb3J0IHsgUGFpbnRGb3JtYXRPcHRpb25zIH0gZnJvbSAnLi9wYWludC1mb3JtYXQvb3B0aW9ucyc7XG5pbXBvcnQgKiBhcyBUaGVUcmFuc2Zvcm1zIGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgd2l0aFF1aWNrSW5zZXJ0IH0gZnJvbSAnLi9xdWljay1pbnNlcnQvcXVpY2staW5zZXJ0LnBsdWdpbnQnO1xuaW1wb3J0IHsgd2l0aFNvZnRCcmVhayB9IGZyb20gJy4vc29mdC1icmVhay9zb2Z0LWJyZWFrLnBsdWdpbic7XG5cbmNvbnN0IGludGVybmFsUGx1Z2luczogKChlZGl0b3I6IEVkaXRvcikgPT4gRWRpdG9yKVtdID0gW1xuICAgIHdpdGhUaGVIaXN0b3J5LFxuICAgIHdpdGhBdXRvSW5zZXJ0RGF0YSgpLFxuICAgIHdpdGhSZW1vdmVFbXB0eSxcbiAgICB3aXRoUmVtb3ZlVm9pZCxcbiAgICB3aXRoQmxvY2tDYXJkLCAvLyBzaG91bGQgaW4gdGhlIGZyb250IG9mIGxpc3TjgIFyZXNldHR5cGXjgIF0b2Rv44CBZGVzZXJpYWxpemUtaHRtbFxuICAgIHdpdGhSZXNldFR5cGUsXG4gICAgd2l0aEluZGVudChbRWxlbWVudEtpbmRzLmNoZWNrSXRlbSwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCwgRWxlbWVudEtpbmRzLnBhcmFncmFwaCwgLi4uSEVBRElOR19UWVBFU10pLCAvLyBzaG91bGQgaW4gdGhlIGZyb250IG9mIGxpc3RcbiAgICB3aXRoTGlzdCh7IHZhbGlkTGlDaGlsZHJlblR5cGVzOiBbRWxlbWVudEtpbmRzLmltYWdlXSB9KSxcbiAgICB3aXRoTGluayxcbiAgICB3aXRoVGFibGUsXG4gICAgd2l0aFRvZG9JdGVtLFxuICAgIHdpdGhIcixcbiAgICB3aXRoQWxpZ24sXG4gICAgd2l0aENvZGUsXG4gICAgd2l0aEhlYWRpbmcsXG4gICAgd2l0aE1hcmsoKSxcbiAgICB3aXRoU29mdEJyZWFrKHtcbiAgICAgICAgcnVsZXM6IFtcbiAgICAgICAgICAgIHsgaG90a2V5OiAnc2hpZnQrZW50ZXInIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaG90a2V5OiAnZW50ZXInLFxuICAgICAgICAgICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgIGFsbG93OiBbRWxlbWVudEtpbmRzLmJsb2NrcXVvdGVdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfSksXG4gICAgd2l0aEJsb2NrcXVvdGUsXG4gICAgd2l0aE5vZGVJRCh7IGlkS2V5OiBFTEVNRU5UX1VOSVFVRV9JRCwgaWRDcmVhdG9yIH0pLFxuICAgIHdpdGhBdXRvRm9ybWF0KHsgcnVsZXM6IGF1dG9Gb3JtYXRSdWxlcyB9KSxcbiAgICB3aXRoVHJhbnNmb3JtcygpLFxuICAgIHdpdGhUcmFpbGluZ05vZGUoeyB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoLCBsZXZlbDogMCB9KSxcbiAgICB3aXRoTW92ZVNlbGVjdGlvbixcbiAgICB3aXRoSW5zZXJ0UGFyYWdyYXBoTm9kZXMoKSxcbiAgICB3aXRoR2V0RnJhZ21lbnQoKSxcbiAgICB3aXRoSW1hZ2UsIC8vICBtdXN0IGJlIGJlZm9yZSB3aXRoRGVzZXJpYWxpemVITVRMXG4gICAgd2l0aERlc2VyaWFsaXplSE1UTCxcbiAgICB3aXRoRGVzZXJpYWxpemVNZCgpLFxuICAgIHdpdGhRdWlja0luc2VydFxuXTtcblxuY29uc3QgaW50ZXJuYWxUb29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXG4gICAgLi4uQWxpZ25PcHRpb25zLFxuICAgIC4uLk1hcmtPcHRpb25zLFxuICAgIC4uLkNvbG9yT3B0aW9ucyxcbiAgICAuLi5IZWFkaW5nT3B0aW9ucyxcbiAgICAuLi5Ub2RvSXRlbU9wdGlvbnMsXG4gICAgLi4uTGlzdE9wdGlvbnMsXG4gICAgLi4uSW1hZ2VPcHRpb25zLFxuICAgIC4uLkhyT3B0aW9ucyxcbiAgICAuLi5CbG9ja3F1b3RlT3B0aW9ucyxcbiAgICAuLi5Db2RlT3B0aW9ucyxcbiAgICAuLi5MaW5rT3B0aW9ucyxcbiAgICAuLi5UYWJsZU9wdGlvbnMsXG4gICAgLi4uVmVydGljYWxBbGlnbk9wdGlvbnMsXG4gICAgLi4uUGFpbnRGb3JtYXRPcHRpb25zXG5dO1xuXG5leHBvcnQgY29uc3QgdG9vbGJhckNvbXBvc2UgPSAodG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdID0gW10pID0+IHtcbiAgICByZXR1cm4gWy4uLmludGVybmFsVG9vbGJhckl0ZW1zLCAuLi50b29sYmFySXRlbXNdO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhUaGVFZGl0b3IgPSA8VCBleHRlbmRzIEFuZ3VsYXJFZGl0b3IgJiBIaXN0b3J5RWRpdG9yPihwbHVnaW5zOiBUaGVQbHVnaW5bXSwgZWRpdG9yOiBUKSA9PiB7XG4gICAgY29uc3QgZSA9IGVkaXRvciBhcyBUICYgVGhlRWRpdG9yO1xuXG4gICAgZS5yZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUucmVuZGVyTGVhZiA9ICh0ZXh0OiBUZXh0KTogVmlld1R5cGUgPT4gbnVsbDtcbiAgICBlLmluc2VydEVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCkgPT4gVGhlVHJhbnNmb3Jtcy5pbnNlcnRFbGVtZW50TmV4dChlLCBlbGVtZW50KTtcbiAgICBlLmlzQ29udGFpbmVyID0gKHZhbHVlOiBFbGVtZW50KSA9PiBmYWxzZTtcbiAgICBlLmV4dHJhRWxlbWVudE9wdGlvbnMgPSBbXTtcbiAgICBlLmRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBwbHVnaW5MaXN0ID0gWy4uLmludGVybmFsUGx1Z2lucywgLi4ucGx1Z2luc107XG5cbiAgICBwbHVnaW5MaXN0LnJlZHVjZSgocHJldkVkaXRvciwgbmV4dEVkaXRvcikgPT4gbmV4dEVkaXRvcihwcmV2RWRpdG9yKSwgZSk7XG5cbiAgICByZXR1cm4gZTtcbn07XG4iXX0=
@@ -81,7 +81,7 @@ export class TheLinkEditComponent {
81
81
  }
82
82
  }
83
83
  TheLinkEditComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheLinkEditComponent, deps: [{ token: i1.ThyPopoverRef }], target: i0.ɵɵFactoryTarget.Component });
84
- TheLinkEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheLinkEditComponent, selector: "the-link-edit", inputs: { tag: "tag", node: "node", link: "link", text: "text", originSelection: "originSelection" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class": "this.className" } }, ngImport: i0, template: "<form\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig\"\n name=\"linkForm\"\n>\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u6587\u672C\"\n required\n name=\"text\"\n [(ngModel)]=\"text\"\n thyAutofocus\n type=\"text\"\n />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input\n name=\"link\"\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u94FE\u63A5\"\n required\n type=\"text\"\n #linkControl=\"ngModel\"\n [(ngModel)]=\"link\"\n />\n </thy-form-group>\n <thy-form-group-footer>\n <div class=\"btn-pair\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"sm\"\n (click)=\"closePopover()\"\n >\u53D6\u6D88</button>\n <button\n thyButton=\"primary-square\"\n thySize=\"sm\"\n (thyFormSubmit)=\"applyLink(linkForm)\"\n >\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n", components: [{ type: i2.ThyFormGroupComponent, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { type: i2.ThyFormGroupFooterComponent, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { type: i3.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { type: i5.ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutoSelect", "thyAutofocus"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.ThyInputDirective, selector: "[thyInput]", inputs: ["thySize", "thyAutocomplete"] }, { type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }] });
84
+ TheLinkEditComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: TheLinkEditComponent, selector: "the-link-edit", inputs: { tag: "tag", node: "node", link: "link", text: "text", originSelection: "originSelection" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class": "this.className" } }, ngImport: i0, template: "<form\n thyForm\n #linkForm=\"thyForm\"\n [thyFormValidatorConfig]=\"validatorConfig\"\n name=\"linkForm\"\n>\n <thy-form-group thyLabelText=\"\u6587\u672C\">\n <input\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u6587\u672C\"\n required\n name=\"text\"\n [(ngModel)]=\"text\"\n thyAutofocus\n type=\"text\"\n />\n </thy-form-group>\n <thy-form-group thyLabelText=\"\u94FE\u63A5\">\n <input\n name=\"link\"\n thyInput\n placeholder=\"\u8BF7\u8F93\u5165\u94FE\u63A5\"\n required\n type=\"text\"\n #linkControl=\"ngModel\"\n [(ngModel)]=\"link\"\n />\n </thy-form-group>\n <thy-form-group-footer>\n <div class=\"btn-pair\">\n <button\n thyButton=\"link-secondary\"\n thySize=\"sm\"\n (click)=\"closePopover()\"\n >\u53D6\u6D88</button>\n <button\n thyButton=\"primary-square\"\n thySize=\"sm\"\n (thyFormSubmit)=\"applyLink(linkForm)\"\n >\u5E94\u7528</button>\n </div>\n </thy-form-group-footer>\n</form>\n", components: [{ type: i2.ThyFormGroupComponent, selector: "thy-form-group", inputs: ["thyLabelText", "thyLabelTextTranslateKey", "thyLabelRequired", "thyLabelPaddingTopClear", "thyFeedbackIcon", "thyTipsMode", "thyTips", "thyTipsTranslateKey", "thyRowFill"] }, { type: i2.ThyFormGroupFooterComponent, selector: "thy-form-group-footer", inputs: ["thyAlign"] }, { type: i3.ThyButtonComponent, selector: "thy-button,[thy-button],[thyButton]", inputs: ["thyButton", "thyType", "thyLoading", "thyLoadingText", "thySize", "thyIcon", "thySquare", "thyBlock"] }], directives: [{ type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.ThyFormDirective, selector: "[thyForm],[thy-form]", inputs: ["thyLayout", "thyEnterKeyMode", "thyFormValidatorConfig"], exportAs: ["thyForm"] }, { type: i5.ThyAutofocusDirective, selector: "input[thyAutofocus],textarea[thyAutofocus]", inputs: ["thyAutoSelect", "thyAutofocus"] }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6.ThyInputDirective, selector: "[thyInput]", inputs: ["thySize", "thyAutocomplete"] }, { type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.ThyFormSubmitDirective, selector: "[thyFormSubmit],[thy-form-submit]", outputs: ["thyFormSubmit"] }] });
85
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: TheLinkEditComponent, decorators: [{
86
86
  type: Component,
87
87
  args: [{
@@ -3,7 +3,7 @@ import { createTable } from '../utils';
3
3
  /**
4
4
  * Insert a new table
5
5
  */
6
- export function insertTable(opts, editor, columns = 3, rows = 3, getCellContent) {
6
+ export function insertTable(opts, editor, rows = 3, columns = 3, getCellContent) {
7
7
  const { selection } = editor;
8
8
  if (!(selection === null || selection === void 0 ? void 0 : selection.anchor)) {
9
9
  return;
@@ -12,4 +12,4 @@ export function insertTable(opts, editor, columns = 3, rows = 3, getCellContent)
12
12
  const table = createTable(opts, columns, rows, getCellContent);
13
13
  TheTransforms.insertElement(editor, table);
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdHJhbnNmb3Jtcy9pbnNlcnQtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGFBQWEsTUFBTSxxQkFBcUIsQ0FBQztBQUlyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsSUFBa0IsRUFDbEIsTUFBYyxFQUNkLFVBQWtCLENBQUMsRUFDbkIsT0FBZSxDQUFDLEVBQ2hCLGNBQXdEO0lBRXhELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDN0IsSUFBSSxDQUFDLENBQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLE1BQU0sQ0FBQSxFQUFFO1FBQ3BCLE9BQU87S0FDVjtJQUNELHdCQUF3QjtJQUN4QixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0QsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBFZGl0b3IsIE5vZGUsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZSB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBJbnNlcnQgYSBuZXcgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFRhYmxlKFxuICAgIG9wdHM6IFRhYmxlT3B0aW9ucyxcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBjb2x1bW5zOiBudW1iZXIgPSAzLFxuICAgIHJvd3M6IG51bWJlciA9IDMsXG4gICAgZ2V0Q2VsbENvbnRlbnQ/OiAoY29sdW1uOiBudW1iZXIsIHJvdzogbnVtYmVyKSA9PiBOb2RlW11cbikge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgaWYgKCFzZWxlY3Rpb24/LmFuY2hvcikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSB0aGUgdGFibGUgbm9kZVxuICAgIGNvbnN0IHRhYmxlID0gY3JlYXRlVGFibGUob3B0cywgY29sdW1ucywgcm93cywgZ2V0Q2VsbENvbnRlbnQpO1xuICAgIFRoZVRyYW5zZm9ybXMuaW5zZXJ0RWxlbWVudChlZGl0b3IsIHRhYmxlKTtcbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zZXJ0LXRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvdGFibGUvdHJhbnNmb3Jtcy9pbnNlcnQtdGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLGFBQWEsTUFBTSxxQkFBcUIsQ0FBQztBQUlyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXZDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FDdkIsSUFBa0IsRUFDbEIsTUFBYyxFQUNkLE9BQWUsQ0FBQyxFQUNoQixVQUFrQixDQUFDLEVBQ25CLGNBQXdEO0lBRXhELE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDN0IsSUFBSSxDQUFDLENBQUEsU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLE1BQU0sQ0FBQSxFQUFFO1FBQ3BCLE9BQU87S0FDVjtJQUNELHdCQUF3QjtJQUN4QixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDL0QsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBFZGl0b3IsIE5vZGUsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBUYWJsZU9wdGlvbnMgfSBmcm9tICcuLi90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVUYWJsZSB9IGZyb20gJy4uL3V0aWxzJztcblxuLyoqXG4gKiBJbnNlcnQgYSBuZXcgdGFibGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydFRhYmxlKFxuICAgIG9wdHM6IFRhYmxlT3B0aW9ucyxcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICByb3dzOiBudW1iZXIgPSAzLFxuICAgIGNvbHVtbnM6IG51bWJlciA9IDMsXG4gICAgZ2V0Q2VsbENvbnRlbnQ/OiAoY29sdW1uOiBudW1iZXIsIHJvdzogbnVtYmVyKSA9PiBOb2RlW11cbikge1xuICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgaWYgKCFzZWxlY3Rpb24/LmFuY2hvcikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSB0aGUgdGFibGUgbm9kZVxuICAgIGNvbnN0IHRhYmxlID0gY3JlYXRlVGFibGUob3B0cywgY29sdW1ucywgcm93cywgZ2V0Q2VsbENvbnRlbnQpO1xuICAgIFRoZVRyYW5zZm9ybXMuaW5zZXJ0RWxlbWVudChlZGl0b3IsIHRhYmxlKTtcbn1cbiJdfQ==