@plait/mind 0.2.0-next.9 → 0.2.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.
Files changed (48) hide show
  1. package/draw/richtext.d.ts +1 -1
  2. package/esm2020/draw/indented-link.mjs +3 -3
  3. package/esm2020/draw/link/logic-link.mjs +6 -4
  4. package/esm2020/draw/link.mjs +4 -4
  5. package/esm2020/draw/richtext.mjs +10 -8
  6. package/esm2020/draw/shape.mjs +2 -2
  7. package/esm2020/drawer/quick-insert.drawer.mjs +3 -3
  8. package/esm2020/interfaces/element.mjs +15 -1
  9. package/esm2020/interfaces/node.mjs +1 -10
  10. package/esm2020/node.component.mjs +34 -27
  11. package/esm2020/plugins/emoji/emoji.drawer.mjs +4 -8
  12. package/esm2020/plugins/emoji/emoji.mjs +31 -3
  13. package/esm2020/plugins/with-dnd.mjs +14 -9
  14. package/esm2020/plugins/with-mind.mjs +33 -27
  15. package/esm2020/queries/get-available-sublayouts-by-element.mjs +3 -3
  16. package/esm2020/queries/get-branch-layouts.mjs +4 -4
  17. package/esm2020/queries/get-layout-by-element.mjs +4 -4
  18. package/esm2020/transforms/abstract-node.mjs +3 -3
  19. package/esm2020/utils/dnd.mjs +9 -5
  20. package/esm2020/utils/draw-placeholder.mjs +7 -5
  21. package/esm2020/utils/index.mjs +1 -2
  22. package/esm2020/utils/mind.mjs +9 -16
  23. package/esm2020/utils/node-space.mjs +23 -18
  24. package/esm2020/utils/node-style/branch.mjs +14 -27
  25. package/esm2020/utils/node-style/common.mjs +13 -0
  26. package/esm2020/utils/node-style/index.mjs +3 -2
  27. package/esm2020/utils/node-style/shape.mjs +21 -0
  28. package/fesm2015/plait-mind.mjs +205 -172
  29. package/fesm2015/plait-mind.mjs.map +1 -1
  30. package/fesm2020/plait-mind.mjs +205 -171
  31. package/fesm2020/plait-mind.mjs.map +1 -1
  32. package/interfaces/element.d.ts +2 -0
  33. package/interfaces/node.d.ts +0 -1
  34. package/node.component.d.ts +0 -1
  35. package/package.json +1 -1
  36. package/plugins/emoji/emoji.d.ts +5 -1
  37. package/styles/styles.scss +19 -19
  38. package/utils/index.d.ts +0 -1
  39. package/utils/mind.d.ts +1 -2
  40. package/utils/node-space.d.ts +5 -4
  41. package/utils/node-style/branch.d.ts +4 -2
  42. package/utils/node-style/common.d.ts +3 -0
  43. package/utils/node-style/index.d.ts +2 -1
  44. package/utils/node-style/shape.d.ts +4 -0
  45. package/esm2020/utils/node-style/node.mjs +0 -23
  46. package/esm2020/utils/shape.mjs +0 -17
  47. package/utils/node-style/node.d.ts +0 -3
  48. package/utils/shape.d.ts +0 -2
@@ -8,8 +8,8 @@ export declare function drawMindNodeRichtext(board: PlaitMindBoard, node: MindNo
8
8
  };
9
9
  export declare function updateMindNodeTopicSize(board: PlaitMindBoard, node: MindNode, g: SVGGElement, isEditable: boolean): void;
10
10
  export declare function getRichtextRectangleByNode(board: PlaitMindBoard, node: MindNode): {
11
- width: number;
12
11
  height: number;
12
+ width: number;
13
13
  x: number;
14
14
  y: number;
15
15
  };
@@ -1,6 +1,6 @@
1
1
  import { pointsOnBezierCurves } from 'points-on-curve';
2
2
  import { PlaitBoard } from '@plait/core';
3
- import { getNodeShapeByElement, getRectangleByNode, isChildUp } from '../utils';
3
+ import { getShapeByElement, getRectangleByNode, isChildUp } from '../utils';
4
4
  import { MindLayoutType } from '@plait/layouts';
5
5
  import { MindQueries } from '../queries';
6
6
  import { getBranchColorByMindElement, getBranchWidthByMindElement } from '../utils/node-style/branch';
