@worktile/theia 14.3.9 → 14.3.11
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/components/contextmenu/contextmenu.component.d.ts +3 -2
- package/components/contextmenu/contextmenu.component.scss +7 -0
- package/components/index.d.ts +11 -0
- package/components/index.scss +10 -0
- package/constants/index.d.ts +1 -0
- package/editor.module.d.ts +7 -5
- package/esm2020/components/action/prevent-default.mjs +4 -4
- package/esm2020/components/color-select/color-select.component.mjs +4 -4
- package/esm2020/components/column-resize/column-resize-notifier.mjs +4 -4
- package/esm2020/components/column-resize/column-resize.directive.mjs +6 -6
- package/esm2020/components/column-resize/column-resize.module.mjs +9 -9
- package/esm2020/components/column-resize/event-dispatcher.mjs +4 -4
- package/esm2020/components/column-resize/overlay-handle.component.mjs +4 -4
- package/esm2020/components/column-resize/resizing.store.mjs +4 -4
- package/esm2020/components/contextmenu/contextmenu.component.mjs +15 -9
- package/esm2020/components/conversion-hint/conversion-hint.component.mjs +4 -4
- package/esm2020/components/element/element.component.mjs +4 -4
- package/esm2020/components/index.mjs +12 -0
- package/esm2020/components/inline-toolbar/inline-toolbar.component.mjs +4 -4
- package/esm2020/components/listbox/listbox.mjs +10 -10
- package/esm2020/components/plugin-menu/plugin-menu.component.mjs +4 -4
- package/esm2020/components/table-select/table-select.component.mjs +4 -4
- package/esm2020/components/template/template.component.mjs +4 -4
- package/esm2020/components/text/text.component.mjs +4 -4
- package/esm2020/components/toolbar/toolbar.component.mjs +4 -4
- package/esm2020/components/toolbar-dropdown/toolbar-dropdown.component.mjs +4 -4
- package/esm2020/components/toolbar-group/toolbar-group.component.mjs +4 -4
- package/esm2020/components/toolbar-item/toolbar-item.component.mjs +4 -4
- package/esm2020/constants/index.mjs +2 -1
- package/esm2020/core/toolbar-item/base-toolbar-item.mjs +7 -7
- package/esm2020/editor.component.mjs +4 -4
- package/esm2020/editor.module.mjs +12 -9
- package/esm2020/interfaces/view-base.mjs +4 -4
- package/esm2020/pipes.mjs +7 -7
- package/esm2020/plugins/blockquote/blockquote.component.mjs +4 -4
- package/esm2020/plugins/code/code.component.mjs +6 -9
- package/esm2020/plugins/color/toolbar-item.component.mjs +4 -4
- package/esm2020/plugins/hr/hr.component.mjs +4 -4
- package/esm2020/plugins/image/image.component.mjs +4 -4
- package/esm2020/plugins/indent/indent.editor.mjs +10 -4
- package/esm2020/plugins/indent/on-keydown-indent.mjs +5 -1
- package/esm2020/plugins/inline-code/inline-code.component.mjs +4 -4
- package/esm2020/plugins/link/edit/link-edit.component.mjs +4 -4
- package/esm2020/plugins/link/hover/link-hover.component.mjs +4 -4
- package/esm2020/plugins/link/link.component.mjs +7 -7
- package/esm2020/plugins/list/components/bulleted-list.component.mjs +5 -5
- package/esm2020/plugins/list/components/list-item.component.mjs +4 -4
- package/esm2020/plugins/list/components/numbered-list.component.mjs +5 -5
- package/esm2020/plugins/mention/suggestion.component.mjs +4 -4
- package/esm2020/plugins/quick-insert/components/quick-insert.component.mjs +4 -4
- package/esm2020/plugins/table/components/insert-mark/insert-mark.component.mjs +8 -14
- package/esm2020/plugins/table/components/row/row.component.mjs +24 -18
- package/esm2020/plugins/table/components/table.component.mjs +218 -40
- package/esm2020/plugins/table/components/td/td.component.mjs +16 -45
- package/esm2020/plugins/table/components/toolbar/table-options.component.mjs +28 -13
- package/esm2020/plugins/table/components/toolbar/table-toolbar.component.mjs +47 -17
- package/esm2020/plugins/table/table.editor.mjs +79 -19
- package/esm2020/plugins/table/table.pipe.mjs +25 -6
- package/esm2020/plugins/table/table.plugin.mjs +2 -1
- package/esm2020/plugins/table/table.service.mjs +8 -9
- package/esm2020/plugins/table/table.store.mjs +71 -77
- package/esm2020/plugins/table/table.types.mjs +16 -4
- package/esm2020/plugins/table/toolbar-item.component.mjs +4 -4
- package/esm2020/plugins/table/transforms/index.mjs +8 -0
- package/esm2020/plugins/table/transforms/insert-column.mjs +11 -3
- package/esm2020/plugins/table/transforms/insert-row.mjs +36 -29
- package/esm2020/plugins/table/utils/add-columns.mjs +16 -2
- package/esm2020/plugins/table/utils/create-table.mjs +5 -3
- package/esm2020/plugins/table/utils/index.mjs +3 -2
- package/esm2020/plugins/table/utils/is-selection-in-table.mjs +42 -1
- package/esm2020/plugins/table/utils/set-menu-cell-invisibility.mjs +37 -7
- package/esm2020/plugins/table/utils/table-position.mjs +1 -1
- package/esm2020/plugins/todo-item/todo-item.component.mjs +5 -5
- package/esm2020/plugins/vertical-align/toolbar-item.component.mjs +4 -4
- package/esm2020/public-api.mjs +4 -12
- package/esm2020/services/color-select.service.mjs +4 -4
- package/esm2020/services/context.service.mjs +31 -7
- package/esm2020/services/table-contextmenu.service.mjs +106 -13
- package/esm2020/services/toolbar.service.mjs +4 -4
- package/esm2020/utils/copy-node.mjs +28 -13
- package/esm2020/utils/refocus.mjs +7 -7
- package/fesm2015/worktile-theia.mjs +1740 -1214
- package/fesm2015/worktile-theia.mjs.map +1 -1
- package/fesm2020/worktile-theia.mjs +1719 -1209
- package/fesm2020/worktile-theia.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/table/components/mixins.scss +11 -0
- package/plugins/table/components/row/row.component.d.ts +5 -3
- package/plugins/table/components/table.component.d.ts +29 -10
- package/plugins/table/components/table.component.scss +171 -70
- package/plugins/table/components/td/td.component.d.ts +3 -4
- package/plugins/table/components/toolbar/table-toolbar.component.d.ts +10 -3
- package/plugins/table/table.editor.d.ts +8 -4
- package/plugins/table/table.pipe.d.ts +6 -1
- package/plugins/table/table.service.d.ts +1 -1
- package/plugins/table/table.store.d.ts +10 -3
- package/plugins/table/table.types.d.ts +17 -3
- package/plugins/table/transforms/index.d.ts +7 -0
- package/plugins/table/utils/add-columns.d.ts +1 -1
- package/plugins/table/utils/index.d.ts +2 -1
- package/plugins/table/utils/is-selection-in-table.d.ts +8 -1
- package/plugins/table/utils/set-menu-cell-invisibility.d.ts +6 -1
- package/plugins/table/utils/table-position.d.ts +2 -2
- package/public-api.d.ts +3 -11
- package/services/context.service.d.ts +7 -2
- package/services/table-contextmenu.service.d.ts +16 -3
- package/styles/index.scss +1 -9
- package/utils/copy-node.d.ts +3 -1
- package/utils/refocus.d.ts +1 -2
|
@@ -1,17 +1,32 @@
|
|
|
1
1
|
import { Transforms } from 'slate';
|
|
2
2
|
import { AngularEditor, IS_SAFARI } from 'slate-angular';
|
|
3
|
-
export function copyNode(editor, element) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
export function copyNode(editor, element, thyNotifyService, codeMirrorEditor) {
|
|
4
|
+
let codePoint;
|
|
5
|
+
if (codeMirrorEditor) {
|
|
6
|
+
codePoint = codeMirrorEditor.getCursor();
|
|
7
|
+
const path = AngularEditor.findPath(editor, element);
|
|
8
|
+
AngularEditor.focus(editor);
|
|
9
|
+
Transforms.select(editor, path);
|
|
10
|
+
}
|
|
11
|
+
if (IS_SAFARI) {
|
|
12
|
+
copyNodeForSafari(editor, element);
|
|
13
|
+
}
|
|
14
|
+
document.execCommand('copy') ? thyNotifyService.success('复制成功') : thyNotifyService.error('复制失败');
|
|
15
|
+
if (IS_SAFARI) {
|
|
16
|
+
window.getSelection().removeAllRanges();
|
|
14
17
|
}
|
|
15
|
-
|
|
18
|
+
if (codeMirrorEditor) {
|
|
19
|
+
codeMirrorEditor.setCursor(codePoint);
|
|
20
|
+
codeMirrorEditor.focus();
|
|
21
|
+
codeMirrorEditor.refresh();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function copyNodeForSafari(editor, element) {
|
|
25
|
+
const selection = window.getSelection();
|
|
26
|
+
const currentElement = AngularEditor.toDOMNode(editor, element);
|
|
27
|
+
const range = document.createRange();
|
|
28
|
+
selection.removeAllRanges();
|
|
29
|
+
range.selectNode(currentElement);
|
|
30
|
+
selection.addRange(range);
|
|
16
31
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1ub2RlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NvcHktbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQW1CLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxNQUFNLFVBQVUsUUFBUSxDQUNwQixNQUFjLEVBQ2QsT0FBZ0IsRUFDaEIsZ0JBQW1DLEVBQ25DLGdCQUFnRDtJQUVoRCxJQUFJLFNBQThCLENBQUM7SUFFbkMsSUFBSSxnQkFBZ0IsRUFBRTtRQUNsQixTQUFTLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNuQztJQUVELElBQUksU0FBUyxFQUFFO1FBQ1gsaUJBQWlCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0tBQ3RDO0lBRUQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakcsSUFBSSxTQUFTLEVBQUU7UUFDWCxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7S0FDM0M7SUFFRCxJQUFJLGdCQUFnQixFQUFFO1FBQ2xCLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0QyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztLQUM5QjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBYyxFQUFFLE9BQWdCO0lBQzlELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNoRSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFckMsU0FBUyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IEVkaXRvciwgRWxlbWVudCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IsIElTX1NBRkFSSSB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuXG5leHBvcnQgZnVuY3Rpb24gY29weU5vZGUoXG4gICAgZWRpdG9yOiBFZGl0b3IsXG4gICAgZWxlbWVudDogRWxlbWVudCxcbiAgICB0aHlOb3RpZnlTZXJ2aWNlPzogVGh5Tm90aWZ5U2VydmljZSxcbiAgICBjb2RlTWlycm9yRWRpdG9yPzogQ29kZU1pcnJvci5FZGl0b3JGcm9tVGV4dEFyZWFcbikge1xuICAgIGxldCBjb2RlUG9pbnQ6IENvZGVNaXJyb3IuUG9zaXRpb247XG5cbiAgICBpZiAoY29kZU1pcnJvckVkaXRvcikge1xuICAgICAgICBjb2RlUG9pbnQgPSBjb2RlTWlycm9yRWRpdG9yLmdldEN1cnNvcigpO1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpO1xuICAgICAgICBBbmd1bGFyRWRpdG9yLmZvY3VzKGVkaXRvcik7XG4gICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgcGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKElTX1NBRkFSSSkge1xuICAgICAgICBjb3B5Tm9kZUZvclNhZmFyaShlZGl0b3IsIGVsZW1lbnQpO1xuICAgIH1cblxuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5JykgPyB0aHlOb3RpZnlTZXJ2aWNlLnN1Y2Nlc3MoJ+WkjeWItuaIkOWKnycpIDogdGh5Tm90aWZ5U2VydmljZS5lcnJvcign5aSN5Yi25aSx6LSlJyk7XG5cbiAgICBpZiAoSVNfU0FGQVJJKSB7XG4gICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICB9XG5cbiAgICBpZiAoY29kZU1pcnJvckVkaXRvcikge1xuICAgICAgICBjb2RlTWlycm9yRWRpdG9yLnNldEN1cnNvcihjb2RlUG9pbnQpO1xuICAgICAgICBjb2RlTWlycm9yRWRpdG9yLmZvY3VzKCk7XG4gICAgICAgIGNvZGVNaXJyb3JFZGl0b3IucmVmcmVzaCgpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlOb2RlRm9yU2FmYXJpKGVkaXRvcjogRWRpdG9yLCBlbGVtZW50OiBFbGVtZW50KSB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUoZWRpdG9yLCBlbGVtZW50KTtcbiAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG5cbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgcmFuZ2Uuc2VsZWN0Tm9kZShjdXJyZW50RWxlbWVudCk7XG4gICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbn1cbiJdfQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Editor, Transforms, Path } from 'slate';
|
|
2
|
+
import { HistoryEditor } from 'slate-history';
|
|
2
3
|
import { AngularEditor } from 'slate-angular';
|
|
3
|
-
import * as TheQueries from '../queries';
|
|
4
4
|
import { THE_EDITOR_PREVIOUS_SELECTION } from '../utils';
|
|
5
|
-
import
|
|
6
|
-
export const
|
|
5
|
+
import * as TheQueries from '../queries';
|
|
6
|
+
export const reSelection = (editor) => {
|
|
7
7
|
let previousRange = THE_EDITOR_PREVIOUS_SELECTION.get(editor);
|
|
8
8
|
let path = [0];
|
|
9
9
|
let focusNode = TheQueries.getNode(editor, path);
|
|
@@ -25,9 +25,6 @@ export const refocus = (editor) => {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
setRefocusSelection(editor, focusNode, focusPath);
|
|
29
|
-
};
|
|
30
|
-
export const setRefocusSelection = (editor, focusNode, focusPath) => {
|
|
31
28
|
if (focusNode) {
|
|
32
29
|
HistoryEditor.withoutMerging(editor, () => {
|
|
33
30
|
const isBlockCard = editor.isBlockCard(focusNode);
|
|
@@ -41,6 +38,9 @@ export const setRefocusSelection = (editor, focusNode, focusPath) => {
|
|
|
41
38
|
}
|
|
42
39
|
});
|
|
43
40
|
}
|
|
41
|
+
};
|
|
42
|
+
export const refocus = (editor) => {
|
|
43
|
+
reSelection(editor);
|
|
44
44
|
AngularEditor.focus(editor);
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmb2N1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9yZWZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxNQUFNLEVBQUUsVUFBVSxFQUFRLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3pELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtJQUM3QyxJQUFJLGFBQWEsR0FBRyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUQsSUFBSSxJQUFJLEdBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxJQUFJLFNBQVMsR0FBYSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLGFBQWEsRUFBRTtRQUNmLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQzlDLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNsQixJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM3QyxTQUFTLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO2FBQU07WUFDSCxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxZQUFZLEVBQUU7Z0JBQ2QsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNyQyxTQUFTLEdBQUcsWUFBWSxDQUFDO2FBQzVCO1NBQ0o7S0FDSjtJQUNELElBQUksU0FBUyxFQUFFO1FBQ1gsYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQ3RDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbEQsSUFBSSxXQUFXLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDeEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDMUU7aUJBQU07Z0JBQ0gsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDeEM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNOO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBaUIsRUFBRSxFQUFFO0lBQ3pDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQixhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uLCBFZGl0b3IsIFRyYW5zZm9ybXMsIE5vZGUsIFBhdGggfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUaGVFZGl0b3IgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRIRV9FRElUT1JfUFJFVklPVVNfU0VMRUNUSU9OIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi9xdWVyaWVzJztcblxuZXhwb3J0IGNvbnN0IHJlU2VsZWN0aW9uID0gKGVkaXRvcjogVGhlRWRpdG9yKSA9PiB7XG4gICAgbGV0IHByZXZpb3VzUmFuZ2UgPSBUSEVfRURJVE9SX1BSRVZJT1VTX1NFTEVDVElPTi5nZXQoZWRpdG9yKTtcbiAgICBsZXQgcGF0aDogUGF0aCA9IFswXTtcbiAgICBsZXQgZm9jdXNOb2RlID0gVGhlUXVlcmllcy5nZXROb2RlKGVkaXRvciwgcGF0aCk7XG4gICAgbGV0IGZvY3VzUGF0aDogTG9jYXRpb24gPSBFZGl0b3Iuc3RhcnQoZWRpdG9yLCBwYXRoKTtcbiAgICBpZiAocHJldmlvdXNSYW5nZSkge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbiwgcmFuZ2VSZWYgfSA9IHByZXZpb3VzUmFuZ2U7XG4gICAgICAgIGlmIChyYW5nZVJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBwYXRoID0gRWRpdG9yLnBhdGgoZWRpdG9yLCByYW5nZVJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgIGZvY3VzTm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgZm9jdXNQYXRoID0gcmFuZ2VSZWYudW5yZWYoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzUGF0aCA9IEVkaXRvci5wYXRoKGVkaXRvciwgc2VsZWN0aW9uKTtcbiAgICAgICAgICAgIHBhdGggPSBQYXRoLnByZXZpb3VzKFtwcmV2aW91c1BhdGhbMF1dKTtcbiAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzTm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgaWYgKHByZXZpb3VzTm9kZSkge1xuICAgICAgICAgICAgICAgIGZvY3VzUGF0aCA9IEVkaXRvci5lbmQoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBmb2N1c05vZGUgPSBwcmV2aW91c05vZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGZvY3VzTm9kZSkge1xuICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRNZXJnaW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNCbG9ja0NhcmQgPSBlZGl0b3IuaXNCbG9ja0NhcmQoZm9jdXNOb2RlKTtcbiAgICAgICAgICAgIGlmIChpc0Jsb2NrQ2FyZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBFZGl0b3IucGF0aChlZGl0b3IsIGZvY3VzUGF0aCkuc2xpY2UoMCwgMSk7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmRDdXJzb3IoZWRpdG9yLCBwYXRoLCB7IGRpcmVjdGlvbjogJ2xlZnQnIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIGZvY3VzUGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCByZWZvY3VzID0gKGVkaXRvcjogVGhlRWRpdG9yKSA9PiB7XG4gICAgcmVTZWxlY3Rpb24oZWRpdG9yKTtcbiAgICBBbmd1bGFyRWRpdG9yLmZvY3VzKGVkaXRvcik7XG59O1xuIl19
|