@plait/mind 0.14.0 → 0.16.0
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/constants/default.d.ts +1 -0
- package/constants/node-topic-style.d.ts +2 -0
- package/esm2020/constants/default.mjs +2 -1
- package/esm2020/constants/node-topic-style.mjs +3 -1
- package/esm2020/interfaces/options.mjs +1 -1
- package/esm2020/node.component.mjs +8 -5
- package/esm2020/plugins/with-abstract-resize.board.mjs +1 -1
- package/esm2020/plugins/with-mind-create.mjs +3 -3
- package/esm2020/plugins/with-mind-extend.mjs +3 -4
- package/esm2020/plugins/with-mind-hotkey.mjs +42 -32
- package/esm2020/plugins/with-mind.board.mjs +1 -1
- package/esm2020/plugins/with-mind.mjs +7 -9
- package/esm2020/plugins/with-node-dnd.mjs +13 -6
- package/esm2020/transforms/abstract-node.mjs +1 -3
- package/esm2020/utils/abstract/common.mjs +5 -1
- package/esm2020/utils/clipboard.mjs +14 -5
- package/esm2020/utils/draw/node-link/indented-link.mjs +4 -15
- package/esm2020/utils/node/adjust-node.mjs +3 -7
- package/esm2020/utils/node-style/branch.mjs +6 -1
- package/esm2020/utils/node-style/shape.mjs +8 -1
- package/esm2020/utils/space/emoji.mjs +3 -2
- package/esm2020/utils/space/node-space.mjs +3 -2
- package/fesm2015/plait-mind.mjs +259 -239
- package/fesm2015/plait-mind.mjs.map +1 -1
- package/fesm2020/plait-mind.mjs +259 -239
- package/fesm2020/plait-mind.mjs.map +1 -1
- package/interfaces/options.d.ts +2 -1
- package/package.json +1 -1
- package/plugins/with-abstract-resize.board.d.ts +2 -2
- package/plugins/with-mind-hotkey.d.ts +2 -0
- package/plugins/with-mind.board.d.ts +0 -2
- package/utils/abstract/common.d.ts +1 -0
- package/utils/clipboard.d.ts +1 -1
|
@@ -10,13 +10,12 @@ import { AbstractNode } from '@plait/layouts';
|
|
|
10
10
|
import { editTopic } from '../utils/node/common';
|
|
11
11
|
import { withAbstract } from './with-abstract-resize';
|
|
12
12
|
import { withMindExtend } from './with-mind-extend';
|
|
13
|
-
import { TOPIC_DEFAULT_MAX_WORD_COUNT } from '../constants/node-topic-style';
|
|
14
13
|
import { MindTransforms } from '../transforms';
|
|
15
14
|
import { withCreateMind } from './with-mind-create';
|
|
16
15
|
import { DefaultAbstractNodeStyle } from '../constants/node-style';
|
|
17
16
|
import { withMindHotkey } from './with-mind-hotkey';
|
|
18
17
|
import { withNodeHover } from './with-node-hover';
|
|
19
|
-
import { buildText, getTextFromClipboard
|
|
18
|
+
import { buildText, getTextFromClipboard } from '@plait/text';
|
|
20
19
|
export const withMind = (board) => {
|
|
21
20
|
const { drawElement, dblclick, keydown, insertFragment, setFragment, deleteFragment, isHitSelection, getRectangle, isMovable, isRecursion } = board;
|
|
22
21
|
board.drawElement = (context) => {
|
|
@@ -114,13 +113,12 @@ export const withMind = (board) => {
|
|
|
114
113
|
insertClipboardData(board, elements, targetPoint || [0, 0]);
|
|
115
114
|
}
|
|
116
115
|
else {
|
|
117
|
-
const text = getTextFromClipboard(data);
|
|
118
|
-
const { width, height } = getTextSize(board, text, TOPIC_DEFAULT_MAX_WORD_COUNT, {
|
|
119
|
-
fontFamily: 'PingFangSC-Regular, "PingFang SC"'
|
|
120
|
-
});
|
|
121
116
|
const selectedElements = getSelectedElements(board);
|
|
122
|
-
if (
|
|
123
|
-
|
|
117
|
+
if (selectedElements.length === 1) {
|
|
118
|
+
const text = getTextFromClipboard(data);
|
|
119
|
+
if (text) {
|
|
120
|
+
insertClipboardText(board, selectedElements[0], buildText(text));
|
|
121
|
+
}
|
|
124
122
|
}
|
|
125
123
|
}
|
|
126
124
|
insertFragment(data, targetPoint);
|
|
@@ -137,4 +135,4 @@ export const withMind = (board) => {
|
|
|
137
135
|
};
|
|
138
136
|
return withNodeHover(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board))))));
|
|
139
137
|
};
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBR1YsZUFBZSxFQUNmLE9BQU8sRUFDUCxjQUFjLEVBQ2QsVUFBVSxFQUVWLG1CQUFtQixFQUV0QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxD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QWdCLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzRSxNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUMzRSxjQUFjLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRXZELE1BQU0sSUFBSSxHQUFHLGtDQUFrQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pFLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFcEQsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0csQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgdG9Qb2ludCxcbiAgICB0cmFuc2Zvcm1Qb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIFJhbmdlLFxuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24sXG4gICAgUGxhaXRFbGVtZW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFBsYWl0TWluZENvbXBvbmVudCB9IGZyb20gJy4uL21pbmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0Rmlyc3RMZXZlbEVsZW1lbnQsIGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdCwgZGVsZXRlRWxlbWVudHNIYW5kbGVSaWdodE5vZGVDb3VudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSwgaXNIaXRNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgd2l0aE5vZGVEbmQgfSBmcm9tICcuL3dpdGgtbm9kZS1kbmQnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCBnZXREYXRhRnJvbUNsaXBib2FyZCwgaW5zZXJ0Q2xpcGJvYXJkRGF0YSwgaW5zZXJ0Q2xpcGJvYXJkVGV4dCwgc2V0Q2xpcGJvYXJkRGF0YSB9IGZyb20gJy4uL3V0aWxzL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBlZGl0VG9waWMgfSBmcm9tICcuLi91dGlscy9ub2RlL2NvbW1vbic7XG5pbXBvcnQgeyB3aXRoQWJzdHJhY3QgfSBmcm9tICcuL3dpdGgtYWJzdHJhY3QtcmVzaXplJztcbmltcG9ydCB7IHdpdGhNaW5kRXh0ZW5kIH0gZnJvbSAnLi93aXRoLW1pbmQtZXh0ZW5kJztcbmltcG9ydCB7IFRPUElDX0RFRkFVTFRfTUFYX1dPUkRfQ09VTlQgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS10b3BpYy1zdHlsZSc7XG5pbXBvcnQgeyBNaW5kVHJhbnNmb3JtcyB9IGZyb20gJy4uL3RyYW5zZm9ybXMnO1xuaW1wb3J0IHsgd2l0aENyZWF0ZU1pbmQgfSBmcm9tICcuL3dpdGgtbWluZC1jcmVhdGUnO1xuaW1wb3J0IHsgRGVmYXVsdEFic3RyYWN0Tm9kZVN0eWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtc3R5bGUnO1xuaW1wb3J0IHsgd2l0aE1pbmRIb3RrZXkgfSBmcm9tICcuL3dpdGgtbWluZC1ob3RrZXknO1xuaW1wb3J0IHsgd2l0aE5vZGVIb3ZlciB9IGZyb20gJy4vd2l0aC1ub2RlLWhvdmVyJztcbmltcG9ydCB7IGJ1aWxkVGV4dCwgZ2V0VGV4dEZyb21DbGlwYm9hcmQsIGdldFRleHRTaXplIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuXG5leHBvcnQgY29uc3Qgd2l0aE1pbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICAgIGRyYXdFbGVtZW50LFxuICAgICAgICBkYmxjbGljayxcbiAgICAgICAga2V5ZG93bixcbiAgICAgICAgaW5zZXJ0RnJhZ21lbnQsXG4gICAgICAgIHNldEZyYWdtZW50LFxuICAgICAgICBkZWxldGVGcmFnbWVudCxcbiAgICAgICAgaXNIaXRTZWxlY3Rpb24sXG4gICAgICAgIGdldFJlY3RhbmdsZSxcbiAgICAgICAgaXNNb3ZhYmxlLFxuICAgICAgICBpc1JlY3Vyc2lvblxuICAgIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmRyYXdFbGVtZW50ID0gKGNvbnRleHQ6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQoY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIFBsYWl0TWluZENvbXBvbmVudDtcbiAgICAgICAgfSBlbHNlIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBjb250ZXh0LmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gTWluZE5vZGVDb21wb25lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRyYXdFbGVtZW50KGNvbnRleHQpO1xuICAgIH07XG5cbiAgICBib2FyZC5hcHBseVRoZW1lID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBtaW5kRWxlbWVudCA9IGVsZW1lbnQgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHNob3VsZENsZWFyUHJvcGVydHkgPVxuICAgICAgICAgICAgIVBsYWl0Qm9hcmQuaXNCb2FyZChlbGVtZW50KSAmJiAobWluZEVsZW1lbnQ/LmJyYW5jaENvbG9yIHx8IG1pbmRFbGVtZW50Py5maWxsIHx8IG1pbmRFbGVtZW50Py5zdHJva2VDb2xvcik7XG4gICAgICAgIGNvbnN0IGlzQWJzdHJhY3QgPSBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KTtcbiAgICAgICAgaWYgKHNob3VsZENsZWFyUHJvcGVydHkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcblxuICAgICAgICAgICAgaWYgKGlzQWJzdHJhY3QpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoXG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLFxuICAgICAgICAgICAgICAgICAgICB7IGZpbGw6IG51bGwsIHN0cm9rZUNvbG9yOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuc3Ryb2tlQ29sb3IsIGJyYW5jaENvbG9yOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuYnJhbmNoQ29sb3IgfSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBmaWxsOiBudWxsLCBzdHJva2VDb2xvcjogbnVsbCwgYnJhbmNoQ29sb3I6IG51bGwgfSwgcGF0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgYm9hcmQuZ2V0UmVjdGFuZ2xlID0gZWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5Tm9kZShNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5pc1JlY3Vyc2lvbiA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkgJiYgZWxlbWVudC5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc1JlY3Vyc2lvbihlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNIaXRTZWxlY3Rpb24gPSAoZWxlbWVudCwgcmFuZ2U6IFJhbmdlKSA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgY2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkpO1xuICAgICAgICAgICAgY29uc3QgaXNIaXQgPSBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtyYW5nZS5hbmNob3IsIHJhbmdlLmZvY3VzXSksIGNsaWVudCk7XG4gICAgICAgICAgICByZXR1cm4gaXNIaXQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzSGl0U2VsZWN0aW9uKGVsZW1lbnQsIHJhbmdlKTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNNb3ZhYmxlID0gZWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpICYmIGVsZW1lbnQuaXNSb290KSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNNb3ZhYmxlKGVsZW1lbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5kYmxjbGljayA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSkge1xuICAgICAgICAgICAgZGJsY2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBib2FyZC5jaGlsZHJlblxuICAgICAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiBQbGFpdE1pbmQuaXNNaW5kKHZhbHVlKSlcbiAgICAgICAgICAgIC5mb3JFYWNoKG1pbmRNYXAgPT4ge1xuICAgICAgICAgICAgICAgIGRlcHRoRmlyc3RSZWN1cnNpb248TWluZEVsZW1lbnQ+KFxuICAgICAgICAgICAgICAgICAgICBtaW5kTWFwIGFzIE1pbmRFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpICYmIGlzSGl0TWluZEVsZW1lbnQoYm9hcmQsIHBvaW50LCBub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRUb3BpYyhub2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0JvYXJkKG5vZGUpIHx8IGJvYXJkLmlzUmVjdXJzaW9uKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGRibGNsaWNrKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuc2V0RnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkgYXMgTWluZEVsZW1lbnRbXSk7XG4gICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHMgPSBidWlsZENsaXBib2FyZERhdGEoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICAgICAgc2V0Q2xpcGJvYXJkRGF0YShkYXRhLCBlbGVtZW50cyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0RnJhZ21lbnQoZGF0YSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmluc2VydEZyYWdtZW50ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwsIHRhcmdldFBvaW50PzogUG9pbnQpID0+IHtcbiAgICAgICAgaWYgKGJvYXJkLm9wdGlvbnMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIHRhcmdldFBvaW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZ2V0RGF0YUZyb21DbGlwYm9hcmQoZGF0YSk7XG4gICAgICAgIGlmIChlbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIGVsZW1lbnRzLCB0YXJnZXRQb2ludCB8fCBbMCwgMF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGdldFRleHRGcm9tQ2xpcGJvYXJkKGRhdGEpO1xuICAgICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRUZXh0U2l6ZShib2FyZCwgdGV4dCwgVE9QSUNfREVGQVVMVF9NQVhfV09SRF9DT1VOVCwge1xuICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdQaW5nRmFuZ1NDLVJlZ3VsYXIsIFwiUGluZ0ZhbmcgU0NcIidcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICAgICAgaWYgKHRleHQgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBpbnNlcnRDbGlwYm9hcmRUZXh0KGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzWzBdLCBidWlsZFRleHQodGV4dCksIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluc2VydEZyYWdtZW50KGRhdGEsIHRhcmdldFBvaW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGVsZXRlRnJhZ21lbnQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICAgICAgY29uc3QgZGVsZXRhYmxlRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudChzZWxlY3RlZEVsZW1lbnRzKS5yZXZlcnNlKCk7XG4gICAgICAgIGNvbnN0IGFic3RyYWN0UmVmcyA9IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgZGVsZXRhYmxlRWxlbWVudHMpO1xuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRBYnN0cmFjdHNCeVJlZnMoYm9hcmQsIGFic3RyYWN0UmVmcyk7XG5cbiAgICAgICAgY29uc3QgcmVmcyA9IGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG5cbiAgICAgICAgTWluZFRyYW5zZm9ybXMucmVtb3ZlRWxlbWVudHMoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICBkZWxldGVGcmFnbWVudChkYXRhKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHdpdGhOb2RlSG92ZXIod2l0aE1pbmRIb3RrZXkod2l0aE1pbmRFeHRlbmQod2l0aENyZWF0ZU1pbmQod2l0aEFic3RyYWN0KHdpdGhOb2RlRG5kKGJvYXJkKSkpKSkpO1xufTtcbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILG1CQUFtQixFQUNuQixVQUFVLEVBR1YsZUFBZSxFQUNmLE9BQU8sRUFDUCxjQUFjLEVBQ2QsVUFBVSxFQUVWLG1CQUFtQixFQUV0QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FB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LEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RSxjQUFjLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXBELGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdkQsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUVGLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgUG9pbnQsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBSYW5nZSxcbiAgICBkZXB0aEZpcnN0UmVjdXJzaW9uLFxuICAgIFBsYWl0RWxlbWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQbGFpdE1pbmRDb21wb25lbnQgfSBmcm9tICcuLi9taW5kLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IGdldEZpcnN0TGV2ZWxFbGVtZW50LCBkZWxldGVFbGVtZW50SGFuZGxlQWJzdHJhY3QsIGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUsIGlzSGl0TWluZEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9ub2RlJztcbmltcG9ydCB7IHdpdGhOb2RlRG5kIH0gZnJvbSAnLi93aXRoLW5vZGUtZG5kJztcbmltcG9ydCB7IGJ1aWxkQ2xpcGJvYXJkRGF0YSwgZ2V0RGF0YUZyb21DbGlwYm9hcmQsIGluc2VydENsaXBib2FyZERhdGEsIGluc2VydENsaXBib2FyZFRleHQsIHNldENsaXBib2FyZERhdGEgfSBmcm9tICcuLi91dGlscy9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZWRpdFRvcGljIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jb21tb24nO1xuaW1wb3J0IHsgd2l0aEFic3RyYWN0IH0gZnJvbSAnLi93aXRoLWFic3RyYWN0LXJlc2l6ZSc7XG5pbXBvcnQgeyB3aXRoTWluZEV4dGVuZCB9IGZyb20gJy4vd2l0aC1taW5kLWV4dGVuZCc7XG5pbXBvcnQgeyBUT1BJQ19ERUZBVUxUX01BWF9XT1JEX0NPVU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdG9waWMtc3R5bGUnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IHdpdGhDcmVhdGVNaW5kIH0gZnJvbSAnLi93aXRoLW1pbmQtY3JlYXRlJztcbmltcG9ydCB7IERlZmF1bHRBYnN0cmFjdE5vZGVTdHlsZSB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXN0eWxlJztcbmltcG9ydCB7IHdpdGhNaW5kSG90a2V5IH0gZnJvbSAnLi93aXRoLW1pbmQtaG90a2V5JztcbmltcG9ydCB7IHdpdGhOb2RlSG92ZXIgfSBmcm9tICcuL3dpdGgtbm9kZS1ob3Zlcic7XG5pbXBvcnQgeyBidWlsZFRleHQsIGdldFRleHRGcm9tQ2xpcGJvYXJkLCBnZXRUZXh0U2l6ZSB9IGZyb20gJ0BwbGFpdC90ZXh0JztcblxuZXhwb3J0IGNvbnN0IHdpdGhNaW5kID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgICBkcmF3RWxlbWVudCxcbiAgICAgICAgZGJsY2xpY2ssXG4gICAgICAgIGtleWRvd24sXG4gICAgICAgIGluc2VydEZyYWdtZW50LFxuICAgICAgICBzZXRGcmFnbWVudCxcbiAgICAgICAgZGVsZXRlRnJhZ21lbnQsXG4gICAgICAgIGlzSGl0U2VsZWN0aW9uLFxuICAgICAgICBnZXRSZWN0YW5nbGUsXG4gICAgICAgIGlzTW92YWJsZSxcbiAgICAgICAgaXNSZWN1cnNpb25cbiAgICB9ID0gYm9hcmQ7XG5cbiAgICBib2FyZC5kcmF3RWxlbWVudCA9IChjb250ZXh0OiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGNvbnRleHQuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBQbGFpdE1pbmRDb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgY29udGV4dC5lbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIE1pbmROb2RlQ29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkcmF3RWxlbWVudChjb250ZXh0KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuYXBwbHlUaGVtZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbWluZEVsZW1lbnQgPSBlbGVtZW50IGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBjb25zdCBzaG91bGRDbGVhclByb3BlcnR5ID1cbiAgICAgICAgICAgICFQbGFpdEJvYXJkLmlzQm9hcmQoZWxlbWVudCkgJiYgKG1pbmRFbGVtZW50Py5icmFuY2hDb2xvciB8fCBtaW5kRWxlbWVudD8uZmlsbCB8fCBtaW5kRWxlbWVudD8uc3Ryb2tlQ29sb3IpO1xuICAgICAgICBjb25zdCBpc0Fic3RyYWN0ID0gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCk7XG4gICAgICAgIGlmIChzaG91bGRDbGVhclByb3BlcnR5KSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG5cbiAgICAgICAgICAgIGlmIChpc0Fic3RyYWN0KSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKFxuICAgICAgICAgICAgICAgICAgICBib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgeyBmaWxsOiBudWxsLCBzdHJva2VDb2xvcjogRGVmYXVsdEFic3RyYWN0Tm9kZVN0eWxlLnN0cm9rZUNvbG9yLCBicmFuY2hDb2xvcjogRGVmYXVsdEFic3RyYWN0Tm9kZVN0eWxlLmJyYW5jaENvbG9yIH0sXG4gICAgICAgICAgICAgICAgICAgIHBhdGhcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgZmlsbDogbnVsbCwgc3Ryb2tlQ29sb3I6IG51bGwsIGJyYW5jaENvbG9yOiBudWxsIH0sIHBhdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGJvYXJkLmdldFJlY3RhbmdsZSA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeU5vZGUoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuaXNSZWN1cnNpb24gPSBlbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpICYmIGVsZW1lbnQuaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNSZWN1cnNpb24oZWxlbWVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzSGl0U2VsZWN0aW9uID0gKGVsZW1lbnQsIHJhbmdlOiBSYW5nZSkgPT4ge1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsaWVudCA9IGdldFJlY3RhbmdsZUJ5Tm9kZShNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpKTtcbiAgICAgICAgICAgIGNvbnN0IGlzSGl0ID0gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KFJlY3RhbmdsZUNsaWVudC50b1JlY3RhbmdsZUNsaWVudChbcmFuZ2UuYW5jaG9yLCByYW5nZS5mb2N1c10pLCBjbGllbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGlzSGl0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0hpdFNlbGVjdGlvbihlbGVtZW50LCByYW5nZSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmlzTW92YWJsZSA9IGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSAmJiBlbGVtZW50LmlzUm9vdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzTW92YWJsZShlbGVtZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZGJsY2xpY2sgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIGRibGNsaWNrKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgYm9hcmQuY2hpbGRyZW5cbiAgICAgICAgICAgIC5maWx0ZXIodmFsdWUgPT4gUGxhaXRNaW5kLmlzTWluZCh2YWx1ZSkpXG4gICAgICAgICAgICAuZm9yRWFjaChtaW5kTWFwID0+IHtcbiAgICAgICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uPE1pbmRFbGVtZW50PihcbiAgICAgICAgICAgICAgICAgICAgbWluZE1hcCBhcyBNaW5kRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKGJvYXJkKSAmJiBpc0hpdE1pbmRFbGVtZW50KGJvYXJkLCBwb2ludCwgbm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZGl0VG9waWMobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZChub2RlKSB8fCBib2FyZC5pc1JlY3Vyc2lvbihub2RlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBkYmxjbGljayhldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnNldEZyYWdtZW50ID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldEZpcnN0TGV2ZWxFbGVtZW50KGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpIGFzIE1pbmRFbGVtZW50W10pO1xuICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gYnVpbGRDbGlwYm9hcmREYXRhKGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzKTtcbiAgICAgICAgICAgIHNldENsaXBib2FyZERhdGEoZGF0YSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldEZyYWdtZW50KGRhdGEpO1xuICAgIH07XG5cbiAgICBib2FyZC5pbnNlcnRGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCB0YXJnZXRQb2ludD86IFBvaW50KSA9PiB7XG4gICAgICAgIGlmIChib2FyZC5vcHRpb25zLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICBpbnNlcnRGcmFnbWVudChkYXRhLCB0YXJnZXRQb2ludCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBnZXREYXRhRnJvbUNsaXBib2FyZChkYXRhKTtcbiAgICAgICAgaWYgKGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgaW5zZXJ0Q2xpcGJvYXJkRGF0YShib2FyZCwgZWxlbWVudHMsIHRhcmdldFBvaW50IHx8IFswLCAwXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0ID0gZ2V0VGV4dEZyb21DbGlwYm9hcmQoZGF0YSk7XG4gICAgICAgICAgICAgICAgaWYgKHRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0Q2xpcGJvYXJkVGV4dChib2FyZCwgc2VsZWN0ZWRFbGVtZW50c1swXSwgYnVpbGRUZXh0KHRleHQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0RnJhZ21lbnQoZGF0YSwgdGFyZ2V0UG9pbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5kZWxldGVGcmFnbWVudCA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgICAgICBjb25zdCBkZWxldGFibGVFbGVtZW50cyA9IGdldEZpcnN0TGV2ZWxFbGVtZW50KHNlbGVjdGVkRWxlbWVudHMpLnJldmVyc2UoKTtcbiAgICAgICAgY29uc3QgYWJzdHJhY3RSZWZzID0gZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0KGJvYXJkLCBkZWxldGFibGVFbGVtZW50cyk7XG4gICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEFic3RyYWN0c0J5UmVmcyhib2FyZCwgYWJzdHJhY3RSZWZzKTtcblxuICAgICAgICBjb25zdCByZWZzID0gZGVsZXRlRWxlbWVudHNIYW5kbGVSaWdodE5vZGVDb3VudChib2FyZCwgc2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldFJpZ2h0Tm9kZUNvdW50QnlSZWZzKGJvYXJkLCByZWZzKTtcblxuICAgICAgICBNaW5kVHJhbnNmb3Jtcy5yZW1vdmVFbGVtZW50cyhib2FyZCwgc2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgIGRlbGV0ZUZyYWdtZW50KGRhdGEpO1xuICAgIH07XG5cbiAgICByZXR1cm4gd2l0aE5vZGVIb3Zlcih3aXRoTWluZEhvdGtleSh3aXRoTWluZEV4dGVuZCh3aXRoQ3JlYXRlTWluZCh3aXRoQWJzdHJhY3Qod2l0aE5vZGVEbmQoYm9hcmQpKSkpKSk7XG59O1xuIl19
|
|
@@ -37,12 +37,11 @@ export const withNodeDnd = (board) => {
|
|
|
37
37
|
!AbstractNode.isAbstract(targetElement)) {
|
|
38
38
|
const targetElements = selectedElements.filter(element => MindElement.isMindElement(board, element) && !element.isRoot && !AbstractNode.isAbstract(element));
|
|
39
39
|
const isMultiple = selectedElements.length > 0 && selectedElements.includes(targetElement);
|
|
40
|
-
const isSingle = !isMultiple && selectedElements.length === 0;
|
|
41
40
|
if (isMultiple) {
|
|
42
41
|
activeElements = targetElements;
|
|
43
42
|
startPoint = point;
|
|
44
43
|
}
|
|
45
|
-
else
|
|
44
|
+
else {
|
|
46
45
|
activeElements = [targetElement];
|
|
47
46
|
startPoint = point;
|
|
48
47
|
}
|
|
@@ -96,6 +95,7 @@ export const withNodeDnd = (board) => {
|
|
|
96
95
|
}
|
|
97
96
|
if (dropTarget) {
|
|
98
97
|
const targetPathRef = board.pathRef(targetPath);
|
|
98
|
+
const targetPreviousPathRef = Path.hasPrevious(targetPath) && board.pathRef(Path.previous(targetPath));
|
|
99
99
|
const targetElementPathRef = board.pathRef(PlaitBoard.findPath(board, dropTarget.target));
|
|
100
100
|
let abstractRefs = getValidAbstractRefs(board, firstLevelElements);
|
|
101
101
|
const normalElements = firstLevelElements
|
|
@@ -133,9 +133,16 @@ export const withNodeDnd = (board) => {
|
|
|
133
133
|
let insertPath = targetPathRef.current;
|
|
134
134
|
const parentPath = Path.parent(targetPathRef.current || targetPath);
|
|
135
135
|
if (!insertPath) {
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
|
|
136
|
+
//当插入位置和选中节点位置相同时,使用记录的 previousPath
|
|
137
|
+
const previousPath = targetPreviousPathRef && targetPreviousPathRef.unref();
|
|
138
|
+
if (previousPath) {
|
|
139
|
+
insertPath = Path.next(previousPath);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
const parent = PlaitNode.get(board, parentPath);
|
|
143
|
+
const children = getNonAbstractChildren(parent);
|
|
144
|
+
insertPath = [...parentPath, children.length || 0];
|
|
145
|
+
}
|
|
139
146
|
}
|
|
140
147
|
MindTransforms.insertNodes(board, normalElements, insertPath);
|
|
141
148
|
if (abstractRefs.length) {
|
|
@@ -170,4 +177,4 @@ export const withNodeDnd = (board) => {
|
|
|
170
177
|
};
|
|
171
178
|
return board;
|
|
172
179
|
};
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWRuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWRuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsNEJBQTRCLEVBRTVCLElBQUksRUFDSixVQUFVLEVBRVYsT0FBTyxFQUNQLGNBQWMsRUFDZCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsU0FBUyxFQUNULGdCQUFnQixFQUNoQixjQUFjLEVBRWpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFHL0QsT0FBTyxFQUNILDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixpQ0FBaUMsRUFDcEMsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRTNCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFD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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LFxuICAgIElTX1RFWFRfRURJVEFCTEUsXG4gICAgUGF0aCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24sXG4gICAgY3JlYXRlRyxcbiAgICBQbGFpdE5vZGUsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBnZXRIaXRFbGVtZW50cyxcbiAgICBQbGFpdEVsZW1lbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBnZXROb25BYnN0cmFjdENoaWxkcmVuIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBEZXRlY3RSZXN1bHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuXG5pbXBvcnQge1xuICAgIGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdCxcbiAgICBkZWxldGVFbGVtZW50c0hhbmRsZVJpZ2h0Tm9kZUNvdW50LFxuICAgIGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCxcbiAgICBnZXRGaXJzdExldmVsRWxlbWVudCxcbiAgICBnZXRPdmVyYWxsQWJzdHJhY3RzLFxuICAgIGdldFZhbGlkQWJzdHJhY3RSZWZzLFxuICAgIGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdCxcbiAgICBpbnNlcnRFbGVtZW50SGFuZGxlUmlnaHROb2RlQ291bnRcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgYWRkQWN0aXZlT25EcmFnT3JpZ2luLCBpc0RyYWdnaW5nLCBpc0Ryb3BTdGFuZGFyZFJpZ2h0LCByZW1vdmVBY3RpdmVPbkRyYWdPcmlnaW4sIHNldElzRHJhZ2dpbmcgfSBmcm9tICcuLi91dGlscy9kbmQvY29tbW9uJztcbmltcG9ydCB7IGRldGVjdERyb3BUYXJnZXQsIGdldFBhdGhCeURyb3BUYXJnZXQgfSBmcm9tICcuLi91dGlscy9kbmQvZGV0ZWN0b3InO1xuaW1wb3J0IHsgZHJhd0Zha2VEcmFnTm9kZSwgZHJhd0Zha2VEcm9wTm9kZSB9IGZyb20gJy4uL3V0aWxzL2RyYXcvbm9kZS1kbmQnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGFkanVzdEFic3RyYWN0VG9Ob2RlIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9hZGp1c3Qtbm9kZSc7XG5cbmNvbnN0IERSQUdfTU9WRV9CVUZGRVIgPSA1O1xuXG5leHBvcnQgY29uc3Qgd2l0aE5vZGVEbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IG1vdXNlZG93biwgbW91c2Vtb3ZlLCBnbG9iYWxNb3VzZXVwIH0gPSBib2FyZDtcblxuICAgIGxldCBhY3RpdmVFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgIGxldCBjb3JyZXNwb25kaW5nRWxlbWVudHM6IE1pbmRFbGVtZW50W10gPSBbXTtcbiAgICBsZXQgc3RhcnRQb2ludDogUG9pbnQ7XG4gICAgbGV0IGRyYWdGYWtlTm9kZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGxldCBmYWtlRHJvcE5vZGVHOiBTVkdHRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZHJvcFRhcmdldDogeyB0YXJnZXQ6IE1pbmRFbGVtZW50OyBkZXRlY3RSZXN1bHQ6IERldGVjdFJlc3VsdCB9IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHRhcmdldFBhdGg6IFBhdGg7XG5cbiAgICBib2FyZC5tb3VzZWRvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSB8fFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpIHx8XG4gICAgICAgICAgICAhUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKSB8fFxuICAgICAgICAgICAgZXZlbnQuYnV0dG9uID09PSAyXG4gICAgICAgICkge1xuICAgICAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGhpdFRhcmdldCA9IGdldEhpdEVsZW1lbnRzKGJvYXJkLCB7IHJhbmdlczogW3sgYW5jaG9yOiBwb2ludCwgZm9jdXM6IHBvaW50IH1dIH0sIChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGhpdFRhcmdldCAmJiBoaXRUYXJnZXQubGVuZ3RoID09PSAxID8gaGl0VGFyZ2V0WzBdIDogbnVsbDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCAmJlxuICAgICAgICAgICAgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgdGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICF0YXJnZXRFbGVtZW50LmlzUm9vdCAmJlxuICAgICAgICAgICAgIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHRhcmdldEVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudHMgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICBlbGVtZW50ID0+IE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpICYmICFlbGVtZW50LmlzUm9vdCAmJiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudClcbiAgICAgICAgICAgICkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2luZ2xlID0gIWlzTXVsdGlwbGUgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDA7XG4gICAgICAgICAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gdGFyZ2V0RWxlbWVudHM7XG4gICAgICAgICAgICAgICAgc3RhcnRQb2ludCA9IHBvaW50O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc1NpbmdsZSkge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW3RhcmdldEVsZW1lbnRdO1xuICAgICAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWN0aXZlRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb3JyZXNwb25kaW5nRWxlbWVudHMgPSBnZXRPdmVyYWxsQWJzdHJhY3RzKGJvYXJkLCBhY3RpdmVFbGVtZW50cyk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQubW91c2Vtb3ZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghYm9hcmQub3B0aW9ucy5yZWFkb25seSAmJiBhY3RpdmVFbGVtZW50cz8ubGVuZ3RoICYmIHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50KHN0YXJ0UG9pbnRbMF0sIHN0YXJ0UG9pbnRbMV0sIGVuZFBvaW50WzBdLCBlbmRQb2ludFsxXSk7XG4gICAgICAgICAgICBpZiAoZGlzdGFuY2UgPCBEUkFHX01PVkVfQlVGRkVSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0RyYWdnaW5nKGJvYXJkLCB0cnVlKTtcblxuICAgICAgICAgICAgZmFrZURyb3BOb2RlRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjb25zdCBkZXRlY3RQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIGRyb3BUYXJnZXQgPSBkZXRlY3REcm9wVGFyZ2V0KGJvYXJkLCBkZXRlY3RQb2ludCwgZHJvcFRhcmdldCwgWy4uLmFjdGl2ZUVsZW1lbnRzLCAuLi5jb3JyZXNwb25kaW5nRWxlbWVudHNdKTtcbiAgICAgICAgICAgIGlmIChkcm9wVGFyZ2V0Py50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRQYXRoID0gZ2V0UGF0aEJ5RHJvcFRhcmdldChib2FyZCwgZHJvcFRhcmdldCk7XG5cbiAgICAgICAgICAgICAgICBmYWtlRHJvcE5vZGVHID0gZHJhd0Zha2VEcm9wTm9kZShib2FyZCwgZHJvcFRhcmdldCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmRDaGlsZChmYWtlRHJvcE5vZGVHKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludFswXTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldFkgPSBlbmRQb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV07XG4gICAgICAgICAgICBkcmFnRmFrZU5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgICAgICBbLi4uYWN0aXZlRWxlbWVudHMsIC4uLmNvcnJlc3BvbmRpbmdFbGVtZW50c10uZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICBhZGRBY3RpdmVPbkRyYWdPcmlnaW4oZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZUcgPSBkcmF3RmFrZURyYWdOb2RlKGJvYXJkLCBlbGVtZW50LCBvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICAgICAgICAgICAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmRDaGlsZChub2RlRyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmRDaGlsZChkcmFnRmFrZU5vZGVHKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1vdXNlbW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbE1vdXNldXAgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZmlyc3RMZXZlbEVsZW1lbnRzID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoYWN0aXZlRWxlbWVudHMpO1xuICAgICAgICBpZiAoIWJvYXJkLm9wdGlvbnMucmVhZG9ubHkgJiYgZmlyc3RMZXZlbEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgZmlyc3RMZXZlbEVsZW1lbnRzLnB1c2goLi4uY29ycmVzcG9uZGluZ0VsZW1lbnRzKTtcbiAgICAgICAgICAgIGlmIChpc0RyYWdnaW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgICAgIGZpcnN0TGV2ZWxFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVBY3RpdmVPbkRyYWdPcmlnaW4oZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZHJvcFRhcmdldCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFBhdGhSZWYgPSBib2FyZC5wYXRoUmVmKHRhcmdldFBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRQYXRoUmVmID0gYm9hcmQucGF0aFJlZihQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBkcm9wVGFyZ2V0LnRhcmdldCkpO1xuICAgICAgICAgICAgICAgIGxldCBhYnN0cmFjdFJlZnMgPSBnZXRWYWxpZEFic3RyYWN0UmVmcyhib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxFbGVtZW50cyA9IGZpcnN0TGV2ZWxFbGVtZW50c1xuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gIWFic3RyYWN0UmVmcy5zb21lKHJlZnMgPT4gcmVmcy5hYnN0cmFjdCA9PT0gZWxlbWVudCkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWRqdXN0QWJzdHJhY3RUb05vZGUoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNQcmV2aW91c05vZGUgPSB0YXJnZXRQYXRoW3RhcmdldFBhdGgubGVuZ3RoIC0gMV0gIT09IDA7XG4gICAgICAgICAgICAgICAgaWYgKGhhc1ByZXZpb3VzTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c0VsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHRhcmdldFBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ycmVzcG9uZGluZ0Fic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHByZXZpb3VzRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEhhc0NvcnJlc3BvbmRBYnN0cmFjdCA9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgY29ycmVzcG9uZGluZ0Fic3RyYWN0LmVuZCAhPT0gdGFyZ2V0UGF0aFt0YXJnZXRQYXRoLmxlbmd0aCAtIDFdIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhcmdldEhhc0NvcnJlc3BvbmRBYnN0cmFjdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRqdXN0ZWROb2RlID0gYWJzdHJhY3RSZWZzLm1hcChyZWYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhZGp1c3RBYnN0cmFjdFRvTm9kZShyZWYuYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxFbGVtZW50cy5wdXNoKC4uLmFkanVzdGVkTm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhYnN0cmFjdFJlZnMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGVmZmVjdGVkQWJzdHJhY3RzID0gZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgdGFyZ2V0UGF0aCwgbm9ybWFsRWxlbWVudHMubGVuZ3RoLCBmYWxzZSwgZWZmZWN0ZWRBYnN0cmFjdHMpO1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEFic3RyYWN0c0J5UmVmcyhib2FyZCwgZWZmZWN0ZWRBYnN0cmFjdHMpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHJlZnMgPSBkZWxldGVFbGVtZW50c0hhbmRsZVJpZ2h0Tm9kZUNvdW50KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucGFyZW50KHRhcmdldFBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBzaG91bGRDaGFuZ2VSb290ID0gaXNEcm9wU3RhbmRhcmRSaWdodChwYXJlbnQsIGRyb3BUYXJnZXQpO1xuICAgICAgICAgICAgICAgIGlmIChzaG91bGRDaGFuZ2VSb290ICYmIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmcyA9IGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudChib2FyZCwgdGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudC5zbGljZSgwLCAxKSwgbm9ybWFsRWxlbWVudHMubGVuZ3RoLCByZWZzKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMucmVtb3ZlRWxlbWVudHMoYm9hcmQsIGZpcnN0TGV2ZWxFbGVtZW50cyk7XG5cbiAgICAgICAgICAgICAgICBsZXQgaW5zZXJ0UGF0aCA9IHRhcmdldFBhdGhSZWYuY3VycmVudDtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnRQYXRoID0gUGF0aC5wYXJlbnQodGFyZ2V0UGF0aFJlZi5jdXJyZW50IHx8IHRhcmdldFBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICghaW5zZXJ0UGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXJlbnRQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRyZW4gPSBnZXROb25BYnN0cmFjdENoaWxkcmVuKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgICAgIGluc2VydFBhdGggPSBbLi4ucGFyZW50UGF0aCwgY2hpbGRyZW4ubGVuZ3RoIHx8IDBdO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLmluc2VydE5vZGVzKGJvYXJkLCBub3JtYWxFbGVtZW50cywgaW5zZXJ0UGF0aCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYWJzdHJhY3RSZWZzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5pbnNlcnRBYnN0cmFjdE5vZGVzKGJvYXJkLCBhYnN0cmFjdFJlZnMsIG5vcm1hbEVsZW1lbnRzLCBpbnNlcnRQYXRoKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0UGF0aFJlZi5jdXJyZW50ICYmXG4gICAgICAgICAgICAgICAgICAgIFBhdGguaXNBbmNlc3Rvcih0YXJnZXRFbGVtZW50UGF0aFJlZi5jdXJyZW50LCB0YXJnZXRQYXRoUmVmLmN1cnJlbnQpICYmXG4gICAgICAgICAgICAgICAgICAgIGRyb3BUYXJnZXQudGFyZ2V0LmlzQ29sbGFwc2VkXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBpc0NvbGxhcHNlZDogZmFsc2UgfSwgdGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRhcmdldEVsZW1lbnRQYXRoUmVmLnVucmVmKCk7XG4gICAgICAgICAgICAgICAgdGFyZ2V0UGF0aFJlZi51bnJlZigpO1xuXG4gICAgICAgICAgICAgICAgbGV0IHNldEFjdGl2ZUVsZW1lbnRzOiBNaW5kRWxlbWVudFtdID0gW107XG4gICAgICAgICAgICAgICAgZGVwdGhGaXJzdFJlY3Vyc2lvbigoYm9hcmQgYXMgdW5rbm93bikgYXMgTWluZEVsZW1lbnQsIG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gYWN0aXZlRWxlbWVudHMuc29tZShlbGVtZW50ID0+IGVsZW1lbnQuaWQgPT09IG5vZGUuaWQpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2V0QWN0aXZlRWxlbWVudHMucHVzaChub2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXRTZWxlY3Rpb25XaXRoVGVtcG9yYXJ5RWxlbWVudHMoYm9hcmQsIHNldEFjdGl2ZUVsZW1lbnRzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0SXNEcmFnZ2luZyhib2FyZCwgZmFsc2UpO1xuICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMgPSBbXTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgZHJhZ0Zha2VOb2RlRyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGZha2VEcm9wTm9kZUc/LnJlbW92ZSgpO1xuICAgICAgICAgICAgZmFrZURyb3BOb2RlRyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGRyb3BUYXJnZXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGdsb2JhbE1vdXNldXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59O1xuIl19
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWRuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWRuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsNEJBQTRCLEVBRTVCLElBQUksRUFDSixVQUFVLEVBRVYsT0FBTyxFQUNQLGNBQWMsRUFDZCxVQUFVLEVBQ1YsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsU0FBUyxFQUNULGdCQUFnQixFQUNoQixjQUFjLEVBRWpCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFHL0QsT0FBTyxFQUNILDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQixpQ0FBaUMsRUFDcEMsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRWpFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRTNCLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFD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QUN4QixhQUFhLEdBQUcsU0FBUyxDQUFDO1lBQzFCLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN4QixhQUFhLEdBQUcsU0FBUyxDQUFDO1lBQzFCLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDckI7UUFDRCxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50LFxuICAgIElTX1RFWFRfRURJVEFCTEUsXG4gICAgUGF0aCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIHRvUG9pbnQsXG4gICAgdHJhbnNmb3JtUG9pbnQsXG4gICAgVHJhbnNmb3JtcyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24sXG4gICAgY3JlYXRlRyxcbiAgICBQbGFpdE5vZGUsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBnZXRIaXRFbGVtZW50cyxcbiAgICBQbGFpdEVsZW1lbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBnZXROb25BYnN0cmFjdENoaWxkcmVuIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBEZXRlY3RSZXN1bHQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuXG5pbXBvcnQge1xuICAgIGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdCxcbiAgICBkZWxldGVFbGVtZW50c0hhbmRsZVJpZ2h0Tm9kZUNvdW50LFxuICAgIGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCxcbiAgICBnZXRGaXJzdExldmVsRWxlbWVudCxcbiAgICBnZXRPdmVyYWxsQWJzdHJhY3RzLFxuICAgIGdldFZhbGlkQWJzdHJhY3RSZWZzLFxuICAgIGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdCxcbiAgICBpbnNlcnRFbGVtZW50SGFuZGxlUmlnaHROb2RlQ291bnRcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgYWRkQWN0aXZlT25EcmFnT3JpZ2luLCBpc0RyYWdnaW5nLCBpc0Ryb3BTdGFuZGFyZFJpZ2h0LCByZW1vdmVBY3RpdmVPbkRyYWdPcmlnaW4sIHNldElzRHJhZ2dpbmcgfSBmcm9tICcuLi91dGlscy9kbmQvY29tbW9uJztcbmltcG9ydCB7IGRldGVjdERyb3BUYXJnZXQsIGdldFBhdGhCeURyb3BUYXJnZXQgfSBmcm9tICcuLi91dGlscy9kbmQvZGV0ZWN0b3InO1xuaW1wb3J0IHsgZHJhd0Zha2VEcmFnTm9kZSwgZHJhd0Zha2VEcm9wTm9kZSB9IGZyb20gJy4uL3V0aWxzL2RyYXcvbm9kZS1kbmQnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGFkanVzdEFic3RyYWN0VG9Ob2RlIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9hZGp1c3Qtbm9kZSc7XG5cbmNvbnN0IERSQUdfTU9WRV9CVUZGRVIgPSA1O1xuXG5leHBvcnQgY29uc3Qgd2l0aE5vZGVEbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCB7IG1vdXNlZG93biwgbW91c2Vtb3ZlLCBnbG9iYWxNb3VzZXVwIH0gPSBib2FyZDtcblxuICAgIGxldCBhY3RpdmVFbGVtZW50czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgIGxldCBjb3JyZXNwb25kaW5nRWxlbWVudHM6IE1pbmRFbGVtZW50W10gPSBbXTtcbiAgICBsZXQgc3RhcnRQb2ludDogUG9pbnQ7XG4gICAgbGV0IGRyYWdGYWtlTm9kZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGxldCBmYWtlRHJvcE5vZGVHOiBTVkdHRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBsZXQgZHJvcFRhcmdldDogeyB0YXJnZXQ6IE1pbmRFbGVtZW50OyBkZXRlY3RSZXN1bHQ6IERldGVjdFJlc3VsdCB9IHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHRhcmdldFBhdGg6IFBhdGg7XG5cbiAgICBib2FyZC5tb3VzZWRvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSB8fFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5oYXNCZWVuVGV4dEVkaXRpbmcoYm9hcmQpIHx8XG4gICAgICAgICAgICAhUGxhaXRCb2FyZC5pc1BvaW50ZXIoYm9hcmQsIFBsYWl0UG9pbnRlclR5cGUuc2VsZWN0aW9uKSB8fFxuICAgICAgICAgICAgZXZlbnQuYnV0dG9uID09PSAyXG4gICAgICAgICkge1xuICAgICAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGNvbnN0IGhpdFRhcmdldCA9IGdldEhpdEVsZW1lbnRzKGJvYXJkLCB7IHJhbmdlczogW3sgYW5jaG9yOiBwb2ludCwgZm9jdXM6IHBvaW50IH1dIH0sIChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGhpdFRhcmdldCAmJiBoaXRUYXJnZXQubGVuZ3RoID09PSAxID8gaGl0VGFyZ2V0WzBdIDogbnVsbDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCAmJlxuICAgICAgICAgICAgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgdGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICF0YXJnZXRFbGVtZW50LmlzUm9vdCAmJlxuICAgICAgICAgICAgIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHRhcmdldEVsZW1lbnQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudHMgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbHRlcihcbiAgICAgICAgICAgICAgICBlbGVtZW50ID0+IE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpICYmICFlbGVtZW50LmlzUm9vdCAmJiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudClcbiAgICAgICAgICAgICkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA+IDAgJiYgc2VsZWN0ZWRFbGVtZW50cy5pbmNsdWRlcyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChpc011bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgYWN0aXZlRWxlbWVudHMgPSB0YXJnZXRFbGVtZW50cztcbiAgICAgICAgICAgICAgICBzdGFydFBvaW50ID0gcG9pbnQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzID0gW3RhcmdldEVsZW1lbnRdO1xuICAgICAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWN0aXZlRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb3JyZXNwb25kaW5nRWxlbWVudHMgPSBnZXRPdmVyYWxsQWJzdHJhY3RzKGJvYXJkLCBhY3RpdmVFbGVtZW50cyk7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgbW91c2Vkb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQubW91c2Vtb3ZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmICghYm9hcmQub3B0aW9ucy5yZWFkb25seSAmJiBhY3RpdmVFbGVtZW50cz8ubGVuZ3RoICYmIHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVuZFBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBkaXN0YW5jZUJldHdlZW5Qb2ludEFuZFBvaW50KHN0YXJ0UG9pbnRbMF0sIHN0YXJ0UG9pbnRbMV0sIGVuZFBvaW50WzBdLCBlbmRQb2ludFsxXSk7XG4gICAgICAgICAgICBpZiAoZGlzdGFuY2UgPCBEUkFHX01PVkVfQlVGRkVSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0RyYWdnaW5nKGJvYXJkLCB0cnVlKTtcblxuICAgICAgICAgICAgZmFrZURyb3BOb2RlRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBjb25zdCBkZXRlY3RQb2ludCA9IHRyYW5zZm9ybVBvaW50KGJvYXJkLCB0b1BvaW50KGV2ZW50LngsIGV2ZW50LnksIFBsYWl0Qm9hcmQuZ2V0SG9zdChib2FyZCkpKTtcbiAgICAgICAgICAgIGRyb3BUYXJnZXQgPSBkZXRlY3REcm9wVGFyZ2V0KGJvYXJkLCBkZXRlY3RQb2ludCwgZHJvcFRhcmdldCwgWy4uLmFjdGl2ZUVsZW1lbnRzLCAuLi5jb3JyZXNwb25kaW5nRWxlbWVudHNdKTtcbiAgICAgICAgICAgIGlmIChkcm9wVGFyZ2V0Py50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXRQYXRoID0gZ2V0UGF0aEJ5RHJvcFRhcmdldChib2FyZCwgZHJvcFRhcmdldCk7XG5cbiAgICAgICAgICAgICAgICBmYWtlRHJvcE5vZGVHID0gZHJhd0Zha2VEcm9wTm9kZShib2FyZCwgZHJvcFRhcmdldCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmRDaGlsZChmYWtlRHJvcE5vZGVHKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IGVuZFBvaW50WzBdIC0gc3RhcnRQb2ludFswXTtcbiAgICAgICAgICAgIGNvbnN0IG9mZnNldFkgPSBlbmRQb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV07XG4gICAgICAgICAgICBkcmFnRmFrZU5vZGVHPy5yZW1vdmUoKTtcbiAgICAgICAgICAgIGRyYWdGYWtlTm9kZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgICAgICBbLi4uYWN0aXZlRWxlbWVudHMsIC4uLmNvcnJlc3BvbmRpbmdFbGVtZW50c10uZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICBhZGRBY3RpdmVPbkRyYWdPcmlnaW4oZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9kZUcgPSBkcmF3RmFrZURyYWdOb2RlKGJvYXJkLCBlbGVtZW50LCBvZmZzZXRYLCBvZmZzZXRZKTtcbiAgICAgICAgICAgICAgICBkcmFnRmFrZU5vZGVHPy5hcHBlbmRDaGlsZChub2RlRyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmRDaGlsZChkcmFnRmFrZU5vZGVHKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG1vdXNlbW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLmdsb2JhbE1vdXNldXAgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgZmlyc3RMZXZlbEVsZW1lbnRzID0gZ2V0Rmlyc3RMZXZlbEVsZW1lbnQoYWN0aXZlRWxlbWVudHMpO1xuICAgICAgICBpZiAoIWJvYXJkLm9wdGlvbnMucmVhZG9ubHkgJiYgZmlyc3RMZXZlbEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgZmlyc3RMZXZlbEVsZW1lbnRzLnB1c2goLi4uY29ycmVzcG9uZGluZ0VsZW1lbnRzKTtcbiAgICAgICAgICAgIGlmIChpc0RyYWdnaW5nKGJvYXJkKSkge1xuICAgICAgICAgICAgICAgIGZpcnN0TGV2ZWxFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZW1vdmVBY3RpdmVPbkRyYWdPcmlnaW4oZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZHJvcFRhcmdldCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFBhdGhSZWYgPSBib2FyZC5wYXRoUmVmKHRhcmdldFBhdGgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldFByZXZpb3VzUGF0aFJlZiA9IFBhdGguaGFzUHJldmlvdXModGFyZ2V0UGF0aCkgJiYgYm9hcmQucGF0aFJlZihQYXRoLnByZXZpb3VzKHRhcmdldFBhdGgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50UGF0aFJlZiA9IGJvYXJkLnBhdGhSZWYoUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZHJvcFRhcmdldC50YXJnZXQpKTtcbiAgICAgICAgICAgICAgICBsZXQgYWJzdHJhY3RSZWZzID0gZ2V0VmFsaWRBYnN0cmFjdFJlZnMoYm9hcmQsIGZpcnN0TGV2ZWxFbGVtZW50cyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsRWxlbWVudHMgPSBmaXJzdExldmVsRWxlbWVudHNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihlbGVtZW50ID0+ICFhYnN0cmFjdFJlZnMuc29tZShyZWZzID0+IHJlZnMuYWJzdHJhY3QgPT09IGVsZW1lbnQpKVxuICAgICAgICAgICAgICAgICAgICAubWFwKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGFkanVzdEFic3RyYWN0VG9Ob2RlKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzUHJldmlvdXNOb2RlID0gdGFyZ2V0UGF0aFt0YXJnZXRQYXRoLmxlbmd0aCAtIDFdICE9PSAwO1xuICAgICAgICAgICAgICAgIGlmIChoYXNQcmV2aW91c05vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wcmV2aW91cyh0YXJnZXRQYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdChwcmV2aW91c0VsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRIYXNDb3JyZXNwb25kQWJzdHJhY3QgPVxuICAgICAgICAgICAgICAgICAgICAgICAgY29ycmVzcG9uZGluZ0Fic3RyYWN0ICYmIGNvcnJlc3BvbmRpbmdBYnN0cmFjdC5lbmQgIT09IHRhcmdldFBhdGhbdGFyZ2V0UGF0aC5sZW5ndGggLSAxXSAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRIYXNDb3JyZXNwb25kQWJzdHJhY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkanVzdGVkTm9kZSA9IGFic3RyYWN0UmVmcy5tYXAocmVmID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWRqdXN0QWJzdHJhY3RUb05vZGUocmVmLmFic3RyYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsRWxlbWVudHMucHVzaCguLi5hZGp1c3RlZE5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWJzdHJhY3RSZWZzID0gW107XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBlZmZlY3RlZEFic3RyYWN0cyA9IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBpbnNlcnRFbGVtZW50SGFuZGxlQWJzdHJhY3QoYm9hcmQsIHRhcmdldFBhdGgsIG5vcm1hbEVsZW1lbnRzLmxlbmd0aCwgZmFsc2UsIGVmZmVjdGVkQWJzdHJhY3RzKTtcbiAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRBYnN0cmFjdHNCeVJlZnMoYm9hcmQsIGVmZmVjdGVkQWJzdHJhY3RzKTtcblxuICAgICAgICAgICAgICAgIGxldCByZWZzID0gZGVsZXRlRWxlbWVudHNIYW5kbGVSaWdodE5vZGVDb3VudChib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnBhcmVudCh0YXJnZXRQYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2hvdWxkQ2hhbmdlUm9vdCA9IGlzRHJvcFN0YW5kYXJkUmlnaHQocGFyZW50LCBkcm9wVGFyZ2V0KTtcbiAgICAgICAgICAgICAgICBpZiAoc2hvdWxkQ2hhbmdlUm9vdCAmJiB0YXJnZXRFbGVtZW50UGF0aFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZnMgPSBpbnNlcnRFbGVtZW50SGFuZGxlUmlnaHROb2RlQ291bnQoYm9hcmQsIHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQuc2xpY2UoMCwgMSksIG5vcm1hbEVsZW1lbnRzLmxlbmd0aCwgcmVmcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuc2V0UmlnaHROb2RlQ291bnRCeVJlZnMoYm9hcmQsIHJlZnMpO1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnJlbW92ZUVsZW1lbnRzKGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGluc2VydFBhdGggPSB0YXJnZXRQYXRoUmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50UGF0aCA9IFBhdGgucGFyZW50KHRhcmdldFBhdGhSZWYuY3VycmVudCB8fCB0YXJnZXRQYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWluc2VydFBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgLy/lvZPmj5LlhaXkvY3nva7lkozpgInkuK3oioLngrnkvY3nva7nm7jlkIzml7bvvIzkvb/nlKjorrDlvZXnmoQgcHJldmlvdXNQYXRoXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzUGF0aCA9IHRhcmdldFByZXZpb3VzUGF0aFJlZiAmJiB0YXJnZXRQcmV2aW91c1BhdGhSZWYudW5yZWYoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0UGF0aCA9IFBhdGgubmV4dChwcmV2aW91c1BhdGgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgcGFyZW50UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGdldE5vbkFic3RyYWN0Q2hpbGRyZW4ocGFyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydFBhdGggPSBbLi4ucGFyZW50UGF0aCwgY2hpbGRyZW4ubGVuZ3RoIHx8IDBdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZXMoYm9hcmQsIG5vcm1hbEVsZW1lbnRzLCBpbnNlcnRQYXRoKTtcblxuICAgICAgICAgICAgICAgIGlmIChhYnN0cmFjdFJlZnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLmluc2VydEFic3RyYWN0Tm9kZXMoYm9hcmQsIGFic3RyYWN0UmVmcywgbm9ybWFsRWxlbWVudHMsIGluc2VydFBhdGgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudFBhdGhSZWYuY3VycmVudCAmJlxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQYXRoUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgICAgICAgICAgICAgUGF0aC5pc0FuY2VzdG9yKHRhcmdldEVsZW1lbnRQYXRoUmVmLmN1cnJlbnQsIHRhcmdldFBhdGhSZWYuY3VycmVudCkgJiZcbiAgICAgICAgICAgICAgICAgICAgZHJvcFRhcmdldC50YXJnZXQuaXNDb2xsYXBzZWRcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IGlzQ29sbGFwc2VkOiBmYWxzZSB9LCB0YXJnZXRFbGVtZW50UGF0aFJlZi5jdXJyZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGFyZ2V0RWxlbWVudFBhdGhSZWYudW5yZWYoKTtcbiAgICAgICAgICAgICAgICB0YXJnZXRQYXRoUmVmLnVucmVmKCk7XG5cbiAgICAgICAgICAgICAgICBsZXQgc2V0QWN0aXZlRWxlbWVudHM6IE1pbmRFbGVtZW50W10gPSBbXTtcbiAgICAgICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uKChib2FyZCBhcyB1bmtub3duKSBhcyBNaW5kRWxlbWVudCwgbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBhY3RpdmVFbGVtZW50cy5zb21lKGVsZW1lbnQgPT4gZWxlbWVudC5pZCA9PT0gbm9kZS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRBY3RpdmVFbGVtZW50cy5wdXNoKG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgc2V0QWN0aXZlRWxlbWVudHMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzZXRJc0RyYWdnaW5nKGJvYXJkLCBmYWxzZSk7XG4gICAgICAgICAgICBhY3RpdmVFbGVtZW50cyA9IFtdO1xuICAgICAgICAgICAgZHJhZ0Zha2VOb2RlRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBkcmFnRmFrZU5vZGVHID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZmFrZURyb3BOb2RlRz8ucmVtb3ZlKCk7XG4gICAgICAgICAgICBmYWtlRHJvcE5vZGVHID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZHJvcFRhcmdldCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsTW91c2V1cChldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
|
|
@@ -57,13 +57,11 @@ const setAbstractByElements = (board, groupParent, group) => {
|
|
|
57
57
|
};
|
|
58
58
|
const insertAbstractNode = (board, path, start, end) => {
|
|
59
59
|
const mindElement = createMindElement('概要', 28, 20, {
|
|
60
|
-
strokeColor: DefaultAbstractNodeStyle.strokeColor,
|
|
61
60
|
strokeWidth: DefaultAbstractNodeStyle.branchWidth,
|
|
62
|
-
branchColor: DefaultAbstractNodeStyle.branchColor,
|
|
63
61
|
branchWidth: DefaultAbstractNodeStyle.branchWidth
|
|
64
62
|
});
|
|
65
63
|
mindElement.start = start;
|
|
66
64
|
mindElement.end = end;
|
|
67
65
|
Transforms.insertNode(board, mindElement, path);
|
|
68
66
|
};
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvYWJzdHJhY3Qtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBZ0IsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsWUFBMEIsRUFBRSxFQUFFO0lBQ2hGLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2pELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFzQixDQUFDLENBQUM7UUFFaEUsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ2IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNILFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxF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RSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzRixrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN0RztTQUFNO1FBQ0gsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkYsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDL0M7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxJQUFVLEVBQUUsS0FBYSxFQUFFLEdBQVcsRUFBRSxFQUFFO0lBQ3JGLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO1FBQ2hELFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxXQUFXO1FBQ2pELFdBQVcsRUFBRSx3QkFBd0IsQ0FBQyxXQUFXO0tBQ3BELENBQUMsQ0FBQztJQUVILFdBQVcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzFCLFdBQVcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBRXRCLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZnMgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtYWJzdHJhY3QtcmVzaXplLmJvYXJkJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgaXNTdGFuZGFyZExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IGRpdmlkZUVsZW1lbnRCeVBhcmVudCwgZ2V0Rmlyc3RMZXZlbEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9taW5kJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS1zdHlsZSc7XG5pbXBvcnQgeyBjcmVhdGVNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL25vZGUvY3JlYXRlLW5vZGUnO1xuXG5leHBvcnQgY29uc3Qgc2V0QWJzdHJhY3RzQnlSZWZzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBhYnN0cmFjdFJlZnM6IEFic3RyYWN0UmVmcykgPT4ge1xuICAgIGFic3RyYWN0UmVmcy5mb3JFYWNoKChuZXdQcm9wZXJ0eSwgZWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IGVsZW1lbnQuc3RhcnQhICsgbmV3UHJvcGVydHkuc3RhcnQ7XG4gICAgICAgIGNvbnN0IGVuZCA9IGVsZW1lbnQuZW5kISArIG5ld1Byb3BlcnR5LmVuZDtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQgYXMgTWluZEVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChzdGFydCA+IGVuZCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlKGJvYXJkLCBwYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBzdGFydCwgZW5kIH0sIHBhdGgpO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0QWJzdHJhY3RCeVN0YW5kYXJkTGF5b3V0ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gZWxlbWVudC5yaWdodE5vZGVDb3VudCE7XG4gICAgY29uc3QgYWJzdHJhY3QgPSBlbGVtZW50LmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLmVuZCA+PSByaWdodE5vZGVDb3VudCAmJiBjaGlsZC5zdGFydCA8IHJpZ2h0Tm9kZUNvdW50O1xuICAgIH0pO1xuXG4gICAgaWYgKGFic3RyYWN0KSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBhYnN0cmFjdCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBlbmQ6IHJpZ2h0Tm9kZUNvdW50IC0gMSB9LCBwYXRoKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0QWJzdHJhY3QgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGxldCBlbGVtZW50R3JvdXAgPSBnZXRGaXJzdExldmVsRWxlbWVudChlbGVtZW50cyBhcyBNaW5kRWxlbWVudFtdKTtcbiAgICBjb25zdCB7IHBhcmVudEVsZW1lbnRzLCBhYnN0cmFjdEluY2x1ZGVkR3JvdXBzIH0gPSBkaXZpZGVFbGVtZW50QnlQYXJlbnQoZWxlbWVudEdyb3VwKTtcblxuICAgIGFic3RyYWN0SW5jbHVkZWRHcm91cHMuZm9yRWFjaCgoZ3JvdXAsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwUGFyZW50ID0gcGFyZW50RWxlbWVudHNbaW5kZXhdO1xuICAgICAgICBzZXRBYnN0cmFjdEJ5RWxlbWVudHMoYm9hcmQsIGdyb3VwUGFyZW50LCBncm91cCk7XG4gICAgfSk7XG59O1xuXG5jb25zdCBzZXRBYnN0cmFjdEJ5RWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGdyb3VwUGFyZW50OiBNaW5kRWxlbWVudCwgZ3JvdXA6IE1pbmRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCBpbmRleEFycmF5ID0gZ3JvdXAubWFwKGNoaWxkID0+IGdyb3VwUGFyZW50IS5jaGlsZHJlbi5pbmRleE9mKGNoaWxkKSkuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gZ3JvdXBQYXJlbnQ/LnJpZ2h0Tm9kZUNvdW50O1xuICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXhBcnJheVswXSxcbiAgICAgICAgZW5kID0gaW5kZXhBcnJheVtpbmRleEFycmF5Lmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKFxuICAgICAgICBpc1N0YW5kYXJkTGF5b3V0KE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChncm91cFBhcmVudCkpICYmXG4gICAgICAgIHJpZ2h0Tm9kZUNvdW50ICYmXG4gICAgICAgIHN0YXJ0IDwgcmlnaHROb2RlQ291bnQgJiZcbiAgICAgICAgZW5kID49IHJpZ2h0Tm9kZUNvdW50XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gZ3JvdXBQYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICBjb25zdCBwYXRoID0gWy4uLlBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGdyb3VwUGFyZW50KSwgY2hpbGRyZW5MZW5ndGhdO1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGRyZW4gPSBpbmRleEFycmF5LmZpbHRlcihpbmRleCA9PiBpbmRleCA+PSByaWdodE5vZGVDb3VudCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGRyZW4gPSBpbmRleEFycmF5LmZpbHRlcihpbmRleCA9PiBpbmRleCA8IHJpZ2h0Tm9kZUNvdW50KTtcbiAgICAgICAgaW5zZXJ0QWJzdHJhY3ROb2RlKGJvYXJkLCBwYXRoLCByaWdodENoaWxkcmVuWzBdLCByaWdodENoaWxkcmVuW3JpZ2h0Q2hpbGRyZW4ubGVuZ3RoIC0gMV0pO1xuICAgICAgICBpbnNlcnRBYnN0cmFjdE5vZGUoYm9hcmQsIFBhdGgubmV4dChwYXRoKSwgbGVmdENoaWxkcmVuWzBdLCBsZWZ0Q2hpbGRyZW5bbGVmdENoaWxkcmVuLmxlbmd0aCAtIDFdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXRoID0gWy4uLlBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGdyb3VwUGFyZW50KSwgZ3JvdXBQYXJlbnQuY2hpbGRyZW4ubGVuZ3RoXTtcbiAgICAgICAgaW5zZXJ0QWJzdHJhY3ROb2RlKGJvYXJkLCBwYXRoLCBzdGFydCwgZW5kKTtcbiAgICB9XG59O1xuXG5jb25zdCBpbnNlcnRBYnN0cmFjdE5vZGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhdGg6IFBhdGgsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbWluZEVsZW1lbnQgPSBjcmVhdGVNaW5kRWxlbWVudCgn5qaC6KaBJywgMjgsIDIwLCB7XG4gICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuYnJhbmNoV2lkdGgsXG4gICAgICAgIGJyYW5jaFdpZHRoOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuYnJhbmNoV2lkdGhcbiAgICB9KTtcblxuICAgIG1pbmRFbGVtZW50LnN0YXJ0ID0gc3RhcnQ7XG4gICAgbWluZEVsZW1lbnQuZW5kID0gZW5kO1xuXG4gICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBtaW5kRWxlbWVudCwgcGF0aCk7XG59O1xuIl19
|
|
@@ -163,4 +163,8 @@ export const deleteElementHandleAbstract = (board, deletableElements, effectedAb
|
|
|
163
163
|
});
|
|
164
164
|
return effectedAbstracts;
|
|
165
165
|
};
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxJQUFJLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQTBCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsY0FBZSxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDeEMsSUFBSSxhQUFhLEdBQUcsRUFBRSxFQUNsQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxjQUFjLEVBQUU7WUFDOUQsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixTQUFTO1NBQ1o7UUFDRCxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxjQUFjLEVBQUU7WUFDakUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixTQUFTO1NBQ1o7UUFFRCxJQUFJLENBQUMsR0FBRyxj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UUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO3FCQUNsRDtvQkFDRCxhQUFhLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO29CQUM5QyxhQUFhLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDLENBQUMsQ0FBQzthQUNOO1lBRUQsTUFBTSxxQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFJLHFCQUFxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7Z0JBQzdFLElBQUksYUFBYSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUNoQixhQUFhLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFFckMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxDQUFDO2lCQUMvRDtnQkFDRCxhQUFhLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQzdDO1NBQ0o7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8saUJBQWlCLENBQUM7QUFDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3ROb2RlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0Tm9kZSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRlQ2hpbGRyZW4gPSAocGFyZW50RWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCByaWdodE5vZGVDb3VudCA9IHBhcmVudEVsZW1lbnQucmlnaHROb2RlQ291bnQhO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50RWxlbWVudC5jaGlsZHJlbjtcbiAgICBsZXQgcmlnaHRDaGlsZHJlbiA9IFtdLFxuICAgICAgICBsZWZ0Q2hpbGRyZW4gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5lbmQgPCByaWdodE5vZGVDb3VudCkge1xuICAgICAgICAgICAgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuc3RhcnQgPj0gcmlnaHROb2RlQ291bnQpIHtcbiAgICAgICAgICAgIGxlZnRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGkgPCByaWdodE5vZGVDb3VudCkge1xuICAgICAgICAgICAgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxlZnRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxlZnRDaGlsZHJlbiwgcmlnaHRDaGlsZHJlbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2V0QWJzdHJhY3QgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuICEhZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KGVsZW1lbnQgYXMgTWluZEVsZW1lbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhblNldEFic3RyYWN0ID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIHJldHVybiAhUGxhaXRFbGVtZW50LmlzUm9vdEVsZW1lbnQoZWxlbWVudCkgJiYgIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpICYmICFpc1NldEFic3RyYWN0KGVsZW1lbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCBhcyBNaW5kRWxlbWVudCk7XG4gICAgaWYgKCFwYXJlbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBlbGVtZW50SW5kZXggPSBwYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihlbGVtZW50KTtcbiAgICByZXR1cm4gcGFyZW50LmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGVsZW1lbnRJbmRleCA+PSBjaGlsZC5zdGFydCEgJiYgZWxlbWVudEluZGV4IDw9IGNoaWxkLmVuZCE7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QmVoaW5kQWJzdHJhY3RzID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChlbGVtZW50IGFzIE1pbmRFbGVtZW50KTtcbiAgICBpZiAoIXBhcmVudCkgcmV0dXJuIFtdO1xuICAgIGNvbnN0IGluZGV4ID0gcGFyZW50LmNoaWxkcmVuLmluZGV4T2YoZWxlbWVudCk7XG4gICAgcmV0dXJuIHBhcmVudC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLnN0YXJ0ISA+IGluZGV4KTtcbn07XG5cbi8qKlxuICogcmV0dXJuIGNvcnJlc3BvbmRpbmcgYWJzdHJhY3QgdGhhdCBpcyBub3QgY2hpbGQgb2YgZWxlbWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE92ZXJhbGxBYnN0cmFjdHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3Qgb3ZlcmFsbEFic3RyYWN0czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgIGVsZW1lbnRzXG4gICAgICAgIC5maWx0ZXIodmFsdWUgPT4gIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSAmJiAhUGxhaXRNaW5kLmlzTWluZCh2YWx1ZSkpXG4gICAgICAgIC5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChhYnN0cmFjdCAmJiBlbGVtZW50cy5pbmRleE9mKGFic3RyYWN0KSA9PT0gLTEgJiYgb3ZlcmFsbEFic3RyYWN0cy5pbmRleE9mKGFic3RyYWN0KSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGFic3RyYWN0O1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNPdmVyYWxsID0gcGFyZW50LmNoaWxkcmVuLnNsaWNlKHN0YXJ0ISwgZW5kISArIDEpLmV2ZXJ5KGluY2x1ZGVkRWxlbWVudCA9PiBlbGVtZW50cy5pbmRleE9mKGluY2x1ZGVkRWxlbWVudCkgPiAtMSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3ZlcmFsbCkge1xuICAgICAgICAgICAgICAgICAgICBvdmVyYWxsQWJzdHJhY3RzLnB1c2goYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIG92ZXJhbGxBYnN0cmFjdHMgYXMgKE1pbmRFbGVtZW50ICYgQWJzdHJhY3ROb2RlKVtdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdFJlZiB7XG4gICAgYWJzdHJhY3Q6IE1pbmRFbGVtZW50ICYgQWJzdHJhY3ROb2RlO1xuICAgIHJlZmVyZW5jZXM6IE1pbmRFbGVtZW50W107XG59XG5cbi8qKlxuICogYWJzdHJhY3Qgbm9kZSBpcyB2YWxpZCB3aGVuIGVsZW1lbnRzIGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBlbGVtZW50IGl0IGlzIHJlZmVyZW5jZWQgd2l0aFxuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsaWRBYnN0cmFjdFJlZnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3QgdmFsaWRBYnN0cmFjdFJlZnM6IEFic3RyYWN0UmVmW10gPSBbXTtcbiAgICBlbGVtZW50c1xuICAgICAgICAuZmlsdGVyKHZhbHVlID0+ICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh2YWx1ZSkgJiYgIVBsYWl0TWluZC5pc01pbmQodmFsdWUpKVxuICAgICAgICAuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoYWJzdHJhY3QgJiYgZWxlbWVudHMuaW5kZXhPZihhYnN0cmFjdCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB2YWxpZEFic3RyYWN0UmVmcy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuYWJzdHJhY3QgPT09IGFic3RyYWN0KTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkQWJzdHJhY3RSZWZzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWJzdHJhY3Q6IGFic3RyYWN0IGFzIE1pbmRFbGVtZW50ICYgQWJzdHJhY3ROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlczogW3ZhbHVlXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZEFic3RyYWN0UmVmc1tpbmRleF0ucmVmZXJlbmNlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIHJldHVybiB2YWxpZEFic3RyYWN0UmVmcztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZihhYnN0cmFjdFJlZjogQWJzdHJhY3RSZWYsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBlbGVtZW50cy5pbmRleE9mKGFic3RyYWN0UmVmLnJlZmVyZW5jZXNbMF0pO1xuICAgIGNvbnN0IGVuZCA9IGVsZW1lbnRzLmluZGV4T2YoYWJzdHJhY3RSZWYucmVmZXJlbmNlc1thYnN0cmFjdFJlZi5yZWZlcmVuY2VzLmxlbmd0aCAtIDFdKTtcbiAgICByZXR1cm4geyBzdGFydCwgZW5kIH07XG59XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRFbGVtZW50SGFuZGxlQWJzdHJhY3QgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgcGF0aDogUGF0aCxcbiAgICBzdGVwID0gMSxcbiAgICAvL+eUseatpOWMuuWIhuaLluaLveWSjOaWsOWinuWIsOamguimgeamguaLrOacgOWQjuS4gOS4quiKgueCuVxuICAgIGlzRXh0ZW5kUHJldmlvdXNOb2RlOiBib29sZWFuID0gdHJ1ZSxcbiAgICBlZmZlY3RlZEFic3RyYWN0cyA9IG5ldyBNYXA8TWluZEVsZW1lbnQsIFBpY2s8QWJzdHJhY3ROb2RlLCAnc3RhcnQnIHwgJ2VuZCc+PigpXG4pID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUucGFyZW50KGJvYXJkLCBwYXRoKSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBoYXNQcmV2aW91c05vZGUgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV0gIT09IDA7XG4gICAgbGV0IGJlaGluZEFic3RyYWN0czogTWluZEVsZW1lbnRbXTtcblxuICAgIGlmICghaGFzUHJldmlvdXNOb2RlKSB7XG4gICAgICAgIGJlaGluZEFic3RyYWN0cyA9IHBhcmVudC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmVoaW5kQWJzdHJhY3RzID0gZ2V0QmVoaW5kQWJzdHJhY3RzKHNlbGVjdGVkRWxlbWVudCk7XG4gICAgfVxuXG4gICAgaWYgKGJlaGluZEFic3RyYWN0cy5sZW5ndGgpIHtcbiAgICAgICAgYmVoaW5kQWJzdHJhY3RzLmZvckVhY2goYWJzdHJhY3QgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld1Byb3BlcnRpZXMgPSBlZmZlY3RlZEFic3RyYWN0cy5nZXQoYWJzdHJhY3QpO1xuICAgICAgICAgICAgaWYgKCFuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcyA9IHsgc3RhcnQ6IDAsIGVuZDogMCB9O1xuICAgICAgICAgICAgICAgIGVmZmVjdGVkQWJzdHJhY3RzLnNldChhYnN0cmFjdCwgbmV3UHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLnN0YXJ0ID0gbmV3UHJvcGVydGllcy5zdGFydCArIHN0ZXA7XG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLmVuZCA9IG5ld1Byb3BlcnRpZXMuZW5kICsgc3RlcDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNQcmV2aW91c05vZGUpIHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdGVkQWJzdHJhY3RzO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucHJldmlvdXMocGF0aCkpIGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdChzZWxlY3RlZEVsZW1lbnQpO1xuICAgIGNvbnN0IGlzRHJhZ1RvTGFzdCA9ICFpc0V4dGVuZFByZXZpb3VzTm9kZSAmJiBjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgY29ycmVzcG9uZGluZ0Fic3RyYWN0LmVuZCA9PT0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdIC0gMTtcblxuICAgIGlmIChjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgIWlzRHJhZ1RvTGFzdCkge1xuICAgICAgICBsZXQgbmV3UHJvcGVydGllcyA9IGVmZmVjdGVkQWJzdHJhY3RzLmdldChjb3JyZXNwb25kaW5nQWJzdHJhY3QpO1xuICAgICAgICBpZiAoIW5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMgPSB7IHN0YXJ0OiAwLCBlbmQ6IDAgfTtcbiAgICAgICAgICAgIGVmZmVjdGVkQWJzdHJhY3RzLnNldChjb3JyZXNwb25kaW5nQWJzdHJhY3QsIG5ld1Byb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIG5ld1Byb3BlcnRpZXMuZW5kID0gbmV3UHJvcGVydGllcy5lbmQgKyBzdGVwO1xuICAgIH1cblxuICAgIHJldHVybiBlZmZlY3RlZEFic3RyYWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVFbGVtZW50SGFuZGxlQWJzdHJhY3QgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgZGVsZXRhYmxlRWxlbWVudHM6IE1pbmRFbGVtZW50W10sXG4gICAgZWZmZWN0ZWRBYnN0cmFjdHMgPSBuZXcgTWFwPE1pbmRFbGVtZW50LCBQaWNrPEFic3RyYWN0Tm9kZSwgJ3N0YXJ0JyB8ICdlbmQnPj4oKVxuKSA9PiB7XG4gICAgZGVsZXRhYmxlRWxlbWVudHMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgaWYgKCFQbGFpdE1pbmQuaXNNaW5kKG5vZGUpKSB7XG4gICAgICAgICAgICBjb25zdCBiZWhpbmRBYnN0cmFjdHMgPSBnZXRCZWhpbmRBYnN0cmFjdHMobm9kZSkuZmlsdGVyKGFic3RyYWN0ID0+ICFkZWxldGFibGVFbGVtZW50cy5pbmNsdWRlcyhhYnN0cmFjdCkpO1xuICAgICAgICAgICAgaWYgKGJlaGluZEFic3RyYWN0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBiZWhpbmRBYnN0cmFjdHMuZm9yRWFjaChhYnN0cmFjdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdQcm9wZXJ0aWVzID0gZWZmZWN0ZWRBYnN0cmFjdHMuZ2V0KGFic3RyYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzID0geyBzdGFydDogMCwgZW5kOiAwIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RlZEFic3RyYWN0cy5zZXQoYWJzdHJhY3QsIG5ld1Byb3BlcnRpZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuc3RhcnQgPSBuZXdQcm9wZXJ0aWVzLnN0YXJ0IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcy5lbmQgPSBuZXdQcm9wZXJ0aWVzLmVuZCAtIDE7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdChub2RlKTtcbiAgICAgICAgICAgIGlmIChjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgIWRlbGV0YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGNvcnJlc3BvbmRpbmdBYnN0cmFjdCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UHJvcGVydGllcyA9IGVmZmVjdGVkQWJzdHJhY3RzLmdldChjb3JyZXNwb25kaW5nQWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgIGlmICghbmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzID0geyBzdGFydDogMCwgZW5kOiAwIH07XG5cbiAgICAgICAgICAgICAgICAgICAgZWZmZWN0ZWRBYnN0cmFjdHMuc2V0KGNvcnJlc3BvbmRpbmdBYnN0cmFjdCwgbmV3UHJvcGVydGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuZW5kID0gbmV3UHJvcGVydGllcy5lbmQgLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGVmZmVjdGVkQWJzdHJhY3RzO1xufTtcbiJdfQ==
|
|
166
|
+
export const isChildOfAbstract = (board, element) => {
|
|
167
|
+
const ancestors = MindElement.getAncestors(board, element);
|
|
168
|
+
return !!ancestors.find((value) => AbstractNode.isAbstract(value));
|
|
169
|
+
};
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxJQUFJLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQTBCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsY0FBZSxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDeEMsSUFBSSxhQUFhLEdBQUcsRUFBRSxFQUNsQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxjQUFjLEVBQUU7WUFDOUQsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixTQUFTO1NBQ1o7UUFDRCxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxjQUFjLEVBQUU7WUFDakUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixTQUFTO1NBQ1o7UUFFRCxJQUFJLENBQUMsR0FBRyxj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IjpbImltcG9ydCB7IEFic3RyYWN0Tm9kZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGF0aCwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdE5vZGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBzZXBhcmF0ZUNoaWxkcmVuID0gKHBhcmVudEVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcmlnaHROb2RlQ291bnQgPSBwYXJlbnRFbGVtZW50LnJpZ2h0Tm9kZUNvdW50ITtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudEVsZW1lbnQuY2hpbGRyZW47XG4gICAgbGV0IHJpZ2h0Q2hpbGRyZW4gPSBbXSxcbiAgICAgICAgbGVmdENoaWxkcmVuID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5baV07XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuZW5kIDwgcmlnaHROb2RlQ291bnQpIHtcbiAgICAgICAgICAgIHJpZ2h0Q2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLnN0YXJ0ID49IHJpZ2h0Tm9kZUNvdW50KSB7XG4gICAgICAgICAgICBsZWZ0Q2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpIDwgcmlnaHROb2RlQ291bnQpIHtcbiAgICAgICAgICAgIHJpZ2h0Q2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZWZ0Q2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBsZWZ0Q2hpbGRyZW4sIHJpZ2h0Q2hpbGRyZW4gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1NldEFic3RyYWN0ID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIHJldHVybiAhIWdldENvcnJlc3BvbmRpbmdBYnN0cmFjdChlbGVtZW50IGFzIE1pbmRFbGVtZW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjYW5TZXRBYnN0cmFjdCA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gIVBsYWl0RWxlbWVudC5pc1Jvb3RFbGVtZW50KGVsZW1lbnQpICYmICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSAmJiAhaXNTZXRBYnN0cmFjdChlbGVtZW50KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb3JyZXNwb25kaW5nQWJzdHJhY3QgPSAoZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5maW5kUGFyZW50KGVsZW1lbnQgYXMgTWluZEVsZW1lbnQpO1xuICAgIGlmICghcGFyZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgZWxlbWVudEluZGV4ID0gcGFyZW50LmNoaWxkcmVuLmluZGV4T2YoZWxlbWVudCk7XG4gICAgcmV0dXJuIHBhcmVudC5jaGlsZHJlbi5maW5kKGNoaWxkID0+IHtcbiAgICAgICAgcmV0dXJuIEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBlbGVtZW50SW5kZXggPj0gY2hpbGQuc3RhcnQhICYmIGVsZW1lbnRJbmRleCA8PSBjaGlsZC5lbmQhO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEJlaGluZEFic3RyYWN0cyA9IChlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCBhcyBNaW5kRWxlbWVudCk7XG4gICAgaWYgKCFwYXJlbnQpIHJldHVybiBbXTtcbiAgICBjb25zdCBpbmRleCA9IHBhcmVudC5jaGlsZHJlbi5pbmRleE9mKGVsZW1lbnQpO1xuICAgIHJldHVybiBwYXJlbnQuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5zdGFydCEgPiBpbmRleCk7XG59O1xuXG4vKipcbiAqIHJldHVybiBjb3JyZXNwb25kaW5nIGFic3RyYWN0IHRoYXQgaXMgbm90IGNoaWxkIG9mIGVsZW1lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRPdmVyYWxsQWJzdHJhY3RzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IG92ZXJhbGxBYnN0cmFjdHM6IE1pbmRFbGVtZW50W10gPSBbXTtcbiAgICBlbGVtZW50c1xuICAgICAgICAuZmlsdGVyKHZhbHVlID0+ICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh2YWx1ZSkgJiYgIVBsYWl0TWluZC5pc01pbmQodmFsdWUpKVxuICAgICAgICAuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoYWJzdHJhY3QgJiYgZWxlbWVudHMuaW5kZXhPZihhYnN0cmFjdCkgPT09IC0xICYmIG92ZXJhbGxBYnN0cmFjdHMuaW5kZXhPZihhYnN0cmFjdCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBhYnN0cmFjdDtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQodmFsdWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzT3ZlcmFsbCA9IHBhcmVudC5jaGlsZHJlbi5zbGljZShzdGFydCEsIGVuZCEgKyAxKS5ldmVyeShpbmNsdWRlZEVsZW1lbnQgPT4gZWxlbWVudHMuaW5kZXhPZihpbmNsdWRlZEVsZW1lbnQpID4gLTEpO1xuICAgICAgICAgICAgICAgIGlmIChpc092ZXJhbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmFsbEFic3RyYWN0cy5wdXNoKGFic3RyYWN0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIHJldHVybiBvdmVyYWxsQWJzdHJhY3RzIGFzIChNaW5kRWxlbWVudCAmIEFic3RyYWN0Tm9kZSlbXTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWJzdHJhY3RSZWYge1xuICAgIGFic3RyYWN0OiBNaW5kRWxlbWVudCAmIEFic3RyYWN0Tm9kZTtcbiAgICByZWZlcmVuY2VzOiBNaW5kRWxlbWVudFtdO1xufVxuXG4vKipcbiAqIGFic3RyYWN0IG5vZGUgaXMgdmFsaWQgd2hlbiBlbGVtZW50cyBjb250YWlucyBhdCBsZWFzdCBvbmUgZWxlbWVudCBpdCBpcyByZWZlcmVuY2VkIHdpdGhcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFZhbGlkQWJzdHJhY3RSZWZzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHZhbGlkQWJzdHJhY3RSZWZzOiBBYnN0cmFjdFJlZltdID0gW107XG4gICAgZWxlbWVudHNcbiAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QodmFsdWUpICYmICFQbGFpdE1pbmQuaXNNaW5kKHZhbHVlKSlcbiAgICAgICAgLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWJzdHJhY3QgPSBnZXRDb3JyZXNwb25kaW5nQWJzdHJhY3QodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGFic3RyYWN0ICYmIGVsZW1lbnRzLmluZGV4T2YoYWJzdHJhY3QpID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdmFsaWRBYnN0cmFjdFJlZnMuZmluZEluZGV4KHZhbHVlID0+IHZhbHVlLmFic3RyYWN0ID09PSBhYnN0cmFjdCk7XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZEFic3RyYWN0UmVmcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFic3RyYWN0OiBhYnN0cmFjdCBhcyBNaW5kRWxlbWVudCAmIEFic3RyYWN0Tm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFt2YWx1ZV1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRBYnN0cmFjdFJlZnNbaW5kZXhdLnJlZmVyZW5jZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICByZXR1cm4gdmFsaWRBYnN0cmFjdFJlZnM7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYoYWJzdHJhY3RSZWY6IEFic3RyYWN0UmVmLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gZWxlbWVudHMuaW5kZXhPZihhYnN0cmFjdFJlZi5yZWZlcmVuY2VzWzBdKTtcbiAgICBjb25zdCBlbmQgPSBlbGVtZW50cy5pbmRleE9mKGFic3RyYWN0UmVmLnJlZmVyZW5jZXNbYWJzdHJhY3RSZWYucmVmZXJlbmNlcy5sZW5ndGggLSAxXSk7XG4gICAgcmV0dXJuIHsgc3RhcnQsIGVuZCB9O1xufVxuXG5leHBvcnQgY29uc3QgaW5zZXJ0RWxlbWVudEhhbmRsZUFic3RyYWN0ID0gKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIHBhdGg6IFBhdGgsXG4gICAgc3RlcCA9IDEsXG4gICAgLy/nlLHmraTljLrliIbmi5bmi73lkozmlrDlop7liLDmpoLopoHmpoLmi6zmnIDlkI7kuIDkuKroioLngrlcbiAgICBpc0V4dGVuZFByZXZpb3VzTm9kZTogYm9vbGVhbiA9IHRydWUsXG4gICAgZWZmZWN0ZWRBYnN0cmFjdHMgPSBuZXcgTWFwPE1pbmRFbGVtZW50LCBQaWNrPEFic3RyYWN0Tm9kZSwgJ3N0YXJ0JyB8ICdlbmQnPj4oKVxuKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLnBhcmVudChib2FyZCwgcGF0aCkgYXMgTWluZEVsZW1lbnQ7XG4gICAgY29uc3QgaGFzUHJldmlvdXNOb2RlID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdICE9PSAwO1xuICAgIGxldCBiZWhpbmRBYnN0cmFjdHM6IE1pbmRFbGVtZW50W107XG5cbiAgICBpZiAoIWhhc1ByZXZpb3VzTm9kZSkge1xuICAgICAgICBiZWhpbmRBYnN0cmFjdHMgPSBwYXJlbnQuY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wcmV2aW91cyhwYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgIGJlaGluZEFic3RyYWN0cyA9IGdldEJlaGluZEFic3RyYWN0cyhzZWxlY3RlZEVsZW1lbnQpO1xuICAgIH1cblxuICAgIGlmIChiZWhpbmRBYnN0cmFjdHMubGVuZ3RoKSB7XG4gICAgICAgIGJlaGluZEFic3RyYWN0cy5mb3JFYWNoKGFic3RyYWN0ID0+IHtcbiAgICAgICAgICAgIGxldCBuZXdQcm9wZXJ0aWVzID0gZWZmZWN0ZWRBYnN0cmFjdHMuZ2V0KGFic3RyYWN0KTtcbiAgICAgICAgICAgIGlmICghbmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMgPSB7IHN0YXJ0OiAwLCBlbmQ6IDAgfTtcbiAgICAgICAgICAgICAgICBlZmZlY3RlZEFic3RyYWN0cy5zZXQoYWJzdHJhY3QsIG5ld1Byb3BlcnRpZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3UHJvcGVydGllcy5zdGFydCA9IG5ld1Byb3BlcnRpZXMuc3RhcnQgKyBzdGVwO1xuICAgICAgICAgICAgbmV3UHJvcGVydGllcy5lbmQgPSBuZXdQcm9wZXJ0aWVzLmVuZCArIHN0ZXA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghaGFzUHJldmlvdXNOb2RlKSB7XG4gICAgICAgIHJldHVybiBlZmZlY3RlZEFic3RyYWN0cztcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBjb3JyZXNwb25kaW5nQWJzdHJhY3QgPSBnZXRDb3JyZXNwb25kaW5nQWJzdHJhY3Qoc2VsZWN0ZWRFbGVtZW50KTtcbiAgICBjb25zdCBpc0RyYWdUb0xhc3QgPSAhaXNFeHRlbmRQcmV2aW91c05vZGUgJiYgY29ycmVzcG9uZGluZ0Fic3RyYWN0ICYmIGNvcnJlc3BvbmRpbmdBYnN0cmFjdC5lbmQgPT09IHBhdGhbcGF0aC5sZW5ndGggLSAxXSAtIDE7XG5cbiAgICBpZiAoY29ycmVzcG9uZGluZ0Fic3RyYWN0ICYmICFpc0RyYWdUb0xhc3QpIHtcbiAgICAgICAgbGV0IG5ld1Byb3BlcnRpZXMgPSBlZmZlY3RlZEFic3RyYWN0cy5nZXQoY29ycmVzcG9uZGluZ0Fic3RyYWN0KTtcbiAgICAgICAgaWYgKCFuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzID0geyBzdGFydDogMCwgZW5kOiAwIH07XG4gICAgICAgICAgICBlZmZlY3RlZEFic3RyYWN0cy5zZXQoY29ycmVzcG9uZGluZ0Fic3RyYWN0LCBuZXdQcm9wZXJ0aWVzKTtcbiAgICAgICAgfVxuICAgICAgICBuZXdQcm9wZXJ0aWVzLmVuZCA9IG5ld1Byb3BlcnRpZXMuZW5kICsgc3RlcDtcbiAgICB9XG5cbiAgICByZXR1cm4gZWZmZWN0ZWRBYnN0cmFjdHM7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlRWxlbWVudEhhbmRsZUFic3RyYWN0ID0gKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIGRlbGV0YWJsZUVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLFxuICAgIGVmZmVjdGVkQWJzdHJhY3RzID0gbmV3IE1hcDxNaW5kRWxlbWVudCwgUGljazxBYnN0cmFjdE5vZGUsICdzdGFydCcgfCAnZW5kJz4+KClcbikgPT4ge1xuICAgIGRlbGV0YWJsZUVsZW1lbnRzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgIGlmICghUGxhaXRNaW5kLmlzTWluZChub2RlKSkge1xuICAgICAgICAgICAgY29uc3QgYmVoaW5kQWJzdHJhY3RzID0gZ2V0QmVoaW5kQWJzdHJhY3RzKG5vZGUpLmZpbHRlcihhYnN0cmFjdCA9PiAhZGVsZXRhYmxlRWxlbWVudHMuaW5jbHVkZXMoYWJzdHJhY3QpKTtcbiAgICAgICAgICAgIGlmIChiZWhpbmRBYnN0cmFjdHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgYmVoaW5kQWJzdHJhY3RzLmZvckVhY2goYWJzdHJhY3QgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmV3UHJvcGVydGllcyA9IGVmZmVjdGVkQWJzdHJhY3RzLmdldChhYnN0cmFjdCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcyA9IHsgc3RhcnQ6IDAsIGVuZDogMCB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgZWZmZWN0ZWRBYnN0cmFjdHMuc2V0KGFic3RyYWN0LCBuZXdQcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLnN0YXJ0ID0gbmV3UHJvcGVydGllcy5zdGFydCAtIDE7XG4gICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuZW5kID0gbmV3UHJvcGVydGllcy5lbmQgLSAxO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBjb3JyZXNwb25kaW5nQWJzdHJhY3QgPSBnZXRDb3JyZXNwb25kaW5nQWJzdHJhY3Qobm9kZSk7XG4gICAgICAgICAgICBpZiAoY29ycmVzcG9uZGluZ0Fic3RyYWN0ICYmICFkZWxldGFibGVFbGVtZW50cy5pbmNsdWRlcyhjb3JyZXNwb25kaW5nQWJzdHJhY3QpKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld1Byb3BlcnRpZXMgPSBlZmZlY3RlZEFic3RyYWN0cy5nZXQoY29ycmVzcG9uZGluZ0Fic3RyYWN0KTtcbiAgICAgICAgICAgICAgICBpZiAoIW5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcyA9IHsgc3RhcnQ6IDAsIGVuZDogMCB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGVmZmVjdGVkQWJzdHJhY3RzLnNldChjb3JyZXNwb25kaW5nQWJzdHJhY3QsIG5ld1Byb3BlcnRpZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLmVuZCA9IG5ld1Byb3BlcnRpZXMuZW5kIC0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBlZmZlY3RlZEFic3RyYWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBpc0NoaWxkT2ZBYnN0cmFjdCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBhbmNlc3RvcnMgPSBNaW5kRWxlbWVudC5nZXRBbmNlc3RvcnMoYm9hcmQsIGVsZW1lbnQpIGFzIE1pbmRFbGVtZW50W107XG4gICAgcmV0dXJuICEhYW5jZXN0b3JzLmZpbmQoKHZhbHVlKSA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh2YWx1ZSkpO1xufSJdfQ==
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { CLIP_BOARD_FORMAT_KEY, getRectangleByElements, getSelectedElements, PlaitBoard, Transforms } from '@plait/core';
|
|
2
|
-
import { MindElement } from '../interfaces';
|
|
2
|
+
import { MindElement, PlaitMind } from '../interfaces';
|
|
3
3
|
import { copyNewNode, extractNodesText } from './mind';
|
|
4
4
|
import { getRectangleByNode } from './position/node';
|
|
5
5
|
import { AbstractNode, getNonAbstractChildren } from '@plait/layouts';
|
|
6
6
|
import { getRelativeStartEndByAbstractRef, getOverallAbstracts, getValidAbstractRefs } from './abstract/common';
|
|
7
7
|
import { createMindElement } from './node/create-node';
|
|
8
8
|
import { adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode } from './node/adjust-node';
|
|
9
|
+
import { getTextSize } from '@plait/text';
|
|
10
|
+
import { BRANCH_FONT_FAMILY, DEFAULT_FONT_FAMILY, TOPIC_DEFAULT_MAX_WORD_COUNT } from '../constants/node-topic-style';
|
|
11
|
+
import { NODE_MIN_WIDTH } from '../constants/node-rule';
|
|
12
|
+
import { findNewChildNodePath } from './path';
|
|
9
13
|
export const buildClipboardData = (board, selectedElements) => {
|
|
10
14
|
let result = [];
|
|
11
15
|
// get overall abstract
|
|
@@ -80,6 +84,10 @@ export const insertClipboardData = (board, elements, targetPoint) => {
|
|
|
80
84
|
if (hasTargetParent) {
|
|
81
85
|
if (item.isRoot) {
|
|
82
86
|
newElement = adjustRootToNode(board, newElement);
|
|
87
|
+
const styles = PlaitMind.isMind(targetParent) ? { fontFamily: BRANCH_FONT_FAMILY } : { fontFamily: DEFAULT_FONT_FAMILY };
|
|
88
|
+
const { width, height } = getTextSize(board, newElement.data.topic, TOPIC_DEFAULT_MAX_WORD_COUNT, styles);
|
|
89
|
+
newElement.width = Math.max(width, NODE_MIN_WIDTH);
|
|
90
|
+
newElement.height = height;
|
|
83
91
|
}
|
|
84
92
|
// handle abstract start and end
|
|
85
93
|
if (AbstractNode.isAbstract(newElement)) {
|
|
@@ -105,10 +113,11 @@ export const insertClipboardData = (board, elements, targetPoint) => {
|
|
|
105
113
|
});
|
|
106
114
|
Transforms.setSelectionWithTemporaryElements(board, newELements);
|
|
107
115
|
};
|
|
108
|
-
export const insertClipboardText = (board,
|
|
116
|
+
export const insertClipboardText = (board, targetParent, text) => {
|
|
117
|
+
const styles = PlaitMind.isMind(targetParent) ? { fontFamily: BRANCH_FONT_FAMILY } : { fontFamily: DEFAULT_FONT_FAMILY };
|
|
118
|
+
const { width, height } = getTextSize(board, text, TOPIC_DEFAULT_MAX_WORD_COUNT, styles);
|
|
109
119
|
const newElement = createMindElement(text, width, height, {});
|
|
110
|
-
|
|
111
|
-
Transforms.insertNode(board, newElement, path);
|
|
120
|
+
Transforms.insertNode(board, newElement, findNewChildNodePath(board, targetParent));
|
|
112
121
|
return;
|
|
113
122
|
};
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixVQUFVLEVBR1YsVUFBVSxFQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHOUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLGdCQUErQixFQUFFLEVBQUU7SUFDckYsSUFBSSxNQUFNLEdBQWtCLEVBQUUsQ0FBQztJQUUvQix1QkFBdUI7SUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQWtCLENBQUM7SUFDdkYsMEJBQTBCO0lBQzFCLE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUVsRyxxQkFBcUI7SUFD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QVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLE9BQU87SUFDWCxDQUFDLENBQUMsQ0FBQztJQUNILFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLGFBQTJCLEVBQUUsSUFBc0IsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDekksTUFBTSxVQUFVLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsT0FBTztBQUNYLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ0xJUF9CT0FSRF9GT1JNQVRfS0VZLFxuICAgIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBQYXRoLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIFBvaW50LFxuICAgIFRyYW5zZm9ybXNcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNvcHlOZXdOb2RlLCBleHRyYWN0Tm9kZXNUZXh0IH0gZnJvbSAnLi9taW5kJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4vcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUsIGdldE5vbkFic3RyYWN0Q2hpbGRyZW4gfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZiwgZ2V0T3ZlcmFsbEFic3RyYWN0cywgZ2V0VmFsaWRBYnN0cmFjdFJlZnMgfSBmcm9tICcuL2Fic3RyYWN0L2NvbW1vbic7XG5pbXBvcnQgeyBjcmVhdGVNaW5kRWxlbWVudCB9IGZyb20gJy4vbm9kZS9jcmVhdGUtbm9kZSc7XG5pbXBvcnQgeyBhZGp1c3RBYnN0cmFjdFRvTm9kZSwgYWRqdXN0Tm9kZVRvUm9vdCwgYWRqdXN0Um9vdFRvTm9kZSB9IGZyb20gJy4vbm9kZS9hZGp1c3Qtbm9kZSc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgY29uc3QgYnVpbGRDbGlwYm9hcmREYXRhID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSA9PiB7XG4gICAgbGV0IHJlc3VsdDogTWluZEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgLy8gZ2V0IG92ZXJhbGwgYWJzdHJhY3RcbiAgICBjb25zdCBvdmVyYWxsQWJzdHJhY3RzID0gZ2V0T3ZlcmFsbEFic3RyYWN0cyhib2FyZCwgc2VsZWN0ZWRFbGVtZW50cykgYXMgTWluZEVsZW1lbnRbXTtcbiAgICAvLyBnZXQgdmFsaWQgYWJzdHJhY3QgcmVmc1xuICAgIGNvbnN0IHZhbGlkQWJzdHJhY3RSZWZzID0gZ2V0VmFsaWRBYnN0cmFjdFJlZnMoYm9hcmQsIFsuLi5zZWxlY3RlZEVsZW1lbnRzLCAuLi5vdmVyYWxsQWJzdHJhY3RzXSk7XG5cbiAgICAvLyBrZWVwIGNvcnJlY3Qgb3JkZXJcbiAgICBjb25zdCBuZXdTZWxlY3RlZEVsZW1lbnRzID0gc2VsZWN0ZWRFbGVtZW50cy5maWx0ZXIodmFsdWUgPT4gIXZhbGlkQWJzdHJhY3RSZWZzLmZpbmQocmVmID0+IHJlZi5hYnN0cmFjdCA9PT0gdmFsdWUpKTtcbiAgICBuZXdTZWxlY3RlZEVsZW1lbnRzLnB1c2goLi4udmFsaWRBYnN0cmFjdFJlZnMubWFwKHZhbHVlID0+IHZhbHVlLmFic3RyYWN0KSk7XG5cbiAgICBjb25zdCBzZWxlY3RlZE1pbmROb2RlcyA9IG5ld1NlbGVjdGVkRWxlbWVudHMubWFwKHZhbHVlID0+IE1pbmRFbGVtZW50LmdldE5vZGUodmFsdWUpKTtcbiAgICBjb25zdCBub2Rlc1JlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIG5ld1NlbGVjdGVkRWxlbWVudHMsIHRydWUpO1xuICAgIG5ld1NlbGVjdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgLy8gaGFuZGxlIHJlbGF0aXZlIGxvY2F0aW9uXG4gICAgICAgIGNvbnN0IG5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUoc2VsZWN0ZWRNaW5kTm9kZXNbaW5kZXhdKTtcbiAgICAgICAgY29uc3QgcG9pbnRzID0gW1tub2RlUmVjdGFuZ2xlLnggLSBub2Rlc1JlY3RhbmdsZS54LCBub2RlUmVjdGFuZ2xlLnkgLSBub2Rlc1JlY3RhbmdsZS55XV0gYXMgUG9pbnRbXTtcblxuICAgICAgICAvLyBoYW5kbGUgaW52YWxpZCBhYnN0cmFjdFxuICAgICAgICBjb25zdCBhYnN0cmFjdFJlZiA9IHZhbGlkQWJzdHJhY3RSZWZzLmZpbmQocmVmID0+IHJlZi5hYnN0cmFjdCA9PT0gZWxlbWVudCk7XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSAmJiBhYnN0cmFjdFJlZikge1xuICAgICAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZihhYnN0cmFjdFJlZiwgbmV3U2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdFbGVtZW50ID0geyAuLi5lbGVtZW50LCBwb2ludHMgfSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3RWxlbWVudC5zdGFydDtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3RWxlbWVudC5lbmQ7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3RWxlbWVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBwb2ludHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0Q2xpcGJvYXJkRGF0YSA9IChkYXRhOiBEYXRhVHJhbnNmZXIgfCBudWxsLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHN0cmluZ09iaiA9IEpTT04uc3RyaW5naWZ5KGVsZW1lbnRzKTtcbiAgICBjb25zdCBlbmNvZGVkID0gd2luZG93LmJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHN0cmluZ09iaikpO1xuICAgIGNvbnN0IHRleHQgPSBlbGVtZW50cy5yZWR1Y2UoKHN0cmluZywgY3VycmVudE5vZGUpID0+IHtcbiAgICAgICAgcmV0dXJuIHN0cmluZyArIGV4dHJhY3ROb2Rlc1RleHQoY3VycmVudE5vZGUpO1xuICAgIH0sICcnKTtcbiAgICBkYXRhPy5zZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBfQk9BUkRfRk9STUFUX0tFWX1gLCBlbmNvZGVkKTtcbiAgICBkYXRhPy5zZXREYXRhKGB0ZXh0L3BsYWluYCwgdGV4dCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YUZyb21DbGlwYm9hcmQgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgIGNvbnN0IGVuY29kZWQgPSBkYXRhPy5nZXREYXRhKGBhcHBsaWNhdGlvbi8ke0NMSVBfQk9BUkRfRk9STUFUX0tFWX1gKTtcbiAgICBsZXQgbm9kZXNEYXRhOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuICAgIGlmIChlbmNvZGVkKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQod2luZG93LmF0b2IoZW5jb2RlZCkpO1xuICAgICAgICBub2Rlc0RhdGEgPSBKU09OLnBhcnNlKGRlY29kZWQpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZXNEYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydENsaXBib2FyZERhdGEgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSwgdGFyZ2V0UG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgbGV0IG5ld0VsZW1lbnQ6IE1pbmRFbGVtZW50LCBwYXRoOiBQYXRoO1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBsZXQgbmV3RUxlbWVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG5cbiAgICBjb25zdCBoYXNUYXJnZXRQYXJlbnQgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMTtcbiAgICBjb25zdCB0YXJnZXRQYXJlbnQgPSBzZWxlY3RlZEVsZW1lbnRzWzBdO1xuICAgIGNvbnN0IHRhcmdldFBhcmVudFBhdGggPSB0YXJnZXRQYXJlbnQgJiYgUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgdGFyZ2V0UGFyZW50KTtcbiAgICBjb25zdCBub25BYnN0cmFjdENoaWxkcmVuTGVuZ3RoID0gdGFyZ2V0UGFyZW50ICYmIGdldE5vbkFic3RyYWN0Q2hpbGRyZW4odGFyZ2V0UGFyZW50KS5sZW5ndGg7XG5cbiAgICBlbGVtZW50cy5mb3JFYWNoKChpdGVtOiBQbGFpdEVsZW1lbnQsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgbmV3RWxlbWVudCA9IGNvcHlOZXdOb2RlKGl0ZW0gYXMgTWluZEVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChoYXNUYXJnZXRQYXJlbnQpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmlzUm9vdCkge1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQgPSBhZGp1c3RSb290VG9Ob2RlKGJvYXJkLCBuZXdFbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhYnN0cmFjdCBzdGFydCBhbmQgZW5kXG4gICAgICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QobmV3RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LnN0YXJ0ID0gbmV3RWxlbWVudC5zdGFydCArIG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC5lbmQgPSBuZXdFbGVtZW50LmVuZCArIG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXRoID0gWy4uLnRhcmdldFBhcmVudFBhdGgsIG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGggKyBpbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludDogUG9pbnQgPSBbdGFyZ2V0UG9pbnRbMF0gKyBpdGVtLnBvaW50cyFbMF1bMF0sIHRhcmdldFBvaW50WzFdICsgaXRlbS5wb2ludHMhWzBdWzFdXTtcbiAgICAgICAgICAgIG5ld0VsZW1lbnQucG9pbnRzID0gW3BvaW50XTtcblxuICAgICAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdEFic3RyYWN0VG9Ob2RlKG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWl0ZW0uaXNSb290KSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdE5vZGVUb1Jvb3QoYm9hcmQsIG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXRoID0gW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF07XG4gICAgICAgIH1cbiAgICAgICAgbmV3RUxlbWVudHMucHVzaChuZXdFbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0pO1xuICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBuZXdFTGVtZW50cyk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q2xpcGJvYXJkVGV4dCA9IChib2FyZDogUGxhaXRCb2FyZCwgcGFyZW50RWxlbWVudDogUGxhaXRFbGVtZW50LCB0ZXh0OiBzdHJpbmcgfCBFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSBjcmVhdGVNaW5kRWxlbWVudCh0ZXh0LCB3aWR0aCwgaGVpZ2h0LCB7fSk7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIHBhcmVudEVsZW1lbnQpLmNvbmNhdCgocGFyZW50RWxlbWVudC5jaGlsZHJlbiB8fCBbXSkubGVuZ3RoKTtcbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xuICAgIHJldHVybjtcbn07XG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixVQUFVLEVBR1YsVUFBVSxFQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTlGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsZ0JBQStCLEVBQUUsRUFBRTtJQUNyRixJQUFJLE1BQU0sR0FBa0IsRUFB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QUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztJQUN6SCxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pGLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNwRixPQUFPO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDTElQX0JPQVJEX0ZPUk1BVF9LRVksXG4gICAgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIFBhdGgsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEVsZW1lbnQsXG4gICAgUG9pbnQsXG4gICAgVHJhbnNmb3Jtc1xufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjb3B5TmV3Tm9kZSwgZXh0cmFjdE5vZGVzVGV4dCB9IGZyb20gJy4vbWluZCc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBnZXROb25BYnN0cmFjdENoaWxkcmVuIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYsIGdldE92ZXJhbGxBYnN0cmFjdHMsIGdldFZhbGlkQWJzdHJhY3RSZWZzIH0gZnJvbSAnLi9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgY3JlYXRlTWluZEVsZW1lbnQgfSBmcm9tICcuL25vZGUvY3JlYXRlLW5vZGUnO1xuaW1wb3J0IHsgYWRqdXN0QWJzdHJhY3RUb05vZGUsIGFkanVzdE5vZGVUb1Jvb3QsIGFkanVzdFJvb3RUb05vZGUgfSBmcm9tICcuL25vZGUvYWRqdXN0LW5vZGUnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGdldFRleHRTaXplIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgQlJBTkNIX0ZPTlRfRkFNSUxZLCBERUZBVUxUX0ZPTlRfRkFNSUxZLCBUT1BJQ19ERUZBVUxUX01BWF9XT1JEX0NPVU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdG9waWMtc3R5bGUnO1xuaW1wb3J0IHsgTk9ERV9NSU5fV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS1ydWxlJztcbmltcG9ydCB7IGZpbmROZXdDaGlsZE5vZGVQYXRoIH0gZnJvbSAnLi9wYXRoJztcblxuZXhwb3J0IGNvbnN0IGJ1aWxkQ2xpcGJvYXJkRGF0YSA9IChib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0ZWRFbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGxldCByZXN1bHQ6IE1pbmRFbGVtZW50W10gPSBbXTtcblxuICAgIC8vIGdldCBvdmVyYWxsIGFic3RyYWN0XG4gICAgY29uc3Qgb3ZlcmFsbEFic3RyYWN0cyA9IGdldE92ZXJhbGxBYnN0cmFjdHMoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpIGFzIE1pbmRFbGVtZW50W107XG4gICAgLy8gZ2V0IHZhbGlkIGFic3RyYWN0IHJlZnNcbiAgICBjb25zdCB2YWxpZEFic3RyYWN0UmVmcyA9IGdldFZhbGlkQWJzdHJhY3RSZWZzKGJvYXJkLCBbLi4uc2VsZWN0ZWRFbGVtZW50cywgLi4ub3ZlcmFsbEFic3RyYWN0c10pO1xuXG4gICAgLy8ga2VlcCBjb3JyZWN0IG9yZGVyXG4gICAgY29uc3QgbmV3U2VsZWN0ZWRFbGVtZW50cyA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKHZhbHVlID0+ICF2YWxpZEFic3RyYWN0UmVmcy5maW5kKHJlZiA9PiByZWYuYWJzdHJhY3QgPT09IHZhbHVlKSk7XG4gICAgbmV3U2VsZWN0ZWRFbGVtZW50cy5wdXNoKC4uLnZhbGlkQWJzdHJhY3RSZWZzLm1hcCh2YWx1ZSA9PiB2YWx1ZS5hYnN0cmFjdCkpO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRNaW5kTm9kZXMgPSBuZXdTZWxlY3RlZEVsZW1lbnRzLm1hcCh2YWx1ZSA9PiBNaW5kRWxlbWVudC5nZXROb2RlKHZhbHVlKSk7XG4gICAgY29uc3Qgbm9kZXNSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBuZXdTZWxlY3RlZEVsZW1lbnRzLCB0cnVlKTtcbiAgICBuZXdTZWxlY3RlZEVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vIGhhbmRsZSByZWxhdGl2ZSBsb2NhdGlvblxuICAgICAgICBjb25zdCBub2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHNlbGVjdGVkTWluZE5vZGVzW2luZGV4XSk7XG4gICAgICAgIGNvbnN0IHBvaW50cyA9IFtbbm9kZVJlY3RhbmdsZS54IC0gbm9kZXNSZWN0YW5nbGUueCwgbm9kZVJlY3RhbmdsZS55IC0gbm9kZXNSZWN0YW5nbGUueV1dIGFzIFBvaW50W107XG5cbiAgICAgICAgLy8gaGFuZGxlIGludmFsaWQgYWJzdHJhY3RcbiAgICAgICAgY29uc3QgYWJzdHJhY3RSZWYgPSB2YWxpZEFic3RyYWN0UmVmcy5maW5kKHJlZiA9PiByZWYuYWJzdHJhY3QgPT09IGVsZW1lbnQpO1xuICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkgJiYgYWJzdHJhY3RSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYoYWJzdHJhY3RSZWYsIG5ld1NlbGVjdGVkRWxlbWVudHMpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIC4uLmVsZW1lbnQsXG4gICAgICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIGVuZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV3RWxlbWVudCA9IHsgLi4uZWxlbWVudCwgcG9pbnRzIH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG5ld0VsZW1lbnQuc3RhcnQ7XG4gICAgICAgICAgICAgICAgZGVsZXRlIG5ld0VsZW1lbnQuZW5kO1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50czogcG9pbnRzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IHNldENsaXBib2FyZERhdGEgPSAoZGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCBzdHJpbmdPYmogPSBKU09OLnN0cmluZ2lmeShlbGVtZW50cyk7XG4gICAgY29uc3QgZW5jb2RlZCA9IHdpbmRvdy5idG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdPYmopKTtcbiAgICBjb25zdCB0ZXh0ID0gZWxlbWVudHMucmVkdWNlKChzdHJpbmcsIGN1cnJlbnROb2RlKSA9PiB7XG4gICAgICAgIHJldHVybiBzdHJpbmcgKyBleHRyYWN0Tm9kZXNUZXh0KGN1cnJlbnROb2RlKTtcbiAgICB9LCAnJyk7XG4gICAgZGF0YT8uc2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQX0JPQVJEX0ZPUk1BVF9LRVl9YCwgZW5jb2RlZCk7XG4gICAgZGF0YT8uc2V0RGF0YShgdGV4dC9wbGFpbmAsIHRleHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFGcm9tQ2xpcGJvYXJkID0gKGRhdGE6IERhdGFUcmFuc2ZlciB8IG51bGwpID0+IHtcbiAgICBjb25zdCBlbmNvZGVkID0gZGF0YT8uZ2V0RGF0YShgYXBwbGljYXRpb24vJHtDTElQX0JPQVJEX0ZPUk1BVF9LRVl9YCk7XG4gICAgbGV0IG5vZGVzRGF0YTogUGxhaXRFbGVtZW50W10gPSBbXTtcbiAgICBpZiAoZW5jb2RlZCkge1xuICAgICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5hdG9iKGVuY29kZWQpKTtcbiAgICAgICAgbm9kZXNEYXRhID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGVzRGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRDbGlwYm9hcmREYXRhID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogUGxhaXRFbGVtZW50W10sIHRhcmdldFBvaW50OiBQb2ludCkgPT4ge1xuICAgIGxldCBuZXdFbGVtZW50OiBNaW5kRWxlbWVudCwgcGF0aDogUGF0aDtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgbGV0IG5ld0VMZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgY29uc3QgaGFzVGFyZ2V0UGFyZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgY29uc3QgdGFyZ2V0UGFyZW50ID0gc2VsZWN0ZWRFbGVtZW50c1swXTtcbiAgICBjb25zdCB0YXJnZXRQYXJlbnRQYXRoID0gdGFyZ2V0UGFyZW50ICYmIFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIHRhcmdldFBhcmVudCk7XG4gICAgY29uc3Qgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aCA9IHRhcmdldFBhcmVudCAmJiBnZXROb25BYnN0cmFjdENoaWxkcmVuKHRhcmdldFBhcmVudCkubGVuZ3RoO1xuXG4gICAgZWxlbWVudHMuZm9yRWFjaCgoaXRlbTogUGxhaXRFbGVtZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIG5ld0VsZW1lbnQgPSBjb3B5TmV3Tm9kZShpdGVtIGFzIE1pbmRFbGVtZW50KTtcblxuICAgICAgICBpZiAoaGFzVGFyZ2V0UGFyZW50KSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5pc1Jvb3QpIHtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50ID0gYWRqdXN0Um9vdFRvTm9kZShib2FyZCwgbmV3RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3R5bGVzID0gUGxhaXRNaW5kLmlzTWluZCh0YXJnZXRQYXJlbnQpID8geyBmb250RmFtaWx5OiBCUkFOQ0hfRk9OVF9GQU1JTFkgfSA6IHsgZm9udEZhbWlseTogREVGQVVMVF9GT05UX0ZBTUlMWSB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZ2V0VGV4dFNpemUoYm9hcmQsIG5ld0VsZW1lbnQuZGF0YS50b3BpYywgVE9QSUNfREVGQVVMVF9NQVhfV09SRF9DT1VOVCwgc3R5bGVzKTtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LndpZHRoID0gTWF0aC5tYXgod2lkdGgsIE5PREVfTUlOX1dJRFRIKTtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhYnN0cmFjdCBzdGFydCBhbmQgZW5kXG4gICAgICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QobmV3RWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LnN0YXJ0ID0gbmV3RWxlbWVudC5zdGFydCArIG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGg7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC5lbmQgPSBuZXdFbGVtZW50LmVuZCArIG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXRoID0gWy4uLnRhcmdldFBhcmVudFBhdGgsIG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGggKyBpbmRleF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludDogUG9pbnQgPSBbdGFyZ2V0UG9pbnRbMF0gKyBpdGVtLnBvaW50cyFbMF1bMF0sIHRhcmdldFBvaW50WzFdICsgaXRlbS5wb2ludHMhWzBdWzFdXTtcbiAgICAgICAgICAgIG5ld0VsZW1lbnQucG9pbnRzID0gW3BvaW50XTtcblxuICAgICAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdEFic3RyYWN0VG9Ob2RlKG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWl0ZW0uaXNSb290KSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdE5vZGVUb1Jvb3QoYm9hcmQsIG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXRoID0gW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF07XG4gICAgICAgIH1cbiAgICAgICAgbmV3RUxlbWVudHMucHVzaChuZXdFbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0pO1xuICAgIFRyYW5zZm9ybXMuc2V0U2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBuZXdFTGVtZW50cyk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q2xpcGJvYXJkVGV4dCA9IChib2FyZDogUGxhaXRCb2FyZCwgdGFyZ2V0UGFyZW50OiBQbGFpdEVsZW1lbnQsIHRleHQ6IHN0cmluZyB8IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBzdHlsZXMgPSBQbGFpdE1pbmQuaXNNaW5kKHRhcmdldFBhcmVudCkgPyB7IGZvbnRGYW1pbHk6IEJSQU5DSF9GT05UX0ZBTUlMWSB9IDogeyBmb250RmFtaWx5OiBERUZBVUxUX0ZPTlRfRkFNSUxZIH07XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRUZXh0U2l6ZShib2FyZCwgdGV4dCwgVE9QSUNfREVGQVVMVF9NQVhfV09SRF9DT1VOVCwgc3R5bGVzKTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0gY3JlYXRlTWluZEVsZW1lbnQodGV4dCwgd2lkdGgsIGhlaWdodCwge30pO1xuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgZmluZE5ld0NoaWxkTm9kZVBhdGgoYm9hcmQsIHRhcmdldFBhcmVudCkpO1xuICAgIHJldHVybjtcbn07XG4iXX0=
|