@@ -8,7 +8,7 @@ import { MindElementShape } from '../interfaces/element';
8
8
  export function drawIndentedLink(board, node, child, defaultStroke = null, needDrawUnderline = true) {
9
9
  const branchWidth = getBranchWidthByMindElement(board, child.origin);
10
10
  const branchColor = defaultStroke || getBranchColorByMindElement(board, child.origin);
11
- const isUnderlineShape = getNodeShapeByElement(child.origin) === MindElementShape.underline;
11
+ const isUnderlineShape = getShapeByElement(board, child.origin) === MindElementShape.underline;
12
12
  let beginX, beginY, endX, endY, beginNode = node, endNode = child;
13
13
  const beginRectangle = getRectangleByNode(beginNode);
14
14
  const endRectangle = getRectangleByNode(endNode);
@@ -42,4 +42,4 @@ export function drawIndentedLink(board, node, child, defaultStroke = null, needD
42
42
  const points = pointsOnBezierCurves(curve);
43
43
  return PlaitBoard.getRoughSVG(board).curve(points, { stroke: branchColor, strokeWidth: branchWidth });
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50ZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvaW5kZW50ZWQtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd2RCxPQUFPLEVBQUUsVUFBVSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixLQUFpQixFQUNqQixJQUFjLEVBQ2QsS0FBZSxFQUNmLGdCQUErQixJQUFJLEVBQ25DLGlCQUFpQixHQUFHLElBQUk7SUFFeEIsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxNQUFNLFdBQVcsR0FBRyxhQUFhLElBQUksMkJBQTJCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0RixNQUFNLGdCQUFnQixHQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQXNCLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBQ2xILElBQUksTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FBRyxJQUFJLEVBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFD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QyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDdkgsZ0JBQWdCLElBQUksaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3ZILGdCQUFnQixJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztLQUMxSCxDQUFDO0lBRUYsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ2pILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb2ludHNPbkJlemllckN1cnZlcyB9IGZyb20gJ3BvaW50cy1vbi1jdXJ2ZSc7XG5pbXBvcnQgeyBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXROb2RlU2hhcGVCeUVsZW1lbnQsIGdldFJlY3RhbmdsZUJ5Tm9kZSwgaXNDaGlsZFVwIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50LCBnZXRCcmFuY2hXaWR0aEJ5TWluZEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9ub2RlLXN0eWxlL2JyYW5jaCc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudFNoYXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdJbmRlbnRlZExpbmsoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgbm9kZTogTWluZE5vZGUsXG4gICAgY2hpbGQ6IE1pbmROb2RlLFxuICAgIGRlZmF1bHRTdHJva2U6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgIG5lZWREcmF3VW5kZXJsaW5lID0gdHJ1ZVxuKSB7XG4gICAgY29uc3QgYnJhbmNoV2lkdGggPSBnZXRCcmFuY2hXaWR0aEJ5TWluZEVsZW1lbnQoYm9hcmQsIGNoaWxkLm9yaWdpbik7XG4gICAgY29uc3QgYnJhbmNoQ29sb3IgPSBkZWZhdWx0U3Ryb2tlIHx8IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudChib2FyZCwgY2hpbGQub3JpZ2luKTtcblxuICAgIGNvbnN0IGlzVW5kZXJsaW5lU2hhcGUgPSAoZ2V0Tm9kZVNoYXBlQnlFbGVtZW50KGNoaWxkLm9yaWdpbikgYXMgTWluZEVsZW1lbnRTaGFwZSkgPT09IE1pbmRFbGVtZW50U2hhcGUudW5kZXJsaW5lO1xuICAgIGxldCBiZWdpblgsXG4gICAgICAgIGJlZ2luWSxcbiAgICAgICAgZW5kWCxcbiAgICAgICAgZW5kWSxcbiAgICAgICAgYmVnaW5Ob2RlID0gbm9kZSxcbiAgICAgICAgZW5kTm9kZSA9IGNoaWxkO1xuICAgIGNvbnN0IGJlZ2luUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGJlZ2luTm9kZSk7XG4gICAgY29uc3QgZW5kUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKGVuZE5vZGUpO1xuXG4gICAgYmVnaW5YID0gYmVnaW5Ob2RlLnggKyBiZWdpbk5vZGUud2lkdGggLyAyO1xuICAgIGJlZ2luWSA9IGlzQ2hpbGRVcChub2RlLCBjaGlsZCkgPyBiZWdpblJlY3RhbmdsZS55IDogYmVnaW5SZWN0YW5nbGUueSArIGJlZ2luUmVjdGFuZ2xlLmhlaWdodDtcbiAgICBlbmRYID0gbm9kZS5sZWZ0ID8gZW5kTm9kZS54ICsgZW5kTm9kZS5oR2FwICsgZW5kUmVjdGFuZ2xlLndpZHRoIDogZW5kTm9kZS54ICsgZW5kTm9kZS5oR2FwO1xuICAgIGVuZFkgPSBpc1VuZGVybGluZVNoYXBlID8gZW5kTm9kZS55ICsgZW5kTm9kZS5oZWlnaHQgLSBlbmROb2RlLnZHYXAgOiBlbmROb2RlLnkgKyBlbmROb2RlLmhlaWdodCAvIDI7XG4gICAgLy/moLnmja7kvY3nva7vvIzorr7nva7mraPotJ/lj4LmlbBcbiAgICBsZXQgcGx1c01pbnVzID0gaXNDaGlsZFVwKG5vZGUsIGNoaWxkKSA/IChub2RlLmxlZnQgPyBbLTEsIC0xXSA6IFsxLCAtMV0pIDogbm9kZS5sZWZ0ID8gWy0xLCAxXSA6IFsxLCAxXTtcbiAgICBjb25zdCBsYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgaWYgKGJlZ2luTm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLmxlZnRCb3R0b21JbmRlbnRlZCB8fCBsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnJpZ2h0Qm90dG9tSW5kZW50ZWQpIHtcbiAgICAgICAgICAgIGJlZ2luWSArPSBicmFuY2hXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS5sZWZ0VG9wSW5kZW50ZWQgfHwgbGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS5yaWdodFRvcEluZGVudGVkKSB7XG4gICAgICAgICAgICBiZWdpblkgLT0gYnJhbmNoV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICBbYmVnaW5YLCBlbmRZIC0gKGVuZE5vZGUuaEdhcCAqIDMgKiBwbHVzTWludXNbMV0pIC8gNV0sXG4gICAgICAgIFtiZWdpblgsIGVuZFkgLSAoZW5kTm9kZS5oR2FwICogcGx1c01pbnVzWzFdKSAvIDVdLFxuICAgICAgICBbYmVnaW5YICsgKGVuZE5vZGUuaEdhcCAqIHBsdXNNaW51c1swXSkgLyA0LCBlbmRZXSxcbiAgICAgICAgW2JlZ2luWCArIChlbmROb2RlLmhHYXAgKiBwbHVzTWludXNbMF0gKiAzKSAvIDUsIGVuZFldLFxuICAgICAgICBpc1VuZGVybGluZVNoYXBlICYmIG5lZWREcmF3VW5kZXJsaW5lID8gW2VuZFggKyAoZW5kTm9kZS53aWR0aCAtIGVuZE5vZGUuaEdhcCAqIDIpICogcGx1c01pbnVzWzBdLCBlbmRZXSA6IFtlbmRYLCBlbmRZXSxcbiAgICAgICAgaXNVbmRlcmxpbmVTaGFwZSAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV0sXG4gICAgICAgIGlzVW5kZXJsaW5lU2hhcGUgJiYgbmVlZERyYXdVbmRlcmxpbmUgPyBbZW5kWCArIChlbmROb2RlLndpZHRoIC0gZW5kTm9kZS5oR2FwICogMikgKiBwbHVzTWludXNbMF0sIGVuZFldIDogW2VuZFgsIGVuZFldXG4gICAgXTtcblxuICAgIGNvbnN0IHBvaW50cyA9IHBvaW50c09uQmV6aWVyQ3VydmVzKGN1cnZlKTtcbiAgICByZXR1cm4gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCkuY3VydmUocG9pbnRzIGFzIGFueSwgeyBzdHJva2U6IGJyYW5jaENvbG9yLCBzdHJva2VXaWR0aDogYnJhbmNoV2lkdGggfSk7XG59XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZW50ZWQtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvaW5kZW50ZWQtbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFTLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsTUFBTSxVQUFVLGdCQUFnQixDQUM1QixLQUFpQixFQUNqQixJQUFjLEVBQ2QsS0FBZSxFQUNmLGdCQUErQixJQUFJLEVBQ25DLGlCQUFpQixHQUFHLElBQUk7SUFFeEIsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRSxNQUFNLFdBQVcsR0FBRyxhQUFhLElBQUksMkJBQTJCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUV0RixNQUFNLGdCQUFnQixHQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFzQixLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztJQUNySCxJQUFJLE1BQU0sRUFDTixNQUFNLEVBQ04sSUFBSSxFQUNKLElBQUksRUFDSixTQUFTLEdBQUcsSUFBSSxFQUNoQixPQUFPLEdBQUcsS0FB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aUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1FBQ3ZILGdCQUFnQixJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUN2SCxnQkFBZ0IsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7S0FDMUgsQ0FBQztJQUVGLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9pbnRzT25CZXppZXJDdXJ2ZXMgfSBmcm9tICdwb2ludHMtb24tY3VydmUnO1xuaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRTaGFwZUJ5RWxlbWVudCwgZ2V0UmVjdGFuZ2xlQnlOb2RlLCBpc0NoaWxkVXAgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQsIGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL25vZGUtc3R5bGUvYnJhbmNoJztcbmltcG9ydCB7IE1pbmRFbGVtZW50U2hhcGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0luZGVudGVkTGluayhcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBub2RlOiBNaW5kTm9kZSxcbiAgICBjaGlsZDogTWluZE5vZGUsXG4gICAgZGVmYXVsdFN0cm9rZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgbmVlZERyYXdVbmRlcmxpbmUgPSB0cnVlXG4pIHtcbiAgICBjb25zdCBicmFuY2hXaWR0aCA9IGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudChib2FyZCwgY2hpbGQub3JpZ2luKTtcbiAgICBjb25zdCBicmFuY2hDb2xvciA9IGRlZmF1bHRTdHJva2UgfHwgZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50KGJvYXJkLCBjaGlsZC5vcmlnaW4pO1xuXG4gICAgY29uc3QgaXNVbmRlcmxpbmVTaGFwZSA9IChnZXRTaGFwZUJ5RWxlbWVudChib2FyZCwgY2hpbGQub3JpZ2luKSBhcyBNaW5kRWxlbWVudFNoYXBlKSA9PT0gTWluZEVsZW1lbnRTaGFwZS51bmRlcmxpbmU7XG4gICAgbGV0IGJlZ2luWCxcbiAgICAgICAgYmVnaW5ZLFxuICAgICAgICBlbmRYLFxuICAgICAgICBlbmRZLFxuICAgICAgICBiZWdpbk5vZGUgPSBub2RlLFxuICAgICAgICBlbmROb2RlID0gY2hpbGQ7XG4gICAgY29uc3QgYmVnaW5SZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUoYmVnaW5Ob2RlKTtcbiAgICBjb25zdCBlbmRSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUoZW5kTm9kZSk7XG5cbiAgICBiZWdpblggPSBiZWdpbk5vZGUueCArIGJlZ2luTm9kZS53aWR0aCAvIDI7XG4gICAgYmVnaW5ZID0gaXNDaGlsZFVwKG5vZGUsIGNoaWxkKSA/IGJlZ2luUmVjdGFuZ2xlLnkgOiBiZWdpblJlY3RhbmdsZS55ICsgYmVnaW5SZWN0YW5nbGUuaGVpZ2h0O1xuICAgIGVuZFggPSBub2RlLmxlZnQgPyBlbmROb2RlLnggKyBlbmROb2RlLmhHYXAgKyBlbmRSZWN0YW5nbGUud2lkdGggOiBlbmROb2RlLnggKyBlbmROb2RlLmhHYXA7XG4gICAgZW5kWSA9IGlzVW5kZXJsaW5lU2hhcGUgPyBlbmROb2RlLnkgKyBlbmROb2RlLmhlaWdodCAtIGVuZE5vZGUudkdhcCA6IGVuZE5vZGUueSArIGVuZE5vZGUuaGVpZ2h0IC8gMjtcbiAgICAvL+agueaNruS9jee9ru+8jOiuvue9ruato+i0n+WPguaVsFxuICAgIGxldCBwbHVzTWludXMgPSBpc0NoaWxkVXAobm9kZSwgY2hpbGQpID8gKG5vZGUubGVmdCA/IFstMSwgLTFdIDogWzEsIC0xXSkgOiBub2RlLmxlZnQgPyBbLTEsIDFdIDogWzEsIDFdO1xuICAgIGNvbnN0IGxheW91dCA9IE1pbmRRdWVyaWVzLmdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKTtcbiAgICBpZiAoYmVnaW5Ob2RlLm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgaWYgKGxheW91dCA9PT0gTWluZExheW91dFR5cGUubGVmdEJvdHRvbUluZGVudGVkIHx8IGxheW91dCA9PT0gTWluZExheW91dFR5cGUucmlnaHRCb3R0b21JbmRlbnRlZCkge1xuICAgICAgICAgICAgYmVnaW5ZICs9IGJyYW5jaFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLmxlZnRUb3BJbmRlbnRlZCB8fCBsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnJpZ2h0VG9wSW5kZW50ZWQpIHtcbiAgICAgICAgICAgIGJlZ2luWSAtPSBicmFuY2hXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsZXQgY3VydmU6IFBvaW50W10gPSBbXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgIFtiZWdpblgsIGVuZFkgLSAoZW5kTm9kZS5oR2FwICogMyAqIHBsdXNNaW51c1sxXSkgLyA1XSxcbiAgICAgICAgW2JlZ2luWCwgZW5kWSAtIChlbmROb2RlLmhHYXAgKiBwbHVzTWludXNbMV0pIC8gNV0sXG4gICAgICAgIFtiZWdpblggKyAoZW5kTm9kZS5oR2FwICogcGx1c01pbnVzWzBdKSAvIDQsIGVuZFldLFxuICAgICAgICBbYmVnaW5YICsgKGVuZE5vZGUuaEdhcCAqIHBsdXNNaW51c1swXSAqIDMpIC8gNSwgZW5kWV0sXG4gICAgICAgIGlzVW5kZXJsaW5lU2hhcGUgJiYgbmVlZERyYXdVbmRlcmxpbmUgPyBbZW5kWCArIChlbmROb2RlLndpZHRoIC0gZW5kTm9kZS5oR2FwICogMikgKiBwbHVzTWludXNbMF0sIGVuZFldIDogW2VuZFgsIGVuZFldLFxuICAgICAgICBpc1VuZGVybGluZVNoYXBlICYmIG5lZWREcmF3VW5kZXJsaW5lID8gW2VuZFggKyAoZW5kTm9kZS53aWR0aCAtIGVuZE5vZGUuaEdhcCAqIDIpICogcGx1c01pbnVzWzBdLCBlbmRZXSA6IFtlbmRYLCBlbmRZXSxcbiAgICAgICAgaXNVbmRlcmxpbmVTaGFwZSAmJiBuZWVkRHJhd1VuZGVybGluZSA/IFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSAqIHBsdXNNaW51c1swXSwgZW5kWV0gOiBbZW5kWCwgZW5kWV1cbiAgICBdO1xuXG4gICAgY29uc3QgcG9pbnRzID0gcG9pbnRzT25CZXppZXJDdXJ2ZXMoY3VydmUpO1xuICAgIHJldHVybiBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZTogYnJhbmNoQ29sb3IsIHN0cm9rZVdpZHRoOiBicmFuY2hXaWR0aCB9KTtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { pointsOnBezierCurves } from 'points-on-curve';
2
2
  import { PlaitBoard } from '@plait/core';
3
- import { getRectangleByNode } from '../../utils';
3
+ import { getRectangleByNode, getShapeByElement } from '../../utils';
4
4
  import { getLayoutDirection, getPointByPlacement, movePoint, transformPlacement } from '../../utils/point-placement';
5
5
  import { HorizontalPlacement, VerticalPlacement } from '../../interfaces/types';
6
6
  import { getBranchColorByMindElement, getBranchWidthByMindElement } from '../../utils/node-style/branch';
@@ -9,8 +9,10 @@ export function drawLogicLink(board, node, parent, isHorizontal) {
9
9
  const branchColor = getBranchColorByMindElement(board, node.origin);
10
10
  const branchWidth = getBranchWidthByMindElement(board, node.origin);
11
11
  const hasStraightLine = !parent.origin.isRoot;
12
- const hasUnderlineShape = node.origin.shape === MindElementShape.underline;
13
- const hasUnderlineShapeOfParent = parent.origin.shape === MindElementShape.underline;
12
+ const parentShape = getShapeByElement(board, parent.origin);
13
+ const shape = node.origin.shape ? node.origin.shape : parentShape;
14
+ const hasUnderlineShape = shape === MindElementShape.underline;
15
+ const hasUnderlineShapeOfParent = parentShape === MindElementShape.underline;
14
16
  const nodeClient = getRectangleByNode(node);
15
17
  const parentClient = getRectangleByNode(parent);
16
18
  const linkDirection = getLayoutDirection(node, isHorizontal);
@@ -49,4 +51,4 @@ export function drawLogicLink(board, node, parent, isHorizontal) {
49
51
  const points = pointsOnBezierCurves([...straightLine, ...curve, ...underline]);
50
52
  return PlaitBoard.getRoughSVG(board).curve(points, { stroke: branchColor, strokeWidth: branchWidth });
51
53
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay9sb2dpYy1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNySCxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFpQixFQUFFLElBQWMsRUFBRSxNQUFnQixFQUFFLFlBQXFCO0lBQ3BHLE1BQU0sV0FBVyxHQUFHLDJCQUEyQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEUsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBQzNFLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssZ0JB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb2ludHNPbkJlemllckN1cnZlcyB9IGZyb20gJ3BvaW50cy1vbi1jdXJ2ZSc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGdldExheW91dERpcmVjdGlvbiwgZ2V0UG9pbnRCeVBsYWNlbWVudCwgbW92ZVBvaW50LCB0cmFuc2Zvcm1QbGFjZW1lbnQgfSBmcm9tICcuLi8uLi91dGlscy9wb2ludC1wbGFjZW1lbnQnO1xuaW1wb3J0IHsgSG9yaXpvbnRhbFBsYWNlbWVudCwgUG9pbnRQbGFjZW1lbnQsIFZlcnRpY2FsUGxhY2VtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy90eXBlcyc7XG5pbXBvcnQgeyBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQsIGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL25vZGUtc3R5bGUvYnJhbmNoJztcbmltcG9ydCB7IE1pbmRFbGVtZW50U2hhcGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xvZ2ljTGluayhib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogTWluZE5vZGUsIHBhcmVudDogTWluZE5vZGUsIGlzSG9yaXpvbnRhbDogYm9vbGVhbikge1xuICAgIGNvbnN0IGJyYW5jaENvbG9yID0gZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3QgYnJhbmNoV2lkdGggPSBnZXRCcmFuY2hXaWR0aEJ5TWluZEVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCBoYXNTdHJhaWdodExpbmUgPSAhcGFyZW50Lm9yaWdpbi5pc1Jvb3Q7XG4gICAgY29uc3QgaGFzVW5kZXJsaW5lU2hhcGUgPSBub2RlLm9yaWdpbi5zaGFwZSA9PT0gTWluZEVsZW1lbnRTaGFwZS51bmRlcmxpbmU7XG4gICAgY29uc3QgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCA9IHBhcmVudC5vcmlnaW4uc2hhcGUgPT09IE1pbmRFbGVtZW50U2hhcGUudW5kZXJsaW5lO1xuICAgIGNvbnN0IG5vZGVDbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgY29uc3QgcGFyZW50Q2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHBhcmVudCk7XG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihub2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgLy8g4pGgIGVuc3VyZSBiZWdpbiBwbGFjZW1lbnQgYW5kIGVuZCBwbGFjZW1lbnRcbiAgICAvLyBiZWdpbiBwbGFjZW1lbnQgcmVwcmVzZW50IHBhcmVudCBjb25uZWN0b3IgcG9zaXRpb24gYW5kIGVuZCBwbGFjZW1lbnQgcmVwcmVzZW50IGNoaWxkIGNvbm5lY3RvclxuICAgIGNvbnN0IGJlZ2luUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgIGNvbnN0IGVuZFBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIC8vIHVuZGVybGluZSBzaGFwZSBhbmQgaG9yaXpvbnRhbFxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCAmJiAhcGFyZW50Lm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgYmVnaW5QbGFjZW1lbnRbMV0gPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgfVxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGUpIHtcbiAgICAgICAgZW5kUGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgIH1cblxuICAgIGxldCBiZWdpblBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRDbGllbnQsIGJlZ2luUGxhY2VtZW50KTtcbiAgICBsZXQgZW5kUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5vZGVDbGllbnQsIGVuZFBsYWNlbWVudCk7XG5cbiAgICAvLyDikaEg56Gu5a6a5Ye45Ye655u057q/77yM5LuO6LW35aeL54K55byA5aeL55S75LiA5p2h55u057q/77yM5LuO55u057q/55qE57uT5p2f5L2N572u57uY5Yi25puy57q/77yM5L+d6K+B5pS26LW35Zu+5qCH5Y+v5Lul5a6M576O6KaG55uW6LW35aeL6L+e57q/77yM5qC56IqC54K55LiN6ZyA6KaB6L+Z5p2h55u057q/XG4gICAgLy8g57uY5Yi26LSd5aGe5bCU5puy57q/6KaB5rGC77yM6ZyA6KaB5aKe5Yqg5LiJ5Liq54K577yM5q2j5bi45Lik5Liq54K55bCx5Y+v5Lul56Gu5a6a6L+Z5p2h55u057q/XG4gICAgY29uc3Qgc3RyYWlnaHRMaW5lRGlzdGFuY2UgPSA4O1xuICAgIGNvbnN0IGJlZ2luUG9pbnQyID0gaGFzU3RyYWlnaHRMaW5lID8gbW92ZVBvaW50KGJlZ2luUG9pbnQsIHN0cmFpZ2h0TGluZURpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSA6IGJlZ2luUG9pbnQ7XG4gICAgbGV0IHN0cmFpZ2h0TGluZTogUG9pbnRbXSA9IGhhc1N0cmFpZ2h0TGluZSA/IFtiZWdpblBvaW50LCBiZWdpblBvaW50MiwgYmVnaW5Qb2ludDJdIDogW107XG5cbiAgICAvLyDikaIg56Gu5a6a5puy57q/XG4gICAgY29uc3QgYmVnaW5CdWZmZXJEaXN0YW5jZSA9IChwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAzO1xuICAgIGNvbnN0IGVuZEJ1ZmZlckRpc3RhbmNlID0gLShwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAyLjQ7XG4gICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICBiZWdpblBvaW50MixcbiAgICAgICAgbW92ZVBvaW50KGJlZ2luUG9pbnQyLCBiZWdpbkJ1ZmZlckRpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSxcbiAgICAgICAgbW92ZVBvaW50KGVuZFBvaW50LCBlbmRCdWZmZXJEaXN0YW5jZSwgbGlua0RpcmVjdGlvbiksXG4gICAgICAgIGVuZFBvaW50XG4gICAgXTtcblxuICAgIC8vIOKRoyDkuIvliJLnur/nu5jliLbvvIx1bmRlcmxpbmUgc2hhcGUgYW5kIGhvcml6b250YWxcbiAgICBjb25zdCB1bmRlcmxpbmVFbmQgPSBtb3ZlUG9pbnQoZW5kUG9pbnQsIG5vZGVDbGllbnQud2lkdGgsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGNvbnN0IHVuZGVybGluZTogUG9pbnRbXSA9IGhhc1VuZGVybGluZVNoYXBlICYmIGlzSG9yaXpvbnRhbCA/IFt1bmRlcmxpbmVFbmQsIHVuZGVybGluZUVuZCwgdW5kZXJsaW5lRW5kXSA6IFtdO1xuXG4gICAgY29uc3QgcG9pbnRzID0gcG9pbnRzT25CZXppZXJDdXJ2ZXMoWy4uLnN0cmFpZ2h0TGluZSwgLi4uY3VydmUsIC4uLnVuZGVybGluZV0pO1xuICAgIHJldHVybiBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZTogYnJhbmNoQ29sb3IsIHN0cm9rZVdpZHRoOiBicmFuY2hXaWR0aCB9KTtcbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWMtbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay9sb2dpYy1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZELE9BQU8sRUFBRSxVQUFVLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNySCxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFpQixFQUFFLElBQWMsRUFBRSxNQUFnQixFQUFFLFlBQXFCO0lBQ3BHLE1BQU0sV0FBVyxHQUFHLDJCQUEyQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEUsTUFBTSxXQUFXLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxNQUFNLGVBQWUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlDLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMs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R0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9FLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNqSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9pbnRzT25CZXppZXJDdXJ2ZXMgfSBmcm9tICdwb2ludHMtb24tY3VydmUnO1xuaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUsIGdldFNoYXBlQnlFbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TGF5b3V0RGlyZWN0aW9uLCBnZXRQb2ludEJ5UGxhY2VtZW50LCBtb3ZlUG9pbnQsIHRyYW5zZm9ybVBsYWNlbWVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvaW50LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBIb3Jpem9udGFsUGxhY2VtZW50LCBQb2ludFBsYWNlbWVudCwgVmVydGljYWxQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3R5cGVzJztcbmltcG9ydCB7IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudCwgZ2V0QnJhbmNoV2lkdGhCeU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvbm9kZS1zdHlsZS9icmFuY2gnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TG9naWNMaW5rKGJvYXJkOiBQbGFpdEJvYXJkLCBub2RlOiBNaW5kTm9kZSwgcGFyZW50OiBNaW5kTm9kZSwgaXNIb3Jpem9udGFsOiBib29sZWFuKSB7XG4gICAgY29uc3QgYnJhbmNoQ29sb3IgPSBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCBicmFuY2hXaWR0aCA9IGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudChib2FyZCwgbm9kZS5vcmlnaW4pO1xuICAgIGNvbnN0IGhhc1N0cmFpZ2h0TGluZSA9ICFwYXJlbnQub3JpZ2luLmlzUm9vdDtcbiAgICBjb25zdCBwYXJlbnRTaGFwZSA9IGdldFNoYXBlQnlFbGVtZW50KGJvYXJkLCBwYXJlbnQub3JpZ2luKTtcbiAgICBjb25zdCBzaGFwZSA9IG5vZGUub3JpZ2luLnNoYXBlID8gbm9kZS5vcmlnaW4uc2hhcGUgOiBwYXJlbnRTaGFwZTtcbiAgICBjb25zdCBoYXNVbmRlcmxpbmVTaGFwZSA9IHNoYXBlID09PSBNaW5kRWxlbWVudFNoYXBlLnVuZGVybGluZTtcbiAgICBjb25zdCBoYXNVbmRlcmxpbmVTaGFwZU9mUGFyZW50ID0gcGFyZW50U2hhcGUgPT09IE1pbmRFbGVtZW50U2hhcGUudW5kZXJsaW5lO1xuICAgIGNvbnN0IG5vZGVDbGllbnQgPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG4gICAgY29uc3QgcGFyZW50Q2xpZW50ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHBhcmVudCk7XG4gICAgY29uc3QgbGlua0RpcmVjdGlvbiA9IGdldExheW91dERpcmVjdGlvbihub2RlLCBpc0hvcml6b250YWwpO1xuXG4gICAgLy8g4pGgIGVuc3VyZSBiZWdpbiBwbGFjZW1lbnQgYW5kIGVuZCBwbGFjZW1lbnRcbiAgICAvLyBiZWdpbiBwbGFjZW1lbnQgcmVwcmVzZW50IHBhcmVudCBjb25uZWN0b3IgcG9zaXRpb24gYW5kIGVuZCBwbGFjZW1lbnQgcmVwcmVzZW50IGNoaWxkIGNvbm5lY3RvclxuICAgIGNvbnN0IGJlZ2luUGxhY2VtZW50OiBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuICAgIGNvbnN0IGVuZFBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQgPSBbSG9yaXpvbnRhbFBsYWNlbWVudC5sZWZ0LCBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGVdO1xuXG4gICAgdHJhbnNmb3JtUGxhY2VtZW50KGJlZ2luUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcbiAgICB0cmFuc2Zvcm1QbGFjZW1lbnQoZW5kUGxhY2VtZW50LCBsaW5rRGlyZWN0aW9uKTtcblxuICAgIC8vIHVuZGVybGluZSBzaGFwZSBhbmQgaG9yaXpvbnRhbFxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGVPZlBhcmVudCAmJiAhcGFyZW50Lm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgYmVnaW5QbGFjZW1lbnRbMV0gPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgfVxuICAgIGlmIChpc0hvcml6b250YWwgJiYgaGFzVW5kZXJsaW5lU2hhcGUpIHtcbiAgICAgICAgZW5kUGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgIH1cblxuICAgIGxldCBiZWdpblBvaW50ID0gZ2V0UG9pbnRCeVBsYWNlbWVudChwYXJlbnRDbGllbnQsIGJlZ2luUGxhY2VtZW50KTtcbiAgICBsZXQgZW5kUG9pbnQgPSBnZXRQb2ludEJ5UGxhY2VtZW50KG5vZGVDbGllbnQsIGVuZFBsYWNlbWVudCk7XG5cbiAgICAvLyDikaEg56Gu5a6a5Ye45Ye655u057q/77yM5LuO6LW35aeL54K55byA5aeL55S75LiA5p2h55u057q/77yM5LuO55u057q/55qE57uT5p2f5L2N572u57uY5Yi25puy57q/77yM5L+d6K+B5pS26LW35Zu+5qCH5Y+v5Lul5a6M576O6KaG55uW6LW35aeL6L+e57q/77yM5qC56IqC54K55LiN6ZyA6KaB6L+Z5p2h55u057q/XG4gICAgLy8g57uY5Yi26LSd5aGe5bCU5puy57q/6KaB5rGC77yM6ZyA6KaB5aKe5Yqg5LiJ5Liq54K577yM5q2j5bi45Lik5Liq54K55bCx5Y+v5Lul56Gu5a6a6L+Z5p2h55u057q/XG4gICAgY29uc3Qgc3RyYWlnaHRMaW5lRGlzdGFuY2UgPSA4O1xuICAgIGNvbnN0IGJlZ2luUG9pbnQyID0gaGFzU3RyYWlnaHRMaW5lID8gbW92ZVBvaW50KGJlZ2luUG9pbnQsIHN0cmFpZ2h0TGluZURpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSA6IGJlZ2luUG9pbnQ7XG4gICAgbGV0IHN0cmFpZ2h0TGluZTogUG9pbnRbXSA9IGhhc1N0cmFpZ2h0TGluZSA/IFtiZWdpblBvaW50LCBiZWdpblBvaW50MiwgYmVnaW5Qb2ludDJdIDogW107XG5cbiAgICAvLyDikaIg56Gu5a6a5puy57q/XG4gICAgY29uc3QgYmVnaW5CdWZmZXJEaXN0YW5jZSA9IChwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAzO1xuICAgIGNvbnN0IGVuZEJ1ZmZlckRpc3RhbmNlID0gLShwYXJlbnQuaEdhcCArIG5vZGUuaEdhcCkgLyAyLjQ7XG4gICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICBiZWdpblBvaW50MixcbiAgICAgICAgbW92ZVBvaW50KGJlZ2luUG9pbnQyLCBiZWdpbkJ1ZmZlckRpc3RhbmNlLCBsaW5rRGlyZWN0aW9uKSxcbiAgICAgICAgbW92ZVBvaW50KGVuZFBvaW50LCBlbmRCdWZmZXJEaXN0YW5jZSwgbGlua0RpcmVjdGlvbiksXG4gICAgICAgIGVuZFBvaW50XG4gICAgXTtcblxuICAgIC8vIOKRoyDkuIvliJLnur/nu5jliLbvvIx1bmRlcmxpbmUgc2hhcGUgYW5kIGhvcml6b250YWxcbiAgICBjb25zdCB1bmRlcmxpbmVFbmQgPSBtb3ZlUG9pbnQoZW5kUG9pbnQsIG5vZGVDbGllbnQud2lkdGgsIGxpbmtEaXJlY3Rpb24pO1xuICAgIGNvbnN0IHVuZGVybGluZTogUG9pbnRbXSA9IGhhc1VuZGVybGluZVNoYXBlICYmIGlzSG9yaXpvbnRhbCA/IFt1bmRlcmxpbmVFbmQsIHVuZGVybGluZUVuZCwgdW5kZXJsaW5lRW5kXSA6IFtdO1xuXG4gICAgY29uc3QgcG9pbnRzID0gcG9pbnRzT25CZXppZXJDdXJ2ZXMoWy4uLnN0cmFpZ2h0TGluZSwgLi4uY3VydmUsIC4uLnVuZGVybGluZV0pO1xuICAgIHJldHVybiBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZTogYnJhbmNoQ29sb3IsIHN0cm9rZVdpZHRoOiBicmFuY2hXaWR0aCB9KTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { pointsOnBezierCurves } from 'points-on-curve';
2
2
  import { STROKE_WIDTH } from '../constants';
3
3
  import { PlaitBoard } from '@plait/core';
4
- import { getNodeShapeByElement, isChildRight } from '../utils';
4
+ import { getShapeByElement, isChildRight } from '../utils';
5
5
  import { MindLayoutType, isTopLayout, isIndentedLayout, isStandardLayout } from '@plait/layouts';
6
6
  import { MindQueries } from '../queries';
7
7
  import { getBranchColorByMindElement } from '../utils/node-style/branch';
@@ -20,7 +20,7 @@ export function drawLink(board, node, child, defaultStroke = null, isHorizontal
20
20
  endY = endNode.y + endNode.height / 2;
21
21
  if (node.parent &&
22
22
  isIndentedLayout(MindQueries.getLayoutByElement(node.parent?.origin)) &&
23
- getNodeShapeByElement(node.origin) === MindElementShape.underline) {
23
+ getShapeByElement(board, node.origin) === MindElementShape.underline) {
24
24
  if (isChildRight(node, child)) {
25
25
  beginY = node.y + node.height - node.vGap;
26
26
  }
@@ -64,7 +64,7 @@ export function drawLink(board, node, child, defaultStroke = null, isHorizontal
64
64
  [endX - (beginNode.hGap + endNode.hGap) / 2, endY],
65
65
  [endX, endY]
66
66
  ];
67
- const shape = getNodeShapeByElement(child.origin);
67
+ const shape = getShapeByElement(board, child.origin);
68
68
  if (!node.origin.isRoot) {
69
69
  if (node.x > child.x) {
70
70
  curve = [
@@ -157,4 +157,4 @@ export function drawLink(board, node, child, defaultStroke = null, isHorizontal
157
157
  return PlaitBoard.getRoughSVG(board).curve(points, { stroke, strokeWidth });
158
158
  }
159
159
  }
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxVQUFVLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsTUFBTSxVQUFVLFFBQVEsQ0FDcEIsS0FBaUIsRUFDakIsSUFBYyxFQUNkLEtBQWUsRUFDZixnQkFBK0IsSUFBSSxFQUNuQyxZQUFZLEdBQUcsSUFBSSxFQUNuQixpQkFBaUIsR0FBRyxJQUFJO0lBRXhCLElBQUksTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FBRyxJQUFJLEVBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBQzNGLElBQUksWUFBWSxFQUFFO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDNUIsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNs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QUUsQ0FBQztpQkFDYixDQUFDO2dCQUViLEtBQUssR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7YUFDL0I7U0FDSjtRQUNELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7S0FDdEY7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9pbnRzT25CZXppZXJDdXJ2ZXMgfSBmcm9tICdwb2ludHMtb24tY3VydmUnO1xuaW1wb3J0IHsgU1RST0tFX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZ2V0Tm9kZVNoYXBlQnlFbGVtZW50LCBpc0NoaWxkUmlnaHQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSwgaXNUb3BMYXlvdXQsIGlzSW5kZW50ZWRMYXlvdXQsIGlzU3RhbmRhcmRMYXlvdXQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS1zdHlsZS9icmFuY2gnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TGluayhcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBub2RlOiBNaW5kTm9kZSxcbiAgICBjaGlsZDogTWluZE5vZGUsXG4gICAgZGVmYXVsdFN0cm9rZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsXG4gICAgaXNIb3Jpem9udGFsID0gdHJ1ZSxcbiAgICBuZWVkRHJhd1VuZGVybGluZSA9IHRydWVcbikge1xuICAgIGxldCBiZWdpblgsXG4gICAgICAgIGJlZ2luWSxcbiAgICAgICAgZW5kWCxcbiAgICAgICAgZW5kWSxcbiAgICAgICAgYmVnaW5Ob2RlID0gbm9kZSxcbiAgICAgICAgZW5kTm9kZSA9IGNoaWxkO1xuICAgIGNvbnN0IGxheW91dCA9IE1pbmRRdWVyaWVzLmdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKSBhcyBNaW5kTGF5b3V0VHlwZTtcbiAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgIGlmICghaXNDaGlsZFJpZ2h0KG5vZGUsIGNoaWxkKSkge1xuICAgICAgICAgICAgYmVnaW5Ob2RlID0gY2hpbGQ7XG4gICAgICAgICAgICBlbmROb2RlID0gbm9kZTtcbiAgICAgICAgfVxuICAgICAgICBiZWdpblggPSBiZWdpbk5vZGUueCArIGJlZ2luTm9kZS53aWR0aCAtIGJlZ2luTm9kZS5oR2FwO1xuICAgICAgICBiZWdpblkgPSBiZWdpbk5vZGUueSArIGJlZ2luTm9kZS5oZWlnaHQgLyAyO1xuICAgICAgICBlbmRYID0gZW5kTm9kZS54ICsgZW5kTm9kZS5oR2FwO1xuICAgICAgICBlbmRZID0gZW5kTm9kZS55ICsgZW5kTm9kZS5oZWlnaHQgLyAyO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIG5vZGUucGFyZW50ICYmXG4gICAgICAgICAgICBpc0luZGVudGVkTGF5b3V0KE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChub2RlLnBhcmVudD8ub3JpZ2luKSkgJiZcbiAgICAgICAgICAgIChnZXROb2RlU2hhcGVCeUVsZW1lbnQobm9kZS5vcmlnaW4pIGFzIE1pbmRFbGVtZW50U2hhcGUpID09PSBNaW5kRWxlbWVudFNoYXBlLnVuZGVybGluZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlmIChpc0NoaWxkUmlnaHQobm9kZSwgY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgYmVnaW5ZID0gbm9kZS55ICsgbm9kZS5oZWlnaHQgLSBub2RlLnZHYXA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGVuZFkgPSBub2RlLnkgKyBub2RlLmhlaWdodCAtIG5vZGUudkdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChub2RlLnkgPiBjaGlsZC55KSB7XG4gICAgICAgICAgICBiZWdpbk5vZGUgPSBjaGlsZDtcbiAgICAgICAgICAgIGVuZE5vZGUgPSBub2RlO1xuICAgICAgICB9XG4gICAgICAgIGJlZ2luWCA9IGJlZ2luTm9kZS54ICsgYmVnaW5Ob2RlLndpZHRoIC8gMjtcbiAgICAgICAgYmVnaW5ZID0gYmVnaW5Ob2RlLnkgKyBiZWdpbk5vZGUuaGVpZ2h0IC0gYmVnaW5Ob2RlLnZHYXA7XG4gICAgICAgIGVuZFggPSBlbmROb2RlLnggKyBlbmROb2RlLndpZHRoIC8gMjtcbiAgICAgICAgZW5kWSA9IGVuZE5vZGUueSArIGVuZE5vZGUudkdhcDtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJva2UgPSBkZWZhdWx0U3Ryb2tlIHx8IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudChib2FyZCwgY2hpbGQub3JpZ2luKTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGNoaWxkLm9yaWdpbi5icmFuY2hXaWR0aCA/IGNoaWxkLm9yaWdpbi5icmFuY2hXaWR0aCA6IFNUUk9LRV9XSURUSDtcbiAgICBpZiAoZW5kTm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLmxlZnQgfHwgaXNTdGFuZGFyZExheW91dChsYXlvdXQpKSB7XG4gICAgICAgICAgICBlbmRYIC09IHN0cm9rZVdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnVwd2FyZCkge1xuICAgICAgICAgICAgZW5kWSAtPSBzdHJva2VXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYmVnaW5Ob2RlLm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgaWYgKGxheW91dCA9PT0gTWluZExheW91dFR5cGUucmlnaHQgfHwgaXNTdGFuZGFyZExheW91dChsYXlvdXQpKSB7XG4gICAgICAgICAgICBiZWdpblggKz0gc3Ryb2tlV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxheW91dCA9PT0gTWluZExheW91dFR5cGUuZG93bndhcmQpIHtcbiAgICAgICAgICAgIGJlZ2luWSArPSBzdHJva2VXaWR0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgIGxldCBjdXJ2ZTogUG9pbnRbXSA9IFtcbiAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgICAgICBbYmVnaW5YICsgKGJlZ2luTm9kZS5oR2FwICsgZW5kTm9kZS5oR2FwKSAvIDMsIGJlZ2luWV0sXG4gICAgICAgICAgICBbZW5kWCAtIChiZWdpbk5vZGUuaEdhcCArIGVuZE5vZGUuaEdhcCkgLyAyLCBlbmRZXSxcbiAgICAgICAgICAgIFtlbmRYLCBlbmRZXVxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBzaGFwZSA9IGdldE5vZGVTaGFwZUJ5RWxlbWVudChjaGlsZC5vcmlnaW4pIGFzIE1pbmRFbGVtZW50U2hhcGU7XG5cbiAgICAgICAgaWYgKCFub2RlLm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgICAgIGlmIChub2RlLnggPiBjaGlsZC54KSB7XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblggKyAoYmVnaW5Ob2RlLmhHYXAgKyBlbmROb2RlLmhHYXApIC8gMywgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggLSAoYmVnaW5Ob2RlLmhHYXAgKyBlbmROb2RlLmhHYXApIC8gMiwgZW5kWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYIC0gMTIsIGVuZFldXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lID0gW1xuICAgICAgICAgICAgICAgICAgICBbZW5kWCAtIDEyLCBlbmRZXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggLSAxMiwgZW5kWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYLCBlbmRZXVxuICAgICAgICAgICAgICAgIF0gYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICBjdXJ2ZSA9IFsuLi5jdXJ2ZSwgLi4ubGluZV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGN1cnZlID0gW1xuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YICsgMTIsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblggKyAoYmVnaW5Ob2RlLmhHYXAgKyBlbmROb2RlLmhHYXApIC8gMiwgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggLSAoYmVnaW5Ob2RlLmhHYXAgKyBlbmROb2RlLmhHYXApIC8gMywgZW5kWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYLCBlbmRZXVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgbGluZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCArIDEyLCBiZWdpblldLFxuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YICsgMTIsIGJlZ2luWV1cbiAgICAgICAgICAgICAgICBdIGFzIFBvaW50W107XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbLi4ubGluZSwgLi4uY3VydmVdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5lZWREcmF3VW5kZXJsaW5lICYmIHNoYXBlID09PSBNaW5kRWxlbWVudFNoYXBlLnVuZGVybGluZSkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLmxlZnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1bmRlcmxpbmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblggLSAoYmVnaW5Ob2RlLndpZHRoIC0gYmVnaW5Ob2RlLmhHYXAgKiAyKSwgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCAtIChiZWdpbk5vZGUud2lkdGggLSBiZWdpbk5vZGUuaEdhcCAqIDIpLCBiZWdpblldLFxuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YIC0gKGJlZ2luTm9kZS53aWR0aCAtIGJlZ2luTm9kZS5oR2FwICogMiksIGJlZ2luWV1cbiAgICAgICAgICAgICAgICBdIGFzIFBvaW50W107XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbLi4udW5kZXJsaW5lLCAuLi5jdXJ2ZV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVuZGVybGluZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggKyAoZW5kTm9kZS53aWR0aCAtIGVuZE5vZGUuaEdhcCAqIDIpLCBlbmRZXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggKyAoZW5kTm9kZS53aWR0aCAtIGVuZE5vZGUuaEdhcCAqIDIpLCBlbmRZXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggKyAoZW5kTm9kZS53aWR0aCAtIGVuZE5vZGUuaEdhcCAqIDIpLCBlbmRZXVxuICAgICAgICAgICAgICAgIF0gYXMgUG9pbnRbXTtcbiAgICAgICAgICAgICAgICBjdXJ2ZSA9IFsuLi5jdXJ2ZSwgLi4udW5kZXJsaW5lXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBvaW50cyA9IHBvaW50c09uQmV6aWVyQ3VydmVzKGN1cnZlKTtcbiAgICAgICAgcmV0dXJuIFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLmN1cnZlKHBvaW50cyBhcyBhbnksIHsgc3Ryb2tlLCBzdHJva2VXaWR0aCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgY3VydmU6IFBvaW50W10gPSBbXG4gICAgICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZICsgKGJlZ2luTm9kZS52R2FwICsgZW5kTm9kZS52R2FwKSAvIDJdLFxuICAgICAgICAgICAgW2VuZFgsIGVuZFkgLSAoYmVnaW5Ob2RlLnZHYXAgKyBlbmROb2RlLnZHYXApIC8gMl0sXG4gICAgICAgICAgICBbZW5kWCwgZW5kWV1cbiAgICAgICAgXTtcblxuICAgICAgICBpZiAoIW5vZGUub3JpZ2luLmlzUm9vdCkge1xuICAgICAgICAgICAgaWYgKGlzVG9wTGF5b3V0KGxheW91dCkpIHtcbiAgICAgICAgICAgICAgICBjdXJ2ZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZICsgKGJlZ2luTm9kZS52R2FwICsgZW5kTm9kZS52R2FwKSAvIDJdLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWSAtIChiZWdpbk5vZGUudkdhcCArIGVuZE5vZGUudkdhcCkgLyAyXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFgsIGVuZFkgLSAxMl1cbiAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgbGluZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2VuZFgsIGVuZFkgLSAxMl0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYLCBlbmRZIC0gMTJdLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWV1cbiAgICAgICAgICAgICAgICBdIGFzIFBvaW50W107XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbLi4uY3VydmUsIC4uLmxpbmVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjdXJ2ZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZICsgMTJdLFxuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YLCBiZWdpblkgKyAoYmVnaW5Ob2RlLnZHYXAgKyBlbmROb2RlLnZHYXApIC8gMl0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYLCBlbmRZIC0gKGJlZ2luTm9kZS52R2FwICsgZW5kTm9kZS52R2FwKSAvIDJdLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWV1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWSArIDEyXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZICsgMTJdXG4gICAgICAgICAgICAgICAgXSBhcyBQb2ludFtdO1xuXG4gICAgICAgICAgICAgICAgY3VydmUgPSBbLi4ubGluZSwgLi4uY3VydmVdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBvaW50cyA9IHBvaW50c09uQmV6aWVyQ3VydmVzKGN1cnZlKTtcbiAgICAgICAgcmV0dXJuIFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLmN1cnZlKHBvaW50cyBhcyBhbnksIHsgc3Ryb2tlLCBzdHJva2VXaWR0aCB9KTtcbiAgICB9XG59XG4iXX0=
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXcvbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxVQUFVLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsTUFBTSxVQUFVLFFBQVEsQ0FDcEIsS0FBaUIsRUFDakIsSUFBYyxFQUNkLEtBQWUsRUFDZixnQkFBK0IsSUFBSSxFQUNuQyxZQUFZLEdBQUcsSUFBSSxFQUNuQixpQkFBaUIsR0FBRyxJQUFJO0lBRXhCLElBQUksTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FBRyxJQUFJLEVBQ2hCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFtQixDQUFDO0lBQzNGLElBQUksWUFBWSxFQUFFO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDNUIsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ3hELE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFdEMsSUFDSSxJQUFJLENBQUMsTUFBTTtZQUNYLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3BFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFzQixLQUFLLGdCQUFnQixDQUFDLFNBQVMsRUFDNUY7WUFDRSxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQzthQUM3QztpQkFBTTtnQkFDSCxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDM0M7U0FDSjtLQUNKO1NBQU07UUFDSCxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNsQixTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDbEI7UUFDRCxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMzQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDekQsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztLQUNuQztJQUVELE1BQU0sTUFBTSxHQUFHLGFBQWEsSUFBSSwyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pGLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3ZGLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDdkIsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLElBQUksSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1RCxJQUFJLElBQUksV0FBVyxDQUFDO1NBQ3ZCO1FBQ0QsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxJQUFJLElBQUksV0FBVyxDQUFDO1NBQ3ZCO0tBQ0o7SUFDRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3pCLElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxLQUFLLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0QsTUFBTSxJQUFJLFdBQVcsQ0FBQztTQUN6QjtRQUNELElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUU7WUFDcEMsTUFBTSxJQUFJLFdBQVcsQ0FBQztTQUN6QjtLQUNKO0lBQ0QsSUFBSSxZQUFZLEVBQUU7UUFDZCxJQUFJLEtBQUssR0FBWTtZQUNqQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7WUFDaEIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDO1lBQ3RELENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQztZQUNsRCxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7U0FDZixDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQXFCLENBQUM7UUFFekUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3JCLElBQUksSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUNsQixLQUFLLEdBQUc7b0JBQ0osQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO29CQUNoQixDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7b0JBQ3RELENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQztvQkFDbEQsQ0FBQyxJQUFJLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQztpQkFDcEIsQ0FBQztnQkFDRixNQUFNLElBQUksR0FBRztvQkFDVCxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDO29CQUNqQixDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDO29CQUNqQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7aUJBQ0osQ0FBQztnQkFDYixLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNILEtBQUssR0FBRztvQkFDSixDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDO29CQUNyQixDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7b0JBQ3RELENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQztvQkFDbEQsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2lCQUNmLENBQUM7Z0JBQ0YsTUFBTSxJQUFJLEdBQUc7b0JBQ1QsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO29CQUNoQixDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDO29CQUNyQixDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDO2lCQUNiLENBQUM7Z0JBQ2IsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQzthQUMvQjtTQUNKO1FBRUQsSUFBSSxpQkFBaUIsSUFBSSxLQUFLLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxFQUFFO1lBQzNELElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDWixNQUFNLFNBQVMsR0FBRztvQkFDZCxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7b0JBQ3pELENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztvQkFDekQsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDO2lCQUNqRCxDQUFDO2dCQUNiLEtBQUssR0FBRyxDQUFDLEdBQUcsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0gsTUFBTSxTQUFTLEdBQUc7b0JBQ2QsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDO29CQUNqRCxDQUFDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7b0JBQ2pELENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztpQkFDekMsQ0FBQztnQkFDYixLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0o7UUFFRCxNQUFNLE1BQU0sR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0tBQ3RGO1NBQU07UUFDSCxJQUFJLEtBQUssR0FBWTtZQUNqQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7WUFDaEIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RELENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsRCxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7U0FDZixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lBQ3JCLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQixLQUFLLEdBQUc7b0JBQ0osQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO29CQUNoQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RELENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEQsQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztpQkFDcEIsQ0FBQztnQkFFRixNQUFNLElBQUksR0FBRztvQkFDVCxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNqQixDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNqQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7aUJBQ0osQ0FBQztnQkFDYixLQUFLLEdBQUcsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNILEtBQUssR0FBRztvQkFDSixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxDQUFDO29CQUNyQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3RELENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbEQsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2lCQUNmLENBQUM7Z0JBQ0YsTUFBTSxJQUFJLEdBQUc7b0JBQ1QsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO29CQUNoQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxDQUFDO29CQUNyQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsRUFBRSxDQUFDO2lCQUNiLENBQUM7Z0JBRWIsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQzthQUMvQjtTQUNKO1FBQ0QsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztLQUN0RjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb2ludHNPbkJlemllckN1cnZlcyB9IGZyb20gJ3BvaW50cy1vbi1jdXJ2ZSc7XG5pbXBvcnQgeyBTVFJPS0VfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRTaGFwZUJ5RWxlbWVudCwgaXNDaGlsZFJpZ2h0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUsIGlzVG9wTGF5b3V0LCBpc0luZGVudGVkTGF5b3V0LCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL25vZGUtc3R5bGUvYnJhbmNoJztcbmltcG9ydCB7IE1pbmRFbGVtZW50U2hhcGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmsoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgbm9kZTogTWluZE5vZGUsXG4gICAgY2hpbGQ6IE1pbmROb2RlLFxuICAgIGRlZmF1bHRTdHJva2U6IHN0cmluZyB8IG51bGwgPSBudWxsLFxuICAgIGlzSG9yaXpvbnRhbCA9IHRydWUsXG4gICAgbmVlZERyYXdVbmRlcmxpbmUgPSB0cnVlXG4pIHtcbiAgICBsZXQgYmVnaW5YLFxuICAgICAgICBiZWdpblksXG4gICAgICAgIGVuZFgsXG4gICAgICAgIGVuZFksXG4gICAgICAgIGJlZ2luTm9kZSA9IG5vZGUsXG4gICAgICAgIGVuZE5vZGUgPSBjaGlsZDtcbiAgICBjb25zdCBsYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbikgYXMgTWluZExheW91dFR5cGU7XG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICBpZiAoIWlzQ2hpbGRSaWdodChub2RlLCBjaGlsZCkpIHtcbiAgICAgICAgICAgIGJlZ2luTm9kZSA9IGNoaWxkO1xuICAgICAgICAgICAgZW5kTm9kZSA9IG5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgYmVnaW5YID0gYmVnaW5Ob2RlLnggKyBiZWdpbk5vZGUud2lkdGggLSBiZWdpbk5vZGUuaEdhcDtcbiAgICAgICAgYmVnaW5ZID0gYmVnaW5Ob2RlLnkgKyBiZWdpbk5vZGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgZW5kWCA9IGVuZE5vZGUueCArIGVuZE5vZGUuaEdhcDtcbiAgICAgICAgZW5kWSA9IGVuZE5vZGUueSArIGVuZE5vZGUuaGVpZ2h0IC8gMjtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBub2RlLnBhcmVudCAmJlxuICAgICAgICAgICAgaXNJbmRlbnRlZExheW91dChNaW5kUXVlcmllcy5nZXRMYXlvdXRCeUVsZW1lbnQobm9kZS5wYXJlbnQ/Lm9yaWdpbikpICYmXG4gICAgICAgICAgICAoZ2V0U2hhcGVCeUVsZW1lbnQoYm9hcmQsIG5vZGUub3JpZ2luKSBhcyBNaW5kRWxlbWVudFNoYXBlKSA9PT0gTWluZEVsZW1lbnRTaGFwZS51bmRlcmxpbmVcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoaXNDaGlsZFJpZ2h0KG5vZGUsIGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGJlZ2luWSA9IG5vZGUueSArIG5vZGUuaGVpZ2h0IC0gbm9kZS52R2FwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbmRZID0gbm9kZS55ICsgbm9kZS5oZWlnaHQgLSBub2RlLnZHYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAobm9kZS55ID4gY2hpbGQueSkge1xuICAgICAgICAgICAgYmVnaW5Ob2RlID0gY2hpbGQ7XG4gICAgICAgICAgICBlbmROb2RlID0gbm9kZTtcbiAgICAgICAgfVxuICAgICAgICBiZWdpblggPSBiZWdpbk5vZGUueCArIGJlZ2luTm9kZS53aWR0aCAvIDI7XG4gICAgICAgIGJlZ2luWSA9IGJlZ2luTm9kZS55ICsgYmVnaW5Ob2RlLmhlaWdodCAtIGJlZ2luTm9kZS52R2FwO1xuICAgICAgICBlbmRYID0gZW5kTm9kZS54ICsgZW5kTm9kZS53aWR0aCAvIDI7XG4gICAgICAgIGVuZFkgPSBlbmROb2RlLnkgKyBlbmROb2RlLnZHYXA7XG4gICAgfVxuXG4gICAgY29uc3Qgc3Ryb2tlID0gZGVmYXVsdFN0cm9rZSB8fCBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQoYm9hcmQsIGNoaWxkLm9yaWdpbik7XG4gICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBjaGlsZC5vcmlnaW4uYnJhbmNoV2lkdGggPyBjaGlsZC5vcmlnaW4uYnJhbmNoV2lkdGggOiBTVFJPS0VfV0lEVEg7XG4gICAgaWYgKGVuZE5vZGUub3JpZ2luLmlzUm9vdCkge1xuICAgICAgICBpZiAobGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS5sZWZ0IHx8IGlzU3RhbmRhcmRMYXlvdXQobGF5b3V0KSkge1xuICAgICAgICAgICAgZW5kWCAtPSBzdHJva2VXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS51cHdhcmQpIHtcbiAgICAgICAgICAgIGVuZFkgLT0gc3Ryb2tlV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGJlZ2luTm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnJpZ2h0IHx8IGlzU3RhbmRhcmRMYXlvdXQobGF5b3V0KSkge1xuICAgICAgICAgICAgYmVnaW5YICs9IHN0cm9rZVdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLmRvd253YXJkKSB7XG4gICAgICAgICAgICBiZWdpblkgKz0gc3Ryb2tlV2lkdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICBsZXQgY3VydmU6IFBvaW50W10gPSBbXG4gICAgICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICAgICAgW2JlZ2luWCArIChiZWdpbk5vZGUuaEdhcCArIGVuZE5vZGUuaEdhcCkgLyAzLCBiZWdpblldLFxuICAgICAgICAgICAgW2VuZFggLSAoYmVnaW5Ob2RlLmhHYXAgKyBlbmROb2RlLmhHYXApIC8gMiwgZW5kWV0sXG4gICAgICAgICAgICBbZW5kWCwgZW5kWV1cbiAgICAgICAgXTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBnZXRTaGFwZUJ5RWxlbWVudChib2FyZCwgY2hpbGQub3JpZ2luKSBhcyBNaW5kRWxlbWVudFNoYXBlO1xuXG4gICAgICAgIGlmICghbm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgICAgICBpZiAobm9kZS54ID4gY2hpbGQueCkge1xuICAgICAgICAgICAgICAgIGN1cnZlID0gW1xuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YICsgKGJlZ2luTm9kZS5oR2FwICsgZW5kTm9kZS5oR2FwKSAvIDMsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYIC0gKGJlZ2luTm9kZS5oR2FwICsgZW5kTm9kZS5oR2FwKSAvIDIsIGVuZFldLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCAtIDEyLCBlbmRZXVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgbGluZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2VuZFggLSAxMiwgZW5kWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYIC0gMTIsIGVuZFldLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWV1cbiAgICAgICAgICAgICAgICBdIGFzIFBvaW50W107XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbLi4uY3VydmUsIC4uLmxpbmVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjdXJ2ZSA9IFtcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCArIDEyLCBiZWdpblldLFxuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YICsgKGJlZ2luTm9kZS5oR2FwICsgZW5kTm9kZS5oR2FwKSAvIDIsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYIC0gKGJlZ2luTm9kZS5oR2FwICsgZW5kTm9kZS5oR2FwKSAvIDMsIGVuZFldLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWV1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblggKyAxMiwgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCArIDEyLCBiZWdpblldXG4gICAgICAgICAgICAgICAgXSBhcyBQb2ludFtdO1xuICAgICAgICAgICAgICAgIGN1cnZlID0gWy4uLmxpbmUsIC4uLmN1cnZlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZWVkRHJhd1VuZGVybGluZSAmJiBzaGFwZSA9PT0gTWluZEVsZW1lbnRTaGFwZS51bmRlcmxpbmUpIHtcbiAgICAgICAgICAgIGlmIChjaGlsZC5sZWZ0KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdW5kZXJsaW5lID0gW1xuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YIC0gKGJlZ2luTm9kZS53aWR0aCAtIGJlZ2luTm9kZS5oR2FwICogMiksIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblggLSAoYmVnaW5Ob2RlLndpZHRoIC0gYmVnaW5Ob2RlLmhHYXAgKiAyKSwgYmVnaW5ZXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCAtIChiZWdpbk5vZGUud2lkdGggLSBiZWdpbk5vZGUuaEdhcCAqIDIpLCBiZWdpblldXG4gICAgICAgICAgICAgICAgXSBhcyBQb2ludFtdO1xuICAgICAgICAgICAgICAgIGN1cnZlID0gWy4uLnVuZGVybGluZSwgLi4uY3VydmVdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1bmRlcmxpbmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSwgZW5kWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSwgZW5kWV0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYICsgKGVuZE5vZGUud2lkdGggLSBlbmROb2RlLmhHYXAgKiAyKSwgZW5kWV1cbiAgICAgICAgICAgICAgICBdIGFzIFBvaW50W107XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbLi4uY3VydmUsIC4uLnVuZGVybGluZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwb2ludHMgPSBwb2ludHNPbkJlemllckN1cnZlcyhjdXJ2ZSk7XG4gICAgICAgIHJldHVybiBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZSwgc3Ryb2tlV2lkdGggfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGN1cnZlOiBQb2ludFtdID0gW1xuICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZXSxcbiAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWSArIChiZWdpbk5vZGUudkdhcCArIGVuZE5vZGUudkdhcCkgLyAyXSxcbiAgICAgICAgICAgIFtlbmRYLCBlbmRZIC0gKGJlZ2luTm9kZS52R2FwICsgZW5kTm9kZS52R2FwKSAvIDJdLFxuICAgICAgICAgICAgW2VuZFgsIGVuZFldXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKCFub2RlLm9yaWdpbi5pc1Jvb3QpIHtcbiAgICAgICAgICAgIGlmIChpc1RvcExheW91dChsYXlvdXQpKSB7XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWV0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWSArIChiZWdpbk5vZGUudkdhcCArIGVuZE5vZGUudkdhcCkgLyAyXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFgsIGVuZFkgLSAoYmVnaW5Ob2RlLnZHYXAgKyBlbmROb2RlLnZHYXApIC8gMl0sXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYLCBlbmRZIC0gMTJdXG4gICAgICAgICAgICAgICAgXTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtlbmRYLCBlbmRZIC0gMTJdLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWSAtIDEyXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFgsIGVuZFldXG4gICAgICAgICAgICAgICAgXSBhcyBQb2ludFtdO1xuICAgICAgICAgICAgICAgIGN1cnZlID0gWy4uLmN1cnZlLCAuLi5saW5lXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY3VydmUgPSBbXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWSArIDEyXSxcbiAgICAgICAgICAgICAgICAgICAgW2JlZ2luWCwgYmVnaW5ZICsgKGJlZ2luTm9kZS52R2FwICsgZW5kTm9kZS52R2FwKSAvIDJdLFxuICAgICAgICAgICAgICAgICAgICBbZW5kWCwgZW5kWSAtIChiZWdpbk5vZGUudkdhcCArIGVuZE5vZGUudkdhcCkgLyAyXSxcbiAgICAgICAgICAgICAgICAgICAgW2VuZFgsIGVuZFldXG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICBjb25zdCBsaW5lID0gW1xuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YLCBiZWdpblldLFxuICAgICAgICAgICAgICAgICAgICBbYmVnaW5YLCBiZWdpblkgKyAxMl0sXG4gICAgICAgICAgICAgICAgICAgIFtiZWdpblgsIGJlZ2luWSArIDEyXVxuICAgICAgICAgICAgICAgIF0gYXMgUG9pbnRbXTtcblxuICAgICAgICAgICAgICAgIGN1cnZlID0gWy4uLmxpbmUsIC4uLmN1cnZlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludHMgPSBwb2ludHNPbkJlemllckN1cnZlcyhjdXJ2ZSk7XG4gICAgICAgIHJldHVybiBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5jdXJ2ZShwb2ludHMgYXMgYW55LCB7IHN0cm9rZSwgc3Ryb2tlV2lkdGggfSk7XG4gICAgfVxufVxuIl19
@@ -2,7 +2,7 @@ import { drawRichtext, updateForeignObject } from '@plait/richtext';
2
2
  import { getRectangleByNode } from '../utils/graph';
3
3
  import { NodeSpace } from '../utils/node-space';
4
4
  export function drawMindNodeRichtext(board, node, viewContainerRef) {
5
- const { x, y } = getRichtextRectangleByNode(board, node);
5
+ const { x, y, width, height } = getRichtextRectangleByNode(board, node);
6
6
  const classList = [];
7
7
  if (node.origin.isRoot) {
8
8
  classList.push('root-node');
@@ -15,7 +15,7 @@ export function drawMindNodeRichtext(board, node, viewContainerRef) {
15
15
  classList.push('child-node');
16
16
  }
17
17
  // COMPAT: last character can not show in safari browser
18
- return drawRichtext(x, y, Math.ceil(node.origin.width), Math.ceil(node.origin.height), node.origin.data.topic, viewContainerRef, classList);
18
+ return drawRichtext(x, y, width, height, node.origin.data.topic, viewContainerRef, classList);
19
19
  }
20
20
  export function updateMindNodeTopicSize(board, node, g, isEditable) {
21
21
  const { x, y, width, height } = getRichtextRectangleByNode(board, node);
@@ -25,13 +25,15 @@ export function updateMindNodeTopicSize(board, node, g, isEditable) {
25
25
  }
26
26
  else {
27
27
  // COMPAT: last character can not show in safari browser
28
- updateForeignObject(g, Math.ceil(node.origin.width), Math.ceil(node.origin.height), x, y);
28
+ updateForeignObject(g, width, height, x, y);
29
29
  }
30
30
  }
31
31
  export function getRichtextRectangleByNode(board, node) {
32
- let { x, y, width, height } = getRectangleByNode(node);
33
- x = x + NodeSpace.getTextHorizontalSpace(board, node.origin);
34
- y = y + NodeSpace.getTextVerticalSpace(node.origin);
35
- return { width, height, x, y };
32
+ let { x, y } = getRectangleByNode(node);
33
+ x = x + NodeSpace.getTextLeftSpace(board, node.origin);
34
+ y = y + NodeSpace.getTextTopSpace(node.origin);
35
+ const width = Math.ceil(node.origin.width);
36
+ const height = Math.ceil(node.origin.height);
37
+ return { height, width, x, y };
36
38
  }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9kcmF3L3JpY2h0ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHaEQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQXFCLEVBQUUsSUFBYyxFQUFFLGdCQUFrQztJQUMxRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLDBCQUEwQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDckIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtRQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDbEM7U0FBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtRQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDckM7U0FBTTtRQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDaEM7SUFDRCx3REFBd0Q7SUFDeEQsT0FBTyxZQUFZLENBQ2YsQ0FBQyxFQUNELENBQUMsRUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUN0QixnQkFBZ0IsRUFDaEIsU0FBUyxDQUNaLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQXFCLEVBQUUsSUFBYyxFQUFFLENBQWMsRUFBRSxVQUFtQjtJQUM5RyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLElBQUksVUFBVSxFQUFFO1FBQ1oscURBQXFEO1FBQ3JELG1CQUFtQixDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsR0FBRyxFQUFFLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQzNEO1NBQU07UUFDSCx3REFBd0Q7UUFDeEQsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQzdGO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxLQUFxQixFQUFFLElBQWM7SUFDNUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZHJhd1JpY2h0ZXh0LCB1cGRhdGVGb3JlaWduT2JqZWN0IH0gZnJvbSAnQHBsYWl0L3JpY2h0ZXh0JztcbmltcG9ydCB7IEJBU0UgfSBmcm9tICcuLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9ncmFwaCc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLWV4dGVuZC1taW5kJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdNaW5kTm9kZVJpY2h0ZXh0KGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgbm9kZTogTWluZE5vZGUsIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBjb25zdCB7IHgsIHkgfSA9IGdldFJpY2h0ZXh0UmVjdGFuZ2xlQnlOb2RlKGJvYXJkLCBub2RlKTtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbXTtcbiAgICBpZiAobm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgIGNsYXNzTGlzdC5wdXNoKCdyb290LW5vZGUnKTtcbiAgICAgICAgY2xhc3NMaXN0LnB1c2goJ2ZvbnQtc2l6ZS0xOCcpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5wYXJlbnQ/Lm9yaWdpbj8uaXNSb290KSB7XG4gICAgICAgIGNsYXNzTGlzdC5wdXNoKCdyb290LWNoaWxkLW5vZGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc0xpc3QucHVzaCgnY2hpbGQtbm9kZScpO1xuICAgIH1cbiAgICAvLyBDT01QQVQ6IGxhc3QgY2hhcmFjdGVyIGNhbiBub3Qgc2hvdyBpbiBzYWZhcmkgYnJvd3NlclxuICAgIHJldHVybiBkcmF3UmljaHRleHQoXG4gICAgICAgIHgsXG4gICAgICAgIHksXG4gICAgICAgIE1hdGguY2VpbChub2RlLm9yaWdpbi53aWR0aCksXG4gICAgICAgIE1hdGguY2VpbChub2RlLm9yaWdpbi5oZWlnaHQpLFxuICAgICAgICBub2RlLm9yaWdpbi5kYXRhLnRvcGljLFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBjbGFzc0xpc3RcbiAgICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlTWluZE5vZGVUb3BpY1NpemUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBub2RlOiBNaW5kTm9kZSwgZzogU1ZHR0VsZW1lbnQsIGlzRWRpdGFibGU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGdldFJpY2h0ZXh0UmVjdGFuZ2xlQnlOb2RlKGJvYXJkLCBub2RlKTtcbiAgICBpZiAoaXNFZGl0YWJsZSkge1xuICAgICAgICAvLyBhZGQgOTk577yMIGF2b2lkIGNoYW5naW5nIGxpbmVzIHdoZW4gcGFzdGUgbW9yZSB0ZXh0XG4gICAgICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QoZywgd2lkdGggKyA5OTksIGhlaWdodCArIDk5OSwgeCwgeSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLy8gQ09NUEFUOiBsYXN0IGNoYXJhY3RlciBjYW4gbm90IHNob3cgaW4gc2FmYXJpIGJyb3dzZXJcbiAgICAgICAgdXBkYXRlRm9yZWlnbk9iamVjdChnLCBNYXRoLmNlaWwobm9kZS5vcmlnaW4ud2lkdGgpLCBNYXRoLmNlaWwobm9kZS5vcmlnaW4uaGVpZ2h0KSwgeCwgeSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmljaHRleHRSZWN0YW5nbGVCeU5vZGUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBub2RlOiBNaW5kTm9kZSkge1xuICAgIGxldCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShub2RlKTtcbiAgICB4ID0geCArIE5vZGVTcGFjZS5nZXRUZXh0SG9yaXpvbnRhbFNwYWNlKGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgeSA9IHkgKyBOb2RlU3BhY2UuZ2V0VGV4dFZlcnRpY2FsU3BhY2Uobm9kZS5vcmlnaW4pO1xuICAgIHJldHVybiB7IHdpZHRoLCBoZWlnaHQsIHgsIHkgfTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaHRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9kcmF3L3JpY2h0ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHaEQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQXFCLEVBQUUsSUFBYyxFQUFFLGdCQUFrQztJQUMxRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUIsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNsQztTQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1FBQ3BDLFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNyQztTQUFNO1FBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUNoQztJQUNELHdEQUF3RDtJQUN4RCxPQUFPLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQ2xHLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsS0FBcUIsRUFBRSxJQUFjLEVBQUUsQ0FBYyxFQUFFLFVBQW1CO0lBQzlHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsSUFBSSxVQUFVLEVBQUU7UUFDWixxREFBcUQ7UUFDckQsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDM0Q7U0FBTTtRQUNILHdEQUF3RDtRQUN4RCxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDL0M7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQXFCLEVBQUUsSUFBYztJQUM1RSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZHJhd1JpY2h0ZXh0LCB1cGRhdGVGb3JlaWduT2JqZWN0IH0gZnJvbSAnQHBsYWl0L3JpY2h0ZXh0JztcbmltcG9ydCB7IEJBU0UgfSBmcm9tICcuLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9ncmFwaCc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLWV4dGVuZC1taW5kJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdNaW5kTm9kZVJpY2h0ZXh0KGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgbm9kZTogTWluZE5vZGUsIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGdldFJpY2h0ZXh0UmVjdGFuZ2xlQnlOb2RlKGJvYXJkLCBub2RlKTtcbiAgICBjb25zdCBjbGFzc0xpc3QgPSBbXTtcbiAgICBpZiAobm9kZS5vcmlnaW4uaXNSb290KSB7XG4gICAgICAgIGNsYXNzTGlzdC5wdXNoKCdyb290LW5vZGUnKTtcbiAgICAgICAgY2xhc3NMaXN0LnB1c2goJ2ZvbnQtc2l6ZS0xOCcpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5wYXJlbnQ/Lm9yaWdpbj8uaXNSb290KSB7XG4gICAgICAgIGNsYXNzTGlzdC5wdXNoKCdyb290LWNoaWxkLW5vZGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc0xpc3QucHVzaCgnY2hpbGQtbm9kZScpO1xuICAgIH1cbiAgICAvLyBDT01QQVQ6IGxhc3QgY2hhcmFjdGVyIGNhbiBub3Qgc2hvdyBpbiBzYWZhcmkgYnJvd3NlclxuICAgIHJldHVybiBkcmF3UmljaHRleHQoeCwgeSwgd2lkdGgsIGhlaWdodCwgbm9kZS5vcmlnaW4uZGF0YS50b3BpYywgdmlld0NvbnRhaW5lclJlZiwgY2xhc3NMaXN0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZU1pbmROb2RlVG9waWNTaXplKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgbm9kZTogTWluZE5vZGUsIGc6IFNWR0dFbGVtZW50LCBpc0VkaXRhYmxlOiBib29sZWFuKSB7XG4gICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRSaWNodGV4dFJlY3RhbmdsZUJ5Tm9kZShib2FyZCwgbm9kZSk7XG4gICAgaWYgKGlzRWRpdGFibGUpIHtcbiAgICAgICAgLy8gYWRkIDk5Oe+8jCBhdm9pZCBjaGFuZ2luZyBsaW5lcyB3aGVuIHBhc3RlIG1vcmUgdGV4dFxuICAgICAgICB1cGRhdGVGb3JlaWduT2JqZWN0KGcsIHdpZHRoICsgOTk5LCBoZWlnaHQgKyA5OTksIHgsIHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIENPTVBBVDogbGFzdCBjaGFyYWN0ZXIgY2FuIG5vdCBzaG93IGluIHNhZmFyaSBicm93c2VyXG4gICAgICAgIHVwZGF0ZUZvcmVpZ25PYmplY3QoZywgd2lkdGgsIGhlaWdodCwgeCwgeSk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmljaHRleHRSZWN0YW5nbGVCeU5vZGUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBub2RlOiBNaW5kTm9kZSkge1xuICAgIGxldCB7IHgsIHkgfSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShub2RlKTtcbiAgICB4ID0geCArIE5vZGVTcGFjZS5nZXRUZXh0TGVmdFNwYWNlKGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgeSA9IHkgKyBOb2RlU3BhY2UuZ2V0VGV4dFRvcFNwYWNlKG5vZGUub3JpZ2luKTtcbiAgICBjb25zdCB3aWR0aCA9IE1hdGguY2VpbChub2RlLm9yaWdpbi53aWR0aCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5jZWlsKG5vZGUub3JpZ2luLmhlaWdodCk7XG4gICAgcmV0dXJuIHsgaGVpZ2h0LCB3aWR0aCwgeCwgeSB9O1xufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { getRectangleByNode } from '../utils/graph';
2
2
  import { PlaitBoard, drawRoundRectangle } from '@plait/core';
3
- import { getStrokeByMindElement } from '../utils/node-style/node';
3
+ import { getStrokeByMindElement } from '../utils/node-style/shape';
4
4
  import { DefaultNodeStyle, DefaultRootStyle } from '../constants/node-style';
5
5
  export function drawRectangleNode(board, node) {
6
6
  const { x, y, width, height } = getRectangleByNode(node);
@@ -15,4 +15,4 @@ export function drawRectangleNode(board, node) {
15
15
  });
16
16
  return nodeG;
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9kcmF3L3NoYXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0UsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsSUFBYztJQUMvRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDdEgsTUFBTSxNQUFNLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztJQUVyRyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFO1FBQ3pGLE1BQU07UUFDTixXQUFXO1FBQ1gsSUFBSTtRQUNKLFNBQVMsRUFBRSxPQUFPO0tBQ3JCLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9ncmFwaCc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBkcmF3Um91bmRSZWN0YW5nbGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRTdHJva2VCeU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS1zdHlsZS9ub2RlJztcbmltcG9ydCB7IERlZmF1bHROb2RlU3R5bGUsIERlZmF1bHRSb290U3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS1zdHlsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3UmVjdGFuZ2xlTm9kZShib2FyZDogUGxhaXRCb2FyZCwgbm9kZTogTWluZE5vZGUpIHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShub2RlKTtcblxuICAgIGNvbnN0IGZpbGwgPSBub2RlLm9yaWdpbi5maWxsID8gbm9kZS5vcmlnaW4uZmlsbCA6IG5vZGUub3JpZ2luLmlzUm9vdCA/IERlZmF1bHRSb290U3R5bGUuZmlsbCA6IERlZmF1bHROb2RlU3R5bGUuZmlsbDtcbiAgICBjb25zdCBzdHJva2UgPSBnZXRTdHJva2VCeU1pbmRFbGVtZW50KGJvYXJkLCBub2RlLm9yaWdpbik7XG4gICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBub2RlLm9yaWdpbi5zdHJva2VXaWR0aCA/IG5vZGUub3JpZ2luLnN0cm9rZVdpZHRoIDogRGVmYXVsdE5vZGVTdHlsZS5zdHJva2VXaWR0aDtcblxuICAgIGNvbnN0IG5vZGVHID0gZHJhd1JvdW5kUmVjdGFuZ2xlKFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLCB4LCB5LCB4ICsgd2lkdGgsIHkgKyBoZWlnaHQsIHtcbiAgICAgICAgc3Ryb2tlLFxuICAgICAgICBzdHJva2VXaWR0aCxcbiAgICAgICAgZmlsbCxcbiAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZUc7XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9kcmF3L3NoYXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0UsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsSUFBYztJQUMvRCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDdEgsTUFBTSxNQUFNLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztJQUVyRyxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFO1FBQ3pGLE1BQU07UUFDTixXQUFXO1FBQ1gsSUFBSTtRQUNKLFNBQVMsRUFBRSxPQUFPO0tBQ3JCLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9ncmFwaCc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBkcmF3Um91bmRSZWN0YW5nbGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBnZXRTdHJva2VCeU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS1zdHlsZS9zaGFwZSc7XG5pbXBvcnQgeyBEZWZhdWx0Tm9kZVN0eWxlLCBEZWZhdWx0Um9vdFN0eWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtc3R5bGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZHJhd1JlY3RhbmdsZU5vZGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIG5vZGU6IE1pbmROb2RlKSB7XG4gICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG5cbiAgICBjb25zdCBmaWxsID0gbm9kZS5vcmlnaW4uZmlsbCA/IG5vZGUub3JpZ2luLmZpbGwgOiBub2RlLm9yaWdpbi5pc1Jvb3QgPyBEZWZhdWx0Um9vdFN0eWxlLmZpbGwgOiBEZWZhdWx0Tm9kZVN0eWxlLmZpbGw7XG4gICAgY29uc3Qgc3Ryb2tlID0gZ2V0U3Ryb2tlQnlNaW5kRWxlbWVudChib2FyZCwgbm9kZS5vcmlnaW4pO1xuICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gbm9kZS5vcmlnaW4uc3Ryb2tlV2lkdGggPyBub2RlLm9yaWdpbi5zdHJva2VXaWR0aCA6IERlZmF1bHROb2RlU3R5bGUuc3Ryb2tlV2lkdGg7XG5cbiAgICBjb25zdCBub2RlRyA9IGRyYXdSb3VuZFJlY3RhbmdsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSwgeCwgeSwgeCArIHdpZHRoLCB5ICsgaGVpZ2h0LCB7XG4gICAgICAgIHN0cm9rZSxcbiAgICAgICAgc3Ryb2tlV2lkdGgsXG4gICAgICAgIGZpbGwsXG4gICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5vZGVHO1xufVxuIl19
@@ -2,7 +2,7 @@ import { PlaitBoard, createG } from '@plait/core';
2
2
  import { MindElement, PlaitMind, MindElementShape } from '../interfaces';
3
3
  import { BaseDrawer } from './base/base';
4
4
  import { getRectangleByNode } from '../utils/graph';
5
- import { getNodeShapeByElement } from '../utils/shape';
5
+ import { getShapeByElement } from '../utils/node-style/shape';
6
6
  import { EXTEND_RADIUS, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR } from '../constants/default';
7
7
  import { MindLayoutType, isStandardLayout } from '@plait/layouts';
8
8
  import { MindQueries } from '../queries';
@@ -32,7 +32,7 @@ export class QuickInsertDrawer extends BaseDrawer {
32
32
  * 3. 上、上左、上右
33
33
  * 4. 下、下左、下右
34
34
  */
35
- const shape = getNodeShapeByElement(element);
35
+ const shape = getShapeByElement(this.board, element);
36
36
  // 形状是矩形要偏移边框的线宽
37
37
  const branchWidth = getBranchWidthByMindElement(this.board, element);
38
38
  let offsetBorderLineWidth = 0;
@@ -206,4 +206,4 @@ export class QuickInsertDrawer extends BaseDrawer {
206
206
  });
207
207
  }
208
208
  }
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmRyYXdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXdlci9xdWljay1pbnNlcnQuZHJhd2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQTZELFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFDSCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFFakMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVO0lBQzdDLE9BQU8sQ0FBQyxPQUE4QjtRQUNsQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sRUFBRSxXQUFXLEVBQUU7WUFDM0QsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSSxDQUFDLE9BQThCO1FBQy9CLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3RCLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpEOzs7Ozs7V0FNRztRQUNILE1BQU0sS0FBSyxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLGdCQUFnQjtRQUNoQixNQUFNLFdBQVcsR0FBRywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLElBQUkscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLElBQUksS0FBSyxLQUFLLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNELHFCQUFxQixHQUFHLFdBQVcsQ0FBQztTQUN2QztRQUNELElBQUkseUJBQXlCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNoQix5QkFBeUIsR0FBRyxXQUFXLENBQUM7U0FDM0M7UUFDRCxtQkFBbUI7UUFDbkIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sb0JBQW9CLEdBQWtDO1lBQ3hELGVBQWU7WUFDZixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkIsc0NBQXNDO2dCQUN0QyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUF5QjtnQkFDdkYsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNO2dCQUNsQixJQUFJLEVBQ0EsQ0FBQztvQkFDRCxxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BFLGFBQWE7Z0JBQ2pCLElBQUksRUFBRSxDQUFDLEdBQUcsTUFBTTthQUNuQjtZQUNELGVBQWU7WUFDZixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEIsTUFBTSxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUF5QjtnQkFDdEcsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNO2dCQUNsQixJQUFJLEVBQ0EsQ0FBQztvQkFDRCxLQUFLO29CQUNMLHFCQUFxQjtvQkFDckIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BFLGFBQWE7b0JBQ2IseUJBQXlCO2dCQUM3QixJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU07YUFDbkI7WUFDRCxlQUFlO1lBQ2YsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JCLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQUcscUJBQXFCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUF5QjtnQkFDdEgsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsR0FBRztnQkFDckIsSUFBSSxFQUNBLENBQUM7b0JBQ0QscUJBQXFCO29CQUNyQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRywwQkFBMEIsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEUsYUFBYTtvQkFDYix5QkFBeUI7YUFDaEM7WUFDRCxlQUFlO1lBQ2YsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3ZCLE1BQU0sRUFDRixDQUFDLEdBQUcsTUFBTSxHQUFHLHFCQUFxQixHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyx5QkFBeUI7Z0JBQzNILElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3JCLElBQUksRUFDQSxDQUFDO29CQUNELE1BQU07b0JBQ04scUJBQXFCO29CQUNyQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRywwQkFBMEIsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEUsYUFBYTtvQkFDYix5QkFBeUI7YUFDaEM7WUFDRCxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHO2dCQUN2QixNQUFNLEVBQ0YsQ0FBQyxHQUFHLE1BQU0sR0FBRyxxQkFBcUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcseUJBQXlCO2dCQUMzSCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHO2dCQUNyQixJQUFJLEVBQ0EsQ0FBQztvQkFDRCxNQUFNO29CQUNOLHFCQUFxQjtvQkFDckIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BFLGFBQWE7b0JBQ2IseUJBQXlCO2FBQ2hDO1lBQ0QsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQzlCLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQUcscUJBQXFCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLHlCQUF5QjtnQkFDdEgsSUFBSSxFQUFFLENBQUMsR0FBRyxLQUFLLEdBQUcsR0FBRztnQkFDckIsSUFBSSxFQUNBLENBQUM7b0JBQ0QscUJBQXFCO29CQUNyQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0RCxhQUFhO29CQUNiLHlCQUF5QjthQUNoQztZQUNELENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3ZCLE1BQU0sRUFDRixDQUFDLEdBQUcsTUFBTSxHQUFHLHFCQUFxQixHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyx5QkFBeUI7Z0JBQzNILElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3JCLElBQUksRUFDQSxDQUFDO29CQUNELE1BQU07b0JBQ04scUJBQXFCO29CQUNyQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRywwQkFBMEIsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEUsYUFBYTtvQkFDYix5QkFBeUI7YUFDaEM7WUFDRCxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUMvQixNQUFNLEVBQUUsQ0FBQyxHQUFHLEtBQUssR0FBRyxHQUFHO2dCQUN2QixNQUFNLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyx5QkFBeUI7Z0JBQ3RILElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxHQUFHLEdBQUc7Z0JBQ3JCLElBQUksRUFDQSxDQUFDO29CQUNELHFCQUFxQjtvQkFDckIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEQsYUFBYTtvQkFDYix5QkFBeUI7YUFDaEM7U0FDSixDQUFDO1FBQ0YsSUFBSSxLQUFLLEtBQUssZ0JBQWdCLENBQUMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDN0Qsb0JBQW9CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDO1lBQ2pFLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQztZQUMvRCxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLE1BQU0sR0FBRyxHQUFHLENBQUM7WUFDbEUsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLEdBQUcsR0FBRyxDQUFDO1NBQ25FO1FBQ0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0gsSUFBSSxVQUFVLEdBQUcsV0FBVyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFxQixDQUFDO1FBQ2hHLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNoRCxNQUFNLElBQUksR0FBRyxPQUFxQixDQUFDO1lBQ25DLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1NBQ3pHO1FBQ0QsTUFBTSxtQkFBbUIsR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLG1CQUFtQixFQUFFO1lBQ3JCLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDckQsbUJBQW1CLENBQUMsTUFBTSxFQUMxQixtQkFBbUIsQ0FBQyxNQUFNLEVBQzFCLG1CQUFtQixDQUFDLElBQUksRUFDeEIsbUJBQW1CLENBQUMsSUFBSSxFQUN4QixFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUNwRCxDQUFDO1lBQ0YsTUFBTSxpQkFBaUIsR0FBRztnQkFDdEIsTUFBTSxFQUFFLG1CQUFtQixDQUFDLElBQUk7Z0JBQ2hDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxJQUFJO2FBQ25DLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUU7Z0JBQ3hILElBQUksRUFBRSx5QkFBeUI7Z0JBQy9CLE1BQU0sRUFBRSx5QkFBeUI7Z0JBQ2pDLFNBQVMsRUFBRSxPQUFPO2FBQ3JCLENBQUMsQ0FBQztZQUNILE1BQU0scUJBQXFCLEdBQUc7Z0JBQzFCLFVBQVUsRUFBRTtvQkFDUixNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGFBQWEsR0FBRyxHQUFHLEdBQUcsQ0FBQztvQkFDMUQsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU07b0JBQ2hDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLEdBQUcsR0FBRyxDQUFDO29CQUN4RCxJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtpQkFDakM7Z0JBQ0QsUUFBUSxFQUFFO29CQUNOLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNO29CQUNoQyxNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGFBQWEsR0FBRyxHQUFHLEdBQUcsQ0FBQztvQkFDMUQsSUFBSSxFQUFFLGlCQUFpQixDQUFDLE1BQU07b0JBQzlCLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsYUFBYSxHQUFHLEdBQUcsR0FBRyxDQUFDO2lCQUMzRDthQUNKLENBQUM7WUFDRixNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQzNELHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQ3ZDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQ3ZDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQ3JDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQ3JDO2dCQUNJLE1BQU0sRUFBRSw4QkFBOEI7Z0JBQ3RDLFdBQVcsRUFBRSxDQUFDO2FBQ2pCLENBQ0osQ0FBQztZQUNGLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDMUQscUJBQXFCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFDckMscUJBQXFCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFDckMscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksRUFDbkMscUJBQXFCLENBQUMsUUFBUSxDQUFDLElBQUksRUFDbkM7Z0JBQ0ksTUFBTSxFQUFFLDhCQUE4QjtnQkFDdEMsV0FBVyxFQUFFLENBQUM7YUFDakIsQ0FDSixDQUFDO1lBQ0YsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxZQUFZLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pDLFlBQVksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDMUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxTQUFTLENBQUMsT0FBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7U0FDbEQ7UUFDRCxTQUFTLENBQWEsSUFBSSxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUM7YUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNYLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztRQUNQLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQzthQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLE1BQU0sSUFBSSxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkQsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBjcmVhdGVHIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIEJhc2VEYXRhLCBFeHRlbmRVbmRlcmxpbmVDb29yZGluYXRlVHlwZSwgRXh0ZW5kTGF5b3V0VHlwZSwgUGxhaXRNaW5kLCBNaW5kRWxlbWVudFNoYXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBZnRlckRyYXcsIEJhc2VEcmF3ZXIgfSBmcm9tICcuL2Jhc2UvYmFzZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuLi91dGlscy9ncmFwaCc7XG5pbXBvcnQgeyBnZXROb2RlU2hhcGVCeUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9zaGFwZSc7XG5pbXBvcnQge1xuICAgIEVYVEVORF9SQURJVVMsXG4gICAgUVVJQ0tfSU5TRVJUX0NJUkNMRV9DT0xPUixcbiAgICBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCxcbiAgICBRVUlDS19JTlNFUlRfSU5ORVJfQ1JPU1NfQ09MT1IsXG4gICAgU1RST0tFX1dJRFRIXG59IGZyb20gJy4uL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IE1pbmRMYXlvdXRUeXBlLCBPcmlnaW5Ob2RlLCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5zZXJ0TWluZEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9taW5kJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBmaW5kTmV3Q2hpbGROb2RlUGF0aCB9IGZyb20gJy4uL3V0aWxzL3BhdGgnO1xuaW1wb3J0IHsgZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50LCBnZXRCcmFuY2hXaWR0aEJ5TWluZEVsZW1lbnQsIGdldE5leHRCcmFuY2hDb2xvciB9IGZyb20gJy4uL3V0aWxzL25vZGUtc3R5bGUvYnJhbmNoJztcblxuZXhwb3J0IGNsYXNzIFF1aWNrSW5zZXJ0RHJhd2VyIGV4dGVuZHMgQmFzZURyYXdlciBpbXBsZW1lbnRzIEFmdGVyRHJhdyB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBNaW5kRWxlbWVudDxCYXNlRGF0YT4pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNSZWFkb25seSh0aGlzLmJvYXJkKSB8fCBlbGVtZW50Py5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBkcmF3KGVsZW1lbnQ6IE1pbmRFbGVtZW50PEJhc2VEYXRhPik6IFNWR0dFbGVtZW50IHtcbiAgICAgICAgbGV0IG9mZnNldCA9IGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCAmJiAhZWxlbWVudC5pc1Jvb3QgPyBFWFRFTkRfUkFESVVTIDogMDtcbiAgICAgICAgY29uc3QgcXVpY2tJbnNlcnRHID0gY3JlYXRlRygpO1xuICAgICAgICB0aGlzLmcgPSBxdWlja0luc2VydEc7XG4gICAgICAgIHF1aWNrSW5zZXJ0Ry5jbGFzc0xpc3QuYWRkKCdxdWljay1pbnNlcnQnKTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9ID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKG5vZGUpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiDmlrnkvY3vvJpcbiAgICAgICAgICogICAgMS4g5bem44CB5bem5LiK44CB5bem5LiLXG4gICAgICAgICAqICAgIDIuIOWPs+OAgeWPs+S4iuOAgeWPs+S4i1xuICAgICAgICAgKiAgICAzLiDkuIrjgIHkuIrlt6bjgIHkuIrlj7NcbiAgICAgICAgICogICAgNC4g5LiL44CB5LiL5bem44CB5LiL5Y+zXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBzaGFwZSA9IGdldE5vZGVTaGFwZUJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgLy8g5b2i54q25piv55+p5b2i6KaB5YGP56e76L655qGG55qE57q/5a69XG4gICAgICAgIGNvbnN0IGJyYW5jaFdpZHRoID0gZ2V0QnJhbmNoV2lkdGhCeU1pbmRFbGVtZW50KHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBsZXQgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoID0gMDtcbiAgICAgICAgaWYgKHNoYXBlID09PSBNaW5kRWxlbWVudFNoYXBlLnJvdW5kUmVjdGFuZ2xlICYmIG9mZnNldCA9PT0gMCkge1xuICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoID0gYnJhbmNoV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGggPSAwO1xuICAgICAgICBpZiAoZWxlbWVudC5pc1Jvb3QpIHtcbiAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGggPSBicmFuY2hXaWR0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyDlvZPmsqHmnInlrZDoioLngrnml7bvvIzpnIDopoHnvKnlsI/nmoTlgY/np7vph49cbiAgICAgICAgY29uc3QgZXh0cmFPZmZzZXQgPSAzO1xuICAgICAgICBjb25zdCB1bmRlcmxpbmVDb29yZGluYXRlczogRXh0ZW5kVW5kZXJsaW5lQ29vcmRpbmF0ZVR5cGUgPSB7XG4gICAgICAgICAgICAvLyDnlLvnur/mlrnlkJHvvJrlj7PlkJHlt6YgPC0tXG4gICAgICAgICAgICBbTWluZExheW91dFR5cGUubGVmdF06IHtcbiAgICAgICAgICAgICAgICAvLyBFWFRFTkRfUkFESVVTICogMC41IOaYryDlt6bmlrnlkJHvvIzmipjlj6Av5pS26LW355qE5YGP56e76YePXG4gICAgICAgICAgICAgICAgc3RhcnRYOiB4IC0gKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBFWFRFTkRfUkFESVVTICogMC41IDogMCkgLSBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoLFxuICAgICAgICAgICAgICAgIHN0YXJ0WTogeSArIGhlaWdodCxcbiAgICAgICAgICAgICAgICBlbmRYOlxuICAgICAgICAgICAgICAgICAgICB4IC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoIC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCAtXG4gICAgICAgICAgICAgICAgICAgIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgLSBleHRyYU9mZnNldCA6IDApIC1cbiAgICAgICAgICAgICAgICAgICAgRVhURU5EX1JBRElVUyxcbiAgICAgICAgICAgICAgICBlbmRZOiB5ICsgaGVpZ2h0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8g55S757q/5pa55ZCR77ya5bem5ZCR5Y+zIC0tPlxuICAgICAgICAgICAgW01pbmRMYXlvdXRUeXBlLnJpZ2h0XToge1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogeCArIHdpZHRoICsgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCA6IDApICsgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBzdGFydFk6IHkgKyBoZWlnaHQsXG4gICAgICAgICAgICAgICAgZW5kWDpcbiAgICAgICAgICAgICAgICAgICAgeCArXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoICtcbiAgICAgICAgICAgICAgICAgICAgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCAtIGV4dHJhT2Zmc2V0IDogMCkgK1xuICAgICAgICAgICAgICAgICAgICBFWFRFTkRfUkFESVVTICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBlbmRZOiB5ICsgaGVpZ2h0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8g55S757q/5pa55ZCR77ya5LiL5ZCR5LiKIC0tPlxuICAgICAgICAgICAgW01pbmRMYXlvdXRUeXBlLnVwd2FyZF06IHtcbiAgICAgICAgICAgICAgICBzdGFydFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBzdGFydFk6IHkgLSBvZmZzZXRCb3JkZXJMaW5lV2lkdGggLSAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIDogMCkgLSBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoLFxuICAgICAgICAgICAgICAgIGVuZFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBlbmRZOlxuICAgICAgICAgICAgICAgICAgICB5IC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoIC1cbiAgICAgICAgICAgICAgICAgICAgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCAtIGV4dHJhT2Zmc2V0IDogMCkgLVxuICAgICAgICAgICAgICAgICAgICBFWFRFTkRfUkFESVVTIC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOeUu+e6v+aWueWQke+8muS4iuWQkeS4iyAtLT5cbiAgICAgICAgICAgIFtNaW5kTGF5b3V0VHlwZS5kb3dud2FyZF06IHtcbiAgICAgICAgICAgICAgICBzdGFydFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBzdGFydFk6XG4gICAgICAgICAgICAgICAgICAgIHkgKyBoZWlnaHQgKyBvZmZzZXRCb3JkZXJMaW5lV2lkdGggKyAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIDogMCkgKyBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoLFxuICAgICAgICAgICAgICAgIGVuZFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBlbmRZOlxuICAgICAgICAgICAgICAgICAgICB5ICtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoICtcbiAgICAgICAgICAgICAgICAgICAgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCAtIGV4dHJhT2Zmc2V0IDogMCkgK1xuICAgICAgICAgICAgICAgICAgICBFWFRFTkRfUkFESVVTICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtNaW5kTGF5b3V0VHlwZS5sZWZ0Qm90dG9tSW5kZW50ZWRdOiB7XG4gICAgICAgICAgICAgICAgc3RhcnRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgc3RhcnRZOlxuICAgICAgICAgICAgICAgICAgICB5ICsgaGVpZ2h0ICsgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoICsgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCA6IDApICsgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBlbmRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgZW5kWTpcbiAgICAgICAgICAgICAgICAgICAgeSArXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCArXG4gICAgICAgICAgICAgICAgICAgIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgLSBleHRyYU9mZnNldCA6IDApICtcbiAgICAgICAgICAgICAgICAgICAgRVhURU5EX1JBRElVUyArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbTWluZExheW91dFR5cGUubGVmdFRvcEluZGVudGVkXToge1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIHN0YXJ0WTogeSAtIG9mZnNldEJvcmRlckxpbmVXaWR0aCAtIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgOiAwKSAtIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGgsXG4gICAgICAgICAgICAgICAgZW5kWDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIGVuZFk6XG4gICAgICAgICAgICAgICAgICAgIHkgLVxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRCb3JkZXJMaW5lV2lkdGggLVxuICAgICAgICAgICAgICAgICAgICAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIDogMCkgLVxuICAgICAgICAgICAgICAgICAgICBFWFRFTkRfUkFESVVTIC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtNaW5kTGF5b3V0VHlwZS5yaWdodEJvdHRvbUluZGVudGVkXToge1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIHN0YXJ0WTpcbiAgICAgICAgICAgICAgICAgICAgeSArIGhlaWdodCArIG9mZnNldEJvcmRlckxpbmVXaWR0aCArIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgOiAwKSArIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGgsXG4gICAgICAgICAgICAgICAgZW5kWDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIGVuZFk6XG4gICAgICAgICAgICAgICAgICAgIHkgK1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgK1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXRCb3JkZXJMaW5lV2lkdGggK1xuICAgICAgICAgICAgICAgICAgICAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIC0gZXh0cmFPZmZzZXQgOiAwKSArXG4gICAgICAgICAgICAgICAgICAgIEVYVEVORF9SQURJVVMgK1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW01pbmRMYXlvdXRUeXBlLnJpZ2h0VG9wSW5kZW50ZWRdOiB7XG4gICAgICAgICAgICAgICAgc3RhcnRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgc3RhcnRZOiB5IC0gb2Zmc2V0Qm9yZGVyTGluZVdpZHRoIC0gKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCA6IDApIC0gb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBlbmRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgZW5kWTpcbiAgICAgICAgICAgICAgICAgICAgeSAtXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCAtXG4gICAgICAgICAgICAgICAgICAgIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgOiAwKSAtXG4gICAgICAgICAgICAgICAgICAgIEVYVEVORF9SQURJVVMgLVxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGlmIChzaGFwZSA9PT0gTWluZEVsZW1lbnRTaGFwZS5yb3VuZFJlY3RhbmdsZSB8fCBlbGVtZW50LmlzUm9vdCkge1xuICAgICAgICAgICAgdW5kZXJsaW5lQ29vcmRpbmF0ZXNbTWluZExheW91dFR5cGUubGVmdF0uc3RhcnRZIC09IGhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGVzW01pbmRMYXlvdXRUeXBlLmxlZnRdLmVuZFkgLT0gaGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgdW5kZXJsaW5lQ29vcmRpbmF0ZXNbTWluZExheW91dFR5cGUucmlnaHRdLnN0YXJ0WSAtPSBoZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB1bmRlcmxpbmVDb29yZGluYXRlc1tNaW5kTGF5b3V0VHlwZS5yaWdodF0uZW5kWSAtPSBoZWlnaHQgKiAwLjU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYnJhbmNoQ29sb3IgPSBQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpID8gZ2V0TmV4dEJyYW5jaENvbG9yKGVsZW1lbnQpIDogZ2V0QnJhbmNoQ29sb3JCeU1pbmRFbGVtZW50KHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBsZXQgbm9kZUxheW91dCA9IE1pbmRRdWVyaWVzLmdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQodGhpcy5ib2FyZCwgZWxlbWVudCkgYXMgRXh0ZW5kTGF5b3V0VHlwZTtcbiAgICAgICAgaWYgKGVsZW1lbnQuaXNSb290ICYmIGlzU3RhbmRhcmRMYXlvdXQobm9kZUxheW91dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSBlbGVtZW50IGFzIE9yaWdpbk5vZGU7XG4gICAgICAgICAgICBub2RlTGF5b3V0ID0gcm9vdC5jaGlsZHJlbi5sZW5ndGggPj0gcm9vdC5yaWdodE5vZGVDb3VudCA/IE1pbmRMYXlvdXRUeXBlLmxlZnQgOiBNaW5kTGF5b3V0VHlwZS5yaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1bmRlcmxpbmVDb29yZGluYXRlID0gdW5kZXJsaW5lQ29vcmRpbmF0ZXNbbm9kZUxheW91dF07XG4gICAgICAgIGlmICh1bmRlcmxpbmVDb29yZGluYXRlKSB7XG4gICAgICAgICAgICBjb25zdCB1bmRlcmxpbmUgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLmxpbmUoXG4gICAgICAgICAgICAgICAgdW5kZXJsaW5lQ29vcmRpbmF0ZS5zdGFydFgsXG4gICAgICAgICAgICAgICAgdW5kZXJsaW5lQ29vcmRpbmF0ZS5zdGFydFksXG4gICAgICAgICAgICAgICAgdW5kZXJsaW5lQ29vcmRpbmF0ZS5lbmRYLFxuICAgICAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGUuZW5kWSxcbiAgICAgICAgICAgICAgICB7IHN0cm9rZTogYnJhbmNoQ29sb3IsIHN0cm9rZVdpZHRoOiBicmFuY2hXaWR0aCB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgY2lyY2xlQ29vcmRpbmF0ZXMgPSB7XG4gICAgICAgICAgICAgICAgc3RhcnRYOiB1bmRlcmxpbmVDb29yZGluYXRlLmVuZFgsXG4gICAgICAgICAgICAgICAgc3RhcnRZOiB1bmRlcmxpbmVDb29yZGluYXRlLmVuZFlcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLmNpcmNsZShjaXJjbGVDb29yZGluYXRlcy5zdGFydFgsIGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WSwgRVhURU5EX1JBRElVUywge1xuICAgICAgICAgICAgICAgIGZpbGw6IFFVSUNLX0lOU0VSVF9DSVJDTEVfQ09MT1IsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBRVUlDS19JTlNFUlRfQ0lSQ0xFX0NPTE9SLFxuICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBpbm5lckNyb3NzQ29vcmRpbmF0ZXMgPSB7XG4gICAgICAgICAgICAgICAgaG9yaXpvbnRhbDoge1xuICAgICAgICAgICAgICAgICAgICBzdGFydFg6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WCAtIEVYVEVORF9SQURJVVMgKiAwLjUgKyAzLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFk6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WSxcbiAgICAgICAgICAgICAgICAgICAgZW5kWDogY2lyY2xlQ29vcmRpbmF0ZXMuc3RhcnRYICsgRVhURU5EX1JBRElVUyAqIDAuNSAtIDMsXG4gICAgICAgICAgICAgICAgICAgIGVuZFk6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdmVydGljYWw6IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRYOiBjaXJjbGVDb29yZGluYXRlcy5zdGFydFgsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0WTogY2lyY2xlQ29vcmRpbmF0ZXMuc3RhcnRZIC0gRVhURU5EX1JBRElVUyAqIDAuNSArIDMsXG4gICAgICAgICAgICAgICAgICAgIGVuZFg6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WCxcbiAgICAgICAgICAgICAgICAgICAgZW5kWTogY2lyY2xlQ29vcmRpbmF0ZXMuc3RhcnRZICsgRVhURU5EX1JBRElVUyAqIDAuNSAtIDNcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgaW5uZXJDcm9zc0hMaW5lID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKS5saW5lKFxuICAgICAgICAgICAgICAgIGlubmVyQ3Jvc3NDb29yZGluYXRlcy5ob3Jpem9udGFsLnN0YXJ0WCxcbiAgICAgICAgICAgICAgICBpbm5lckNyb3NzQ29vcmRpbmF0ZXMuaG9yaXpvbnRhbC5zdGFydFksXG4gICAgICAgICAgICAgICAgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzLmhvcml6b250YWwuZW5kWCxcbiAgICAgICAgICAgICAgICBpbm5lckNyb3NzQ29vcmRpbmF0ZXMuaG9yaXpvbnRhbC5lbmRZLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBRVUlDS19JTlNFUlRfSU5ORVJfQ1JPU1NfQ09MT1IsXG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAyXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyUmluZ1ZMaW5lID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKS5saW5lKFxuICAgICAgICAgICAgICAgIGlubmVyQ3Jvc3NDb29yZGluYXRlcy52ZXJ0aWNhbC5zdGFydFgsXG4gICAgICAgICAgICAgICAgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzLnZlcnRpY2FsLnN0YXJ0WSxcbiAgICAgICAgICAgICAgICBpbm5lckNyb3NzQ29vcmRpbmF0ZXMudmVydGljYWwuZW5kWCxcbiAgICAgICAgICAgICAgICBpbm5lckNyb3NzQ29vcmRpbmF0ZXMudmVydGljYWwuZW5kWSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogUVVJQ0tfSU5TRVJUX0lOTkVSX0NST1NTX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBxdWlja0luc2VydEcuYXBwZW5kQ2hpbGQodW5kZXJsaW5lKTtcbiAgICAgICAgICAgIHF1aWNrSW5zZXJ0Ry5hcHBlbmRDaGlsZChjaXJjbGUpO1xuICAgICAgICAgICAgcXVpY2tJbnNlcnRHLmFwcGVuZENoaWxkKGlubmVyQ3Jvc3NITGluZSk7XG4gICAgICAgICAgICBxdWlja0luc2VydEcuYXBwZW5kQ2hpbGQoaW5uZXJSaW5nVkxpbmUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBxdWlja0luc2VydEc7XG4gICAgfVxuICAgIGFmdGVyRHJhdyhlbGVtZW50OiBNaW5kRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjYW4gbm90IGZpbmQgcXVpY2sgaW5zZXJ0IGdgKTtcbiAgICAgICAgfVxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5nLCAnbW91c2Vkb3duJylcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZywgJ21vdXNldXAnKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBmaW5kTmV3Q2hpbGROb2RlUGF0aCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgICAgICBpbnNlcnRNaW5kRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50LCBwYXRoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2staW5zZXJ0LmRyYXdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2RyYXdlci9xdWljay1pbnNlcnQuZHJhd2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQTZELFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSSxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxhQUFhLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1SSxPQUFPLEVBQUUsY0FBYyxFQUFjLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTFILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxVQUFVO0lBQzdDLE9BQU8sQ0FBQyxPQUE4QjtRQUNsQyxJQUFJLFVBQVUsQ0FBQyxVQUFVLENB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LENBQUMsQ0FBQyxDQUFDO1FBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIGNyZWF0ZUcgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgQmFzZURhdGEsIEV4dGVuZFVuZGVybGluZUNvb3JkaW5hdGVUeXBlLCBFeHRlbmRMYXlvdXRUeXBlLCBQbGFpdE1pbmQsIE1pbmRFbGVtZW50U2hhcGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFmdGVyRHJhdywgQmFzZURyYXdlciB9IGZyb20gJy4vYmFzZS9iYXNlJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4uL3V0aWxzL2dyYXBoJztcbmltcG9ydCB7IGdldFNoYXBlQnlFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS1zdHlsZS9zaGFwZSc7XG5pbXBvcnQgeyBFWFRFTkRfUkFESVVTLCBRVUlDS19JTlNFUlRfQ0lSQ0xFX0NPTE9SLCBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCwgUVVJQ0tfSU5TRVJUX0lOTkVSX0NST1NTX0NPTE9SIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUsIE9yaWdpbk5vZGUsIGlzU3RhbmRhcmRMYXlvdXQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbnNlcnRNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL21pbmQnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZpbmROZXdDaGlsZE5vZGVQYXRoIH0gZnJvbSAnLi4vdXRpbHMvcGF0aCc7XG5pbXBvcnQgeyBnZXRCcmFuY2hDb2xvckJ5TWluZEVsZW1lbnQsIGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudCwgZ2V0TmV4dEJyYW5jaENvbG9yIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS1zdHlsZS9icmFuY2gnO1xuXG5leHBvcnQgY2xhc3MgUXVpY2tJbnNlcnREcmF3ZXIgZXh0ZW5kcyBCYXNlRHJhd2VyIGltcGxlbWVudHMgQWZ0ZXJEcmF3IHtcbiAgICBjYW5EcmF3KGVsZW1lbnQ6IE1pbmRFbGVtZW50PEJhc2VEYXRhPik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc1JlYWRvbmx5KHRoaXMuYm9hcmQpIHx8IGVsZW1lbnQ/LmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGRyYXcoZWxlbWVudDogTWluZEVsZW1lbnQ8QmFzZURhdGE+KTogU1ZHR0VsZW1lbnQge1xuICAgICAgICBsZXQgb2Zmc2V0ID0gZWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwICYmICFlbGVtZW50LmlzUm9vdCA/IEVYVEVORF9SQURJVVMgOiAwO1xuICAgICAgICBjb25zdCBxdWlja0luc2VydEcgPSBjcmVhdGVHKCk7XG4gICAgICAgIHRoaXMuZyA9IHF1aWNrSW5zZXJ0RztcbiAgICAgICAgcXVpY2tJbnNlcnRHLmNsYXNzTGlzdC5hZGQoJ3F1aWNrLWluc2VydCcpO1xuICAgICAgICBjb25zdCBub2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KTtcbiAgICAgICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRSZWN0YW5nbGVCeU5vZGUobm9kZSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIOaWueS9je+8mlxuICAgICAgICAgKiAgICAxLiDlt6bjgIHlt6bkuIrjgIHlt6bkuItcbiAgICAgICAgICogICAgMi4g5Y+z44CB5Y+z5LiK44CB5Y+z5LiLXG4gICAgICAgICAqICAgIDMuIOS4iuOAgeS4iuW3puOAgeS4iuWPs1xuICAgICAgICAgKiAgICA0LiDkuIvjgIHkuIvlt6bjgIHkuIvlj7NcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IHNoYXBlID0gZ2V0U2hhcGVCeUVsZW1lbnQodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIC8vIOW9oueKtuaYr+efqeW9ouimgeWBj+enu+i+ueahhueahOe6v+WuvVxuICAgICAgICBjb25zdCBicmFuY2hXaWR0aCA9IGdldEJyYW5jaFdpZHRoQnlNaW5kRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgbGV0IG9mZnNldEJvcmRlckxpbmVXaWR0aCA9IDA7XG4gICAgICAgIGlmIChzaGFwZSA9PT0gTWluZEVsZW1lbnRTaGFwZS5yb3VuZFJlY3RhbmdsZSAmJiBvZmZzZXQgPT09IDApIHtcbiAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCA9IGJyYW5jaFdpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGxldCBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoID0gMDtcbiAgICAgICAgaWYgKGVsZW1lbnQuaXNSb290KSB7XG4gICAgICAgICAgICBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoID0gYnJhbmNoV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgLy8g5b2T5rKh5pyJ5a2Q6IqC54K55pe277yM6ZyA6KaB57yp5bCP55qE5YGP56e76YePXG4gICAgICAgIGNvbnN0IGV4dHJhT2Zmc2V0ID0gMztcbiAgICAgICAgY29uc3QgdW5kZXJsaW5lQ29vcmRpbmF0ZXM6IEV4dGVuZFVuZGVybGluZUNvb3JkaW5hdGVUeXBlID0ge1xuICAgICAgICAgICAgLy8g55S757q/5pa55ZCR77ya5Y+z5ZCR5bemIDwtLVxuICAgICAgICAgICAgW01pbmRMYXlvdXRUeXBlLmxlZnRdOiB7XG4gICAgICAgICAgICAgICAgLy8gRVhURU5EX1JBRElVUyAqIDAuNSDmmK8g5bem5pa55ZCR77yM5oqY5Y+gL+aUtui1t+eahOWBj+enu+mHj1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogeCAtIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgRVhURU5EX1JBRElVUyAqIDAuNSA6IDApIC0gb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBzdGFydFk6IHkgKyBoZWlnaHQsXG4gICAgICAgICAgICAgICAgZW5kWDpcbiAgICAgICAgICAgICAgICAgICAgeCAtXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCAtXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGggLVxuICAgICAgICAgICAgICAgICAgICAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIC0gZXh0cmFPZmZzZXQgOiAwKSAtXG4gICAgICAgICAgICAgICAgICAgIEVYVEVORF9SQURJVVMsXG4gICAgICAgICAgICAgICAgZW5kWTogeSArIGhlaWdodFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOeUu+e6v+aWueWQke+8muW3puWQkeWPsyAtLT5cbiAgICAgICAgICAgIFtNaW5kTGF5b3V0VHlwZS5yaWdodF06IHtcbiAgICAgICAgICAgICAgICBzdGFydFg6IHggKyB3aWR0aCArIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgOiAwKSArIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGgsXG4gICAgICAgICAgICAgICAgc3RhcnRZOiB5ICsgaGVpZ2h0LFxuICAgICAgICAgICAgICAgIGVuZFg6XG4gICAgICAgICAgICAgICAgICAgIHggK1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCArXG4gICAgICAgICAgICAgICAgICAgIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgLSBleHRyYU9mZnNldCA6IDApICtcbiAgICAgICAgICAgICAgICAgICAgRVhURU5EX1JBRElVUyArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGgsXG4gICAgICAgICAgICAgICAgZW5kWTogeSArIGhlaWdodFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOeUu+e6v+aWueWQke+8muS4i+WQkeS4iiAtLT5cbiAgICAgICAgICAgIFtNaW5kTGF5b3V0VHlwZS51cHdhcmRdOiB7XG4gICAgICAgICAgICAgICAgc3RhcnRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgc3RhcnRZOiB5IC0gb2Zmc2V0Qm9yZGVyTGluZVdpZHRoIC0gKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCA6IDApIC0gb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBlbmRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgZW5kWTpcbiAgICAgICAgICAgICAgICAgICAgeSAtXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCAtXG4gICAgICAgICAgICAgICAgICAgIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgLSBleHRyYU9mZnNldCA6IDApIC1cbiAgICAgICAgICAgICAgICAgICAgRVhURU5EX1JBRElVUyAtXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyDnlLvnur/mlrnlkJHvvJrkuIrlkJHkuIsgLS0+XG4gICAgICAgICAgICBbTWluZExheW91dFR5cGUuZG93bndhcmRdOiB7XG4gICAgICAgICAgICAgICAgc3RhcnRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgc3RhcnRZOlxuICAgICAgICAgICAgICAgICAgICB5ICsgaGVpZ2h0ICsgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoICsgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCA6IDApICsgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aCxcbiAgICAgICAgICAgICAgICBlbmRYOiB4ICsgd2lkdGggKiAwLjUsXG4gICAgICAgICAgICAgICAgZW5kWTpcbiAgICAgICAgICAgICAgICAgICAgeSArXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldEJvcmRlckxpbmVXaWR0aCArXG4gICAgICAgICAgICAgICAgICAgIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgLSBleHRyYU9mZnNldCA6IDApICtcbiAgICAgICAgICAgICAgICAgICAgRVhURU5EX1JBRElVUyArXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbTWluZExheW91dFR5cGUubGVmdEJvdHRvbUluZGVudGVkXToge1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIHN0YXJ0WTpcbiAgICAgICAgICAgICAgICAgICAgeSArIGhlaWdodCArIG9mZnNldEJvcmRlckxpbmVXaWR0aCArIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgOiAwKSArIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGgsXG4gICAgICAgICAgICAgICAgZW5kWDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIGVuZFk6XG4gICAgICAgICAgICAgICAgICAgIHkgK1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgK1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXRCb3JkZXJMaW5lV2lkdGggK1xuICAgICAgICAgICAgICAgICAgICAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIC0gZXh0cmFPZmZzZXQgOiAwKSArXG4gICAgICAgICAgICAgICAgICAgIEVYVEVORF9SQURJVVMgK1xuICAgICAgICAgICAgICAgICAgICBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW01pbmRMYXlvdXRUeXBlLmxlZnRUb3BJbmRlbnRlZF06IHtcbiAgICAgICAgICAgICAgICBzdGFydFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBzdGFydFk6IHkgLSBvZmZzZXRCb3JkZXJMaW5lV2lkdGggLSAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIDogMCkgLSBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoLFxuICAgICAgICAgICAgICAgIGVuZFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBlbmRZOlxuICAgICAgICAgICAgICAgICAgICB5IC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoIC1cbiAgICAgICAgICAgICAgICAgICAgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCA6IDApIC1cbiAgICAgICAgICAgICAgICAgICAgRVhURU5EX1JBRElVUyAtXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGhcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbTWluZExheW91dFR5cGUucmlnaHRCb3R0b21JbmRlbnRlZF06IHtcbiAgICAgICAgICAgICAgICBzdGFydFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBzdGFydFk6XG4gICAgICAgICAgICAgICAgICAgIHkgKyBoZWlnaHQgKyBvZmZzZXRCb3JkZXJMaW5lV2lkdGggKyAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIDogMCkgKyBvZmZzZXRSb290Qm9yZGVyTGluZVdpZHRoLFxuICAgICAgICAgICAgICAgIGVuZFg6IHggKyB3aWR0aCAqIDAuNSxcbiAgICAgICAgICAgICAgICBlbmRZOlxuICAgICAgICAgICAgICAgICAgICB5ICtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Qm9yZGVyTGluZVdpZHRoICtcbiAgICAgICAgICAgICAgICAgICAgKG9mZnNldCA+IDAgPyBvZmZzZXQgKyBRVUlDS19JTlNFUlRfQ0lSQ0xFX09GRlNFVCAtIGV4dHJhT2Zmc2V0IDogMCkgK1xuICAgICAgICAgICAgICAgICAgICBFWFRFTkRfUkFESVVTICtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtNaW5kTGF5b3V0VHlwZS5yaWdodFRvcEluZGVudGVkXToge1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIHN0YXJ0WTogeSAtIG9mZnNldEJvcmRlckxpbmVXaWR0aCAtIChvZmZzZXQgPiAwID8gb2Zmc2V0ICsgUVVJQ0tfSU5TRVJUX0NJUkNMRV9PRkZTRVQgOiAwKSAtIG9mZnNldFJvb3RCb3JkZXJMaW5lV2lkdGgsXG4gICAgICAgICAgICAgICAgZW5kWDogeCArIHdpZHRoICogMC41LFxuICAgICAgICAgICAgICAgIGVuZFk6XG4gICAgICAgICAgICAgICAgICAgIHkgLVxuICAgICAgICAgICAgICAgICAgICBvZmZzZXRCb3JkZXJMaW5lV2lkdGggLVxuICAgICAgICAgICAgICAgICAgICAob2Zmc2V0ID4gMCA/IG9mZnNldCArIFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUIDogMCkgLVxuICAgICAgICAgICAgICAgICAgICBFWFRFTkRfUkFESVVTIC1cbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0Um9vdEJvcmRlckxpbmVXaWR0aFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpZiAoc2hhcGUgPT09IE1pbmRFbGVtZW50U2hhcGUucm91bmRSZWN0YW5nbGUgfHwgZWxlbWVudC5pc1Jvb3QpIHtcbiAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGVzW01pbmRMYXlvdXRUeXBlLmxlZnRdLnN0YXJ0WSAtPSBoZWlnaHQgKiAwLjU7XG4gICAgICAgICAgICB1bmRlcmxpbmVDb29yZGluYXRlc1tNaW5kTGF5b3V0VHlwZS5sZWZ0XS5lbmRZIC09IGhlaWdodCAqIDAuNTtcbiAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGVzW01pbmRMYXlvdXRUeXBlLnJpZ2h0XS5zdGFydFkgLT0gaGVpZ2h0ICogMC41O1xuICAgICAgICAgICAgdW5kZXJsaW5lQ29vcmRpbmF0ZXNbTWluZExheW91dFR5cGUucmlnaHRdLmVuZFkgLT0gaGVpZ2h0ICogMC41O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJyYW5jaENvbG9yID0gUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSA/IGdldE5leHRCcmFuY2hDb2xvcihlbGVtZW50KSA6IGdldEJyYW5jaENvbG9yQnlNaW5kRWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgbGV0IG5vZGVMYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KHRoaXMuYm9hcmQsIGVsZW1lbnQpIGFzIEV4dGVuZExheW91dFR5cGU7XG4gICAgICAgIGlmIChlbGVtZW50LmlzUm9vdCAmJiBpc1N0YW5kYXJkTGF5b3V0KG5vZGVMYXlvdXQpKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gZWxlbWVudCBhcyBPcmlnaW5Ob2RlO1xuICAgICAgICAgICAgbm9kZUxheW91dCA9IHJvb3QuY2hpbGRyZW4ubGVuZ3RoID49IHJvb3QucmlnaHROb2RlQ291bnQgPyBNaW5kTGF5b3V0VHlwZS5sZWZ0IDogTWluZExheW91dFR5cGUucmlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdW5kZXJsaW5lQ29vcmRpbmF0ZSA9IHVuZGVybGluZUNvb3JkaW5hdGVzW25vZGVMYXlvdXRdO1xuICAgICAgICBpZiAodW5kZXJsaW5lQ29vcmRpbmF0ZSkge1xuICAgICAgICAgICAgY29uc3QgdW5kZXJsaW5lID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKS5saW5lKFxuICAgICAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGUuc3RhcnRYLFxuICAgICAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGUuc3RhcnRZLFxuICAgICAgICAgICAgICAgIHVuZGVybGluZUNvb3JkaW5hdGUuZW5kWCxcbiAgICAgICAgICAgICAgICB1bmRlcmxpbmVDb29yZGluYXRlLmVuZFksXG4gICAgICAgICAgICAgICAgeyBzdHJva2U6IGJyYW5jaENvbG9yLCBzdHJva2VXaWR0aDogYnJhbmNoV2lkdGggfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGNvbnN0IGNpcmNsZUNvb3JkaW5hdGVzID0ge1xuICAgICAgICAgICAgICAgIHN0YXJ0WDogdW5kZXJsaW5lQ29vcmRpbmF0ZS5lbmRYLFxuICAgICAgICAgICAgICAgIHN0YXJ0WTogdW5kZXJsaW5lQ29vcmRpbmF0ZS5lbmRZXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgY2lyY2xlID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKS5jaXJjbGUoY2lyY2xlQ29vcmRpbmF0ZXMuc3RhcnRYLCBjaXJjbGVDb29yZGluYXRlcy5zdGFydFksIEVYVEVORF9SQURJVVMsIHtcbiAgICAgICAgICAgICAgICBmaWxsOiBRVUlDS19JTlNFUlRfQ0lSQ0xFX0NPTE9SLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogUVVJQ0tfSU5TRVJUX0NJUkNMRV9DT0xPUixcbiAgICAgICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzID0ge1xuICAgICAgICAgICAgICAgIGhvcml6b250YWw6IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRYOiBjaXJjbGVDb29yZGluYXRlcy5zdGFydFggLSBFWFRFTkRfUkFESVVTICogMC41ICsgMyxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRZOiBjaXJjbGVDb29yZGluYXRlcy5zdGFydFksXG4gICAgICAgICAgICAgICAgICAgIGVuZFg6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WCArIEVYVEVORF9SQURJVVMgKiAwLjUgLSAzLFxuICAgICAgICAgICAgICAgICAgICBlbmRZOiBjaXJjbGVDb29yZGluYXRlcy5zdGFydFlcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHZlcnRpY2FsOiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0WDogY2lyY2xlQ29vcmRpbmF0ZXMuc3RhcnRYLFxuICAgICAgICAgICAgICAgICAgICBzdGFydFk6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WSAtIEVYVEVORF9SQURJVVMgKiAwLjUgKyAzLFxuICAgICAgICAgICAgICAgICAgICBlbmRYOiBjaXJjbGVDb29yZGluYXRlcy5zdGFydFgsXG4gICAgICAgICAgICAgICAgICAgIGVuZFk6IGNpcmNsZUNvb3JkaW5hdGVzLnN0YXJ0WSArIEVYVEVORF9SQURJVVMgKiAwLjUgLSAzXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGlubmVyQ3Jvc3NITGluZSA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcodGhpcy5ib2FyZCkubGluZShcbiAgICAgICAgICAgICAgICBpbm5lckNyb3NzQ29vcmRpbmF0ZXMuaG9yaXpvbnRhbC5zdGFydFgsXG4gICAgICAgICAgICAgICAgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzLmhvcml6b250YWwuc3RhcnRZLFxuICAgICAgICAgICAgICAgIGlubmVyQ3Jvc3NDb29yZGluYXRlcy5ob3Jpem9udGFsLmVuZFgsXG4gICAgICAgICAgICAgICAgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzLmhvcml6b250YWwuZW5kWSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogUVVJQ0tfSU5TRVJUX0lOTkVSX0NST1NTX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBpbm5lclJpbmdWTGluZSA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcodGhpcy5ib2FyZCkubGluZShcbiAgICAgICAgICAgICAgICBpbm5lckNyb3NzQ29vcmRpbmF0ZXMudmVydGljYWwuc3RhcnRYLFxuICAgICAgICAgICAgICAgIGlubmVyQ3Jvc3NDb29yZGluYXRlcy52ZXJ0aWNhbC5zdGFydFksXG4gICAgICAgICAgICAgICAgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzLnZlcnRpY2FsLmVuZFgsXG4gICAgICAgICAgICAgICAgaW5uZXJDcm9zc0Nvb3JkaW5hdGVzLnZlcnRpY2FsLmVuZFksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFFVSUNLX0lOU0VSVF9JTk5FUl9DUk9TU19DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcXVpY2tJbnNlcnRHLmFwcGVuZENoaWxkKHVuZGVybGluZSk7XG4gICAgICAgICAgICBxdWlja0luc2VydEcuYXBwZW5kQ2hpbGQoY2lyY2xlKTtcbiAgICAgICAgICAgIHF1aWNrSW5zZXJ0Ry5hcHBlbmRDaGlsZChpbm5lckNyb3NzSExpbmUpO1xuICAgICAgICAgICAgcXVpY2tJbnNlcnRHLmFwcGVuZENoaWxkKGlubmVyUmluZ1ZMaW5lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVpY2tJbnNlcnRHO1xuICAgIH1cbiAgICBhZnRlckRyYXcoZWxlbWVudDogTWluZEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBmaW5kIHF1aWNrIGluc2VydCBnYCk7XG4gICAgICAgIH1cbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KHRoaXMuZywgJ21vdXNlZG93bicpXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIGZyb21FdmVudCh0aGlzLmcsICdtb3VzZXVwJylcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gZmluZE5ld0NoaWxkTm9kZVBhdGgodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgaW5zZXJ0TWluZEVsZW1lbnQodGhpcy5ib2FyZCwgZWxlbWVudCwgcGF0aCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
@@ -33,6 +33,13 @@ export const MindElement = {
33
33
  const parent = NODE_TO_PARENT.get(node);
34
34
  return parent;
35
35
  },
36
+ findParent(node) {
37
+ if (PlaitMind.isMind(node)) {
38
+ return undefined;
39
+ }
40
+ const parent = NODE_TO_PARENT.get(node);
41
+ return parent;
42
+ },
36
43
  getRoot(board, element) {
37
44
  const path = PlaitBoard.findPath(board, element);
38
45
  return PlaitNode.get(board, path.slice(0, 1));
@@ -55,6 +62,13 @@ export const MindElement = {
55
62
  }
56
63
  return node;
57
64
  },
65
+ findParentNode(element) {
66
+ if (PlaitMind.isMind(element)) {
67
+ return undefined;
68
+ }
69
+ const parent = MindElement.getParent(element);
70
+ return MindElement.getNode(parent);
71
+ },
58
72
  hasEmojis(element) {
59
73
  if (element.data.emojis) {
60
74
  return true;
@@ -72,4 +86,4 @@ export var MindElementShape;
72
86
  MindElementShape["roundRectangle"] = "round-rectangle";
73
87
  MindElementShape["underline"] = "underline";
74
88
  })(MindElementShape || (MindElementShape = {}));
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFnQixTQUFTLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBa0MzQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDckIsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDcEMsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsU0FBUyxDQUFDLEtBQWtCLEVBQUUsTUFBc0I7UUFDaEQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBa0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBbUIsQ0FBQztRQUN4RSxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBaUIsRUFBRSxPQUFxQjtRQUNsRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFDRCxTQUFTLENBQUMsSUFBaUI7UUFDdkIsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztTQUN4RDtRQUNELE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFnQixDQUFDO1FBQ3ZELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBaUIsRUFBRSxPQUFvQjtRQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFjLENBQUM7SUFDL0QsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUFpQixFQUFFLE9BQW9CO1FBQ2hELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFtQixFQUFFLENBQUM7UUFDbkMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQjtTQUNKO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFvQjtRQUN4QixNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxTQUFTLENBQUMsT0FBb0I7UUFDMUIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFDRCxTQUFTLENBQUMsT0FBK0I7UUFDckMsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsc0RBQWtDLENBQUE7SUFDbEMsMkNBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0luZGVudGVkTGF5b3V0LCBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE5PREVfVE9fUEFSRU5ULCBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0Tm9kZSwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgRUxFTUVOVF9UT19OT0RFIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZURhdGEsIEVtb2ppRGF0YSB9IGZyb20gJy4vZWxlbWVudC1kYXRhJztcblxuZXhwb3J0IGludGVyZmFjZSBNaW5kRWxlbWVudDxUID0gQmFzZURhdGE+IGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICBkYXRhOiBUO1xuICAgIGNoaWxkcmVuOiBNaW5kRWxlbWVudFtdO1xuICAgIHJpZ2h0Tm9kZUNvdW50PzogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgaXNSb290PzogYm9vbGVhbjtcblxuICAgIC8vIG5vZGUgc3R5bGUgYXR0cmlidXRlc1xuICAgIGZpbGw/OiBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc2hhcGU/OiBNaW5kRWxlbWVudFNoYXBlO1xuXG4gICAgLy8gbGluayBzdHlsZSBhdHRyaWJ1dGVzXG4gICAgYnJhbmNoQ29sb3I/OiBzdHJpbmc7XG4gICAgYnJhbmNoV2lkdGg/OiBudW1iZXI7XG5cbiAgICAvLyBsYXlvdXRcbiAgICBsYXlvdXQ/OiBNaW5kTGF5b3V0VHlwZTtcbiAgICBpc0NvbGxhcHNlZD86IGJvb2xlYW47XG5cbiAgICBzdGFydD86IG51bWJlcjtcbiAgICBlbmQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRNaW5kIGV4dGVuZHMgTWluZEVsZW1lbnQge1xuICAgIHR5cGU6ICdtaW5kbWFwJztcbiAgICBwb2ludHM6IFBvaW50W107XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdE1pbmQgPSB7XG4gICAgaXNNaW5kOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0TWluZCA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnbWluZG1hcCc7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1pbmRFbGVtZW50ID0ge1xuICAgIGhhc0xheW91dCh2YWx1ZTogTWluZEVsZW1lbnQsIGxheW91dDogTWluZExheW91dFR5cGUpIHtcbiAgICAgICAgY29uc3QgX2xheW91dCA9IE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudCh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBfbGF5b3V0ID09PSBsYXlvdXQ7XG4gICAgfSxcbiAgICBpc0luZGVudGVkTGF5b3V0KHZhbHVlOiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBfbGF5b3V0ID0gTWluZFF1ZXJpZXMuZ2V0TGF5b3V0QnlFbGVtZW50KHZhbHVlKSBhcyBNaW5kTGF5b3V0VHlwZTtcbiAgICAgICAgcmV0dXJuIGlzSW5kZW50ZWRMYXlvdXQoX2xheW91dCk7XG4gICAgfSxcbiAgICBpc01pbmRFbGVtZW50KGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBQbGFpdEVsZW1lbnQpOiBlbGVtZW50IGlzIE1pbmRFbGVtZW50IHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBjb25zdCByb290RWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIHBhdGguc2xpY2UoMCwgMSkpO1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChyb290RWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBnZXRQYXJlbnQobm9kZTogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQobm9kZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignbWluZCByb290IG5vZGUgY2FuIG5vdCBnZXQgcGFyZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50ID0gTk9ERV9UT19QQVJFTlQuZ2V0KG5vZGUpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgIH0sXG4gICAgZ2V0Um9vdChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aC5zbGljZSgwLCAxKSkgYXMgUGxhaXRNaW5kO1xuICAgIH0sXG4gICAgZ2V0QW5jZXN0b3JzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBhcmVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiBQYXRoLmFuY2VzdG9ycyhwYXRoLCB7IHJldmVyc2U6IHRydWUgfSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwKTtcbiAgICAgICAgICAgIGlmIChuICYmICFQbGFpdEJvYXJkLmlzQm9hcmQobikpIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2gobik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmVudHM7XG4gICAgfSxcbiAgICBnZXROb2RlKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBFTEVNRU5UX1RPX05PREUuZ2V0KGVsZW1lbnQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBnZXQgbm9kZSBmcm9tICR7SlNPTi5zdHJpbmdpZnkoZWxlbWVudCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSxcbiAgICBoYXNFbW9qaXMoZWxlbWVudDogTWluZEVsZW1lbnQpOiBlbGVtZW50IGlzIE1pbmRFbGVtZW50PEVtb2ppRGF0YT4ge1xuICAgICAgICBpZiAoZWxlbWVudC5kYXRhLmVtb2ppcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGdldEVtb2ppcyhlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+KSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmRhdGEuZW1vamlzO1xuICAgIH1cbn07XG5cbmV4cG9ydCBlbnVtIE1pbmRFbGVtZW50U2hhcGUge1xuICAgIHJvdW5kUmVjdGFuZ2xlID0gJ3JvdW5kLXJlY3RhbmdsZScsXG4gICAgdW5kZXJsaW5lID0gJ3VuZGVybGluZSdcbn1cbiJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFnQixTQUFTLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDL0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBa0MzQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDckIsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDcEMsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsU0FBUyxDQUFDLEtBQWtCLEVBQUUsTUFBc0I7UUFDaEQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBa0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBbUIsQ0FBQztRQUN4RSxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBaUIsRUFBRSxPQUFxQjtRQUNsRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFD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LENBQUM7SUFDL0IsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQU4sSUFBWSxnQkFHWDtBQUhELFdBQVksZ0JBQWdCO0lBQ3hCLHNEQUFrQyxDQUFBO0lBQ2xDLDJDQUF1QixDQUFBO0FBQzNCLENBQUMsRUFIVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBRzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNJbmRlbnRlZExheW91dCwgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBOT0RFX1RPX1BBUkVOVCwgUGF0aCwgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQbGFpdE5vZGUsIFBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IEVMRU1FTlRfVE9fTk9ERSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEJhc2VEYXRhLCBFbW9qaURhdGEgfSBmcm9tICcuL2VsZW1lbnQtZGF0YSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluZEVsZW1lbnQ8VCA9IEJhc2VEYXRhPiBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgZGF0YTogVDtcbiAgICBjaGlsZHJlbjogTWluZEVsZW1lbnRbXTtcbiAgICByaWdodE5vZGVDb3VudD86IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIGlzUm9vdD86IGJvb2xlYW47XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIHNoYXBlPzogTWluZEVsZW1lbnRTaGFwZTtcblxuICAgIC8vIGxpbmsgc3R5bGUgYXR0cmlidXRlc1xuICAgIGJyYW5jaENvbG9yPzogc3RyaW5nO1xuICAgIGJyYW5jaFdpZHRoPzogbnVtYmVyO1xuXG4gICAgLy8gbGF5b3V0XG4gICAgbGF5b3V0PzogTWluZExheW91dFR5cGU7XG4gICAgaXNDb2xsYXBzZWQ/OiBib29sZWFuO1xuXG4gICAgc3RhcnQ/OiBudW1iZXI7XG4gICAgZW5kPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0TWluZCBleHRlbmRzIE1pbmRFbGVtZW50IHtcbiAgICB0eXBlOiAnbWluZG1hcCc7XG4gICAgcG9pbnRzOiBQb2ludFtdO1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRNaW5kID0ge1xuICAgIGlzTWluZDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdE1pbmQgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ21pbmRtYXAnO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNaW5kRWxlbWVudCA9IHtcbiAgICBoYXNMYXlvdXQodmFsdWU6IE1pbmRFbGVtZW50LCBsYXlvdXQ6IE1pbmRMYXlvdXRUeXBlKSB7XG4gICAgICAgIGNvbnN0IF9sYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRMYXlvdXRCeUVsZW1lbnQodmFsdWUpO1xuICAgICAgICByZXR1cm4gX2xheW91dCA9PT0gbGF5b3V0O1xuICAgIH0sXG4gICAgaXNJbmRlbnRlZExheW91dCh2YWx1ZTogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgX2xheW91dCA9IE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudCh2YWx1ZSkgYXMgTWluZExheW91dFR5cGU7XG4gICAgICAgIHJldHVybiBpc0luZGVudGVkTGF5b3V0KF9sYXlvdXQpO1xuICAgIH0sXG4gICAgaXNNaW5kRWxlbWVudChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRFbGVtZW50KTogZWxlbWVudCBpcyBNaW5kRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoLnNsaWNlKDAsIDEpKTtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQocm9vdEVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZ2V0UGFyZW50KG5vZGU6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKG5vZGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pbmQgcm9vdCBub2RlIGNhbiBub3QgZ2V0IHBhcmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IE5PREVfVE9fUEFSRU5ULmdldChub2RlKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICB9LFxuICAgIGZpbmRQYXJlbnQobm9kZTogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50ID0gTk9ERV9UT19QQVJFTlQuZ2V0KG5vZGUpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgIH0sXG4gICAgZ2V0Um9vdChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aC5zbGljZSgwLCAxKSkgYXMgUGxhaXRNaW5kO1xuICAgIH0sXG4gICAgZ2V0QW5jZXN0b3JzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBhcmVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiBQYXRoLmFuY2VzdG9ycyhwYXRoLCB7IHJldmVyc2U6IHRydWUgfSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwKTtcbiAgICAgICAgICAgIGlmIChuICYmICFQbGFpdEJvYXJkLmlzQm9hcmQobikpIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2gobik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmVudHM7XG4gICAgfSxcbiAgICBnZXROb2RlKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBFTEVNRU5UX1RPX05PREUuZ2V0KGVsZW1lbnQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBnZXQgbm9kZSBmcm9tICR7SlNPTi5zdHJpbmdpZnkoZWxlbWVudCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSxcbiAgICBmaW5kUGFyZW50Tm9kZShlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBNaW5kRWxlbWVudC5nZXROb2RlKHBhcmVudCk7XG4gICAgfSxcbiAgICBoYXNFbW9qaXMoZWxlbWVudDogTWluZEVsZW1lbnQpOiBlbGVtZW50IGlzIE1pbmRFbGVtZW50PEVtb2ppRGF0YT4ge1xuICAgICAgICBpZiAoZWxlbWVudC5kYXRhLmVtb2ppcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGdldEVtb2ppcyhlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+KSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmRhdGEuZW1vamlzO1xuICAgIH1cbn07XG5cbmV4cG9ydCBlbnVtIE1pbmRFbGVtZW50U2hhcGUge1xuICAgIHJvdW5kUmVjdGFuZ2xlID0gJ3JvdW5kLXJlY3RhbmdsZScsXG4gICAgdW5kZXJsaW5lID0gJ3VuZGVybGluZSdcbn1cbiJdfQ==
@@ -9,15 +9,6 @@ export const MindNode = {
9
9
  node = node.children[p];
10
10
  }
11
11
  return node;
12
- },
13
- isEquals(node, otherNode) {
14
- const hasSameSize = node.x === otherNode.x && node.y === otherNode.y && node.width === otherNode.width && node.height === otherNode.height;
15
- const hasSameOrigin = node.origin === otherNode.origin;
16
- let hasSameParentOriginChildren = false;
17
- if (node.parent && otherNode.parent) {
18
- hasSameParentOriginChildren = node.parent.origin.children == otherNode.parent.origin.children;
19
- }
20
- return hasSameSize && hasSameOrigin && hasSameParentOriginChildren;
21
12
  }
22
13
  };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLEdBQUcsQ0FBQyxJQUFjLEVBQUUsSUFBVTtRQUMxQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUNqRTtZQUNELElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELFFBQVEsQ0FBQyxJQUFjLEVBQUUsU0FBbUI7UUFDeEMsTUFBTSxXQUFXLEdBQ2IsSUFBSSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUN2RCxJQUFJLDJCQUEyQixHQUFHLEtBQUssQ0FBQztRQUN4QyxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUNqQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQ2pHO1FBQ0QsT0FBTyxXQUFXLElBQUksYUFBYSxJQUFJLDJCQUEyQixDQUFDO0lBQ3ZFLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuL2VsZW1lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmROb2RlIHtcbiAgICBkZXB0aDogbnVtYmVyO1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICBoR2FwOiBudW1iZXI7XG4gICAgdkdhcDogbnVtYmVyO1xuICAgIGNoaWxkcmVuOiBNaW5kTm9kZVtdO1xuICAgIG9yaWdpbjogTWluZEVsZW1lbnQ7XG4gICAgcGFyZW50OiBNaW5kTm9kZTtcbiAgICBsZWZ0OiBib29sZWFuO1xuICAgIHVwOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWluZE5vZGUgPSB7XG4gICAgZ2V0KHJvb3Q6IE1pbmROb2RlLCBwYXRoOiBQYXRoKSB7XG4gICAgICAgIGxldCBub2RlID0gcm9vdDtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXRoLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwID0gcGF0aFtpXTtcbiAgICAgICAgICAgIGlmICghbm9kZSB8fCAhbm9kZS5jaGlsZHJlbiB8fCAhbm9kZS5jaGlsZHJlbltwXSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgYSBkZXNjZW5kYW50IGF0IHBhdGggWyR7cGF0aH1dYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlID0gbm9kZS5jaGlsZHJlbltwXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9LFxuICAgIGlzRXF1YWxzKG5vZGU6IE1pbmROb2RlLCBvdGhlck5vZGU6IE1pbmROb2RlKSB7XG4gICAgICAgIGNvbnN0IGhhc1NhbWVTaXplID1cbiAgICAgICAgICAgIG5vZGUueCA9PT0gb3RoZXJOb2RlLnggJiYgbm9kZS55ID09PSBvdGhlck5vZGUueSAmJiBub2RlLndpZHRoID09PSBvdGhlck5vZGUud2lkdGggJiYgbm9kZS5oZWlnaHQgPT09IG90aGVyTm9kZS5oZWlnaHQ7XG4gICAgICAgIGNvbnN0IGhhc1NhbWVPcmlnaW4gPSBub2RlLm9yaWdpbiA9PT0gb3RoZXJOb2RlLm9yaWdpbjtcbiAgICAgICAgbGV0IGhhc1NhbWVQYXJlbnRPcmlnaW5DaGlsZHJlbiA9IGZhbHNlO1xuICAgICAgICBpZiAobm9kZS5wYXJlbnQgJiYgb3RoZXJOb2RlLnBhcmVudCkge1xuICAgICAgICAgICAgaGFzU2FtZVBhcmVudE9yaWdpbkNoaWxkcmVuID0gbm9kZS5wYXJlbnQub3JpZ2luLmNoaWxkcmVuID09IG90aGVyTm9kZS5wYXJlbnQub3JpZ2luLmNoaWxkcmVuO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBoYXNTYW1lU2l6ZSAmJiBoYXNTYW1lT3JpZ2luICYmIGhhc1NhbWVQYXJlbnRPcmlnaW5DaGlsZHJlbjtcbiAgICB9XG59O1xuXG4vLyBtaW5kIG5vZGUgZXh0ZW5kIOaUr+aMgeeahOW4g+WxgOexu+Wei1xuZXhwb3J0IHR5cGUgRXh0ZW5kTGF5b3V0VHlwZSA9IEV4Y2x1ZGU8TWluZExheW91dFR5cGUsIE1pbmRMYXlvdXRUeXBlLnN0YW5kYXJkPjtcblxuZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZVR5cGUgPSB7XG4gICAgc3RhcnRYOiBudW1iZXI7XG4gICAgc3RhcnRZOiBudW1iZXI7XG4gICAgZW5kWDogbnVtYmVyO1xuICAgIGVuZFk6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEV4dGVuZFVuZGVybGluZUNvb3JkaW5hdGVUeXBlID0ge1xuICAgIFtrZXkgaW4gRXh0ZW5kTGF5b3V0VHlwZV06IENvb3JkaW5hdGVUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgRGV0ZWN0UmVzdWx0ID0gJ3RvcCcgfCAnYm90dG9tJyB8ICdyaWdodCcgfCAnbGVmdCcgfCBudWxsO1xuXG5leHBvcnQgdHlwZSBSb290QmFzZURpcmVjdGlvbiA9ICdyaWdodCcgfCAnbGVmdCcgfCBudWxsO1xuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLEdBQUcsQ0FBQyxJQUFjLEVBQUUsSUFBVTtRQUMxQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUNqRTtZQUNELElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IFBhdGggfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4vZWxlbWVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWluZE5vZGUge1xuICAgIGRlcHRoOiBudW1iZXI7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIGhHYXA6IG51bWJlcjtcbiAgICB2R2FwOiBudW1iZXI7XG4gICAgY2hpbGRyZW46IE1pbmROb2RlW107XG4gICAgb3JpZ2luOiBNaW5kRWxlbWVudDtcbiAgICBwYXJlbnQ6IE1pbmROb2RlO1xuICAgIGxlZnQ6IGJvb2xlYW47XG4gICAgdXA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNaW5kTm9kZSA9IHtcbiAgICBnZXQocm9vdDogTWluZE5vZGUsIHBhdGg6IFBhdGgpIHtcbiAgICAgICAgbGV0IG5vZGUgPSByb290O1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHAgPSBwYXRoW2ldO1xuICAgICAgICAgICAgaWYgKCFub2RlIHx8ICFub2RlLmNoaWxkcmVuIHx8ICFub2RlLmNoaWxkcmVuW3BdKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBhIGRlc2NlbmRhbnQgYXQgcGF0aCBbJHtwYXRofV1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5vZGUgPSBub2RlLmNoaWxkcmVuW3BdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbn07XG5cbi8vIG1pbmQgbm9kZSBleHRlbmQg5pSv5oyB55qE5biD5bGA57G75Z6LXG5leHBvcnQgdHlwZSBFeHRlbmRMYXlvdXRUeXBlID0gRXhjbHVkZTxNaW5kTGF5b3V0VHlwZSwgTWluZExheW91dFR5cGUuc3RhbmRhcmQ+O1xuXG5leHBvcnQgdHlwZSBDb29yZGluYXRlVHlwZSA9IHtcbiAgICBzdGFydFg6IG51bWJlcjtcbiAgICBzdGFydFk6IG51bWJlcjtcbiAgICBlbmRYOiBudW1iZXI7XG4gICAgZW5kWTogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgRXh0ZW5kVW5kZXJsaW5lQ29vcmRpbmF0ZVR5cGUgPSB7XG4gICAgW2tleSBpbiBFeHRlbmRMYXlvdXRUeXBlXTogQ29vcmRpbmF0ZVR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBEZXRlY3RSZXN1bHQgPSAndG9wJyB8ICdib3R0b20nIHwgJ3JpZ2h0JyB8ICdsZWZ0JyB8IG51bGw7XG5cbmV4cG9ydCB0eXBlIFJvb3RCYXNlRGlyZWN0aW9uID0gJ3JpZ2h0JyB8ICdsZWZ0JyB8IG51bGw7XG4iXX0=