@worktile/theia 16.2.1 → 16.2.3
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/editor.module.d.ts +2 -2
- package/esm2022/plugins/paint-format/paint-format.editor.mjs +14 -11
- package/esm2022/plugins/table/components/table.component.mjs +14 -17
- package/esm2022/plugins/table/table.editor.mjs +6 -1
- package/esm2022/plugins/table/table.plugin.mjs +23 -23
- package/esm2022/plugins/table/table.store.mjs +5 -22
- package/esm2022/plugins/table/transforms/move-selection-from-cell.mjs +91 -0
- package/esm2022/plugins/table/utils/calc-anchor-position.mjs +13 -12
- package/esm2022/plugins/table/utils/create-table-position.mjs +2 -2
- package/esm2022/plugins/table/utils/get-next-cell.mjs +44 -0
- package/esm2022/plugins/table/utils/index.mjs +9 -10
- package/fesm2022/worktile-theia.mjs +716 -604
- package/fesm2022/worktile-theia.mjs.map +1 -1
- package/interfaces/editor.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/paint-format/paint-format.editor.d.ts +10 -1
- package/plugins/table/table.editor.d.ts +10 -1
- package/plugins/table/table.plugin.d.ts +1 -1
- package/plugins/table/transforms/move-selection-from-cell.d.ts +7 -0
- package/plugins/table/utils/calc-anchor-position.d.ts +3 -3
- package/plugins/table/utils/get-next-cell.d.ts +4 -0
- package/plugins/table/utils/index.d.ts +8 -9
- package/queries/is-range-across-blocks.d.ts +1 -1
package/editor.module.d.ts
CHANGED
|
@@ -101,8 +101,8 @@ import * as i68 from "ngx-tethys/input-number";
|
|
|
101
101
|
import * as i69 from "ngx-tethys/color-picker";
|
|
102
102
|
import * as i70 from "ng-codemirror";
|
|
103
103
|
import * as i71 from "./components/column-resize/column-resize.module";
|
|
104
|
-
export declare const COMPONENTS: (typeof
|
|
105
|
-
export declare const PLUGIN_COMPONENTS: (typeof
|
|
104
|
+
export declare const COMPONENTS: (typeof TheTableToolbarItemComponent | typeof TheVerticalToolbarItemComponent | typeof TheColorToolbarItemComponent | typeof TheInsertMarkComponent | typeof TheContextMenuComponent | typeof TheDefaultElementComponent | typeof TheToolbarGroupComponent | typeof TheToolbarDropdownComponent | typeof TheToolbarItemComponent | typeof TheToolbarComponent | typeof TheListboxOptionDirective | typeof TheListboxGroupDirective | typeof TheListboxDirective | typeof ThePreventDefaultDirective | typeof ThePluginMenuComponent | typeof TheTableOptionsComponent | typeof TheTextComponent | typeof TheConversionHintComponent | typeof TheTableSelectComponent | typeof TheInlineToolbarComponent | typeof TheQuickInsertComponent)[];
|
|
105
|
+
export declare const PLUGIN_COMPONENTS: (typeof TheTableComponent | typeof TheTableRowComponent | typeof TheTdComponent | typeof TheTableToolbarComponent | typeof TheLinkHoverComponent | typeof TheLinkEditComponent | typeof TheLinkComponent | typeof TheTemplateComponent | typeof TheBlockquoteComponent | typeof TheCodeComponent | typeof TheImageComponent | typeof TheTodoItemComponent)[];
|
|
106
106
|
export declare class TheEditorModule {
|
|
107
107
|
static ɵfac: i0.ɵɵFactoryDeclaration<TheEditorModule, never>;
|
|
108
108
|
static ɵmod: i0.ɵɵNgModuleDeclaration<TheEditorModule, [typeof i1.TheEditorComponent, typeof i2.ElementStylePipe, typeof i2.ElementClassPipe, typeof i3.TableFreezeColumnPipe, typeof i3.TableFreezeRowPipe, typeof i2.PluginMenuPipe, typeof i4.TheToolbarComponent, typeof i5.TheToolbarDropdownComponent, typeof i6.TheToolbarGroupComponent, typeof i7.TheToolbarItemComponent, typeof i8.TheInlineToolbarComponent, typeof i9.TheTextComponent, typeof i10.TheDefaultElementComponent, typeof i11.TheQuickInsertComponent, typeof i12.ThePluginMenuComponent, typeof i13.TheColorToolbarItemComponent, typeof i14.TheContextMenuComponent, typeof i15.TheInsertMarkComponent, typeof i16.TheTableSelectComponent, typeof i17.TheTableToolbarItemComponent, typeof i18.TheConversionHintComponent, typeof i19.TheVerticalToolbarItemComponent, typeof i20.TheTableOptionsComponent, typeof i21.TheListboxOptionDirective, typeof i21.TheListboxGroupDirective, typeof i21.TheListboxDirective, typeof i22.ThePreventDefaultDirective, 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.ScrollingModule, typeof i42.SlateModule, typeof i43.FormsModule, typeof i44.ThyIconModule, typeof i45.ThyAvatarModule, typeof i46.ThyNavModule, typeof i47.ThyFormModule, typeof i48.ThySharedModule, typeof i49.ThyListModule, typeof i50.ThyTooltipModule, typeof i51.ThyProgressModule, typeof i52.ThyAutocompleteModule, typeof i53.ThyInputModule, typeof i54.ThySelectModule, typeof i55.ThyButtonModule, typeof i56.ThyNotifyModule, typeof i57.ThyAlertModule, typeof i58.ThyResizableModule, typeof i59.ThySwitchModule, typeof i60.ThyImageModule, typeof i61.ThyDialogModule, typeof i62.ThyActionModule, typeof i63.ThyDividerModule, typeof i64.ThyDropdownModule, typeof i65.ThyMenuModule, typeof i66.ThyEmptyModule, typeof i67.ThyPopoverModule, typeof i68.ThyInputNumberModule, typeof i69.ThyColorPickerModule, typeof i70.CodemirrorModule, typeof i71.TheColumnSizeModule], [typeof i1.TheEditorComponent, typeof i4.TheToolbarComponent, typeof i5.TheToolbarDropdownComponent, typeof i7.TheToolbarItemComponent, typeof i10.TheDefaultElementComponent, typeof i12.ThePluginMenuComponent, typeof i21.TheListboxOptionDirective, typeof i21.TheListboxGroupDirective, typeof i21.TheListboxDirective, typeof i22.ThePreventDefaultDirective]>;
|
|
@@ -11,23 +11,17 @@ import { TableEditor } from '../table/table.editor';
|
|
|
11
11
|
import * as TheQueries from '../../queries';
|
|
12
12
|
import * as TheTransforms from '../../transforms';
|
|
13
13
|
export const PaintFormatEditor = {
|
|
14
|
-
formatBrush(editor) {
|
|
15
|
-
const contextService = editor.injector.get(TheContextService);
|
|
16
|
-
const obj = {};
|
|
17
|
-
for (const key of MarkProps) {
|
|
18
|
-
const k = contextService.paintFormatStatus.marks[key];
|
|
19
|
-
obj[key] = k || null;
|
|
20
|
-
}
|
|
14
|
+
formatBrush(editor, marks) {
|
|
21
15
|
const block = TheQueries.anchorBlock(editor);
|
|
22
16
|
if (block && Range.isCollapsed(editor.selection)) {
|
|
23
17
|
// TODO:: 在撤销时有bug, 临时使用withoutSaving处理
|
|
24
18
|
HistoryEditor.withoutSaving(editor, () => {
|
|
25
19
|
const path = TheEditor.findPath(editor, block);
|
|
26
|
-
TheTransforms.setMarks(editor,
|
|
20
|
+
TheTransforms.setMarks(editor, marks, path);
|
|
27
21
|
});
|
|
28
22
|
}
|
|
29
23
|
else {
|
|
30
|
-
TheTransforms.setMarks(editor,
|
|
24
|
+
TheTransforms.setMarks(editor, marks);
|
|
31
25
|
}
|
|
32
26
|
PaintFormatEditor.cancelFormatBrushStatus(editor);
|
|
33
27
|
},
|
|
@@ -51,7 +45,16 @@ export const PaintFormatEditor = {
|
|
|
51
45
|
.pipe(filter(event => element.contains(event.target)), take(1))
|
|
52
46
|
.subscribe((event) => {
|
|
53
47
|
if (contextService.paintFormatStatus.isActive) {
|
|
54
|
-
|
|
48
|
+
const contextService = editor.injector.get(TheContextService);
|
|
49
|
+
const marks = {};
|
|
50
|
+
for (const key of MarkProps) {
|
|
51
|
+
marks[key] = contextService.paintFormatStatus.marks[key] || null;
|
|
52
|
+
}
|
|
53
|
+
if (TableEditor.formatBrush(editor, marks)) {
|
|
54
|
+
PaintFormatEditor.cancelFormatBrushStatus(editor);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
PaintFormatEditor.formatBrush(editor, marks);
|
|
55
58
|
}
|
|
56
59
|
});
|
|
57
60
|
editor.onChange();
|
|
@@ -120,4 +123,4 @@ export const createPaintFormatPlugin = createPluginFactory({
|
|
|
120
123
|
}
|
|
121
124
|
]
|
|
122
125
|
});
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtZm9ybWF0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3BhaW50LWZvcm1hdC9wYWludC1mb3JtYXQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQVEsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFhLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsV0FBVyxDQUFDLE1BQWlCO1FBQ3pCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsS0FBSyxNQUFNLEdBQUcsSUFBSSxTQUFTLEVBQUU7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VyxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ2xDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUNsQztpQkFDSjtxQkFBTTtvQkFDSCxNQUFNLFVBQVUsR0FBMkMsRUFBRSxDQUFDO29CQUM5RCxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztvQkFDSCxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDOUM7WUFDTCxDQUFDO1NBQ0o7S0FDSjtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2UsIHNraXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVkaXRvciwgUmFuZ2UgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBFRElUT1JfVE9fRUxFTUVOVCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXJrUHJvcHMsIE1hcmtUeXBlcywgVG9vbGJhckFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IENPTlRST0xfS0VZIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi90YWJsZS90YWJsZS5lZGl0b3InO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBQYWludEZvcm1hdEVkaXRvciA9IHtcbiAgICBmb3JtYXRCcnVzaChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb25zdCBvYmogPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgTWFya1Byb3BzKSB7XG4gICAgICAgICAgICBjb25zdCBrID0gY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMubWFya3Nba2V5XTtcbiAgICAgICAgICAgIG9ialtrZXldID0gayB8fCBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJsb2NrID0gVGhlUXVlcmllcy5hbmNob3JCbG9jayhlZGl0b3IpO1xuICAgICAgICBpZiAoYmxvY2sgJiYgUmFuZ2UuaXNDb2xsYXBzZWQoZWRpdG9yLnNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgIC8vIFRPRE86OiDlnKjmkqTplIDml7bmnIlidWcsIOS4tOaXtuS9v+eUqHdpdGhvdXRTYXZpbmflpITnkIZcbiAgICAgICAgICAgIEhpc3RvcnlFZGl0b3Iud2l0aG91dFNhdmluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gVGhlRWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgYmxvY2spO1xuICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCBvYmosIHBhdGgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE1hcmtzKGVkaXRvciwgb2JqKTtcbiAgICAgICAgfVxuICAgICAgICBQYWludEZvcm1hdEVkaXRvci5jYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3IpO1xuICAgIH0sXG4gICAgaXNBY3RpdmUoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgY29udGV4dFNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUNvbnRleHRTZXJ2aWNlKTtcbiAgICAgICAgY29uc3QgcmVzID0gY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMuaXNBY3RpdmU7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfSxcbiAgICBlbmFibGVGb3JtYXRCcnVzaChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBpZiAoY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybiBQYWludEZvcm1hdEVkaXRvci5jYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHRTZXJ2aWNlLnBhaW50Rm9ybWF0U3RhdHVzID0ge1xuICAgICAgICAgICAgaXNBY3RpdmU6IHRydWUsXG4gICAgICAgICAgICBtYXJrczogVGhlUXVlcmllcy5nZXRTZWxlY3Rpb25NYXJrcyhlZGl0b3IpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb2ludGVyLXBhaW50Jyk7XG4gICAgICAgIGNvbnRleHRTZXJ2aWNlLm9uTW91c2VVcCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBlbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KSksXG4gICAgICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgUGFpbnRGb3JtYXRFZGl0b3IuZm9ybWF0QnJ1c2goZWRpdG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgZWRpdG9yLm9uQ2hhbmdlKCk7XG4gICAgfSxcbiAgICBjYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cyA9IHtcbiAgICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1hcmtzOiB7fVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gRURJVE9SX1RPX0VMRU1FTlQuZ2V0KGVkaXRvcik7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9pbnRlci1wYWludCcpO1xuICAgICAgICBlZGl0b3Iub25DaGFuZ2UoKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFpbnRGb3JtYXRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMucGFpbnRGb3JtYXQsXG4gICAgdG9vbGJhckl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVG9vbGJhckFjdGlvblR5cGVzLnVuZG8sXG4gICAgICAgICAgICBpY29uOiAndW5kbycsXG4gICAgICAgICAgICBuYW1lOiAn5pKk6ZSAJyxcbiAgICAgICAgICAgIHNob3J0Y3V0S2V5OiBgJHtDT05UUk9MX0tFWX0rWmAsXG4gICAgICAgICAgICBleGVjdXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IpID0+IGVkaXRvci51bmRvKClcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMucmVkbyxcbiAgICAgICAgICAgIGljb246ICdyZWRvJyxcbiAgICAgICAgICAgIG5hbWU6ICfph43lgZonLFxuICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStTaGlmdCtaYCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4gZWRpdG9yLnJlZG8oKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5wYWludGZvcm1hdCxcbiAgICAgICAgICAgIGljb246ICdwYWludGZvcm1hdCcsXG4gICAgICAgICAgICBuYW1lOiAn5qC85byP5Yi3JyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IFBhaW50Rm9ybWF0RWRpdG9yLmVuYWJsZUZvcm1hdEJydXNoLFxuICAgICAgICAgICAgYWN0aXZlOiBQYWludEZvcm1hdEVkaXRvci5pc0FjdGl2ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5jbGVhbixcbiAgICAgICAgICAgIGljb246ICdjbGVhbicsXG4gICAgICAgICAgICBuYW1lOiAn5riF6Zmk5qC85byPJyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChUYWJsZUVkaXRvci5jbGVhck1hcmsoZWRpdG9yKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSBFZGl0b3IubWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobWFya3MpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3IucmVtb3ZlTWFyayhlZGl0b3IsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNldE1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IG51bGwgfCBzdHJpbmcgfSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBNYXJrUHJvcHMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXRNYXJrc1trZXldID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCB1bnNldE1hcmtzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdXG59KTtcbiJdfQ==
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFpbnQtZm9ybWF0LmVkaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3BhaW50LWZvcm1hdC9wYWludC1mb3JtYXQuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQVEsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFhLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxVQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sS0FBSyxhQUFhLE1BQU0sa0JBQWtCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsV0FBVyxDQUFDLE1BQWlCLEVBQUUsS0FBbUM7UUFDOUQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM5Qyx1Q0FBdUM7WUFDdkMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNyQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDL0MsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELFFBQVEsQ0FBQyxNQUFpQjtRQUN0QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlELE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsTUFBaUI7UUFDL0IsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RCxJQUFJLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDM0MsT0FBTyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1RDtRQUNELGNBQWMsQ0FBQyxpQkFBaUIsR0FBRztZQUMvQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO1NBQzlDLENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkMsY0FBYyxDQUFDLFVBQVU7YUFDcEIsSUFBSSxDQUNELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQWlCLENBQUMsQ0FBQyxFQUMxRCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1Y7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDN0IsSUFBSSxjQUFjLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFO2dCQUMzQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2dCQUM5RCxNQUFNLEtBQUssR0FBaUMsRUFBRSxDQUFDO2dCQUMvQyxLQUFLLE1BQU0sR0FBRyxJQUFJLFNBQVMsRUFBRTtvQkFDekIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO2lCQUNwRTtnQkFDRCxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUN4QyxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDbEQsT0FBTztpQkFDVjtnQkFDRCxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ2hEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELHVCQUF1QixDQUFDLE1BQWlCO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUQsY0FBYyxDQUFDLGlCQUFpQixHQUFHO1lBQy9CLFFBQVEsRUFBRSxLQUFLO1lBQ2YsS0FBSyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUFDO0lBQ3ZELEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVztJQUMzQixZQUFZLEVBQUU7UUFDVjtZQUNJLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJO1lBQzVCLElBQUksRUFBRSxNQUFNO1lBQ1osSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUUsR0FBRyxXQUFXLElBQUk7WUFDL0IsT0FBTyxFQUFFLENBQUMsTUFBaUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRTtTQUNoRDtRQUNEO1lBQ0ksR0FBRyxFQUFFLGtCQUFrQixDQUFDLElBQUk7WUFDNUIsSUFBSSxFQUFFLE1BQU07WUFDWixJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRSxHQUFHLFdBQVcsVUFBVTtZQUNyQyxPQUFPLEVBQUUsQ0FBQyxNQUFpQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1NBQ2hEO1FBQ0Q7WUFDSSxHQUFHLEVBQUUsa0JBQWtCLENBQUMsV0FBVztZQUNuQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixJQUFJLEVBQUUsS0FBSztZQUNYLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxpQkFBaUI7WUFDNUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7U0FDckM7UUFDRDtZQUNJLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1lBQzdCLElBQUksRUFBRSxPQUFPO1lBQ2IsSUFBSSxFQUFFLE1BQU07WUFDWixPQUFPLEVBQUUsQ0FBQyxNQUFpQixFQUFFLEVBQUU7Z0JBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUU7b0JBQ1osT0FBTztpQkFDVjtnQkFFRCxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQy9CLE9BQU87aUJBQ1Y7Z0JBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ2xDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO3FCQUNsQztpQkFDSjtxQkFBTTtvQkFDSCxNQUFNLFVBQVUsR0FBMkMsRUFBRSxDQUFDO29CQUM5RCxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNwQixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FBQztvQkFDSCxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztpQkFDOUM7WUFDTCxDQUFDO1NBQ0o7S0FDSjtDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRha2UsIHNraXAsIGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVkaXRvciwgUmFuZ2UgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBFRElUT1JfVE9fRUxFTUVOVCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgUGx1Z2luS2V5cywgVGhlRWRpdG9yIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBNYXJrUHJvcHMsIE1hcmtUeXBlcywgVG9vbGJhckFjdGlvblR5cGVzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZVBsdWdpbkZhY3RvcnkgfSBmcm9tICcuLi8uLi9jb3JlJztcbmltcG9ydCB7IENPTlRST0xfS0VZIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgVGFibGVFZGl0b3IgfSBmcm9tICcuLi90YWJsZS90YWJsZS5lZGl0b3InO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBQYWludEZvcm1hdEVkaXRvciA9IHtcbiAgICBmb3JtYXRCcnVzaChlZGl0b3I6IFRoZUVkaXRvciwgbWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogYW55IH0pIHtcbiAgICAgICAgY29uc3QgYmxvY2sgPSBUaGVRdWVyaWVzLmFuY2hvckJsb2NrKGVkaXRvcik7XG4gICAgICAgIGlmIChibG9jayAmJiBSYW5nZS5pc0NvbGxhcHNlZChlZGl0b3Iuc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgLy8gVE9ETzo6IOWcqOaSpOmUgOaXtuaciWJ1Zywg5Li05pe25L2/55Sod2l0aG91dFNhdmluZ+WkhOeQhlxuICAgICAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0U2F2aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBUaGVFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBibG9jayk7XG4gICAgICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhlZGl0b3IsIG1hcmtzLCBwYXRoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy5zZXRNYXJrcyhlZGl0b3IsIG1hcmtzKTtcbiAgICAgICAgfVxuICAgICAgICBQYWludEZvcm1hdEVkaXRvci5jYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3IpO1xuICAgIH0sXG4gICAgaXNBY3RpdmUoZWRpdG9yOiBUaGVFZGl0b3IpIHtcbiAgICAgICAgY29uc3QgY29udGV4dFNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUNvbnRleHRTZXJ2aWNlKTtcbiAgICAgICAgY29uc3QgcmVzID0gY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMuaXNBY3RpdmU7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfSxcbiAgICBlbmFibGVGb3JtYXRCcnVzaChlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBpZiAoY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybiBQYWludEZvcm1hdEVkaXRvci5jYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHRTZXJ2aWNlLnBhaW50Rm9ybWF0U3RhdHVzID0ge1xuICAgICAgICAgICAgaXNBY3RpdmU6IHRydWUsXG4gICAgICAgICAgICBtYXJrczogVGhlUXVlcmllcy5nZXRTZWxlY3Rpb25NYXJrcyhlZGl0b3IpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBFRElUT1JfVE9fRUxFTUVOVC5nZXQoZWRpdG9yKTtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdwb2ludGVyLXBhaW50Jyk7XG4gICAgICAgIGNvbnRleHRTZXJ2aWNlLm9uTW91c2VVcCRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBlbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KSksXG4gICAgICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMuaXNBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGV4dFNlcnZpY2UgPSBlZGl0b3IuaW5qZWN0b3IuZ2V0KFRoZUNvbnRleHRTZXJ2aWNlKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya3M6IHsgW2tleSBpbiBNYXJrVHlwZXNdPzogYW55IH0gPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgTWFya1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJrc1trZXldID0gY29udGV4dFNlcnZpY2UucGFpbnRGb3JtYXRTdGF0dXMubWFya3Nba2V5XSB8fCBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChUYWJsZUVkaXRvci5mb3JtYXRCcnVzaChlZGl0b3IsIG1hcmtzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgUGFpbnRGb3JtYXRFZGl0b3IuY2FuY2VsRm9ybWF0QnJ1c2hTdGF0dXMoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBQYWludEZvcm1hdEVkaXRvci5mb3JtYXRCcnVzaChlZGl0b3IsIG1hcmtzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgZWRpdG9yLm9uQ2hhbmdlKCk7XG4gICAgfSxcbiAgICBjYW5jZWxGb3JtYXRCcnVzaFN0YXR1cyhlZGl0b3I6IFRoZUVkaXRvcikge1xuICAgICAgICBjb25zdCBjb250ZXh0U2VydmljZSA9IGVkaXRvci5pbmplY3Rvci5nZXQoVGhlQ29udGV4dFNlcnZpY2UpO1xuICAgICAgICBjb250ZXh0U2VydmljZS5wYWludEZvcm1hdFN0YXR1cyA9IHtcbiAgICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgICAgIG1hcmtzOiB7fVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gRURJVE9SX1RPX0VMRU1FTlQuZ2V0KGVkaXRvcik7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncG9pbnRlci1wYWludCcpO1xuICAgICAgICBlZGl0b3Iub25DaGFuZ2UoKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFpbnRGb3JtYXRQbHVnaW4gPSBjcmVhdGVQbHVnaW5GYWN0b3J5KHtcbiAgICBrZXk6IFBsdWdpbktleXMucGFpbnRGb3JtYXQsXG4gICAgdG9vbGJhckl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogVG9vbGJhckFjdGlvblR5cGVzLnVuZG8sXG4gICAgICAgICAgICBpY29uOiAndW5kbycsXG4gICAgICAgICAgICBuYW1lOiAn5pKk6ZSAJyxcbiAgICAgICAgICAgIHNob3J0Y3V0S2V5OiBgJHtDT05UUk9MX0tFWX0rWmAsXG4gICAgICAgICAgICBleGVjdXRlOiAoZWRpdG9yOiBUaGVFZGl0b3IpID0+IGVkaXRvci51bmRvKClcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMucmVkbyxcbiAgICAgICAgICAgIGljb246ICdyZWRvJyxcbiAgICAgICAgICAgIG5hbWU6ICfph43lgZonLFxuICAgICAgICAgICAgc2hvcnRjdXRLZXk6IGAke0NPTlRST0xfS0VZfStTaGlmdCtaYCxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4gZWRpdG9yLnJlZG8oKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5wYWludGZvcm1hdCxcbiAgICAgICAgICAgIGljb246ICdwYWludGZvcm1hdCcsXG4gICAgICAgICAgICBuYW1lOiAn5qC85byP5Yi3JyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IFBhaW50Rm9ybWF0RWRpdG9yLmVuYWJsZUZvcm1hdEJydXNoLFxuICAgICAgICAgICAgYWN0aXZlOiBQYWludEZvcm1hdEVkaXRvci5pc0FjdGl2ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5jbGVhbixcbiAgICAgICAgICAgIGljb246ICdjbGVhbicsXG4gICAgICAgICAgICBuYW1lOiAn5riF6Zmk5qC85byPJyxcbiAgICAgICAgICAgIGV4ZWN1dGU6IChlZGl0b3I6IFRoZUVkaXRvcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBlZGl0b3I7XG4gICAgICAgICAgICAgICAgaWYgKCFzZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChUYWJsZUVkaXRvci5jbGVhck1hcmsoZWRpdG9yKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKFJhbmdlLmlzQ29sbGFwc2VkKHNlbGVjdGlvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbWFya3MgPSBFZGl0b3IubWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobWFya3MpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0b3IucmVtb3ZlTWFyayhlZGl0b3IsIGtleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNldE1hcmtzOiB7IFtrZXkgaW4gTWFya1R5cGVzXT86IG51bGwgfCBzdHJpbmcgfSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICBNYXJrUHJvcHMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXRNYXJrc1trZXldID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMuc2V0TWFya3MoZWRpdG9yLCB1bnNldE1hcmtzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdXG59KTtcbiJdfQ==
|