@worktile/theia 2.4.2 → 2.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/worktile-theia.umd.js +231 -143
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/editor.module.d.ts +2 -1
- package/esm2015/editor.component.js +4 -2
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/plugins/indent/indent.editor.js +11 -13
- package/esm2015/plugins/indent/indent.plugin.js +15 -2
- package/esm2015/plugins/indent/on-keydown-indent.js +3 -5
- package/esm2015/plugins/index.js +1 -1
- package/esm2015/plugins/quick-insert/components/quick-insert.component.js +6 -2
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +14 -15
- package/esm2015/plugins/quick-insert/quick-insert.editor.js +18 -27
- package/esm2015/plugins/quick-insert/quick-insert.plugin.js +43 -15
- package/esm2015/plugins/table/components/insert-mark/insert-mark.component.js +4 -4
- package/esm2015/plugins/table/components/table.component.js +2 -2
- package/esm2015/plugins/table/components/td/td.component.js +5 -7
- package/esm2015/plugins/table/table.service.js +6 -6
- package/esm2015/plugins/todo-item/todo-item.component.js +15 -7
- package/esm2015/queries/get-directly-parent.js +12 -0
- package/esm2015/queries/index.js +4 -2
- package/esm2015/queries/is-types-in-parent.js +16 -0
- package/esm2015/transforms/insert-element-next.js +24 -3
- package/esm2015/utils/is-clean-empty-paragraph.js +4 -1
- package/fesm2015/worktile-theia.js +227 -140
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +11 -1
- package/package.json +1 -1
- package/plugins/indent/indent.plugin.d.ts +1 -0
- package/plugins/indent/on-keydown-indent.d.ts +1 -1
- package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +3 -4
- package/plugins/quick-insert/quick-insert.editor.d.ts +3 -4
- package/plugins/quick-insert/quick-insert.plugin.d.ts +2 -0
- package/plugins/table/components/table.component.scss +43 -42
- package/plugins/todo-item/todo-item.component.d.ts +3 -1
- package/queries/get-directly-parent.d.ts +2 -0
- package/queries/index.d.ts +3 -1
- package/queries/is-types-in-parent.d.ts +2 -0
- package/utils/is-clean-empty-paragraph.d.ts +2 -1
package/editor.module.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { TheToolbarItemComponent } from './components/toolbar-item/toolbar-item.
|
|
|
7
7
|
import { NavSplitLineComponent } from './components/nav-split-line/nav-split-line.component';
|
|
8
8
|
import { TheTemplateComponent } from './components/template/template.component';
|
|
9
9
|
import { TheBlockquoteComponent } from './plugins/blockquote/blockquote.component';
|
|
10
|
+
import { TheTodoItemComponent } from './plugins/todo-item/todo-item.component';
|
|
10
11
|
import { TheColorSelectComponent } from './components/color-select/color-select.component';
|
|
11
12
|
import { TheColorToolbarItemComponent } from './plugins/color/toolbar-item.component';
|
|
12
13
|
import { TheCodeComponent } from './plugins/code/code.component';
|
|
@@ -91,7 +92,7 @@ import * as i59 from "ngx-tethys/switch";
|
|
|
91
92
|
import * as i60 from "ng-codemirror";
|
|
92
93
|
import * as i61 from "./components/column-resize/column-resize.module";
|
|
93
94
|
export declare const COMPONENTS: (typeof TheColorSelectComponent | typeof TheTableOptionsComponent | typeof TheContextMenuComponent | typeof TheToolbarGroupComponent | typeof TheTextComponent | typeof TheDefaultElementComponent | typeof TheConversionHintComponent | typeof TheColorToolbarItemComponent | typeof TheTableSelectComponent | typeof TheTableToolbarItemComponent | typeof TheVerticalToolbarItemComponent | typeof TheQuickToolbarComponent | typeof TheIndentToolbarComponent | typeof TheToolbarItemComponent | typeof NavSplitLineComponent | typeof TheToolbarDropdownComponent | typeof TheToolbarComponent | typeof TheQuickInsertComponent | typeof TheInsertMarkComponent | typeof TheInlineToolbarComponent)[];
|
|
94
|
-
export declare const PLUGIN_COMPONENTS: (typeof TheTableToolbarComponent | typeof TheTableComponent | typeof TheImageComponent | typeof TheBlockquoteComponent | typeof TheCodeComponent | typeof TheLinkHoverComponent | typeof TheLinkEditComponent | typeof TheLinkComponent | typeof TheTdComponent | typeof TheTemplateComponent)[];
|
|
95
|
+
export declare const PLUGIN_COMPONENTS: (typeof TheTableToolbarComponent | typeof TheTableComponent | typeof TheImageComponent | typeof TheTodoItemComponent | typeof TheBlockquoteComponent | typeof TheCodeComponent | typeof TheLinkHoverComponent | typeof TheLinkEditComponent | typeof TheLinkComponent | typeof TheTdComponent | typeof TheTemplateComponent)[];
|
|
95
96
|
export declare class TheEditorModule {
|
|
96
97
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheEditorModule, never>;
|
|
97
98
|
static ɵmod: i0.ɵɵNgModuleDeclaration<TheEditorModule, [typeof i1.TheEditorComponent, typeof i2.ElementStylePipe, typeof i2.ElementClassPipe, typeof i3.TheToolbarComponent, typeof i4.TheToolbarDropdownComponent, typeof i5.TheToolbarGroupComponent, typeof i6.TheToolbarItemComponent, typeof i7.TheInlineToolbarComponent, typeof i8.NavSplitLineComponent, typeof i9.TheTextComponent, typeof i10.TheDefaultElementComponent, typeof i11.TheQuickInsertComponent, typeof i12.TheQuickToolbarComponent, typeof i13.TheColorSelectComponent, typeof i14.TheColorToolbarItemComponent, typeof i15.TheContextMenuComponent, typeof i16.TheInsertMarkComponent, typeof i17.TheTableSelectComponent, typeof i18.TheTableToolbarItemComponent, typeof i19.TheConversionHintComponent, typeof i20.TheVerticalToolbarItemComponent, typeof i21.TheIndentToolbarComponent, typeof i22.TheTableOptionsComponent, typeof i23.TheImageComponent, typeof i24.TheTemplateComponent, typeof i25.TheHrComponent, typeof i26.TheBlockquoteComponent, typeof i27.TheTodoItemComponent, typeof i28.TheListItemComponent, typeof i29.TheBulletedListComponent, typeof i30.TheNumberedListComponent, typeof i31.TheCodeComponent, typeof i32.TheLinkComponent, typeof i33.TheLinkEditComponent, typeof i34.TheLinkHoverComponent, typeof i35.TheTableToolbarComponent, typeof i36.TheTableComponent, typeof i37.TheTableRowComponent, typeof i38.TheTdComponent, typeof i39.TheInlineCodeComponent], [typeof i40.CommonModule, typeof i41.SlateModule, typeof i42.FormsModule, typeof i43.ThyIconModule, typeof i44.ThyAvatarModule, typeof i45.ThyNavModule, typeof i46.ThyFormModule, typeof i47.ThySharedModule, typeof i48.ThyListModule, typeof i49.ThyTooltipModule, typeof i50.ThyProgressModule, typeof i51.ThyAutocompleteModule, typeof i52.ThyActionMenuModule, typeof i53.ThyInputModule, typeof i54.ThySelectModule, typeof i55.ThyButtonModule, typeof i56.ThyNotifyModule, typeof i57.ThyAlertModule, typeof i58.ThyResizableModule, typeof i59.ThySwitchModule, typeof i60.CodemirrorModule, typeof i61.TheColumnSizeModule], [typeof i1.TheEditorComponent, typeof i3.TheToolbarComponent, typeof i4.TheToolbarDropdownComponent, typeof i6.TheToolbarItemComponent, typeof i10.TheDefaultElementComponent]>;
|
|
@@ -179,12 +179,14 @@ export class TheEditorComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
179
179
|
super.ngOnDestroy();
|
|
180
180
|
}
|
|
181
181
|
initialize() {
|
|
182
|
-
var _a, _b, _c;
|
|
182
|
+
var _a, _b, _c, _d;
|
|
183
183
|
this.editor = withTheEditor(this.thePlugins, withHistory(withAngular(createEditor(), CLIPBOARD_FORMAT_KEY)));
|
|
184
184
|
this.generateDecorate();
|
|
185
185
|
this.editor.disabled = (_a = this.theOptions) === null || _a === void 0 ? void 0 : _a.disabled;
|
|
186
186
|
this.editor.extraElementOptions = (_b = this.theOptions) === null || _b === void 0 ? void 0 : _b.extraElementOptions;
|
|
187
187
|
this.editor.extraAutoFormatRules = (_c = this.theOptions) === null || _c === void 0 ? void 0 : _c.extraAutoFormatRules;
|
|
188
|
+
this.editor.extraIndentOptions = (_d = this.theOptions) === null || _d === void 0 ? void 0 : _d.extraIndentOptions;
|
|
189
|
+
this.editor.options = this.theOptions;
|
|
188
190
|
setEditorUUID(this.editor, idCreator());
|
|
189
191
|
this.theContextService.initialize({
|
|
190
192
|
theOptions: this.theOptions,
|
|
@@ -442,4 +444,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
442
444
|
type: ViewChild,
|
|
443
445
|
args: ['quickInsert', { static: true }]
|
|
444
446
|
}] } });
|
|
445
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQWMsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBc0QsV0FBVyxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEtBQUssYUFBYSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7OztBQXFCdkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQTREL0QsWUFDWSxjQUFpQyxFQUNqQyxpQkFBb0MsRUFDcEMsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxHQUFzQjtRQUU5QixLQUFLLEVBQUUsQ0FBQztRQVBBLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEvRHpCLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBUTVCLGNBQVMsR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFFekUsa0JBQWEsR0FBa0UsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsRyxxQkFBZ0IsR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVd0RSxhQUFRLEdBQWdCLEVBQUUsQ0FBQztRQXdCM0IsbUJBQWMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsTUFBYyxFQUFFLGVBQXVCO1lBQ3pFLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLGtCQUFhLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFaEQscUJBQWdCLEdBQXFCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUU5QyxzQkFBaUIsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUErS2pELGtCQUFhLEdBQUcsQ0FBQyxPQUFnQixFQUFFLEVBQUU7WUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyRCxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDNUMsQ0FBQyxDQUFDO1FBRUYsZUFBVSxHQUFHLENBQUMsSUFBVSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlCLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO1lBQ3hCLEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxFQUFFO2dCQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDdEIsT0FBTyxnQkFBZ0IsQ0FBQztpQkFDM0I7YUFDSjtZQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixPQUFPO2FBQ1Y7UUFDTCxDQUFDLENBQUM7UUFjRixjQUFTLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixJQUFJLEVBQUU7b0JBQ0YsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2lCQUNqQjthQUNKLENBQUMsQ0FBQztZQUNILElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDO2dCQUNILEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsT0FBTzthQUNWO1lBQ0QsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDMUI7WUFDRCxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDO1FBK0RGLFlBQU8sR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtZQUM1QixhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLFdBQVcsRUFBRSxLQUFLO2FBQ3JCLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUVGLGVBQVUsR0FBRyxDQUFDLEtBQXFCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDcEIsSUFBSSxvQkFDRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDOUM7Z0JBQ0QsV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYscUJBQWdCLEdBQUcsQ0FDZixLQUlDLEVBQ0gsRUFBRTtZQUNBLElBQUksSUFBSSxHQUFHO2dCQUNQLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFXO2FBQ3JELENBQUM7WUFDRixJQUFJLEtBQUssQ0FBQyxTQUFTLEtBQUssaUJBQWlCLEVBQUU7Z0JBQ3ZDLElBQUksbUNBQ0csSUFBSSxHQUNKLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQWlCLENBQUMsQ0FDN0UsQ0FBQzthQUNMO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLElBQUk7Z0JBQ0osV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsY0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNwQixXQUFXLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRixlQUFVLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDcEIsV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBRUYsYUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNwQixXQUFXLEVBQUUsS0FBSzthQUNyQixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUM7UUFFRixjQUFTLEdBQUcsQ0FBQyxLQUFxQixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFMUMsMEJBQXFCLEdBQUcsQ0FBQyxLQUF1QixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFeEQsd0JBQW1CLEdBQUcsQ0FBQyxLQUF1QixFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFdEQsbUJBQWMsR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUUxQyxrQkFBYSxHQUFHLENBQUMsS0FBZ0IsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRXpDLFdBQU0sR0FBRyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDcEIsV0FBVyxFQUFFLEtBQUs7YUFDckIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO0lBL1ZGLENBQUM7SUEvQkQsSUFBSSx3QkFBd0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RGLENBQUM7SUFFRCxJQUFJLFNBQVM7O1FBQ1QsT0FBTyxDQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQyxHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7O1FBQ2pCLE9BQU8sTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxLQUFLLENBQUM7SUFDckMsQ0FBQztJQXVCRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCOztRQUM5QixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRW5DLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7UUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFBLE1BQUEsT0FBTyxDQUFDLFlBQVksMENBQUUsUUFBUSxPQUFLLE1BQUEsT0FBTyxDQUFDLGFBQWEsMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDL0UsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxTQUFTLEtBQUksQ0FBQyxDQUFBLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVksMENBQUUsUUFBUSxNQUFJLE1BQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVksMENBQUUsUUFBUSxDQUFBLENBQUMsRUFBRTtZQUNoRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxVQUFVOztRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFZLElBQUksQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixHQUFHLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsbUJBQW1CLENBQUM7UUFDdkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsR0FBRyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLG9CQUFvQixDQUFDO1FBQ3pFLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztZQUM5QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsYUFBYSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtZQUM1QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQzFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWix3REFBd0Q7WUFDeEQsOERBQThEO1lBQzlELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxHQUFHO2dCQUNkLFFBQVEsRUFBRSxLQUFLO2dCQUNmLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTthQUN6QixDQUFDO1NBQ0w7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsbUNBQ1IsSUFBSSxDQUFDLFVBQVUsS0FDbEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEdBQ3pCLENBQUM7U0FDTDtJQUNMLENBQUM7SUFFRCxjQUFjOztRQUNWLElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsUUFBUSxDQUFBLElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsUUFBUSxDQUFBLEVBQUU7WUFDMUQsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxTQUFTLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFRCxnQkFBZ0I7O1FBQ1osTUFBTSxPQUFPLEdBQUcsTUFBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsVUFBVSwwQ0FBRSxPQUFPLENBQUM7UUFDMUMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxZQUFZLENBQUMsQ0FBQztRQUMzRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQU0sRUFBRSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxLQUFLLENBQUMsQ0FBQztRQUNySCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQ3JELENBQUM7SUFFRCxpQkFBaUI7O1FBQ2IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25ELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdkUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDdkUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssR0FBRyxNQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLFVBQVUsMENBQUUsT0FBTywwQ0FBRSxLQUFLLENBQUM7WUFDdkUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUE0Qjs7UUFDbkMsTUFBTSxJQUFJLEdBQUcsZUFBZSxDQUFDLE1BQUEsSUFBSSxDQUFDLFVBQVUsMENBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELG1CQUFtQjtRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW1COztRQUMzQixNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxRQUFRLENBQUEsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxRQUFRLENBQUEsQ0FBQztRQUU1RSxNQUFBLElBQUksQ0FBQyx3QkFBd0IsMENBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV6RCxzQkFBc0I7UUFDdEIsSUFBSSxVQUFVLEVBQUU7WUFDWixNQUFBLElBQUksQ0FBQyxtQkFBbUIsMENBQUUsV0FBVyxFQUFFLENBQUM7U0FDM0M7UUFFRCxtQkFBbUI7UUFDbkIsTUFBTSxlQUFlLEdBQUcsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxlQUFlLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxTQUFTLENBQUM7UUFDN0MsSUFBSSxVQUFVLElBQUksQ0FBQyxlQUFlLElBQUksU0FBUyxDQUFDLEVBQUU7WUFDOUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUMvQztRQUVELElBQUksSUFBSSxDQUFDLFdBQVcsS0FBSyxLQUFLLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFFekIsY0FBYztRQUNkLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQW1COztRQUNoQyxJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxJQUFJLE1BQUssV0FBVyxDQUFDLElBQUksRUFBRTtZQUM1QyxJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQWdCLEVBQUUsRUFBRTs7Z0JBQy9CLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUU7b0JBQzNCLGNBQWM7b0JBQ2QsV0FBVyxHQUFHLGVBQWUsQ0FBQyxNQUFBLElBQUksQ0FBQyxVQUFVLDBDQUFFLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFXLENBQUM7b0JBQzFFLFNBQVMsSUFBSSxXQUFXLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztvQkFDN0MsT0FBTztpQkFDVjtnQkFDRCxTQUFTLElBQUksV0FBVyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDM0IsT0FBTzthQUNWO1lBQ0QsSUFBSSxTQUFTLENBQUMsV0FBVyxFQUFFO2dCQUN2QixPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUN4QztRQUNMLENBQUMsQ0FBQztJQUNOLENBQUM7SUF3QkQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLFNBQW9CLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7WUFFdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNsQixXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7YUFDakU7WUFFRCxPQUFPLFdBQVcsQ0FBQztRQUN2QixDQUFDLENBQUM7SUFDTixDQUFDO0lBdUJELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFFLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxlQUFlLEVBQUU7WUFDbEMsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0QsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUN4RCxJQUFJLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbkYsTUFBTSxpQkFBaUIsR0FBRyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRSxNQUFNLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO1lBQzFELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1lBQ2hFLElBQUksZUFBZSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksd0JBQXdCLEdBQWUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtnQkFDM0IsZUFBZSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSx3QkFBd0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7YUFDM0U7WUFDRCxJQUFJLHdCQUF3QixFQUFFO2dCQUMxQixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUMvRyxJQUFJLGNBQWMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3JDLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNuRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7b0JBQy9ELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUU7d0JBQ25DLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3QkFDdkIsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO3FCQUMzRztpQkFDSjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ3hCLGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM3RCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdDLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLElBQUksSUFBSSxFQUFFO2dCQUNOLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDdEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUMxRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLElBQUksYUFBYSxJQUFJLFdBQVcsRUFBRTtvQkFDOUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLEVBQUU7d0JBQzFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDMUMsTUFBTTtxQkFDVDtvQkFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDO2lCQUNmO2FBQ0o7U0FDSjtRQUNELElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDdEM7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsT0FBTztJQUNYLENBQUM7SUEyRUQsY0FBYyxDQUFDLElBQWtCO1FBQzdCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDckUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2QsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNoRTtRQUNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsT0FBTztZQUNILElBQUk7WUFDSixJQUFJO1NBQ1AsQ0FBQztJQUNOLENBQUM7O2dIQWpiUSxrQkFBa0I7b0dBQWxCLGtCQUFrQixvYUFmaEI7UUFDUCxpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQjtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztZQUNqRCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osc2FDM0RMLDJtRUE4REE7NEZER2Esa0JBQWtCO2tCQW5COUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNQLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFlBQVk7d0JBQ25CLDZCQUE2QixFQUFFLHNCQUFzQjtxQkFDeEQ7aUJBQ0o7cVBBRVksVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFHUCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyxlQUFlO2dCQUkxQixtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgTmdab25lLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtaXhpblVuc3Vic2NyaWJlLCBNaXhpbkJhc2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IGlzSG90a2V5IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBFZGl0b3IsIFRleHQsIFRyYW5zZm9ybXMsIGNyZWF0ZUVkaXRvciwgRWxlbWVudCwgRGVzY2VuZGFudCwgUmFuZ2UsIFBhdGgsIE5vZGVFbnRyeSwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IHdpdGhIaXN0b3J5IH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZUVycm9yLCB3aXRoQW5ndWxhciwgRE9NRWxlbWVudCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlUGx1Z2luLCBUaGVPcHRpb25zLCBEb21FdmVudERhdGFJbmZvLCBUaGVFZGl0b3IsIFRoZURhdGFNb2RlLCBUb29sYmFyRW50aXR5IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdpdGhUaGVFZGl0b3IsIHRvb2xiYXJDb21wb3NlIH0gZnJvbSAnLi9wbHVnaW5zL2luZGV4JztcbmltcG9ydCB7IFRoZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzaG9ydGN1dHMgfSBmcm9tICcuL3Nob3J0Y3V0cyc7XG5pbXBvcnQgeyBUaGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Rvb2xiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSwgREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSIH0gZnJvbSAnLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi9xdWVyaWVzJztcbmltcG9ydCB7IGF1dG9Gb2N1cyB9IGZyb20gJy4vdXRpbHMvYXV0by1mb2N1cyc7XG5pbXBvcnQgeyBhdXRvU2Nyb2xsVmlld0hhbmRsZSB9IGZyb20gJy4vdXRpbHMvYXV0by1zY3JvbGwtdmlldyc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnLi91dGlscy9sb2Rhc2gnO1xuaW1wb3J0IHsgZGF0YURlc2VyaWFsaXplLCBkYXRhU2VyaWFsaXppbmcgfSBmcm9tICcuL3V0aWxzL2RhdGEtdHJhbnNmb3JtJztcbmltcG9ydCB7IHNldEVkaXRvclVVSUQgfSBmcm9tICcuL3V0aWxzL2VkaXRvci11dWlkJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4vdXRpbHMvaWQtY3JlYXRvcic7XG5pbXBvcnQgeyBUaGVRdWlja0luc2VydENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay1pbnNlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFRvb2xiYXJDbGFzcyB9IGZyb20gJy4vdXRpbHMvZ2V0LXRvb2xiYXItY2xhc3MnO1xuaW1wb3J0IHsgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlIH0gZnJvbSAnLi91dGlscy9kb20nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1lZGl0b3IsIHRoZUVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdlZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUaGVUb29sYmFyU2VydmljZSxcbiAgICAgICAgVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIFRoZUNvbG9yU2VsZWN0U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoZS1lZGl0b3InLFxuICAgICAgICAnW2NsYXNzLnRoZS1lZGl0b3ItcmVhZG9ubHldJzogJ3RoZU9wdGlvbnM/LnJlYWRvbmx5J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcblxuICAgIEBJbnB1dCgpIHRoZVBsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICBASW5wdXQoKSB0aGVHbG9iYWxUb29sYmFyPzogVGhlVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHRoZURlY29yYXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IsIG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgQElucHV0KCkgdGhlT25FcnJvcj86IChlcnJvcjogU2xhdGVFcnJvcikgPT4gdm9pZDtcblxuICAgIEBPdXRwdXQoKSB0aGVPblNhdmU6IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGhlT25ET01FdmVudDogRXZlbnRFbWl0dGVyPHsgbmF0aXZlRXZlbnQ6IEV2ZW50OyBkYXRhPzogRG9tRXZlbnREYXRhSW5mbyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSB0aGVFZGl0b3JDcmVhdGVkOiBFdmVudEVtaXR0ZXI8RWRpdG9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlSW5zdGFuY2UnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlSW5zdGFuY2U6IFRoZVRlbXBsYXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsVG9vbGJhcicpXG4gICAgZ2xvYmFsVG9vbGJhckluc3RhbmNlOiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgncXVpY2tJbnNlcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHF1aWNrSW5zZXJ0SW5zdGFuY2U6IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50O1xuXG4gICAgX3BsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICB0b29sYmFyRW50aXR5OiBUb29sYmFyRW50aXR5O1xuXG4gICAgZWRpdG9yOiBUaGVFZGl0b3I7XG5cbiAgICBlZGl0b3JWYWx1ZTogRGVzY2VuZGFudFtdO1xuXG4gICAgZ2xvYmFsVG9vbGJhckNsYXNzOiBzdHJpbmdbXTtcblxuICAgIGRlY29yYXRlOiAobm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG5cbiAgICBnZXQgdGhlR2xvYmFsVG9vbGJhckluc3RhbmNlKCk6IFRoZVRvb2xiYXJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVHbG9iYWxUb29sYmFyID8gdGhpcy50aGVHbG9iYWxUb29sYmFyIDogdGhpcy5nbG9iYWxUb29sYmFySW5zdGFuY2U7XG4gICAgfVxuXG4gICAgZ2V0IG1heEhlaWdodCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0ID8gYCR7dGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHR9cHhgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcXVpY2tUb29sYmFySXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJFbnRpdHk/LnF1aWNrO1xuICAgIH1cblxuICAgIGF1dG9TY3JvbGxWaWV3ID0gXy5kZWJvdW5jZShmdW5jdGlvbiAoZWRpdG9yOiBFZGl0b3IsIHNjcm9sbENvbnRhaW5lcjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBhdXRvU2Nyb2xsVmlld0hhbmRsZShlZGl0b3IsIHNjcm9sbENvbnRhaW5lcik7XG4gICAgfSwgODApO1xuXG4gICAgZWxlbWVudFRvSHRtbDogV2Vha01hcDxFbGVtZW50LCBzdHJpbmc+ID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdG9vbGJhclNlcnZpY2U6IFRoZVRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHdpdGhUaGVFZGl0b3I8VGhlRWRpdG9yPih0aGlzLnRoZVBsdWdpbnMsIHdpdGhIaXN0b3J5KHdpdGhBbmd1bGFyKGNyZWF0ZUVkaXRvcigpLCBDTElQQk9BUkRfRk9STUFUX0tFWSkpKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURlY29yYXRlKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRpc2FibGVkID0gdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZDtcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucyA9IHRoaXMudGhlT3B0aW9ucz8uZXh0cmFFbGVtZW50T3B0aW9ucztcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFBdXRvRm9ybWF0UnVsZXMgPSB0aGlzLnRoZU9wdGlvbnM/LmV4dHJhQXV0b0Zvcm1hdFJ1bGVzO1xuICAgICAgICBzZXRFZGl0b3JVVUlEKHRoaXMuZWRpdG9yLCBpZENyZWF0b3IoKSk7XG4gICAgICAgIHRoaXMudGhlQ29udGV4dFNlcnZpY2UuaW5pdGlhbGl6ZSh7XG4gICAgICAgICAgICB0aGVPcHRpb25zOiB0aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICBuYXRpdmVFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZlxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50b29sYmFyQ2FsY3VsYXRlKCk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgLy8gWW91IG5lZWQgdG8gd2FpdCBmb3IgdGhlIGVkaXRvciByZW5kZXJpbmcgdG8gY29tcGxldGVcbiAgICAgICAgICAgIC8vIGJlZm9yZSB0cmlnZ2VyaW5nIHRoZSBleHRlcm5hbCB0b29sYmFyIGFzc2lnbm1lbnQgZGV0ZWN0aW9uXG4gICAgICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJJbml0KCk7XG4gICAgICAgICAgICB0aGlzLnRoZUVkaXRvckNyZWF0ZWQuZW1pdCh0aGlzLmVkaXRvcik7XG4gICAgICAgICAgICB0aGlzLmFwcGx5QXV0b0ZvY3VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVPcHRpb25zKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy50aGVPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIHJlYWRvbmx5OiBmYWxzZSxcbiAgICAgICAgICAgICAgICBtb2RlOiBUaGVEYXRhTW9kZS5odG1sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy50aGVPcHRpb25zLm1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLnRoZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgbW9kZTogVGhlRGF0YU1vZGUuaHRtbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFwcGx5QXV0b0ZvY3VzKCkge1xuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucz8uZGlzYWJsZWQgJiYgIXRoaXMudGhlT3B0aW9ucz8ucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIGF1dG9Gb2N1cyh0aGlzLmVkaXRvciwgdGhpcy50aGVPcHRpb25zPy5hdXRvRm9jdXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9vbGJhckNhbGN1bGF0ZSgpIHtcbiAgICAgICAgY29uc3QgdG9vbGJhciA9IHRoaXM/LnRoZU9wdGlvbnM/LnRvb2xiYXI7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtcyA9IHRvb2xiYXJDb21wb3NlKHRvb2xiYXI/LnRvb2xiYXJJdGVtcyk7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJPcHRpb24gPSB0aGlzLnRvb2xiYXJTZXJ2aWNlLmluaXRpYWxpemUodG9vbGJhckl0ZW1zLCB0b29sYmFyPy5nbG9iYWwsIHRvb2xiYXI/LmlubGluZSwgdG9vbGJhcj8ucXVpY2spO1xuICAgICAgICB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcyA9IFsndGhlLWdsb2JhbC10b29sYmFyJywgZ2V0VG9vbGJhckNsYXNzKHRoaXMuZWRpdG9yKV07XG4gICAgICAgIHRoaXMudG9vbGJhckVudGl0eSA9IHRvb2xiYXJPcHRpb24udG9vbGJhckVudGl0eTtcbiAgICB9XG5cbiAgICBnbG9iYWxUb29sYmFySW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGhlR2xvYmFsVG9vbGJhcikge1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuZWRpdG9yID0gdGhpcy5lZGl0b3I7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS50b29sYmFySXRlbXMgPSB0aGlzLnRvb2xiYXJFbnRpdHkuZ2xvYmFsO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UuY29udGFpbmVyQ2xhc3MgPSB0aGlzLmdsb2JhbFRvb2xiYXJDbGFzcztcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmFsaWduID0gdGhpcz8udGhlT3B0aW9ucz8udG9vbGJhcj8uYWxpZ247XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5zZXRUb29sYmFyQ2xhc3MoKTtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLnJlbmRlclRvb2xiYXJWaWV3KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGRhdGFEZXNlcmlhbGl6ZSh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIHZhbHVlKTtcbiAgICAgICAgLy8gZGF0YS1kZXNlcmlhbGl6ZVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gZGF0YTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHZhbHVlQ2hhbmdlKHZhbHVlOiBEZXNjZW5kYW50W10pIHtcbiAgICAgICAgY29uc3QgaXNFZGl0YWJsZSA9ICF0aGlzLnRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkO1xuXG4gICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlPy5zdGF0dXNDaGFuZ2UodGhpcy5lZGl0b3IpO1xuXG4gICAgICAgIC8vIHF1aWNrIGluc2VydCBidXR0b25cbiAgICAgICAgaWYgKGlzRWRpdGFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucXVpY2tJbnNlcnRJbnN0YW5jZT8uY2hlY2tTdGF0dXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGF1dG8gc2Nyb2xsIHZpZXdcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyID0gdGhpcy50aGVPcHRpb25zPy5zY3JvbGxDb250YWluZXI7XG4gICAgICAgIGNvbnN0IG1heEhlaWdodCA9IHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0O1xuICAgICAgICBpZiAoaXNFZGl0YWJsZSAmJiAoc2Nyb2xsQ29udGFpbmVyIHx8IG1heEhlaWdodCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IG1heEhlaWdodCA/IERFRkFVTFRfU0NST0xMX0NPTlRBSU5FUiA6IHNjcm9sbENvbnRhaW5lcjtcbiAgICAgICAgICAgIHRoaXMuYXV0b1Njcm9sbFZpZXcodGhpcy5lZGl0b3IsIGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5lZGl0b3JWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gdGhpcy5zZXJpYWxpemluZ1ZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBzZXJpYWxpemluZ1ZhbHVlKHZhbHVlOiBEZXNjZW5kYW50W10pOiBzdHJpbmcgfCBEZXNjZW5kYW50W10ge1xuICAgICAgICBpZiAodGhpcy50aGVPcHRpb25zPy5tb2RlID09PSBUaGVEYXRhTW9kZS5odG1sKSB7XG4gICAgICAgICAgICBsZXQgaHRtbFZhbHVlID0gJyc7XG4gICAgICAgICAgICB2YWx1ZS5mb3JFYWNoKChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRIdG1sID0gdGhpcy5lbGVtZW50VG9IdG1sLmdldChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudEh0bWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBzZXJpYWxpemluZ1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50SHRtbCA9IGRhdGFTZXJpYWxpemluZyh0aGlzLnRoZU9wdGlvbnM/Lm1vZGUsIFtlbGVtZW50XSkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFRvSHRtbC5zZXQoZWxlbWVudCwgZWxlbWVudEh0bWwpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGh0bWxWYWx1ZSArPSBlbGVtZW50SHRtbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgb25FcnJvckhhbmRsZXIoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yLm9uRXJyb3IgPSAoZXJyb3JEYXRhOiBTbGF0ZUVycm9yKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aGVPbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPbkVycm9yKGVycm9yRGF0YSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGVycm9yRGF0YS5uYXRpdmVFcnJvcikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3JEYXRhLm5hdGl2ZUVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICByZW5kZXJFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgdGVtcGxhdGUgPSB0aGlzLnRlbXBsYXRlSW5zdGFuY2UucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5lZGl0b3IucmVuZGVyRWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudCA/IGNvbXBvbmVudCA6IHRlbXBsYXRlO1xuICAgIH07XG5cbiAgICByZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgY29uc3QgbGVhZiA9IHRoaXMuZWRpdG9yLnJlbmRlckxlYWYodGV4dCk7XG4gICAgICAgIHJldHVybiBsZWFmID8gbGVhZiA6IG51bGw7XG4gICAgfTtcblxuICAgIHJlbmRlclRleHQgPSAodGV4dDogVGV4dCkgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBNYXJrVHlwZXMpIHtcbiAgICAgICAgICAgIGlmICh0ZXh0W01hcmtUeXBlc1trZXldXSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBUaGVUZXh0Q29tcG9uZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0ZXh0LnRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZ2VuZXJhdGVEZWNvcmF0ZSgpIHtcbiAgICAgICAgdGhpcy5kZWNvcmF0ZSA9IChub2RlRW50cnk6IE5vZGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVjb3JhdGlvbnMgPSBbXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlRGVjb3JhdGUpIHtcbiAgICAgICAgICAgICAgICBkZWNvcmF0aW9ucy5wdXNoKC4uLnRoaXMudGhlRGVjb3JhdGUodGhpcy5lZGl0b3IsIG5vZGVFbnRyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZGVjb3JhdGlvbnM7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb25LZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHNob3J0Y3V0cyh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnQsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAga2V5OiBldmVudC5rZXlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3MnLCBldmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aGVPblNhdmUuZW1pdCh0aGlzLmVkaXRvclZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCthJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25LZXlkb3duKHRoaXMuZWRpdG9yLCBldmVudCk7XG4gICAgfTtcblxuICAgIG1vdXNlZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCBlZGl0YWJsZUVsZW1lbnQgPSBBbmd1bGFyRWRpdG9yLnRvRE9NTm9kZSh0aGlzLmVkaXRvciwgdGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAoZXZlbnQudGFyZ2V0ID09PSBlZGl0YWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY3RFZGl0YWJsZSA9IGVkaXRhYmxlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclggPSByZWN0RWRpdGFibGUueCArIHJlY3RFZGl0YWJsZS53aWR0aCAvIDI7XG4gICAgICAgICAgICBsZXQgeyBwYWRkaW5nTGVmdCwgcGFkZGluZ1JpZ2h0IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlZGl0YWJsZUVsZW1lbnQsIG51bGwpO1xuICAgICAgICAgICAgY29uc3QgcGFkZGluZ0xlZnRQaXhlbHMgPSBjb2VyY2VQaXhlbHNGcm9tQ3NzVmFsdWUocGFkZGluZ0xlZnQpO1xuICAgICAgICAgICAgY29uc3QgcGFkZGluZ1JpZ2h0UGl4ZWxzID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKHBhZGRpbmdSaWdodCk7XG4gICAgICAgICAgICBjb25zdCBmYWtlTGVmdFggPSByZWN0RWRpdGFibGUueCArIHBhZGRpbmdMZWZ0UGl4ZWxzICsgNTA7XG4gICAgICAgICAgICBjb25zdCBmYWtlUmlnaHRYID0gcmVjdEVkaXRhYmxlLnJpZ2h0IC0gcGFkZGluZ1JpZ2h0UGl4ZWxzIC0gNTA7XG4gICAgICAgICAgICBsZXQgcmVsYXRpdmVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChmYWtlTGVmdFgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgbGV0IHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudDogRE9NRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgaWYgKCFyZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGZha2VSaWdodFgsIGV2ZW50LnkpO1xuICAgICAgICAgICAgICAgIHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCA9IHJlbGF0aXZlRWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHJlbGF0aXZlQmxvY2tDYXJkRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrQ2FyZEVudHJ5ID0gQW5ndWxhckVkaXRvci50b1NsYXRlQ2FyZEVudHJ5KHRoaXMuZWRpdG9yLCByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpO1xuICAgICAgICAgICAgICAgIGlmIChibG9ja0NhcmRFbnRyeSAmJiBibG9ja0NhcmRFbnRyeVsxXSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByb290Tm9kZVBhdGggPSBibG9ja0NhcmRFbnRyeVsxXS5zbGljZSgwLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdE5vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUodGhpcy5lZGl0b3IsIHJvb3ROb2RlUGF0aCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0Jsb2NrQ2FyZChyb290Tm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmQodGhpcy5lZGl0b3IsIHJvb3ROb2RlLCB7IGRpcmVjdGlvbjogZXZlbnQueCA8IGNlbnRlclggPyAnbGVmdCcgOiAncmlnaHQnIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlU2VsZWN0QWxsKCkge1xuICAgICAgICBsZXQgbm9kZTtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0RW5kU2VsZWN0aW9uKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSBSYW5nZS5lZGdlcyh0aGlzLmVkaXRvci5zZWxlY3Rpb24pO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25SYW5nZSA9IEVkaXRvci5yYW5nZSh0aGlzLmVkaXRvciwgc3RhcnQsIGVuZCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lckJsb2NrcyA9IFRoZVF1ZXJpZXMuZ2V0Q29udGFpbmVyQmxvY2tzKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb250YWluZXJCbG9ja3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIFtub2RlXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUodGhpcy5lZGl0b3IsIGNvbnRhaW5lckJsb2Nrc1tpXSk7XG4gICAgICAgICAgICBpZiAobm9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFssIHBhdGhdID0gbm9kZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1N0YXJ0UGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgc3RhcnQucGF0aC5zbGljZSgwLCBwYXRoLmxlbmd0aCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzRW5kUGFyZW50ID0gUGF0aC5lcXVhbHMocGF0aCwgZW5kLnBhdGguc2xpY2UoMCwgcGF0aC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNTdGFydFBhcmVudCAmJiBpc0VuZFBhcmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBub2RlUmFuZ2UgPSBFZGl0b3IucmFuZ2UodGhpcy5lZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVJhbmdlLmVxdWFscyhub2RlUmFuZ2UsIHNlbGVjdGlvblJhbmdlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIG5vZGVSYW5nZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBub2RlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdCh0aGlzLmVkaXRvciwgW10pO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBvbkNsaWNrID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIEFuZ3VsYXJFZGl0b3Iub25DbGljayh0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhUGFzdGUgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLmdldFRleHRBbmRKU09OKGV2ZW50LmNsaXBib2FyZERhdGEpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUJlZm9yZUlucHV0ID0gKFxuICAgICAgICBldmVudDogRXZlbnQgJiB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IHN0cmluZztcbiAgICAgICAgICAgIGRhdGE6IHN0cmluZyB8IG51bGw7XG4gICAgICAgICAgICBkYXRhVHJhbnNmZXI6IERhdGFUcmFuc2ZlciB8IG51bGw7XG4gICAgICAgIH1cbiAgICApID0+IHtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICBpbnB1dFR5cGU6IGV2ZW50LmlucHV0VHlwZSxcbiAgICAgICAgICAgIHRleHQ6IChldmVudC5kYXRhIHx8IGV2ZW50LmRhdGFUcmFuc2ZlcikgYXMgc3RyaW5nXG4gICAgICAgIH07XG4gICAgICAgIGlmIChldmVudC5pbnB1dFR5cGUgPT09ICdpbnNlcnRGcm9tUGFzdGUnKSB7XG4gICAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRUZXh0QW5kSlNPTigoZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhVHJhbnNmZXIpIGFzIERhdGFUcmFuc2ZlcilcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFCbHVyID0gKGV2ZW50OiBGb2N1c0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFGb2N1cyA9IChldmVudDogRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUN1dCA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYUNvcHkgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhQ29tcG9zaXRpb25TdGFydCA9IChldmVudDogQ29tcG9zaXRpb25FdmVudCkgPT4ge307XG5cbiAgICBvblNsYUNvbXBvc2l0aW9uRW5kID0gKGV2ZW50OiBDb21wb3NpdGlvbkV2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhRHJhZ1N0YXJ0ID0gKGV2ZW50OiBEcmFnRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFEcmFnT3ZlciA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7fTtcblxuICAgIG9uRHJvcCA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgZ2V0VGV4dEFuZEpTT04oZGF0YTogRGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZGF0YS5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBCT0FSRF9GT1JNQVRfS0VZfWApO1xuICAgICAgICBsZXQganNvbiA9IFtdO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihmcmFnbWVudCkpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0ZXh0ID0gZGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBqc29uLFxuICAgICAgICAgICAgdGV4dFxuICAgICAgICB9O1xuICAgIH1cbn1cbiIsIjx0aGUtdG9vbGJhclxuICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmICF0aGVHbG9iYWxUb29sYmFyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtdG9vbGJhci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkXG4gICAgfVwiXG4gICAgI2dsb2JhbFRvb2xiYXJcbiAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgW3Rvb2xiYXJJdGVtc109XCJ0b29sYmFyRW50aXR5Lmdsb2JhbFwiXG4gICAgW2NvbnRhaW5lckNsYXNzXT1cImdsb2JhbFRvb2xiYXJDbGFzc1wiXG4gICAgW2FsaWduXT1cInRoZU9wdGlvbnM/LnRvb2xiYXI/LmFsaWduXCJcbj48L3RoZS10b29sYmFyPlxuXG48ZGl2XG4gICAgY2xhc3M9XCJ0aGUtZWRpdGFibGUtY29udGFpbmVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICd0aGUtZWRpdG9yLWRpc2FibGVkJzogdGhlT3B0aW9ucz8uZGlzYWJsZWQsXG4gICAgICAgICdtYXgtaGVpZ2h0JzogbWF4SGVpZ2h0XG4gICAgfVwiXG4gICAgW25nU3R5bGVdPVwieyAnbWF4LWhlaWdodCc6IG1heEhlaWdodCB9XCJcbj5cbiAgICA8c2xhdGUtZWRpdGFibGVcbiAgICAgICAgY2xhc3M9XCJ0aGUtZWRpdG9yLXR5cG9cIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtuZ01vZGVsXT1cImVkaXRvclZhbHVlXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtkZWNvcmF0ZV09XCJkZWNvcmF0ZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0aGVPcHRpb25zPy5wbGFjZWhvbGRlclwiXG4gICAgICAgIFtwbGFjZWhvbGRlckRlY29yYXRlXT1cInRoZU9wdGlvbnM/LnBsYWNlaG9sZGVyRGVjb3JhdGUgPyB0aGVPcHRpb25zPy5wbGFjZWhvbGRlckRlY29yYXRlIDogbnVsbFwiXG4gICAgICAgIFtyZW5kZXJFbGVtZW50XT1cInJlbmRlckVsZW1lbnRcIlxuICAgICAgICBbcmVuZGVyVGV4dF09XCJyZW5kZXJUZXh0XCJcbiAgICAgICAgW3JlbmRlckxlYWZdPVwicmVuZGVyTGVhZlwiXG4gICAgICAgIFtyZWFkb25seV09XCJ0aGVPcHRpb25zPy5yZWFkb25seSB8fCB0aGVPcHRpb25zPy5kaXNhYmxlZFwiXG4gICAgICAgIFtrZXlkb3duXT1cIm9uS2V5RG93blwiXG4gICAgICAgIFtjbGlja109XCJvbkNsaWNrXCJcbiAgICAgICAgW3Bhc3RlXT1cIm9uU2xhUGFzdGVcIlxuICAgICAgICBbYmVmb3JlSW5wdXRdPVwib25TbGFCZWZvcmVJbnB1dFwiXG4gICAgICAgIFtibHVyXT1cIm9uU2xhQmx1clwiXG4gICAgICAgIFtmb2N1c109XCJvblNsYUZvY3VzXCJcbiAgICAgICAgW2NvcHldPVwib25TbGFDb3B5XCJcbiAgICAgICAgW2N1dF09XCJvblNsYUN1dFwiXG4gICAgICAgIFtpc1N0cmljdERlY29yYXRlXT1cImZhbHNlXCJcbiAgICAgICAgW2NvbXBvc2l0aW9uU3RhcnRdPVwib25TbGFDb21wb3NpdGlvblN0YXJ0XCJcbiAgICAgICAgW2NvbXBvc2l0aW9uRW5kXT1cIm9uU2xhQ29tcG9zaXRpb25FbmRcIlxuICAgICAgICBbZHJhZ1N0YXJ0XT1cIm9uU2xhRHJhZ1N0YXJ0XCJcbiAgICAgICAgW2RyYWdPdmVyXT1cIm9uU2xhRHJhZ092ZXJcIlxuICAgICAgICBbZHJvcF09XCJvbkRyb3BcIlxuICAgICAgICAobW91c2Vkb3duKT1cIm1vdXNlZG93bigkZXZlbnQpXCJcbiAgICA+PC9zbGF0ZS1lZGl0YWJsZT5cbiAgICA8dGhlLWlubGluZS10b29sYmFyXG4gICAgICAgICpuZ0lmPVwiIXRoZU9wdGlvbnM/LnJlYWRvbmx5ICYmIHRoZU9wdGlvbnM/LmlubGluZVRvb2JhclZpc2libGVcIlxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5pbmxpbmVcIlxuICAgID48L3RoZS1pbmxpbmUtdG9vbGJhcj5cbiAgICA8ZGl2XG4gICAgICAgICNxdWlja0luc2VydFxuICAgICAgICB0aGVRdWlja0luc2VydFxuICAgICAgICBbZWRpdG9yXT1cImVkaXRvclwiXG4gICAgICAgIFtxdWlja1Rvb2xiYXJJdGVtc109XCJxdWlja1Rvb2xiYXJJdGVtc1wiXG4gICAgICAgIFtpc1Zpc2libGVdPVwidGhlT3B0aW9ucz8ucXVpY2tJbnNlcnRWaXNpYmxlXCJcbiAgICA+PC9kaXY+XG4gICAgPHRoZS10ZW1wbGF0ZSAjdGVtcGxhdGVJbnN0YW5jZT48L3RoZS10ZW1wbGF0ZT5cbjwvZGl2PlxuIl19
|
|
447
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy9lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2VkaXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0gsU0FBUyxFQUNULEtBQUssRUFFTCxTQUFTLEVBRVQsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEVBSVosdUJBQXVCLEVBRTFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLFFBQVEsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxFQUFFLE1BQU0sRUFBUSxVQUFVLEVBQUUsWUFBWSxFQUF1QixLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUNsSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxhQUFhLEVBQWMsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBc0QsV0FBVyxFQUFpQixNQUFNLGNBQWMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0Ms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QUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFlBQVk7d0JBQ25CLDZCQUE2QixFQUFFLHNCQUFzQjtxQkFDeEQ7aUJBQ0o7cVBBRVksVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFHUCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLHFCQUFxQjtzQkFEcEIsU0FBUzt1QkFBQyxlQUFlO2dCQUkxQixtQkFBbUI7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgT25Jbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIE91dHB1dCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgTmdab25lLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBtaXhpblVuc3Vic2NyaWJlLCBNaXhpbkJhc2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IGlzSG90a2V5IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBFZGl0b3IsIFRleHQsIFRyYW5zZm9ybXMsIGNyZWF0ZUVkaXRvciwgRWxlbWVudCwgRGVzY2VuZGFudCwgUmFuZ2UsIFBhdGgsIE5vZGVFbnRyeSwgTm9kZSB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IHdpdGhIaXN0b3J5IH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBTbGF0ZUVycm9yLCB3aXRoQW5ndWxhciwgRE9NRWxlbWVudCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgVGhlUGx1Z2luLCBUaGVPcHRpb25zLCBEb21FdmVudERhdGFJbmZvLCBUaGVFZGl0b3IsIFRoZURhdGFNb2RlLCBUb29sYmFyRW50aXR5IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1hcmtUeXBlcyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHdpdGhUaGVFZGl0b3IsIHRvb2xiYXJDb21wb3NlIH0gZnJvbSAnLi9wbHVnaW5zL2luZGV4JztcbmltcG9ydCB7IFRoZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBzaG9ydGN1dHMgfSBmcm9tICcuL3Nob3J0Y3V0cyc7XG5pbXBvcnQgeyBUaGVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGhlVG9vbGJhclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Rvb2xiYXIuc2VydmljZSc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoZVRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGV4dC90ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDTElQQk9BUkRfRk9STUFUX0tFWSwgREVGQVVMVF9TQ1JPTExfQ09OVEFJTkVSIH0gZnJvbSAnLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBUaGVDb2xvclNlbGVjdFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbG9yLXNlbGVjdC5zZXJ2aWNlJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi9xdWVyaWVzJztcbmltcG9ydCB7IGF1dG9Gb2N1cyB9IGZyb20gJy4vdXRpbHMvYXV0by1mb2N1cyc7XG5pbXBvcnQgeyBhdXRvU2Nyb2xsVmlld0hhbmRsZSB9IGZyb20gJy4vdXRpbHMvYXV0by1zY3JvbGwtdmlldyc7XG5pbXBvcnQgeyBfIH0gZnJvbSAnLi91dGlscy9sb2Rhc2gnO1xuaW1wb3J0IHsgZGF0YURlc2VyaWFsaXplLCBkYXRhU2VyaWFsaXppbmcgfSBmcm9tICcuL3V0aWxzL2RhdGEtdHJhbnNmb3JtJztcbmltcG9ydCB7IHNldEVkaXRvclVVSUQgfSBmcm9tICcuL3V0aWxzL2VkaXRvci11dWlkJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4vdXRpbHMvaWQtY3JlYXRvcic7XG5pbXBvcnQgeyBUaGVRdWlja0luc2VydENvbXBvbmVudCB9IGZyb20gJy4vcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay1pbnNlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IGdldFRvb2xiYXJDbGFzcyB9IGZyb20gJy4vdXRpbHMvZ2V0LXRvb2xiYXItY2xhc3MnO1xuaW1wb3J0IHsgY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlIH0gZnJvbSAnLi91dGlscy9kb20nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1lZGl0b3IsIHRoZUVkaXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICdlZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBUaGVUb29sYmFyU2VydmljZSxcbiAgICAgICAgVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIFRoZUNvbG9yU2VsZWN0U2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaGVFZGl0b3JDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoZS1lZGl0b3InLFxuICAgICAgICAnW2NsYXNzLnRoZS1lZGl0b3ItcmVhZG9ubHldJzogJ3RoZU9wdGlvbnM/LnJlYWRvbmx5J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgbWl4aW5VbnN1YnNjcmliZShNaXhpbkJhc2UpIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgdGhlT3B0aW9uczogVGhlT3B0aW9ucztcblxuICAgIEBJbnB1dCgpIHRoZVBsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICBASW5wdXQoKSB0aGVHbG9iYWxUb29sYmFyPzogVGhlVG9vbGJhckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHRoZURlY29yYXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IsIG5vZGVFbnRyeTogTm9kZUVudHJ5KSA9PiBSYW5nZVtdO1xuXG4gICAgQElucHV0KCkgdGhlT25FcnJvcj86IChlcnJvcjogU2xhdGVFcnJvcikgPT4gdm9pZDtcblxuICAgIEBPdXRwdXQoKSB0aGVPblNhdmU6IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEZXNjZW5kYW50W10+KCk7XG5cbiAgICBAT3V0cHV0KCkgdGhlT25ET01FdmVudDogRXZlbnRFbWl0dGVyPHsgbmF0aXZlRXZlbnQ6IEV2ZW50OyBkYXRhPzogRG9tRXZlbnREYXRhSW5mbyB9PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSB0aGVFZGl0b3JDcmVhdGVkOiBFdmVudEVtaXR0ZXI8RWRpdG9yPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlSW5zdGFuY2UnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlSW5zdGFuY2U6IFRoZVRlbXBsYXRlQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnZ2xvYmFsVG9vbGJhcicpXG4gICAgZ2xvYmFsVG9vbGJhckluc3RhbmNlOiBUaGVUb29sYmFyQ29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgncXVpY2tJbnNlcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHF1aWNrSW5zZXJ0SW5zdGFuY2U6IFRoZVF1aWNrSW5zZXJ0Q29tcG9uZW50O1xuXG4gICAgX3BsdWdpbnM6IFRoZVBsdWdpbltdID0gW107XG5cbiAgICB0b29sYmFyRW50aXR5OiBUb29sYmFyRW50aXR5O1xuXG4gICAgZWRpdG9yOiBUaGVFZGl0b3I7XG5cbiAgICBlZGl0b3JWYWx1ZTogRGVzY2VuZGFudFtdO1xuXG4gICAgZ2xvYmFsVG9vbGJhckNsYXNzOiBzdHJpbmdbXTtcblxuICAgIGRlY29yYXRlOiAobm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG5cbiAgICBnZXQgdGhlR2xvYmFsVG9vbGJhckluc3RhbmNlKCk6IFRoZVRvb2xiYXJDb21wb25lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy50aGVHbG9iYWxUb29sYmFyID8gdGhpcy50aGVHbG9iYWxUb29sYmFyIDogdGhpcy5nbG9iYWxUb29sYmFySW5zdGFuY2U7XG4gICAgfVxuXG4gICAgZ2V0IG1heEhlaWdodCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhlT3B0aW9ucz8ubWF4SGVpZ2h0ID8gYCR7dGhpcy50aGVPcHRpb25zPy5tYXhIZWlnaHR9cHhgIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgcXVpY2tUb29sYmFySXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvb2xiYXJFbnRpdHk/LnF1aWNrO1xuICAgIH1cblxuICAgIGF1dG9TY3JvbGxWaWV3ID0gXy5kZWJvdW5jZShmdW5jdGlvbiAoZWRpdG9yOiBFZGl0b3IsIHNjcm9sbENvbnRhaW5lcjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBhdXRvU2Nyb2xsVmlld0hhbmRsZShlZGl0b3IsIHNjcm9sbENvbnRhaW5lcik7XG4gICAgfSwgODApO1xuXG4gICAgZWxlbWVudFRvSHRtbDogV2Vha01hcDxFbGVtZW50LCBzdHJpbmc+ID0gbmV3IFdlYWtNYXAoKTtcblxuICAgIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgdG9vbGJhclNlcnZpY2U6IFRoZVRvb2xiYXJTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRoZUNvbnRleHRTZXJ2aWNlOiBUaGVDb250ZXh0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5vbkVycm9ySGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGNoYW5nZXMudGhlT3B0aW9ucztcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuY3VycmVudFZhbHVlPy5yZWFkb25seSAhPT0gb3B0aW9ucy5wcmV2aW91c1ZhbHVlPy5yZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzWyd0aGVEZWNvcmF0ZSddKSB7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlRGVjb3JhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiAob3B0aW9ucz8uY3VycmVudFZhbHVlPy5yZWFkb25seSB8fCBvcHRpb25zPy5jdXJyZW50VmFsdWU/LmRpc2FibGVkKSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5kZXNlbGVjdCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHdpdGhUaGVFZGl0b3I8VGhlRWRpdG9yPih0aGlzLnRoZVBsdWdpbnMsIHdpdGhIaXN0b3J5KHdpdGhBbmd1bGFyKGNyZWF0ZUVkaXRvcigpLCBDTElQQk9BUkRfRk9STUFUX0tFWSkpKTtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZURlY29yYXRlKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yLmRpc2FibGVkID0gdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZDtcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFFbGVtZW50T3B0aW9ucyA9IHRoaXMudGhlT3B0aW9ucz8uZXh0cmFFbGVtZW50T3B0aW9ucztcbiAgICAgICAgdGhpcy5lZGl0b3IuZXh0cmFBdXRvRm9ybWF0UnVsZXMgPSB0aGlzLnRoZU9wdGlvbnM/LmV4dHJhQXV0b0Zvcm1hdFJ1bGVzO1xuICAgICAgICB0aGlzLmVkaXRvci5leHRyYUluZGVudE9wdGlvbnMgPSB0aGlzLnRoZU9wdGlvbnM/LmV4dHJhSW5kZW50T3B0aW9ucztcbiAgICAgICAgdGhpcy5lZGl0b3Iub3B0aW9ucyA9IHRoaXMudGhlT3B0aW9ucztcbiAgICAgICAgc2V0RWRpdG9yVVVJRCh0aGlzLmVkaXRvciwgaWRDcmVhdG9yKCkpO1xuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmluaXRpYWxpemUoe1xuICAgICAgICAgICAgdGhlT3B0aW9uczogdGhpcy50aGVPcHRpb25zLFxuICAgICAgICAgICAgbmF0aXZlRWxlbWVudDogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWZcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudG9vbGJhckNhbGN1bGF0ZSgpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIC8vIFlvdSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBlZGl0b3IgcmVuZGVyaW5nIHRvIGNvbXBsZXRlXG4gICAgICAgICAgICAvLyBiZWZvcmUgdHJpZ2dlcmluZyB0aGUgZXh0ZXJuYWwgdG9vbGJhciBhc3NpZ25tZW50IGRldGVjdGlvblxuICAgICAgICAgICAgdGhpcy5nbG9iYWxUb29sYmFySW5pdCgpO1xuICAgICAgICAgICAgdGhpcy50aGVFZGl0b3JDcmVhdGVkLmVtaXQodGhpcy5lZGl0b3IpO1xuICAgICAgICAgICAgdGhpcy5hcHBseUF1dG9Gb2N1cygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplT3B0aW9ucygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoZU9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudGhlT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICByZWFkb25seTogZmFsc2UsXG4gICAgICAgICAgICAgICAgbW9kZTogVGhlRGF0YU1vZGUuaHRtbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudGhlT3B0aW9ucy5tb2RlKSB7XG4gICAgICAgICAgICB0aGlzLnRoZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy50aGVPcHRpb25zLFxuICAgICAgICAgICAgICAgIG1vZGU6IFRoZURhdGFNb2RlLmh0bWxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBseUF1dG9Gb2N1cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoZU9wdGlvbnM/LmRpc2FibGVkICYmICF0aGlzLnRoZU9wdGlvbnM/LnJlYWRvbmx5KSB7XG4gICAgICAgICAgICBhdXRvRm9jdXModGhpcy5lZGl0b3IsIHRoaXMudGhlT3B0aW9ucz8uYXV0b0ZvY3VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvb2xiYXJDYWxjdWxhdGUoKSB7XG4gICAgICAgIGNvbnN0IHRvb2xiYXIgPSB0aGlzPy50aGVPcHRpb25zPy50b29sYmFyO1xuICAgICAgICBjb25zdCB0b29sYmFySXRlbXMgPSB0b29sYmFyQ29tcG9zZSh0b29sYmFyPy50b29sYmFySXRlbXMpO1xuICAgICAgICBjb25zdCB0b29sYmFyT3B0aW9uID0gdGhpcy50b29sYmFyU2VydmljZS5pbml0aWFsaXplKHRvb2xiYXJJdGVtcywgdG9vbGJhcj8uZ2xvYmFsLCB0b29sYmFyPy5pbmxpbmUsIHRvb2xiYXI/LnF1aWNrKTtcbiAgICAgICAgdGhpcy5nbG9iYWxUb29sYmFyQ2xhc3MgPSBbJ3RoZS1nbG9iYWwtdG9vbGJhcicsIGdldFRvb2xiYXJDbGFzcyh0aGlzLmVkaXRvcildO1xuICAgICAgICB0aGlzLnRvb2xiYXJFbnRpdHkgPSB0b29sYmFyT3B0aW9uLnRvb2xiYXJFbnRpdHk7XG4gICAgfVxuXG4gICAgZ2xvYmFsVG9vbGJhckluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoZUdsb2JhbFRvb2xiYXIpIHtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmVkaXRvciA9IHRoaXMuZWRpdG9yO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2UudG9vbGJhckl0ZW1zID0gdGhpcy50b29sYmFyRW50aXR5Lmdsb2JhbDtcbiAgICAgICAgICAgIHRoaXMudGhlR2xvYmFsVG9vbGJhckluc3RhbmNlLmNvbnRhaW5lckNsYXNzID0gdGhpcy5nbG9iYWxUb29sYmFyQ2xhc3M7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5hbGlnbiA9IHRoaXM/LnRoZU9wdGlvbnM/LnRvb2xiYXI/LmFsaWduO1xuICAgICAgICAgICAgdGhpcy50aGVHbG9iYWxUb29sYmFySW5zdGFuY2Uuc2V0VG9vbGJhckNsYXNzKCk7XG4gICAgICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZS5yZW5kZXJUb29sYmFyVmlldygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgRGVzY2VuZGFudFtdKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBkYXRhRGVzZXJpYWxpemUodGhpcy50aGVPcHRpb25zPy5tb2RlLCB2YWx1ZSk7XG4gICAgICAgIC8vIGRhdGEtZGVzZXJpYWxpemVcbiAgICAgICAgdGhpcy5lZGl0b3JWYWx1ZSA9IGRhdGE7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICB2YWx1ZUNoYW5nZSh2YWx1ZTogRGVzY2VuZGFudFtdKSB7XG4gICAgICAgIGNvbnN0IGlzRWRpdGFibGUgPSAhdGhpcy50aGVPcHRpb25zPy5yZWFkb25seSAmJiAhdGhpcy50aGVPcHRpb25zPy5kaXNhYmxlZDtcblxuICAgICAgICB0aGlzLnRoZUdsb2JhbFRvb2xiYXJJbnN0YW5jZT8uc3RhdHVzQ2hhbmdlKHRoaXMuZWRpdG9yKTtcblxuICAgICAgICAvLyBxdWljayBpbnNlcnQgYnV0dG9uXG4gICAgICAgIGlmIChpc0VkaXRhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnF1aWNrSW5zZXJ0SW5zdGFuY2U/LmNoZWNrU3RhdHVzKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBhdXRvIHNjcm9sbCB2aWV3XG4gICAgICAgIGNvbnN0IHNjcm9sbENvbnRhaW5lciA9IHRoaXMudGhlT3B0aW9ucz8uc2Nyb2xsQ29udGFpbmVyO1xuICAgICAgICBjb25zdCBtYXhIZWlnaHQgPSB0aGlzLnRoZU9wdGlvbnM/Lm1heEhlaWdodDtcbiAgICAgICAgaWYgKGlzRWRpdGFibGUgJiYgKHNjcm9sbENvbnRhaW5lciB8fCBtYXhIZWlnaHQpKSB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSBtYXhIZWlnaHQgPyBERUZBVUxUX1NDUk9MTF9DT05UQUlORVIgOiBzY3JvbGxDb250YWluZXI7XG4gICAgICAgICAgICB0aGlzLmF1dG9TY3JvbGxWaWV3KHRoaXMuZWRpdG9yLCBjb250YWluZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yVmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lZGl0b3JWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIC8vIHNlcmlhbGl6aW5nXG4gICAgICAgIGxldCBuZXdWYWx1ZSA9IHRoaXMuc2VyaWFsaXppbmdWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSk7XG4gICAgfVxuXG4gICAgc2VyaWFsaXppbmdWYWx1ZSh2YWx1ZTogRGVzY2VuZGFudFtdKTogc3RyaW5nIHwgRGVzY2VuZGFudFtdIHtcbiAgICAgICAgaWYgKHRoaXMudGhlT3B0aW9ucz8ubW9kZSA9PT0gVGhlRGF0YU1vZGUuaHRtbCkge1xuICAgICAgICAgICAgbGV0IGh0bWxWYWx1ZSA9ICcnO1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBlbGVtZW50SHRtbCA9IHRoaXMuZWxlbWVudFRvSHRtbC5nZXQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaWYgKGVsZW1lbnRIdG1sID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2VyaWFsaXppbmdcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudEh0bWwgPSBkYXRhU2VyaWFsaXppbmcodGhpcy50aGVPcHRpb25zPy5tb2RlLCBbZWxlbWVudF0pIGFzIHN0cmluZztcbiAgICAgICAgICAgICAgICAgICAgaHRtbFZhbHVlICs9IGVsZW1lbnRIdG1sO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRUb0h0bWwuc2V0KGVsZW1lbnQsIGVsZW1lbnRIdG1sKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBodG1sVmFsdWUgKz0gZWxlbWVudEh0bWw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBodG1sVmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIG9uRXJyb3JIYW5kbGVyKCkge1xuICAgICAgICB0aGlzLmVkaXRvci5vbkVycm9yID0gKGVycm9yRGF0YTogU2xhdGVFcnJvcikgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGhlT25FcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMudGhlT25FcnJvcihlcnJvckRhdGEpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlcnJvckRhdGEubmF0aXZlRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yRGF0YS5uYXRpdmVFcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHRlbXBsYXRlID0gdGhpcy50ZW1wbGF0ZUluc3RhbmNlLnJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZWRpdG9yLnJlbmRlckVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQgPyBjb21wb25lbnQgOiB0ZW1wbGF0ZTtcbiAgICB9O1xuXG4gICAgcmVuZGVyTGVhZiA9ICh0ZXh0OiBUZXh0KSA9PiB7XG4gICAgICAgIGNvbnN0IGxlYWYgPSB0aGlzLmVkaXRvci5yZW5kZXJMZWFmKHRleHQpO1xuICAgICAgICByZXR1cm4gbGVhZiA/IGxlYWYgOiBudWxsO1xuICAgIH07XG5cbiAgICByZW5kZXJUZXh0ID0gKHRleHQ6IFRleHQpID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gTWFya1R5cGVzKSB7XG4gICAgICAgICAgICBpZiAodGV4dFtNYXJrVHlwZXNba2V5XV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gVGhlVGV4dENvbXBvbmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGV4dC50ZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGdlbmVyYXRlRGVjb3JhdGUoKSB7XG4gICAgICAgIHRoaXMuZGVjb3JhdGUgPSAobm9kZUVudHJ5OiBOb2RlRW50cnkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGRlY29yYXRpb25zID0gW107XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRoZURlY29yYXRlKSB7XG4gICAgICAgICAgICAgICAgZGVjb3JhdGlvbnMucHVzaCguLi50aGlzLnRoZURlY29yYXRlKHRoaXMuZWRpdG9yLCBub2RlRW50cnkpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGRlY29yYXRpb25zO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9uS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBzaG9ydGN1dHModGhpcy5lZGl0b3IsIGV2ZW50KTtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGtleTogZXZlbnQua2V5XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCtzJywgZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGhlT25TYXZlLmVtaXQodGhpcy5lZGl0b3JWYWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSG90a2V5KCdtb2QrYScsIGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgICAgICBBbmd1bGFyRWRpdG9yLm9uS2V5ZG93bih0aGlzLmVkaXRvciwgZXZlbnQpO1xuICAgIH07XG5cbiAgICBtb3VzZWRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgY29uc3QgZWRpdGFibGVFbGVtZW50ID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUodGhpcy5lZGl0b3IsIHRoaXMuZWRpdG9yKTtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gZWRpdGFibGVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCByZWN0RWRpdGFibGUgPSBlZGl0YWJsZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJYID0gcmVjdEVkaXRhYmxlLnggKyByZWN0RWRpdGFibGUud2lkdGggLyAyO1xuICAgICAgICAgICAgbGV0IHsgcGFkZGluZ0xlZnQsIHBhZGRpbmdSaWdodCB9ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWRpdGFibGVFbGVtZW50LCBudWxsKTtcbiAgICAgICAgICAgIGNvbnN0IHBhZGRpbmdMZWZ0UGl4ZWxzID0gY29lcmNlUGl4ZWxzRnJvbUNzc1ZhbHVlKHBhZGRpbmdMZWZ0KTtcbiAgICAgICAgICAgIGNvbnN0IHBhZGRpbmdSaWdodFBpeGVscyA9IGNvZXJjZVBpeGVsc0Zyb21Dc3NWYWx1ZShwYWRkaW5nUmlnaHQpO1xuICAgICAgICAgICAgY29uc3QgZmFrZUxlZnRYID0gcmVjdEVkaXRhYmxlLnggKyBwYWRkaW5nTGVmdFBpeGVscyArIDUwO1xuICAgICAgICAgICAgY29uc3QgZmFrZVJpZ2h0WCA9IHJlY3RFZGl0YWJsZS5yaWdodCAtIHBhZGRpbmdSaWdodFBpeGVscyAtIDUwO1xuICAgICAgICAgICAgbGV0IHJlbGF0aXZlRWxlbWVudCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoZmFrZUxlZnRYLCBldmVudC55KTtcbiAgICAgICAgICAgIGxldCByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQ6IERPTUVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnNsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgICAgIGlmICghcmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgcmVsYXRpdmVFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChmYWtlUmlnaHRYLCBldmVudC55KTtcbiAgICAgICAgICAgICAgICByZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQgPSByZWxhdGl2ZUVsZW1lbnQuY2xvc2VzdCgnLnNsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChyZWxhdGl2ZUJsb2NrQ2FyZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBibG9ja0NhcmRFbnRyeSA9IEFuZ3VsYXJFZGl0b3IudG9TbGF0ZUNhcmRFbnRyeSh0aGlzLmVkaXRvciwgcmVsYXRpdmVCbG9ja0NhcmRFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkKTtcbiAgICAgICAgICAgICAgICBpZiAoYmxvY2tDYXJkRW50cnkgJiYgYmxvY2tDYXJkRW50cnlbMV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm9vdE5vZGVQYXRoID0gYmxvY2tDYXJkRW50cnlbMV0uc2xpY2UoMCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvb3ROb2RlID0gVGhlUXVlcmllcy5nZXROb2RlKHRoaXMuZWRpdG9yLCByb290Tm9kZVBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5lZGl0b3IuaXNCbG9ja0NhcmQocm9vdE5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQW5ndWxhckVkaXRvci5tb3ZlQmxvY2tDYXJkKHRoaXMuZWRpdG9yLCByb290Tm9kZSwgeyBkaXJlY3Rpb246IGV2ZW50LnggPCBjZW50ZXJYID8gJ2xlZnQnIDogJ3JpZ2h0JyB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgbGV0IG5vZGU7XG4gICAgICAgIGlmICghdGhpcy5lZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldEVuZFNlbGVjdGlvbih0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gUmFuZ2UuZWRnZXModGhpcy5lZGl0b3Iuc2VsZWN0aW9uKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uUmFuZ2UgPSBFZGl0b3IucmFuZ2UodGhpcy5lZGl0b3IsIHN0YXJ0LCBlbmQpO1xuICAgICAgICBjb25zdCBjb250YWluZXJCbG9ja3MgPSBUaGVRdWVyaWVzLmdldENvbnRhaW5lckJsb2Nrcyh0aGlzLmVkaXRvcik7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29udGFpbmVyQmxvY2tzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBbbm9kZV0gPSBUaGVRdWVyaWVzLmdldE5vZGVzQnlUeXBlKHRoaXMuZWRpdG9yLCBjb250YWluZXJCbG9ja3NbaV0pO1xuICAgICAgICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBbLCBwYXRoXSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNTdGFydFBhcmVudCA9IFBhdGguZXF1YWxzKHBhdGgsIHN0YXJ0LnBhdGguc2xpY2UoMCwgcGF0aC5sZW5ndGgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc0VuZFBhcmVudCA9IFBhdGguZXF1YWxzKHBhdGgsIGVuZC5wYXRoLnNsaWNlKDAsIHBhdGgubGVuZ3RoKSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzU3RhcnRQYXJlbnQgJiYgaXNFbmRQYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZVJhbmdlID0gRWRpdG9yLnJhbmdlKHRoaXMuZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFSYW5nZS5lcXVhbHMobm9kZVJhbmdlLCBzZWxlY3Rpb25SYW5nZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KHRoaXMuZWRpdG9yLCBub2RlUmFuZ2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbm9kZSA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QodGhpcy5lZGl0b3IsIFtdKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb25DbGljayA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBBbmd1bGFyRWRpdG9yLm9uQ2xpY2sodGhpcy5lZGl0b3IsIGV2ZW50KTtcbiAgICAgICAgdGhpcy50aGVPbkRPTUV2ZW50LmVtaXQoe1xuICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBvblNsYVBhc3RlID0gKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5nZXRUZXh0QW5kSlNPTihldmVudC5jbGlwYm9hcmREYXRhKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFCZWZvcmVJbnB1dCA9IChcbiAgICAgICAgZXZlbnQ6IEV2ZW50ICYge1xuICAgICAgICAgICAgaW5wdXRUeXBlOiBzdHJpbmc7XG4gICAgICAgICAgICBkYXRhOiBzdHJpbmcgfCBudWxsO1xuICAgICAgICAgICAgZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIgfCBudWxsO1xuICAgICAgICB9XG4gICAgKSA9PiB7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgICAgaW5wdXRUeXBlOiBldmVudC5pbnB1dFR5cGUsXG4gICAgICAgICAgICB0ZXh0OiAoZXZlbnQuZGF0YSB8fCBldmVudC5kYXRhVHJhbnNmZXIpIGFzIHN0cmluZ1xuICAgICAgICB9O1xuICAgICAgICBpZiAoZXZlbnQuaW5wdXRUeXBlID09PSAnaW5zZXJ0RnJvbVBhc3RlJykge1xuICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuZ2V0VGV4dEFuZEpTT04oKGV2ZW50LmRhdGEgfHwgZXZlbnQuZGF0YVRyYW5zZmVyKSBhcyBEYXRhVHJhbnNmZXIpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhQmx1ciA9IChldmVudDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIG9uU2xhRm9jdXMgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFDdXQgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMudGhlT25ET01FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIG5hdGl2ZUV2ZW50OiBldmVudFxuICAgICAgICB9KTtcbiAgICB9O1xuXG4gICAgb25TbGFDb3B5ID0gKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkgPT4ge307XG5cbiAgICBvblNsYUNvbXBvc2l0aW9uU3RhcnQgPSAoZXZlbnQ6IENvbXBvc2l0aW9uRXZlbnQpID0+IHt9O1xuXG4gICAgb25TbGFDb21wb3NpdGlvbkVuZCA9IChldmVudDogQ29tcG9zaXRpb25FdmVudCkgPT4ge307XG5cbiAgICBvblNsYURyYWdTdGFydCA9IChldmVudDogRHJhZ0V2ZW50KSA9PiB7fTtcblxuICAgIG9uU2xhRHJhZ092ZXIgPSAoZXZlbnQ6IERyYWdFdmVudCkgPT4ge307XG5cbiAgICBvbkRyb3AgPSAoZXZlbnQ6IERyYWdFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnRoZU9uRE9NRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBuYXRpdmVFdmVudDogZXZlbnRcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGdldFRleHRBbmRKU09OKGRhdGE6IERhdGFUcmFuc2Zlcikge1xuICAgICAgICBjb25zdCBmcmFnbWVudCA9IGRhdGEuZ2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQQk9BUkRfRk9STUFUX0tFWX1gKTtcbiAgICAgICAgbGV0IGpzb24gPSBbXTtcbiAgICAgICAgaWYgKGZyYWdtZW50KSB7XG4gICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZnJhZ21lbnQpKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGV4dCA9IGRhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAganNvbixcbiAgICAgICAgICAgIHRleHRcbiAgICAgICAgfTtcbiAgICB9XG59XG4iLCI8dGhlLXRvb2xiYXJcbiAgICAqbmdJZj1cIiF0aGVPcHRpb25zPy5yZWFkb25seSAmJiAhdGhlR2xvYmFsVG9vbGJhclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGhlLXRvb2xiYXItZGlzYWJsZWQnOiB0aGVPcHRpb25zPy5kaXNhYmxlZFxuICAgIH1cIlxuICAgICNnbG9iYWxUb29sYmFyXG4gICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgIFt0b29sYmFySXRlbXNdPVwidG9vbGJhckVudGl0eS5nbG9iYWxcIlxuICAgIFtjb250YWluZXJDbGFzc109XCJnbG9iYWxUb29sYmFyQ2xhc3NcIlxuICAgIFthbGlnbl09XCJ0aGVPcHRpb25zPy50b29sYmFyPy5hbGlnblwiXG4+PC90aGUtdG9vbGJhcj5cblxuPGRpdlxuICAgIGNsYXNzPVwidGhlLWVkaXRhYmxlLWNvbnRhaW5lclwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAndGhlLWVkaXRvci1kaXNhYmxlZCc6IHRoZU9wdGlvbnM/LmRpc2FibGVkLFxuICAgICAgICAnbWF4LWhlaWdodCc6IG1heEhlaWdodFxuICAgIH1cIlxuICAgIFtuZ1N0eWxlXT1cInsgJ21heC1oZWlnaHQnOiBtYXhIZWlnaHQgfVwiXG4+XG4gICAgPHNsYXRlLWVkaXRhYmxlXG4gICAgICAgIGNsYXNzPVwidGhlLWVkaXRvci10eXBvXCJcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbbmdNb2RlbF09XCJlZGl0b3JWYWx1ZVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZGVjb3JhdGVdPVwiZGVjb3JhdGVcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwidGhlT3B0aW9ucz8ucGxhY2Vob2xkZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJEZWNvcmF0ZV09XCJ0aGVPcHRpb25zPy5wbGFjZWhvbGRlckRlY29yYXRlID8gdGhlT3B0aW9ucz8ucGxhY2Vob2xkZXJEZWNvcmF0ZSA6IG51bGxcIlxuICAgICAgICBbcmVuZGVyRWxlbWVudF09XCJyZW5kZXJFbGVtZW50XCJcbiAgICAgICAgW3JlbmRlclRleHRdPVwicmVuZGVyVGV4dFwiXG4gICAgICAgIFtyZW5kZXJMZWFmXT1cInJlbmRlckxlYWZcIlxuICAgICAgICBbcmVhZG9ubHldPVwidGhlT3B0aW9ucz8ucmVhZG9ubHkgfHwgdGhlT3B0aW9ucz8uZGlzYWJsZWRcIlxuICAgICAgICBba2V5ZG93bl09XCJvbktleURvd25cIlxuICAgICAgICBbY2xpY2tdPVwib25DbGlja1wiXG4gICAgICAgIFtwYXN0ZV09XCJvblNsYVBhc3RlXCJcbiAgICAgICAgW2JlZm9yZUlucHV0XT1cIm9uU2xhQmVmb3JlSW5wdXRcIlxuICAgICAgICBbYmx1cl09XCJvblNsYUJsdXJcIlxuICAgICAgICBbZm9jdXNdPVwib25TbGFGb2N1c1wiXG4gICAgICAgIFtjb3B5XT1cIm9uU2xhQ29weVwiXG4gICAgICAgIFtjdXRdPVwib25TbGFDdXRcIlxuICAgICAgICBbaXNTdHJpY3REZWNvcmF0ZV09XCJmYWxzZVwiXG4gICAgICAgIFtjb21wb3NpdGlvblN0YXJ0XT1cIm9uU2xhQ29tcG9zaXRpb25TdGFydFwiXG4gICAgICAgIFtjb21wb3NpdGlvbkVuZF09XCJvblNsYUNvbXBvc2l0aW9uRW5kXCJcbiAgICAgICAgW2RyYWdTdGFydF09XCJvblNsYURyYWdTdGFydFwiXG4gICAgICAgIFtkcmFnT3Zlcl09XCJvblNsYURyYWdPdmVyXCJcbiAgICAgICAgW2Ryb3BdPVwib25Ecm9wXCJcbiAgICAgICAgKG1vdXNlZG93bik9XCJtb3VzZWRvd24oJGV2ZW50KVwiXG4gICAgPjwvc2xhdGUtZWRpdGFibGU+XG4gICAgPHRoZS1pbmxpbmUtdG9vbGJhclxuICAgICAgICAqbmdJZj1cIiF0aGVPcHRpb25zPy5yZWFkb25seSAmJiB0aGVPcHRpb25zPy5pbmxpbmVUb29iYXJWaXNpYmxlXCJcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbdG9vbGJhckl0ZW1zXT1cInRvb2xiYXJFbnRpdHkuaW5saW5lXCJcbiAgICA+PC90aGUtaW5saW5lLXRvb2xiYXI+XG4gICAgPGRpdlxuICAgICAgICAjcXVpY2tJbnNlcnRcbiAgICAgICAgdGhlUXVpY2tJbnNlcnRcbiAgICAgICAgW2VkaXRvcl09XCJlZGl0b3JcIlxuICAgICAgICBbcXVpY2tUb29sYmFySXRlbXNdPVwicXVpY2tUb29sYmFySXRlbXNcIlxuICAgICAgICBbaXNWaXNpYmxlXT1cInRoZU9wdGlvbnM/LnF1aWNrSW5zZXJ0VmlzaWJsZVwiXG4gICAgPjwvZGl2PlxuICAgIDx0aGUtdGVtcGxhdGUgI3RlbXBsYXRlSW5zdGFuY2U+PC90aGUtdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -5,4 +5,4 @@ export var TheDataMode;
|
|
|
5
5
|
TheDataMode["json"] = "json";
|
|
6
6
|
TheDataMode["html"] = "html";
|
|
7
7
|
})(TheDataMode || (TheDataMode = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2ludGVyZmFjZXMvZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQThCLE1BQU0sZUFBZSxDQUFDO0FBc0IxRSxNQUFNLENBQUMsTUFBTSxTQUFTLHFCQUNmLGFBQWEsQ0FDbkIsQ0FBQztBQU1GLE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsNEJBQWEsQ0FBQTtJQUNiLDRCQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFJhbmdlLCBQYXRoLCBQb2ludCwgTm9kZSwgU3BhbiwgTm9kZUVudHJ5LCBFZGl0b3IsIEVsZW1lbnQsIFRleHQsIEN1c3RvbVR5cGVzIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgU2xhdGVQbGFjZWhvbGRlciwgVmlld1R5cGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IEVsZW1lbnRPcHRpb25zSW5mbyB9IGZyb20gJy4vdmFsaWQtY2hpbGRyZW4tdHlwZXMnO1xuaW1wb3J0IHsgUHJlZGljYXRlIH0gZnJvbSAnLi4vdXRpbHMvbWF0Y2gnO1xuaW1wb3J0IHsgVG9vbGJhck9wdGlvbiB9IGZyb20gJy4vdG9vbGJhcic7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEZvbnRTaXplcyB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXR5cGVzJztcbmltcG9ydCB7IEF1dG9Gb3JtYXRSdWxlIH0gZnJvbSAnLi9hdXRvLWZvcm1hdCc7XG5pbXBvcnQgeyBDdXN0b21FbGVtZW50S2luZHMgfSBmcm9tICcuLi9jdXN0b20tdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUVkaXRvciBleHRlbmRzIEFuZ3VsYXJFZGl0b3IsIEhpc3RvcnlFZGl0b3Ige1xuICAgIHJlbmRlckVsZW1lbnQ6IChlbGVtZW50OiBFbGVtZW50KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJMZWFmOiAodGV4dDogVGV4dCkgPT4gVmlld1R5cGU7XG4gICAgaW5zZXJ0RWxlbWVudDogKGVsZW1lbnQ6IEVsZW1lbnQpID0+IHZvaWQ7XG4gICAgaXNDb250YWluZXI6IChlbGVtZW50OiBFbGVtZW50KSA9PiBib29sZWFuO1xuICAgIGV4dHJhRWxlbWVudE9wdGlvbnM6IEVsZW1lbnRPcHRpb25zSW5mb1tdO1xuICAgIGV4dHJhQXV0b0Zvcm1hdFJ1bGVzOiBBdXRvRm9ybWF0UnVsZVtdO1xuICAgIGV4dHJhSW5kZW50T3B0aW9uczogSW5kZW50T3B0aW9ucztcbiAgICBvcHRpb25zOiBUaGVPcHRpb25zO1xuICAgIGRpc2FibGVkOiBib29sZWFuO1xuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IFRoZUVkaXRvciA9IHtcbiAgICAuLi5Bbmd1bGFyRWRpdG9yXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVBsdWdpbiB7XG4gICAgKGVkaXRvcjogRWRpdG9yKTogRWRpdG9yO1xufVxuXG5leHBvcnQgZW51bSBUaGVEYXRhTW9kZSB7XG4gICAganNvbiA9ICdqc29uJyxcbiAgICBodG1sID0gJ2h0bWwnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlT3B0aW9ucyB7XG4gICAgYWxsb3dDb250YWluZXJPcGVyYXRlVHlwZXM/OiBDdXN0b21FbGVtZW50S2luZHNbXTtcbiAgICBtb2RlPzogVGhlRGF0YU1vZGU7XG4gICAgcmVhZG9ubHk/OiBib29sZWFuO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBhdXRvRm9jdXM/OiBib29sZWFuO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHBsYWNlaG9sZGVyRGVjb3JhdGU/OiAoZWRpdG9yOiBFZGl0b3IpID0+IFNsYXRlUGxhY2Vob2xkZXJbXTtcbiAgICBpbmxpbmVUb29iYXJWaXNpYmxlPzogYm9vbGVhbjtcbiAgICBxdWlja0luc2VydFZpc2libGU/OiBib29sZWFuO1xuICAgIHNjcm9sbENvbnRhaW5lcj86IHN0cmluZztcbiAgICBtYXhIZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBGb250U2l6ZXM7XG4gICAgcmljaE1lZGlhPzogYm9vbGVhbjtcbiAgICB0b29sYmFyPzogVG9vbGJhck9wdGlvbjtcbiAgICBkaXNhYmxlUGx1Z2lucz86IHN0cmluZ1tdO1xuICAgIGV4dHJhRWxlbWVudE9wdGlvbnM/OiBFbGVtZW50T3B0aW9uc0luZm9bXTtcbiAgICBleHRyYUF1dG9Gb3JtYXRSdWxlcz86IEF1dG9Gb3JtYXRSdWxlW107XG4gICAgZXh0cmFJbmRlbnRPcHRpb25zPzogSW5kZW50T3B0aW9ucztcbiAgICBub0JpbmRSZWFkb25seVBsdWdpbnM/OiAoRWxlbWVudEtpbmRzIHwgc3RyaW5nKVtdO1xufVxuXG5leHBvcnQgdHlwZSBOb2RlTWF0Y2g8VCA9IE5vZGU+ID0gUHJlZGljYXRlPFQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hdGNoT3B0aW9uczxUID0gTm9kZT4ge1xuICAgIG1hdGNoPzogTm9kZU1hdGNoPFQ+O1xuICAgIGJsb2NrPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmRlbnRPcHRpb25zIHtcbiAgICBpbmRlbnRUeXBlcz86IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xuICAgIGRpc2FibGVkSW5kZW50VHlwZXM/OiBDdXN0b21FbGVtZW50S2luZHNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0b3JBYm92ZU9wdGlvbnM8VCA9IEFuY2VzdG9yPiBleHRlbmRzIE1hdGNoT3B0aW9uczxUPiB7XG4gICAgYXQ/OiBSYW5nZSB8IFBhdGggfCBQb2ludDtcbiAgICBtb2RlPzogJ2hpZ2hlc3QnIHwgJ2xvd2VzdCc7XG4gICAgdm9pZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvck5vZGVzT3B0aW9ucyB7XG4gICAgYXQ/OiBSYW5nZSB8IFBhdGggfCBQb2ludCB8IFNwYW47XG4gICAgbWF0Y2g/OiAobm9kZTogTm9kZSkgPT4gYm9vbGVhbjtcbiAgICBtb2RlPzogJ2hpZ2hlc3QnIHwgJ2xvd2VzdCcgfCAnYWxsJztcbiAgICB1bml2ZXJzYWw/OiBib29sZWFuO1xuICAgIHJldmVyc2U/OiBib29sZWFuO1xuICAgIHZvaWRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXcmFwT3B0aW9ucyB7XG4gICAgYXQ/OiBQYXRoIHwgUG9pbnQgfCBSYW5nZTtcbiAgICBtYXRjaD86IChub2RlOiBOb2RlKSA9PiBib29sZWFuO1xuICAgIG1vZGU/OiAnaGlnaGVzdCcgfCAnbG93ZXN0JyB8ICdhbGwnO1xuICAgIHNwbGl0PzogYm9vbGVhbjtcbiAgICB2b2lkcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yUGFyZW50T3B0aW9ucyB7XG4gICAgZGVwdGg/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgZWRnZT86ICdzdGFydCcgfCAnZW5kJyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU9wdGlvbnMge1xuICAgIC8vIENvbmRpdGlvbiBvbiB0aGUgbm9kZSB0byBiZSB2YWxpZC5cbiAgICBmaWx0ZXI/OiAoZW50cnk6IE5vZGVFbnRyeTxOb2RlPikgPT4gYm9vbGVhbjtcbiAgICAvLyBMaXN0IG9mIHR5cGVzIHRoYXQgYXJlIHZhbGlkLiBJZiBlbXB0eSBvciB1bmRlZmluZWQgLSBhbGxvdyBhbGwuXG4gICAgYWxsb3c/OiBzdHJpbmdbXTtcbiAgICAvLyBMaXN0IG9mIHR5cGVzIHRoYXQgYXJlIGludmFsaWQuXG4gICAgZXhjbHVkZT86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERvbUV2ZW50RGF0YUluZm8ge1xuICAgIGlucHV0VHlwZT86IHN0cmluZztcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgdGV4dD86IHN0cmluZztcbiAgICBqc29uPzogTm9kZVtdO1xufVxuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Editor, Transforms, Element } from 'slate';
|
|
2
2
|
import { ElementKinds, HEADING_TYPES } from '../../constants/node-types';
|
|
3
3
|
import * as TheQueries from '../../queries';
|
|
4
|
+
import { mergIndentTypes } from './indent.plugin';
|
|
4
5
|
const MaxIndent = 11;
|
|
5
6
|
const includesIndentTypes = [
|
|
6
7
|
ElementKinds.checkItem,
|
|
@@ -9,11 +10,15 @@ const includesIndentTypes = [
|
|
|
9
10
|
ElementKinds.paragraph,
|
|
10
11
|
...HEADING_TYPES
|
|
11
12
|
];
|
|
13
|
+
const getIndentTypes = editor => {
|
|
14
|
+
let indentTypes = editor.extraIndentOptions ? editor.extraIndentOptions.indentTypes : [];
|
|
15
|
+
return mergIndentTypes(includesIndentTypes, indentTypes);
|
|
16
|
+
};
|
|
12
17
|
export const IndentEditor = {
|
|
13
18
|
setIndent(editor) {
|
|
14
19
|
const nodes = Array.from(Editor.nodes(editor, {
|
|
15
20
|
mode: 'highest',
|
|
16
|
-
match: n => Element.isElement(n) &&
|
|
21
|
+
match: n => Element.isElement(n) && getIndentTypes(editor).includes(n.type)
|
|
17
22
|
}));
|
|
18
23
|
const [startBlock] = nodes;
|
|
19
24
|
if (startBlock) {
|
|
@@ -23,7 +28,7 @@ export const IndentEditor = {
|
|
|
23
28
|
if (indent <= MaxIndent) {
|
|
24
29
|
Transforms.setNodes(editor, { indent }, {
|
|
25
30
|
mode: 'highest',
|
|
26
|
-
match: n => Element.isElement(n) &&
|
|
31
|
+
match: n => Element.isElement(n) && getIndentTypes(editor).includes(n.type)
|
|
27
32
|
});
|
|
28
33
|
}
|
|
29
34
|
}
|
|
@@ -31,7 +36,7 @@ export const IndentEditor = {
|
|
|
31
36
|
cancelIndent(editor) {
|
|
32
37
|
const nodes = Array.from(Editor.nodes(editor, {
|
|
33
38
|
mode: 'highest',
|
|
34
|
-
match: n => Element.isElement(n) &&
|
|
39
|
+
match: n => Element.isElement(n) && getIndentTypes(editor).includes(n.type)
|
|
35
40
|
}));
|
|
36
41
|
const [startBlock] = nodes;
|
|
37
42
|
if (startBlock) {
|
|
@@ -39,7 +44,7 @@ export const IndentEditor = {
|
|
|
39
44
|
indent = indent === 1 ? null : (indent -= 1);
|
|
40
45
|
Transforms.setNodes(editor, { indent }, {
|
|
41
46
|
mode: 'highest',
|
|
42
|
-
match: n => Element.isElement(n) &&
|
|
47
|
+
match: n => Element.isElement(n) && getIndentTypes(editor).includes(n.type)
|
|
43
48
|
});
|
|
44
49
|
}
|
|
45
50
|
},
|
|
@@ -71,17 +76,10 @@ export const IndentEditor = {
|
|
|
71
76
|
},
|
|
72
77
|
isDisabled(editor) {
|
|
73
78
|
if (editor.selection) {
|
|
74
|
-
const allowGroup = [
|
|
75
|
-
ElementKinds.paragraph,
|
|
76
|
-
ElementKinds.numberedList,
|
|
77
|
-
ElementKinds.bulletedList,
|
|
78
|
-
ElementKinds.checkItem,
|
|
79
|
-
...HEADING_TYPES
|
|
80
|
-
];
|
|
81
79
|
const anchorBlock = TheQueries.anchorBlock(editor);
|
|
82
|
-
return anchorBlock && !
|
|
80
|
+
return anchorBlock && !getIndentTypes(editor).includes(anchorBlock === null || anchorBlock === void 0 ? void 0 : anchorBlock.type);
|
|
83
81
|
}
|
|
84
82
|
return false;
|
|
85
83
|
}
|
|
86
84
|
};
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2luZGVudC9pbmRlbnQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXpFLE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVsRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxtQkFBbUIsR0FBeUI7SUFDOUMsWUFBWSxDQUFDLFNBQVM7SUFDdEIsWUFBWSxDQUFDLFlBQVk7SUFDekIsWUFBWSxDQUFDLFlBQVk7SUFDekIsWUFBWSxDQUFDLFNBQVM7SUFDdEIsR0FBRyxhQUFhO0NBQ25CLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsRUFBRTtJQUM1QixJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN6RixPQUFPLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7SUFDeEIsU0FBUyxDQUFDLE1BQWlCO1FBQ3ZCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQVUsTUFBTSxFQUFFO1lBQzFCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxD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LElBQUksQ0FBQztTQUNmO1FBQ0QsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixZQUFZLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELElBQUksTUFBTSxFQUFFO1lBQ1IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFDRCxVQUFVLENBQUMsTUFBaUI7UUFDeEIsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQ2xCLE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsT0FBTyxXQUFXLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxJQUFJLENBQUMsQ0FBQztTQUM3RTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lZGl0b3InO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBtZXJnSW5kZW50VHlwZXMgfSBmcm9tICcuL2luZGVudC5wbHVnaW4nO1xuXG5jb25zdCBNYXhJbmRlbnQgPSAxMTtcbmNvbnN0IGluY2x1ZGVzSW5kZW50VHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdID0gW1xuICAgIEVsZW1lbnRLaW5kcy5jaGVja0l0ZW0sXG4gICAgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCxcbiAgICBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LFxuICAgIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsXG4gICAgLi4uSEVBRElOR19UWVBFU1xuXTtcblxuY29uc3QgZ2V0SW5kZW50VHlwZXMgPSBlZGl0b3IgPT4ge1xuICAgIGxldCBpbmRlbnRUeXBlcyA9IGVkaXRvci5leHRyYUluZGVudE9wdGlvbnMgPyBlZGl0b3IuZXh0cmFJbmRlbnRPcHRpb25zLmluZGVudFR5cGVzIDogW107XG4gICAgcmV0dXJuIG1lcmdJbmRlbnRUeXBlcyhpbmNsdWRlc0luZGVudFR5cGVzLCBpbmRlbnRUeXBlcyk7XG59O1xuXG5leHBvcnQgY29uc3QgSW5kZW50RWRpdG9yID0ge1xuICAgIHNldEluZGVudChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgICBFZGl0b3Iubm9kZXM8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGdldEluZGVudFR5cGVzKGVkaXRvcikuaW5jbHVkZXMobi50eXBlKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgW3N0YXJ0QmxvY2tdID0gbm9kZXM7XG4gICAgICAgIGlmIChzdGFydEJsb2NrKSB7XG4gICAgICAgICAgICBsZXQgW3sgaW5kZW50IH1dID0gc3RhcnRCbG9jaztcbiAgICAgICAgICAgIGluZGVudCA9IGluZGVudCA/IGluZGVudCA6IDA7XG4gICAgICAgICAgICBpbmRlbnQgKz0gMTtcbiAgICAgICAgICAgIGlmIChpbmRlbnQgPD0gTWF4SW5kZW50KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IGluZGVudCB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiAnaGlnaGVzdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRjaDogbiA9PiBFbGVtZW50LmlzRWxlbWVudChuKSAmJiBnZXRJbmRlbnRUeXBlcyhlZGl0b3IpLmluY2x1ZGVzKG4udHlwZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGNhbmNlbEluZGVudChlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBub2RlcyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgICBFZGl0b3Iubm9kZXM8RWxlbWVudD4oZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgICAgICAgICAgIG1hdGNoOiBuID0+IEVsZW1lbnQuaXNFbGVtZW50KG4pICYmIGdldEluZGVudFR5cGVzKGVkaXRvcikuaW5jbHVkZXMobi50eXBlKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgW3N0YXJ0QmxvY2tdID0gbm9kZXM7XG4gICAgICAgIGlmIChzdGFydEJsb2NrKSB7XG4gICAgICAgICAgICBsZXQgW3sgaW5kZW50IH1dID0gc3RhcnRCbG9jaztcbiAgICAgICAgICAgIGluZGVudCA9IGluZGVudCA9PT0gMSA/IG51bGwgOiAoaW5kZW50IC09IDEpO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgeyBpbmRlbnQgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG1vZGU6ICdoaWdoZXN0JyxcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG4gPT4gRWxlbWVudC5pc0VsZW1lbnQobikgJiYgZ2V0SW5kZW50VHlwZXMoZWRpdG9yKS5pbmNsdWRlcyhuLnR5cGUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgc2V0VGV4dEluZGVudChlZGl0b3I6IFRoZUVkaXRvciwga2luZHM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdLCB0ZXh0SW5kZW50OiBudW1iZXIpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgIHsgdGV4dEluZGVudCB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1vZGU6ICdoaWdoZXN0JyxcbiAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBraW5kcy5pbmNsdWRlcyhub2RlLnR5cGUpXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfSxcbiAgICBjYW5jZWxUZXh0SW50ZW50KGVkaXRvcjogVGhlRWRpdG9yLCBldmVudDogS2V5Ym9hcmRFdmVudCwgYW5jaG9yQmxvY2s6IEVsZW1lbnQsIGtpbmRzOiBDdXN0b21FbGVtZW50S2luZHNbXSkge1xuICAgICAgICBsZXQgeyB0ZXh0SW5kZW50LCBpbmRlbnQgfSA9IGFuY2hvckJsb2NrO1xuXG4gICAgICAgIGlmICh0ZXh0SW5kZW50ID4gMikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRleHRJbmRlbnQgLT0gMjtcbiAgICAgICAgICAgIEluZGVudEVkaXRvci5zZXRUZXh0SW5kZW50KGVkaXRvciwga2luZHMsIHRleHRJbmRlbnQpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRleHRJbmRlbnQgPT09IDIpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBJbmRlbnRFZGl0b3Iuc2V0VGV4dEluZGVudChlZGl0b3IsIGtpbmRzLCBudWxsKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbmRlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBJbmRlbnRFZGl0b3IuY2FuY2VsSW5kZW50KGVkaXRvcik7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICAgIGlzRGlzYWJsZWQoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgaWYgKGVkaXRvci5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvckJsb2NrID0gVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpO1xuICAgICAgICAgICAgcmV0dXJuIGFuY2hvckJsb2NrICYmICFnZXRJbmRlbnRUeXBlcyhlZGl0b3IpLmluY2x1ZGVzKGFuY2hvckJsb2NrPy50eXBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
+
import { ElementKinds } from '../../constants';
|
|
1
2
|
import { onKeydownTextIndent } from './on-keydown-indent';
|
|
2
3
|
export const withIndent = (kinds) => (editor) => {
|
|
3
4
|
const { onKeydown } = editor;
|
|
4
5
|
editor.onKeydown = (event) => {
|
|
5
|
-
|
|
6
|
+
var _a, _b, _c, _d;
|
|
7
|
+
let indentTypes = kinds;
|
|
8
|
+
let disableIndentTypes = [ElementKinds.bulletedList, ElementKinds.numberedList, ElementKinds.checkItem];
|
|
9
|
+
if ((_b = (_a = editor.extraIndentOptions) === null || _a === void 0 ? void 0 : _a.indentTypes) === null || _b === void 0 ? void 0 : _b.length) {
|
|
10
|
+
indentTypes = mergIndentTypes(kinds, editor.extraIndentOptions.indentTypes);
|
|
11
|
+
}
|
|
12
|
+
if ((_d = (_c = editor.extraIndentOptions) === null || _c === void 0 ? void 0 : _c.disabledIndentTypes) === null || _d === void 0 ? void 0 : _d.length) {
|
|
13
|
+
disableIndentTypes = mergIndentTypes(disableIndentTypes, editor.extraIndentOptions.disabledIndentTypes);
|
|
14
|
+
}
|
|
15
|
+
const isContinue = !onKeydownTextIndent(editor, event, indentTypes, disableIndentTypes);
|
|
6
16
|
if (isContinue) {
|
|
7
17
|
onKeydown(event);
|
|
8
18
|
}
|
|
9
19
|
};
|
|
10
20
|
return editor;
|
|
11
21
|
};
|
|
12
|
-
|
|
22
|
+
export const mergIndentTypes = (defaultTypes, indentTypes) => {
|
|
23
|
+
return Array.from(new Set([...defaultTypes, ...indentTypes]));
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50LnBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL2luZGVudC9pbmRlbnQucGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQ25CLENBQUMsS0FBMkIsRUFBRSxFQUFFLENBQ2hDLENBQXNCLE1BQVMsRUFBSyxFQUFFO0lBQ2xDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFN0IsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTs7UUFDeEMsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksa0JBQWtCLEdBQXlCLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5SCxJQUFJLE1BQUEsTUFBQSxNQUFNLENBQUMsa0JBQWtCLDBDQUFFLFdBQVcsMENBQUUsTUFBTSxFQUFFO1lBQ2hELFdBQVcsR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUMvRTtRQUNELElBQUksTUFBQSxNQUFBLE1BQU0sQ0FBQyxrQkFBa0IsMENBQUUsbUJBQW1CLDBDQUFFLE1BQU0sRUFBRTtZQUN4RCxrQkFBa0IsR0FBRyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDM0c7UUFDRCxNQUFNLFVBQVUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDeEYsSUFBSSxVQUFVLEVBQUU7WUFDWixTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEI7SUFDTCxDQUFDLENBQUM7SUFFRixPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFTixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxZQUFrQyxFQUFFLFdBQWlDLEVBQXdCLEVBQUU7SUFDM0gsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudEtpbmRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VkaXRvcic7XG5pbXBvcnQgeyBvbktleWRvd25UZXh0SW5kZW50IH0gZnJvbSAnLi9vbi1rZXlkb3duLWluZGVudCc7XG5cbmV4cG9ydCBjb25zdCB3aXRoSW5kZW50ID1cbiAgICAoa2luZHM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdKSA9PlxuICAgIDxUIGV4dGVuZHMgVGhlRWRpdG9yPihlZGl0b3I6IFQpOiBUID0+IHtcbiAgICAgICAgY29uc3QgeyBvbktleWRvd24gfSA9IGVkaXRvcjtcblxuICAgICAgICBlZGl0b3Iub25LZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgICBsZXQgaW5kZW50VHlwZXMgPSBraW5kcztcbiAgICAgICAgICAgIGxldCBkaXNhYmxlSW5kZW50VHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdID0gW0VsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5jaGVja0l0ZW1dO1xuICAgICAgICAgICAgaWYgKGVkaXRvci5leHRyYUluZGVudE9wdGlvbnM/LmluZGVudFR5cGVzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpbmRlbnRUeXBlcyA9IG1lcmdJbmRlbnRUeXBlcyhraW5kcywgZWRpdG9yLmV4dHJhSW5kZW50T3B0aW9ucy5pbmRlbnRUeXBlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZWRpdG9yLmV4dHJhSW5kZW50T3B0aW9ucz8uZGlzYWJsZWRJbmRlbnRUeXBlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgZGlzYWJsZUluZGVudFR5cGVzID0gbWVyZ0luZGVudFR5cGVzKGRpc2FibGVJbmRlbnRUeXBlcywgZWRpdG9yLmV4dHJhSW5kZW50T3B0aW9ucy5kaXNhYmxlZEluZGVudFR5cGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzQ29udGludWUgPSAhb25LZXlkb3duVGV4dEluZGVudChlZGl0b3IsIGV2ZW50LCBpbmRlbnRUeXBlcywgZGlzYWJsZUluZGVudFR5cGVzKTtcbiAgICAgICAgICAgIGlmIChpc0NvbnRpbnVlKSB7XG4gICAgICAgICAgICAgICAgb25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gZWRpdG9yO1xuICAgIH07XG5cbmV4cG9ydCBjb25zdCBtZXJnSW5kZW50VHlwZXMgPSAoZGVmYXVsdFR5cGVzOiBDdXN0b21FbGVtZW50S2luZHNbXSwgaW5kZW50VHlwZXM6IEN1c3RvbUVsZW1lbnRLaW5kc1tdKTogQ3VzdG9tRWxlbWVudEtpbmRzW10gPT4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLmRlZmF1bHRUeXBlcywgLi4uaW5kZW50VHlwZXNdKSk7XG59O1xuIl19
|
|
@@ -3,8 +3,7 @@ import { Range, Editor, Element } from 'slate';
|
|
|
3
3
|
import { hotkeys } from 'slate-angular';
|
|
4
4
|
import { TAB_SPACE } from '../../constants/default';
|
|
5
5
|
import { IndentEditor } from './indent.editor';
|
|
6
|
-
|
|
7
|
-
export const onKeydownTextIndent = (editor, event, kinds) => {
|
|
6
|
+
export const onKeydownTextIndent = (editor, event, kinds, textIndentDisabled) => {
|
|
8
7
|
const { selection } = editor;
|
|
9
8
|
const isExpanded = Range.isExpanded(selection);
|
|
10
9
|
const nodes = Array.from(Editor.nodes(editor, {
|
|
@@ -17,14 +16,13 @@ export const onKeydownTextIndent = (editor, event, kinds) => {
|
|
|
17
16
|
}
|
|
18
17
|
const [block, path] = startBlock;
|
|
19
18
|
const isStart = Editor.isStart(editor, selection.anchor, path);
|
|
20
|
-
const textIndentDisable = [ElementKinds.bulletedList, ElementKinds.numberedList, ElementKinds.checkItem];
|
|
21
19
|
if (isKeyHotkey('Tab', event)) {
|
|
22
20
|
event.preventDefault();
|
|
23
21
|
if (startBlock && (isExpanded || isStart)) {
|
|
24
22
|
if (!editor.isVoid(block)) {
|
|
25
23
|
let { textIndent, type } = block;
|
|
26
24
|
// do not apply first-line indentation for lists
|
|
27
|
-
if (!textIndent && !
|
|
25
|
+
if (!textIndent && !textIndentDisabled.includes(type)) {
|
|
28
26
|
IndentEditor.setTextIndent(editor, kinds, 2);
|
|
29
27
|
return true;
|
|
30
28
|
}
|
|
@@ -53,4 +51,4 @@ export const onKeydownTextIndent = (editor, event, kinds) => {
|
|
|
53
51
|
}
|
|
54
52
|
return false;
|
|
55
53
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24ta2V5ZG93bi1pbmRlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRlbnQvb24ta2V5ZG93bi1pbmRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQWUsTUFBTSxPQUFPLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQy9CLE1BQWMsRUFDZCxLQUFvQixFQUNwQixLQUEyQixFQUMzQixrQkFBd0MsRUFDMUMsRUFBRTtJQUNBLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDN0IsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsS0FBSyxDQUFVLE1BQU0sRUFBRTtRQUMxQixJQUFJLEVBQUUsU0FBUztRQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0tBQ3RFLENBQUMsQ0FDTCxDQUFDO0lBQ0YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMzQixJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2IsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQztJQUNqQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRS9ELElBQUksV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRTtRQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxVQUFVLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDO2dCQUNqQyxnREFBZ0Q7Z0JBQ2hELElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQ25ELFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDN0MsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7cUJBQU07b0JBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDL0IsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7YUFDSjtTQUNKO2FBQU07WUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7S0FDSjtJQUNELElBQUksV0FBVyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNqQyxJQUFJLFVBQVUsSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDdkIsT0FBTyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDckU7U0FDSjtLQUNKO0lBQ0QsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUUsSUFBSSxVQUFVLElBQUksT0FBTyxFQUFFO1lBQ3ZCLE9BQU8sWUFBWSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JFO0tBQ0o7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5pbXBvcnQgeyBSYW5nZSwgRWRpdG9yLCBFbGVtZW50LCBDdXN0b21UeXBlcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGhvdGtleXMgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcyB9IGZyb20gJy4uLy4uL2N1c3RvbS10eXBlcyc7XG5pbXBvcnQgeyBUQUJfU1BBQ0UgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBJbmRlbnRFZGl0b3IgfSBmcm9tICcuL2luZGVudC5lZGl0b3InO1xuXG5leHBvcnQgY29uc3Qgb25LZXlkb3duVGV4dEluZGVudCA9IChcbiAgICBlZGl0b3I6IEVkaXRvcixcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudCxcbiAgICBraW5kczogQ3VzdG9tRWxlbWVudEtpbmRzW10sXG4gICAgdGV4dEluZGVudERpc2FibGVkOiBDdXN0b21FbGVtZW50S2luZHNbXVxuKSA9PiB7XG4gICAgY29uc3QgeyBzZWxlY3Rpb24gfSA9IGVkaXRvcjtcbiAgICBjb25zdCBpc0V4cGFuZGVkID0gUmFuZ2UuaXNFeHBhbmRlZChzZWxlY3Rpb24pO1xuICAgIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShcbiAgICAgICAgRWRpdG9yLm5vZGVzPEVsZW1lbnQ+KGVkaXRvciwge1xuICAgICAgICAgICAgbW9kZTogJ2hpZ2hlc3QnLFxuICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYga2luZHMuaW5jbHVkZXMobm9kZS50eXBlKVxuICAgICAgICB9KVxuICAgICk7XG4gICAgY29uc3QgW3N0YXJ0QmxvY2tdID0gbm9kZXM7XG4gICAgaWYgKCFzdGFydEJsb2NrKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBbYmxvY2ssIHBhdGhdID0gc3RhcnRCbG9jaztcbiAgICBjb25zdCBpc1N0YXJ0ID0gRWRpdG9yLmlzU3RhcnQoZWRpdG9yLCBzZWxlY3Rpb24uYW5jaG9yLCBwYXRoKTtcblxuICAgIGlmIChpc0tleUhvdGtleSgnVGFiJywgZXZlbnQpKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmIChzdGFydEJsb2NrICYmIChpc0V4cGFuZGVkIHx8IGlzU3RhcnQpKSB7XG4gICAgICAgICAgICBpZiAoIWVkaXRvci5pc1ZvaWQoYmxvY2spKSB7XG4gICAgICAgICAgICAgICAgbGV0IHsgdGV4dEluZGVudCwgdHlwZSB9ID0gYmxvY2s7XG4gICAgICAgICAgICAgICAgLy8gZG8gbm90IGFwcGx5IGZpcnN0LWxpbmUgaW5kZW50YXRpb24gZm9yIGxpc3RzXG4gICAgICAgICAgICAgICAgaWYgKCF0ZXh0SW5kZW50ICYmICF0ZXh0SW5kZW50RGlzYWJsZWQuaW5jbHVkZXModHlwZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgSW5kZW50RWRpdG9yLnNldFRleHRJbmRlbnQoZWRpdG9yLCBraW5kcywgMik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIEluZGVudEVkaXRvci5zZXRJbmRlbnQoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZWRpdG9yLmluc2VydFRleHQoVEFCX1NQQUNFKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChpc0tleUhvdGtleSgnc2hpZnQrVGFiJywgZXZlbnQpKSB7XG4gICAgICAgIGlmIChzdGFydEJsb2NrICYmIChpc0V4cGFuZGVkIHx8IGlzU3RhcnQpKSB7XG4gICAgICAgICAgICBpZiAoIWVkaXRvci5pc1ZvaWQoYmxvY2spKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEluZGVudEVkaXRvci5jYW5jZWxUZXh0SW50ZW50KGVkaXRvciwgZXZlbnQsIGJsb2NrLCBraW5kcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZChzZWxlY3Rpb24pICYmIGhvdGtleXMuaXNEZWxldGVCYWNrd2FyZChldmVudCkpIHtcbiAgICAgICAgaWYgKHN0YXJ0QmxvY2sgJiYgaXNTdGFydCkge1xuICAgICAgICAgICAgcmV0dXJuIEluZGVudEVkaXRvci5jYW5jZWxUZXh0SW50ZW50KGVkaXRvciwgZXZlbnQsIGJsb2NrLCBraW5kcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbiJdfQ==
|
package/esm2015/plugins/index.js
CHANGED
|
@@ -124,4 +124,4 @@ export const withTheEditor = (plugins, editor) => {
|
|
|
124
124
|
pluginList.reduce((prevEditor, nextEditor) => nextEditor(prevEditor), e);
|
|
125
125
|
return e;
|
|
126
126
|
};
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFB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QUEwQyxPQUFvQixFQUFFLE1BQVMsRUFBRSxFQUFFO0lBQ3RHLE1BQU0sQ0FBQyxHQUFHLE1BQXVCLENBQUM7SUFFbEMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBRXBELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0ICogYXMgVHlwZXMgZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yLCBUaGVQbHVnaW4sIFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEVMRU1FTlRfVU5JUVVFX0lELCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uL3V0aWxzL2lkLWNyZWF0b3InO1xuaW1wb3J0IHsgd2l0aFRoZUhpc3RvcnkgfSBmcm9tICcuL2NvbW1vbi9oaXN0b3J5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVNZCB9IGZyb20gJy4vZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1tZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEF1dG9JbnNlcnREYXRhIH0gZnJvbSAnLi9jb21tb24vYXV0by1pbnNlcnQtZGF0YS4nO1xuaW1wb3J0IHsgd2l0aFJlbW92ZUVtcHR5IH0gZnJvbSAnLi9jb21tb24vcmVtb3ZlLWVtcHR5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoUmVzZXRUeXBlIH0gZnJvbSAnLi9jb21tb24vcmVzZXQtdHlwZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEltYWdlIH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aExpc3QgfSBmcm9tICcuL2xpc3QvbGlzdC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRvZG9JdGVtIH0gZnJvbSAnLi90b2RvLWl0ZW0vdG9kby1pdGVtLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSHIgfSBmcm9tICcuL2hyL2hyLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQWxpZ24gfSBmcm9tICcuL2FsaWduL2FsaWduLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSGVhZGluZyB9IGZyb20gJy4vaGVhZGluZy9oZWFkaW5nLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTWFyayB9IGZyb20gJy4vbWFyay9tYXJrLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTm9kZUlEIH0gZnJvbSAnLi9ub2RlLWlkL25vZGUtaWQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBdXRvRm9ybWF0IH0gZnJvbSAnLi9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUcmFuc2Zvcm1zIH0gZnJvbSAnLi9jb21tb24vdHJhbnNmb3Jtcy5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRyYWlsaW5nTm9kZSB9IGZyb20gJy4vbm9ybWFsaXplcnMvdHJhaWxpbmctbm9kZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEJsb2NrQ2FyZCB9IGZyb20gJy4vY29tbW9uL2Jsb2NrLWNhcmQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhNb3ZlU2VsZWN0aW9uIH0gZnJvbSAnLi9jb21tb24vbW92ZS1zZWxlY3Rpb24ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhHZXRGcmFnbWVudCB9IGZyb20gJy4vY29tbW9uL2dldC1mcmFnbWVudC5wbHVnaW4nO1xuaW1wb3J0IHsgVG9kb0l0ZW1PcHRpb25zIH0gZnJvbSAnLi90b2RvLWl0ZW0vb3B0aW9ucyc7XG5pbXBvcnQgeyBNYXJrT3B0aW9ucyB9IGZyb20gJy4vbWFyay9vcHRpb25zJztcbmltcG9ydCB7IExpc3RPcHRpb25zIH0gZnJvbSAnLi9saXN0L29wdGlvbnMnO1xuaW1wb3J0IHsgSW1hZ2VPcHRpb25zIH0gZnJvbSAnLi9pbWFnZS9vcHRpb25zJztcbmltcG9ydCB7IEhyT3B0aW9ucyB9IGZyb20gJy4vaHIvb3B0aW9ucyc7XG5pbXBvcnQgeyBIZWFkaW5nT3B0aW9ucyB9IGZyb20gJy4vaGVhZGluZy9vcHRpb25zJztcbmltcG9ydCB7IEJsb2NrcXVvdGVPcHRpb25zIH0gZnJvbSAnLi9ibG9ja3F1b3RlL29wdGlvbnMnO1xuaW1wb3J0IHsgQWxpZ25PcHRpb25zIH0gZnJvbSAnLi9hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhCbG9ja3F1b3RlIH0gZnJvbSAnLi9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUucGx1Z2luJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IENvbG9yT3B0aW9ucyB9IGZyb20gJy4vY29sb3Ivb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoUmVtb3ZlVm9pZCB9IGZyb20gJy4vY29tbW9uL3JlbW92ZS12b2lkLnBsdWdpbic7XG5pbXBvcnQgeyBDb2RlT3B0aW9ucyB9IGZyb20gJy4vY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhDb2RlIH0gZnJvbSAnLi9jb2RlL2NvZGUucGx1Z2luJztcbmltcG9ydCB7IExpbmtPcHRpb25zIH0gZnJvbSAnLi9saW5rL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aExpbmsgfSBmcm9tICcuL2xpbmsvbGluay5wbHVnaW4nO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhUYWJsZSB9IGZyb20gJy4vdGFibGUvdGFibGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcyB9IGZyb20gJy4vbm9ybWFsaXplcnMvaW5zZXJ0LXBhcmFncmFwaC1ub2Rlcyc7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVITVRMIH0gZnJvbSAnLi9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLWh0bWwucGx1Z2luJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25PcHRpb25zIH0gZnJvbSAnLi92ZXJ0aWNhbC1hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IFBhaW50Rm9ybWF0T3B0aW9ucyB9IGZyb20gJy4vcGFpbnQtZm9ybWF0L29wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHdpdGhRdWlja0luc2VydCB9IGZyb20gJy4vcXVpY2staW5zZXJ0L3F1aWNrLWluc2VydC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFNvZnRCcmVhayB9IGZyb20gJy4vc29mdC1icmVhay9zb2Z0LWJyZWFrLnBsdWdpbic7XG5pbXBvcnQgeyBGb250U2l6ZU9wdGlvbnMgfSBmcm9tICcuL2ZvbnQtc2l6ZS9vcHRpb25zJztcbmltcG9ydCB7IElubGluZUNvZGVPcHRpb25zIH0gZnJvbSAnLi9pbmxpbmUtY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhJbmxpbmVDb2RlIH0gZnJvbSAnLi9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5wbHVnaW4nO1xuaW1wb3J0IHsgSW5kZW50T3B0aW9ucyB9IGZyb20gJy4vaW5kZW50L29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aEluZGVudCB9IGZyb20gJy4vaW5kZW50L2luZGVudC5wbHVnaW4nO1xuXG5jb25zdCBpbnRlcm5hbFBsdWdpbnM6ICgoZWRpdG9yOiBFZGl0b3IpID0+IEVkaXRvcilbXSA9IFtcbiAgICB3aXRoVGhlSGlzdG9yeSxcbiAgICB3aXRoQXV0b0luc2VydERhdGEoKSxcbiAgICB3aXRoUmVtb3ZlRW1wdHksXG4gICAgd2l0aFJlbW92ZVZvaWQsXG4gICAgd2l0aEJsb2NrQ2FyZCwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN044CBcmVzZXR0eXBl44CBdG9kb+OAgWRlc2VyaWFsaXplLWh0bWxcbiAgICB3aXRoUmVzZXRUeXBlLFxuICAgIHdpdGhJbmRlbnQoW0VsZW1lbnRLaW5kcy5jaGVja0l0ZW0sIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIC4uLkhFQURJTkdfVFlQRVNdKSwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN0XG4gICAgd2l0aExpc3QoeyB2YWxpZExpQ2hpbGRyZW5UeXBlczogW0VsZW1lbnRLaW5kcy5pbWFnZV0gfSksXG4gICAgd2l0aExpbmssXG4gICAgd2l0aFRhYmxlLFxuICAgIHdpdGhUb2RvSXRlbSxcbiAgICB3aXRoSHIsXG4gICAgd2l0aEFsaWduLFxuICAgIHdpdGhDb2RlLFxuICAgIHdpdGhIZWFkaW5nLFxuICAgIHdpdGhNYXJrKCksXG4gICAgd2l0aFNvZnRCcmVhayh7XG4gICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICB7IGhvdGtleTogJ3NoaWZ0K2VudGVyJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGhvdGtleTogJ2VudGVyJyxcbiAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICBhbGxvdzogW0VsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0pLFxuICAgIHdpdGhCbG9ja3F1b3RlLFxuICAgIHdpdGhOb2RlSUQoeyBpZEtleTogRUxFTUVOVF9VTklRVUVfSUQsIGlkQ3JlYXRvciB9KSxcbiAgICB3aXRoQXV0b0Zvcm1hdCgpLFxuICAgIHdpdGhUcmFuc2Zvcm1zKCksXG4gICAgd2l0aFRyYWlsaW5nTm9kZSh7IHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIGxldmVsOiAwIH0pLFxuICAgIHdpdGhNb3ZlU2VsZWN0aW9uLFxuICAgIHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcygpLFxuICAgIHdpdGhHZXRGcmFnbWVudCgpLFxuICAgIHdpdGhJbWFnZSwgLy8gIG11c3QgYmUgYmVmb3JlIHdpdGhEZXNlcmlhbGl6ZUhNVExcbiAgICB3aXRoRGVzZXJpYWxpemVITVRMLFxuICAgIHdpdGhEZXNlcmlhbGl6ZU1kKCksXG4gICAgd2l0aFF1aWNrSW5zZXJ0LFxuICAgIHdpdGhJbmxpbmVDb2RlXG5dO1xuXG5jb25zdCBpbnRlcm5hbFRvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSA9IFtcbiAgICAuLi5BbGlnbk9wdGlvbnMsXG4gICAgLi4uTWFya09wdGlvbnMsXG4gICAgLi4uQ29sb3JPcHRpb25zLFxuICAgIC4uLkhlYWRpbmdPcHRpb25zLFxuICAgIC4uLkZvbnRTaXplT3B0aW9ucyxcbiAgICAuLi5Ub2RvSXRlbU9wdGlvbnMsXG4gICAgLi4uTGlzdE9wdGlvbnMsXG4gICAgLi4uSW1hZ2VPcHRpb25zLFxuICAgIC4uLkhyT3B0aW9ucyxcbiAgICAuLi5CbG9ja3F1b3RlT3B0aW9ucyxcbiAgICAuLi5Db2RlT3B0aW9ucyxcbiAgICAuLi5MaW5rT3B0aW9ucyxcbiAgICAuLi5UYWJsZU9wdGlvbnMsXG4gICAgLi4uVmVydGljYWxBbGlnbk9wdGlvbnMsXG4gICAgLi4uUGFpbnRGb3JtYXRPcHRpb25zLFxuICAgIC4uLklubGluZUNvZGVPcHRpb25zLFxuICAgIC4uLkluZGVudE9wdGlvbnNcbl07XG5cbmV4cG9ydCBjb25zdCB0b29sYmFyQ29tcG9zZSA9ICh0b29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW10gPSBbXSkgPT4ge1xuICAgIHJldHVybiBbLi4uaW50ZXJuYWxUb29sYmFySXRlbXMsIC4uLnRvb2xiYXJJdGVtc107XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aFRoZUVkaXRvciA9IDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciAmIEhpc3RvcnlFZGl0b3I+KHBsdWdpbnM6IFRoZVBsdWdpbltdLCBlZGl0b3I6IFQpID0+IHtcbiAgICBjb25zdCBlID0gZWRpdG9yIGFzIFQgJiBUaGVFZGl0b3I7XG5cbiAgICBlLnJlbmRlckVsZW1lbnQgPSAoZWxlbWVudDogRWxlbWVudCk6IFZpZXdUeXBlID0+IG51bGw7XG4gICAgZS5yZW5kZXJMZWFmID0gKHRleHQ6IFRleHQpOiBWaWV3VHlwZSA9PiBudWxsO1xuICAgIGUuaW5zZXJ0RWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KSA9PiBUaGVUcmFuc2Zvcm1zLmluc2VydEVsZW1lbnROZXh0KGUsIGVsZW1lbnQpO1xuICAgIGUuaXNDb250YWluZXIgPSAodmFsdWU6IEVsZW1lbnQpID0+IGZhbHNlO1xuICAgIGUuZXh0cmFFbGVtZW50T3B0aW9ucyA9IFtdO1xuICAgIGUuZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IHBsdWdpbkxpc3QgPSBbLi4uaW50ZXJuYWxQbHVnaW5zLCAuLi5wbHVnaW5zXTtcblxuICAgIHBsdWdpbkxpc3QucmVkdWNlKChwcmV2RWRpdG9yLCBuZXh0RWRpdG9yKSA9PiBuZXh0RWRpdG9yKHByZXZFZGl0b3IpLCBlKTtcblxuICAgIHJldHVybiBlO1xufTtcbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFB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QUEwQyxPQUFvQixFQUFFLE1BQVMsRUFBRSxFQUFFO0lBQ3RHLE1BQU0sQ0FBQyxHQUFHLE1BQXVCLENBQUM7SUFFbEMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQVksRUFBRSxDQUFDLElBQUksQ0FBQztJQUN2RCxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBVSxFQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDOUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFbkIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLGVBQWUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0lBRXBELFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekUsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIEVsZW1lbnQsIFRleHQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBWaWV3VHlwZSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0ICogYXMgVHlwZXMgZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVGhlRWRpdG9yLCBUaGVQbHVnaW4sIFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFbGVtZW50S2luZHMsIEVMRU1FTlRfVU5JUVVFX0lELCBIRUFESU5HX1RZUEVTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGlkQ3JlYXRvciB9IGZyb20gJy4uL3V0aWxzL2lkLWNyZWF0b3InO1xuaW1wb3J0IHsgd2l0aFRoZUhpc3RvcnkgfSBmcm9tICcuL2NvbW1vbi9oaXN0b3J5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVNZCB9IGZyb20gJy4vZGVzZXJpYWxpemVycy9kZXNlcmlhbGl6ZS1tZC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEF1dG9JbnNlcnREYXRhIH0gZnJvbSAnLi9jb21tb24vYXV0by1pbnNlcnQtZGF0YS4nO1xuaW1wb3J0IHsgd2l0aFJlbW92ZUVtcHR5IH0gZnJvbSAnLi9jb21tb24vcmVtb3ZlLWVtcHR5LnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoUmVzZXRUeXBlIH0gZnJvbSAnLi9jb21tb24vcmVzZXQtdHlwZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEltYWdlIH0gZnJvbSAnLi9pbWFnZS9pbWFnZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aExpc3QgfSBmcm9tICcuL2xpc3QvbGlzdC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRvZG9JdGVtIH0gZnJvbSAnLi90b2RvLWl0ZW0vdG9kby1pdGVtLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSHIgfSBmcm9tICcuL2hyL2hyLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoQWxpZ24gfSBmcm9tICcuL2FsaWduL2FsaWduLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoSGVhZGluZyB9IGZyb20gJy4vaGVhZGluZy9oZWFkaW5nLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTWFyayB9IGZyb20gJy4vbWFyay9tYXJrLnBsdWdpbic7XG5pbXBvcnQgeyB3aXRoTm9kZUlEIH0gZnJvbSAnLi9ub2RlLWlkL25vZGUtaWQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhBdXRvRm9ybWF0IH0gZnJvbSAnLi9hdXRvZm9ybWF0L2F1dG9mb3JtYXQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhUcmFuc2Zvcm1zIH0gZnJvbSAnLi9jb21tb24vdHJhbnNmb3Jtcy5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFRyYWlsaW5nTm9kZSB9IGZyb20gJy4vbm9ybWFsaXplcnMvdHJhaWxpbmctbm9kZS5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aEJsb2NrQ2FyZCB9IGZyb20gJy4vY29tbW9uL2Jsb2NrLWNhcmQucGx1Z2luJztcbmltcG9ydCB7IHdpdGhNb3ZlU2VsZWN0aW9uIH0gZnJvbSAnLi9jb21tb24vbW92ZS1zZWxlY3Rpb24ucGx1Z2luJztcbmltcG9ydCB7IHdpdGhHZXRGcmFnbWVudCB9IGZyb20gJy4vY29tbW9uL2dldC1mcmFnbWVudC5wbHVnaW4nO1xuaW1wb3J0IHsgVG9kb0l0ZW1PcHRpb25zIH0gZnJvbSAnLi90b2RvLWl0ZW0vb3B0aW9ucyc7XG5pbXBvcnQgeyBNYXJrT3B0aW9ucyB9IGZyb20gJy4vbWFyay9vcHRpb25zJztcbmltcG9ydCB7IExpc3RPcHRpb25zIH0gZnJvbSAnLi9saXN0L29wdGlvbnMnO1xuaW1wb3J0IHsgSW1hZ2VPcHRpb25zIH0gZnJvbSAnLi9pbWFnZS9vcHRpb25zJztcbmltcG9ydCB7IEhyT3B0aW9ucyB9IGZyb20gJy4vaHIvb3B0aW9ucyc7XG5pbXBvcnQgeyBIZWFkaW5nT3B0aW9ucyB9IGZyb20gJy4vaGVhZGluZy9vcHRpb25zJztcbmltcG9ydCB7IEJsb2NrcXVvdGVPcHRpb25zIH0gZnJvbSAnLi9ibG9ja3F1b3RlL29wdGlvbnMnO1xuaW1wb3J0IHsgQWxpZ25PcHRpb25zIH0gZnJvbSAnLi9hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhCbG9ja3F1b3RlIH0gZnJvbSAnLi9ibG9ja3F1b3RlL2Jsb2NrcXVvdGUucGx1Z2luJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IENvbG9yT3B0aW9ucyB9IGZyb20gJy4vY29sb3Ivb3B0aW9ucyc7XG5pbXBvcnQgeyB3aXRoUmVtb3ZlVm9pZCB9IGZyb20gJy4vY29tbW9uL3JlbW92ZS12b2lkLnBsdWdpbic7XG5pbXBvcnQgeyBDb2RlT3B0aW9ucyB9IGZyb20gJy4vY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhDb2RlIH0gZnJvbSAnLi9jb2RlL2NvZGUucGx1Z2luJztcbmltcG9ydCB7IExpbmtPcHRpb25zIH0gZnJvbSAnLi9saW5rL29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aExpbmsgfSBmcm9tICcuL2xpbmsvbGluay5wbHVnaW4nO1xuaW1wb3J0IHsgVGFibGVPcHRpb25zIH0gZnJvbSAnLi90YWJsZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhUYWJsZSB9IGZyb20gJy4vdGFibGUvdGFibGUucGx1Z2luJztcbmltcG9ydCB7IHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcyB9IGZyb20gJy4vbm9ybWFsaXplcnMvaW5zZXJ0LXBhcmFncmFwaC1ub2Rlcyc7XG5pbXBvcnQgeyB3aXRoRGVzZXJpYWxpemVITVRMIH0gZnJvbSAnLi9kZXNlcmlhbGl6ZXJzL2Rlc2VyaWFsaXplLWh0bWwucGx1Z2luJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ25PcHRpb25zIH0gZnJvbSAnLi92ZXJ0aWNhbC1hbGlnbi9vcHRpb25zJztcbmltcG9ydCB7IFBhaW50Rm9ybWF0T3B0aW9ucyB9IGZyb20gJy4vcGFpbnQtZm9ybWF0L29wdGlvbnMnO1xuaW1wb3J0ICogYXMgVGhlVHJhbnNmb3JtcyBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHdpdGhRdWlja0luc2VydCB9IGZyb20gJy4vcXVpY2staW5zZXJ0L3F1aWNrLWluc2VydC5wbHVnaW4nO1xuaW1wb3J0IHsgd2l0aFNvZnRCcmVhayB9IGZyb20gJy4vc29mdC1icmVhay9zb2Z0LWJyZWFrLnBsdWdpbic7XG5pbXBvcnQgeyBGb250U2l6ZU9wdGlvbnMgfSBmcm9tICcuL2ZvbnQtc2l6ZS9vcHRpb25zJztcbmltcG9ydCB7IElubGluZUNvZGVPcHRpb25zIH0gZnJvbSAnLi9pbmxpbmUtY29kZS9vcHRpb25zJztcbmltcG9ydCB7IHdpdGhJbmxpbmVDb2RlIH0gZnJvbSAnLi9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5wbHVnaW4nO1xuaW1wb3J0IHsgSW5kZW50T3B0aW9ucyB9IGZyb20gJy4vaW5kZW50L29wdGlvbnMnO1xuaW1wb3J0IHsgd2l0aEluZGVudCB9IGZyb20gJy4vaW5kZW50L2luZGVudC5wbHVnaW4nO1xuXG5jb25zdCBpbnRlcm5hbFBsdWdpbnM6ICgoZWRpdG9yOiBFZGl0b3IpID0+IEVkaXRvcilbXSA9IFtcbiAgICB3aXRoVGhlSGlzdG9yeSxcbiAgICB3aXRoQXV0b0luc2VydERhdGEoKSxcbiAgICB3aXRoUmVtb3ZlRW1wdHksXG4gICAgd2l0aFJlbW92ZVZvaWQsXG4gICAgd2l0aEJsb2NrQ2FyZCwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN044CBcmVzZXR0eXBl44CBdG9kb+OAgWRlc2VyaWFsaXplLWh0bWxcbiAgICB3aXRoUmVzZXRUeXBlLFxuICAgIHdpdGhJbmRlbnQoW0VsZW1lbnRLaW5kcy5jaGVja0l0ZW0sIEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3QsIEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIC4uLkhFQURJTkdfVFlQRVNdKSwgLy8gc2hvdWxkIGluIHRoZSBmcm9udCBvZiBsaXN0XG4gICAgd2l0aExpc3QoeyB2YWxpZExpQ2hpbGRyZW5UeXBlczogW0VsZW1lbnRLaW5kcy5pbWFnZV0gfSksXG4gICAgd2l0aExpbmssXG4gICAgd2l0aFRhYmxlLFxuICAgIHdpdGhUb2RvSXRlbSxcbiAgICB3aXRoSHIsXG4gICAgd2l0aEFsaWduLFxuICAgIHdpdGhDb2RlLFxuICAgIHdpdGhIZWFkaW5nLFxuICAgIHdpdGhNYXJrKCksXG4gICAgd2l0aFNvZnRCcmVhayh7XG4gICAgICAgIHJ1bGVzOiBbXG4gICAgICAgICAgICB7IGhvdGtleTogJ3NoaWZ0K2VudGVyJyB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGhvdGtleTogJ2VudGVyJyxcbiAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICBhbGxvdzogW0VsZW1lbnRLaW5kcy5ibG9ja3F1b3RlXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgIH0pLFxuICAgIHdpdGhCbG9ja3F1b3RlLFxuICAgIHdpdGhOb2RlSUQoeyBpZEtleTogRUxFTUVOVF9VTklRVUVfSUQsIGlkQ3JlYXRvciB9KSxcbiAgICB3aXRoQXV0b0Zvcm1hdCgpLFxuICAgIHdpdGhUcmFuc2Zvcm1zKCksXG4gICAgd2l0aFRyYWlsaW5nTm9kZSh7IHR5cGU6IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgsIGxldmVsOiAwIH0pLFxuICAgIHdpdGhNb3ZlU2VsZWN0aW9uLFxuICAgIHdpdGhJbnNlcnRQYXJhZ3JhcGhOb2RlcygpLFxuICAgIHdpdGhHZXRGcmFnbWVudCgpLFxuICAgIHdpdGhJbWFnZSwgLy8gIG11c3QgYmUgYmVmb3JlIHdpdGhEZXNlcmlhbGl6ZUhNVExcbiAgICB3aXRoRGVzZXJpYWxpemVITVRMLFxuICAgIHdpdGhEZXNlcmlhbGl6ZU1kKCksXG4gICAgd2l0aFF1aWNrSW5zZXJ0LCAvLyBtdXN0IGJlIGJlZm9yZSBwbHVnaW5zIHRoYXQgaW5jbHVkZSBvbmtleWRvd24gZXZlbnRzXG4gICAgd2l0aElubGluZUNvZGVcbl07XG5cbmNvbnN0IGludGVybmFsVG9vbGJhckl0ZW1zOiBUb29sYmFySXRlbVtdID0gW1xuICAgIC4uLkFsaWduT3B0aW9ucyxcbiAgICAuLi5NYXJrT3B0aW9ucyxcbiAgICAuLi5Db2xvck9wdGlvbnMsXG4gICAgLi4uSGVhZGluZ09wdGlvbnMsXG4gICAgLi4uRm9udFNpemVPcHRpb25zLFxuICAgIC4uLlRvZG9JdGVtT3B0aW9ucyxcbiAgICAuLi5MaXN0T3B0aW9ucyxcbiAgICAuLi5JbWFnZU9wdGlvbnMsXG4gICAgLi4uSHJPcHRpb25zLFxuICAgIC4uLkJsb2NrcXVvdGVPcHRpb25zLFxuICAgIC4uLkNvZGVPcHRpb25zLFxuICAgIC4uLkxpbmtPcHRpb25zLFxuICAgIC4uLlRhYmxlT3B0aW9ucyxcbiAgICAuLi5WZXJ0aWNhbEFsaWduT3B0aW9ucyxcbiAgICAuLi5QYWludEZvcm1hdE9wdGlvbnMsXG4gICAgLi4uSW5saW5lQ29kZU9wdGlvbnMsXG4gICAgLi4uSW5kZW50T3B0aW9uc1xuXTtcblxuZXhwb3J0IGNvbnN0IHRvb2xiYXJDb21wb3NlID0gKHRvb2xiYXJJdGVtczogVG9vbGJhckl0ZW1bXSA9IFtdKSA9PiB7XG4gICAgcmV0dXJuIFsuLi5pbnRlcm5hbFRvb2xiYXJJdGVtcywgLi4udG9vbGJhckl0ZW1zXTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoVGhlRWRpdG9yID0gPFQgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yICYgSGlzdG9yeUVkaXRvcj4ocGx1Z2luczogVGhlUGx1Z2luW10sIGVkaXRvcjogVCkgPT4ge1xuICAgIGNvbnN0IGUgPSBlZGl0b3IgYXMgVCAmIFRoZUVkaXRvcjtcblxuICAgIGUucmVuZGVyRWxlbWVudCA9IChlbGVtZW50OiBFbGVtZW50KTogVmlld1R5cGUgPT4gbnVsbDtcbiAgICBlLnJlbmRlckxlYWYgPSAodGV4dDogVGV4dCk6IFZpZXdUeXBlID0+IG51bGw7XG4gICAgZS5pbnNlcnRFbGVtZW50ID0gKGVsZW1lbnQ6IEVsZW1lbnQpID0+IFRoZVRyYW5zZm9ybXMuaW5zZXJ0RWxlbWVudE5leHQoZSwgZWxlbWVudCk7XG4gICAgZS5pc0NvbnRhaW5lciA9ICh2YWx1ZTogRWxlbWVudCkgPT4gZmFsc2U7XG4gICAgZS5leHRyYUVsZW1lbnRPcHRpb25zID0gW107XG4gICAgZS5kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcGx1Z2luTGlzdCA9IFsuLi5pbnRlcm5hbFBsdWdpbnMsIC4uLnBsdWdpbnNdO1xuXG4gICAgcGx1Z2luTGlzdC5yZWR1Y2UoKHByZXZFZGl0b3IsIG5leHRFZGl0b3IpID0+IG5leHRFZGl0b3IocHJldkVkaXRvciksIGUpO1xuXG4gICAgcmV0dXJuIGU7XG59O1xuIl19
|