@plait/mind 0.51.3 → 0.51.4

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 (57) hide show
  1. package/esm2022/base/emoji-base.component.mjs +5 -5
  2. package/esm2022/generators/node-active.generator.mjs +1 -1
  3. package/esm2022/generators/node-collapse.generator.mjs +1 -1
  4. package/esm2022/generators/node-emojis.generator.mjs +1 -1
  5. package/esm2022/generators/node-plus.generator.mjs +1 -1
  6. package/esm2022/generators/node-shape.generator.mjs +1 -1
  7. package/esm2022/interfaces/element.mjs +1 -1
  8. package/esm2022/interfaces/node.mjs +1 -1
  9. package/esm2022/interfaces/theme-color.mjs +1 -1
  10. package/esm2022/mind-node.component.mjs +5 -5
  11. package/esm2022/mind.component.mjs +4 -4
  12. package/esm2022/plugins/with-abstract-resize.mjs +1 -1
  13. package/esm2022/plugins/with-mind-create.mjs +1 -1
  14. package/esm2022/plugins/with-mind-fragment.mjs +1 -1
  15. package/esm2022/plugins/with-mind-hotkey.mjs +1 -1
  16. package/esm2022/plugins/with-mind.mjs +1 -1
  17. package/esm2022/plugins/with-node-dnd.mjs +1 -1
  18. package/esm2022/plugins/with-node-image-resize.mjs +1 -1
  19. package/esm2022/plugins/with-node-image.mjs +1 -1
  20. package/esm2022/plugins/with-node-resize.mjs +1 -1
  21. package/esm2022/queries/get-available-sublayouts-by-element.mjs +1 -1
  22. package/esm2022/queries/get-branch-layouts.mjs +1 -1
  23. package/esm2022/queries/get-correct-layout-by-element.mjs +1 -1
  24. package/esm2022/queries/get-layout-by-element.mjs +1 -1
  25. package/esm2022/transforms/abstract-node.mjs +1 -1
  26. package/esm2022/transforms/emoji.mjs +1 -1
  27. package/esm2022/transforms/image.mjs +1 -1
  28. package/esm2022/transforms/layout.mjs +1 -1
  29. package/esm2022/transforms/node.mjs +1 -1
  30. package/esm2022/transforms/property.mjs +1 -1
  31. package/esm2022/utils/abstract/common.mjs +1 -1
  32. package/esm2022/utils/abstract/resize.mjs +1 -1
  33. package/esm2022/utils/clipboard.mjs +1 -1
  34. package/esm2022/utils/dnd/common.mjs +1 -1
  35. package/esm2022/utils/dnd/detector.mjs +1 -1
  36. package/esm2022/utils/draw/abstract-outline.mjs +1 -1
  37. package/esm2022/utils/draw/node-dnd.mjs +1 -1
  38. package/esm2022/utils/draw/node-link/abstract-link.mjs +1 -1
  39. package/esm2022/utils/draw/node-link/indented-link.mjs +1 -1
  40. package/esm2022/utils/draw/node-link/logic-link.mjs +1 -1
  41. package/esm2022/utils/layout.mjs +1 -1
  42. package/esm2022/utils/mind.mjs +1 -1
  43. package/esm2022/utils/node/adjust-node.mjs +1 -1
  44. package/esm2022/utils/node/create-node.mjs +1 -1
  45. package/esm2022/utils/node/dynamic-width.mjs +1 -1
  46. package/esm2022/utils/node/right-node-count.mjs +1 -1
  47. package/esm2022/utils/node-hover/extend.mjs +1 -1
  48. package/esm2022/utils/node-style/branch.mjs +1 -1
  49. package/esm2022/utils/node-style/shape.mjs +1 -1
  50. package/esm2022/utils/point-placement.mjs +1 -1
  51. package/esm2022/utils/position/node.mjs +1 -1
  52. package/esm2022/utils/space/emoji.mjs +1 -1
  53. package/esm2022/utils/space/layout-options.mjs +1 -1
  54. package/esm2022/utils/space/node-space.mjs +1 -1
  55. package/fesm2022/plait-mind.mjs +11 -11
  56. package/fesm2022/plait-mind.mjs.map +1 -1
  57. package/package.json +1 -1
@@ -20,4 +20,4 @@ export const getAvailableSubLayoutsByElement = (board, element) => {
20
20
  }
21
21
  return undefined;
22
22
  };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF2YWlsYWJsZS1zdWJsYXlvdXRzLWJ5LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2dldC1hdmFpbGFibGUtc3VibGF5b3V0cy1ieS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsSUFBSSxhQUFhLEVBQUU7UUFDZixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDN0QsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssY0FBYyxDQUFDLFFBQVEsRUFBRTtZQUM5QyxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO1NBQzdFO1FBQ0QsTUFBTSx1QkFBdUIsR0FBRyw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1RSxJQUFJLG1CQUFtQixHQUFHLHdDQUF3QyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDNUYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sZ0JBQWdCLEdBQUcsNEJBQTRCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDcEUsTUFBTSx5QkFBeUIsR0FBRyx3Q0FBd0MsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdGLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUN0RCx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLHdCQUF3QixLQUFLLE1BQU0sQ0FBQyxDQUNsRyxDQUFDO1FBQ0YsT0FBTyxtQkFBbUIsQ0FBQztLQUM5QjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRBdmFpbGFibGVTdWJMYXlvdXRzQnlMYXlvdXREaXJlY3Rpb25zLCBnZXRCcmFuY2hEaXJlY3Rpb25zQnlMYXlvdXRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRCcmFuY2hMYXlvdXRzIH0gZnJvbSAnLi9nZXQtYnJhbmNoLWxheW91dHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGdldEF2YWlsYWJsZVN1YkxheW91dHNCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCk7XG4gICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYnJhbmNoTGF5b3V0cyA9IGdldEJyYW5jaExheW91dHMoYm9hcmQsIHBhcmVudEVsZW1lbnQpO1xuICAgICAgICBpZiAoYnJhbmNoTGF5b3V0c1swXSA9PT0gTWluZExheW91dFR5cGUuc3RhbmRhcmQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgICAgICAgICAgYnJhbmNoTGF5b3V0c1swXSA9IG5vZGUubGVmdCA/IE1pbmRMYXlvdXRUeXBlLmxlZnQgOiBNaW5kTGF5b3V0VHlwZS5yaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50TGF5b3V0RGlyZWN0aW9ucyA9IGdldEJyYW5jaERpcmVjdGlvbnNCeUxheW91dHMoYnJhbmNoTGF5b3V0cyk7XG4gICAgICAgIGxldCBhdmFpbGFibGVTdWJMYXlvdXRzID0gZ2V0QXZhaWxhYmxlU3ViTGF5b3V0c0J5TGF5b3V0RGlyZWN0aW9ucyhjdXJyZW50TGF5b3V0RGlyZWN0aW9ucyk7XG4gICAgICAgIGNvbnN0IHBhcmVudExheW91dCA9IFticmFuY2hMYXlvdXRzW2JyYW5jaExheW91dHMubGVuZ3RoIC0gMV1dO1xuICAgICAgICBjb25zdCBwYXJlbnREaXJlY3Rpb25zID0gZ2V0QnJhbmNoRGlyZWN0aW9uc0J5TGF5b3V0cyhwYXJlbnRMYXlvdXQpO1xuICAgICAgICBjb25zdCBwYXJlbnRBdmFpbGFibGVTdWJMYXlvdXRzID0gZ2V0QXZhaWxhYmxlU3ViTGF5b3V0c0J5TGF5b3V0RGlyZWN0aW9ucyhwYXJlbnREaXJlY3Rpb25zKTtcblxuICAgICAgICBhdmFpbGFibGVTdWJMYXlvdXRzID0gYXZhaWxhYmxlU3ViTGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+XG4gICAgICAgICAgICBwYXJlbnRBdmFpbGFibGVTdWJMYXlvdXRzLnNvbWUocGFyZW50QXZhaWxhYmxlU3ViTGF5b3V0ID0+IHBhcmVudEF2YWlsYWJsZVN1YkxheW91dCA9PT0gbGF5b3V0KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gYXZhaWxhYmxlU3ViTGF5b3V0cztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF2YWlsYWJsZS1zdWJsYXlvdXRzLWJ5LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2dldC1hdmFpbGFibGUtc3VibGF5b3V0cy1ieS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd4RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3ZGLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoQixNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDN0QsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9DLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDMUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDOUUsQ0FBQztRQUNELE1BQU0sdUJBQXVCLEdBQUcsNEJBQTRCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxtQkFBbUIsR0FBRyx3Q0FBd0MsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sWUFBWSxHQUFHLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxNQUFNLGdCQUFnQixHQUFHLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BFLE1BQU0seUJBQXlCLEdBQUcsd0NBQXdDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU3RixtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDdEQseUJBQXlCLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsS0FBSyxNQUFNLENBQUMsQ0FDbEcsQ0FBQztRQUNGLE9BQU8sbUJBQW1CLENBQUM7SUFDL0IsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRBdmFpbGFibGVTdWJMYXlvdXRzQnlMYXlvdXREaXJlY3Rpb25zLCBnZXRCcmFuY2hEaXJlY3Rpb25zQnlMYXlvdXRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRCcmFuY2hMYXlvdXRzIH0gZnJvbSAnLi9nZXQtYnJhbmNoLWxheW91dHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGdldEF2YWlsYWJsZVN1YkxheW91dHNCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcGFyZW50RWxlbWVudCA9IE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCk7XG4gICAgaWYgKHBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgYnJhbmNoTGF5b3V0cyA9IGdldEJyYW5jaExheW91dHMoYm9hcmQsIHBhcmVudEVsZW1lbnQpO1xuICAgICAgICBpZiAoYnJhbmNoTGF5b3V0c1swXSA9PT0gTWluZExheW91dFR5cGUuc3RhbmRhcmQpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgICAgICAgICAgYnJhbmNoTGF5b3V0c1swXSA9IG5vZGUubGVmdCA/IE1pbmRMYXlvdXRUeXBlLmxlZnQgOiBNaW5kTGF5b3V0VHlwZS5yaWdodDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjdXJyZW50TGF5b3V0RGlyZWN0aW9ucyA9IGdldEJyYW5jaERpcmVjdGlvbnNCeUxheW91dHMoYnJhbmNoTGF5b3V0cyk7XG4gICAgICAgIGxldCBhdmFpbGFibGVTdWJMYXlvdXRzID0gZ2V0QXZhaWxhYmxlU3ViTGF5b3V0c0J5TGF5b3V0RGlyZWN0aW9ucyhjdXJyZW50TGF5b3V0RGlyZWN0aW9ucyk7XG4gICAgICAgIGNvbnN0IHBhcmVudExheW91dCA9IFticmFuY2hMYXlvdXRzW2JyYW5jaExheW91dHMubGVuZ3RoIC0gMV1dO1xuICAgICAgICBjb25zdCBwYXJlbnREaXJlY3Rpb25zID0gZ2V0QnJhbmNoRGlyZWN0aW9uc0J5TGF5b3V0cyhwYXJlbnRMYXlvdXQpO1xuICAgICAgICBjb25zdCBwYXJlbnRBdmFpbGFibGVTdWJMYXlvdXRzID0gZ2V0QXZhaWxhYmxlU3ViTGF5b3V0c0J5TGF5b3V0RGlyZWN0aW9ucyhwYXJlbnREaXJlY3Rpb25zKTtcblxuICAgICAgICBhdmFpbGFibGVTdWJMYXlvdXRzID0gYXZhaWxhYmxlU3ViTGF5b3V0cy5maWx0ZXIobGF5b3V0ID0+XG4gICAgICAgICAgICBwYXJlbnRBdmFpbGFibGVTdWJMYXlvdXRzLnNvbWUocGFyZW50QXZhaWxhYmxlU3ViTGF5b3V0ID0+IHBhcmVudEF2YWlsYWJsZVN1YkxheW91dCA9PT0gbGF5b3V0KVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gYXZhaWxhYmxlU3ViTGF5b3V0cztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG4iXX0=
@@ -15,4 +15,4 @@ export const getBranchLayouts = (board, element) => {
15
15
  }
16
16
  return layouts;
17
17
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJyYW5jaC1sYXlvdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcXVlcmllcy9nZXQtYnJhbmNoLWxheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc1RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQ2hCLGtKQUFrSjtRQUNsSixPQUFPLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQzlEO0lBQ0QsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxPQUFPLE1BQU0sRUFBRTtRQUNYLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNmLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsTUFBTSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDM0M7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50IH0gZnJvbSAnLi9nZXQtY29ycmVjdC1sYXlvdXQtYnktZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgY29uc3QgZ2V0QnJhbmNoTGF5b3V0cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBsYXlvdXRzOiBNaW5kTGF5b3V0VHlwZVtdID0gW107XG4gICAgaWYgKGVsZW1lbnQubGF5b3V0KSB7XG4gICAgICAgIC8vIFRPRE86IGdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQgQ29udGFpbnMgcmVjdXJzaXZlIG9wZXJhdGlvbnMuIGdldEJyYW5jaExheW91dHMgaXRzZWxmIGFsc28gaGFzIHJlY3Vyc2l2ZSBvcGVyYXRpb25zIGFuZCBuZWVkcyB0byBiZSBvcHRpbWl6ZWQuXG4gICAgICAgIGxheW91dHMudW5zaGlmdChnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBlbGVtZW50KSk7XG4gICAgfVxuICAgIGxldCBwYXJlbnQgPSBNaW5kRWxlbWVudC5maW5kUGFyZW50KGVsZW1lbnQpO1xuICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgICAgaWYgKHBhcmVudC5sYXlvdXQpIHtcbiAgICAgICAgICAgIGxheW91dHMudW5zaGlmdChwYXJlbnQubGF5b3V0KTtcbiAgICAgICAgfVxuICAgICAgICBwYXJlbnQgPSBNaW5kRWxlbWVudC5maW5kUGFyZW50KHBhcmVudCk7XG4gICAgfVxuICAgIHJldHVybiBsYXlvdXRzO1xufTtcbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWJyYW5jaC1sYXlvdXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcXVlcmllcy9nZXQtYnJhbmNoLWxheW91dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc1RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQ3hFLE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsa0pBQWtKO1FBQ2xKLE9BQU8sQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0MsT0FBTyxNQUFNLEVBQUUsQ0FBQztRQUNaLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFDRCxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1pbmRMYXlvdXRUeXBlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZ2V0Q29ycmVjdExheW91dEJ5RWxlbWVudCB9IGZyb20gJy4vZ2V0LWNvcnJlY3QtbGF5b3V0LWJ5LWVsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IGdldEJyYW5jaExheW91dHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgbGF5b3V0czogTWluZExheW91dFR5cGVbXSA9IFtdO1xuICAgIGlmIChlbGVtZW50LmxheW91dCkge1xuICAgICAgICAvLyBUT0RPOiBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50IENvbnRhaW5zIHJlY3Vyc2l2ZSBvcGVyYXRpb25zLiBnZXRCcmFuY2hMYXlvdXRzIGl0c2VsZiBhbHNvIGhhcyByZWN1cnNpdmUgb3BlcmF0aW9ucyBhbmQgbmVlZHMgdG8gYmUgb3B0aW1pemVkLlxuICAgICAgICBsYXlvdXRzLnVuc2hpZnQoZ2V0Q29ycmVjdExheW91dEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCkpO1xuICAgIH1cbiAgICBsZXQgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChlbGVtZW50KTtcbiAgICB3aGlsZSAocGFyZW50KSB7XG4gICAgICAgIGlmIChwYXJlbnQubGF5b3V0KSB7XG4gICAgICAgICAgICBsYXlvdXRzLnVuc2hpZnQocGFyZW50LmxheW91dCk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChwYXJlbnQpO1xuICAgIH1cbiAgICByZXR1cm4gbGF5b3V0cztcbn07XG4iXX0=
@@ -45,4 +45,4 @@ export const getCorrectLayoutByElement = (board, element) => {
45
45
  }
46
46
  }
47
47
  };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvcnJlY3QtbGF5b3V0LWJ5LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2dldC1jb3JyZWN0LWxheW91dC1ieS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDakYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFrQixDQUFDO0lBQzVFLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJDLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUMzQixPQUFPLFVBQVUsQ0FBQztLQUNyQjtJQUVELE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsSUFBSSxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDbkMsSUFBSSxVQUFVLEtBQUssY0FBYyxDQUFDLFFBQVEsRUFBRTtRQUN4QyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0tBQzlFO0lBRUQsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLElBQUksaUJBQWlCLEVBQUU7UUFDbkIsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDNUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5RCxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDNUM7YUFBTTtZQUNILE1BQU0sR0FBRyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7U0FDdEM7S0FDSjtJQUVELElBQUksTUFBTSxLQUFLLGNBQWMsQ0FBQyxRQUFRLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDL0MsT0FBTyxpQkFBaUIsQ0FBQztLQUM1QjtTQUFNO1FBQ0gsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRixJQUFJLGtCQUFrQixFQUFFO1lBQ3BCLE9BQU8sd0JBQXdCLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7U0FDL0Q7YUFBTTtZQUNILE9BQU8sTUFBTSxDQUFDO1NBQ2pCO0tBQ0o7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29ycmVjdExheW91dEJ5RGlyZWN0aW9uLCBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24sIGdldFJvb3RMYXlvdXQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUsIE1pbmRMYXlvdXRUeXBlLCBnZXRBYnN0cmFjdExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcblxuLyoqXG4gKiBnZXQgY29ycmVjdGx5IGxheW91dO+8mlxuICogMS4gcm9vdCBpcyBzdGFuZGFyZCAtPiBsZWZ0IG9yIHJpZ2h0XG4gKiAyLiBjb3JyZWN0IGxheW91dCBieSBpbmNvcnJlY3QgbGF5b3V0IGRpcmVjdGlvblxuICogQHBhcmFtIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYW5jZXN0b3JzID0gTWluZEVsZW1lbnQuZ2V0QW5jZXN0b3JzKGJvYXJkLCBlbGVtZW50KSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIGFuY2VzdG9ycy51bnNoaWZ0KGVsZW1lbnQpO1xuICAgIGNvbnN0IHJvb3QgPSBhbmNlc3RvcnNbYW5jZXN0b3JzLmxlbmd0aCAtIDFdO1xuICAgIGxldCByb290TGF5b3V0ID0gZ2V0Um9vdExheW91dChyb290KTtcblxuICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiByb290TGF5b3V0O1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgIGxldCBjb3JyZWN0Um9vdExheW91dCA9IHJvb3RMYXlvdXQ7XG4gICAgaWYgKHJvb3RMYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnN0YW5kYXJkKSB7XG4gICAgICAgIGNvcnJlY3RSb290TGF5b3V0ID0gbm9kZS5sZWZ0ID8gTWluZExheW91dFR5cGUubGVmdCA6IE1pbmRMYXlvdXRUeXBlLnJpZ2h0O1xuICAgIH1cblxuICAgIGxldCBsYXlvdXQgPSBudWxsO1xuICAgIGNvbnN0IGVsZW1lbnRXaXRoTGF5b3V0ID0gYW5jZXN0b3JzLmZpbmQodmFsdWUgPT4gdmFsdWUubGF5b3V0IHx8IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSk7XG4gICAgaWYgKGVsZW1lbnRXaXRoTGF5b3V0KSB7XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50V2l0aExheW91dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudChlbGVtZW50V2l0aExheW91dCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMYXlvdXQgPSBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBwYXJlbnQpO1xuICAgICAgICAgICAgbGF5b3V0ID0gZ2V0QWJzdHJhY3RMYXlvdXQocGFyZW50TGF5b3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxheW91dCA9IGVsZW1lbnRXaXRoTGF5b3V0Py5sYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS5zdGFuZGFyZCB8fCAhbGF5b3V0KSB7XG4gICAgICAgIHJldHVybiBjb3JyZWN0Um9vdExheW91dDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmNvcnJlY3REaXJlY3Rpb24gPSBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24oY29ycmVjdFJvb3RMYXlvdXQsIGxheW91dCk7XG4gICAgICAgIGlmIChpbmNvcnJlY3REaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBjb3JyZWN0TGF5b3V0QnlEaXJlY3Rpb24obGF5b3V0LCBpbmNvcnJlY3REaXJlY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGxheW91dDtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvcnJlY3QtbGF5b3V0LWJ5LWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9xdWVyaWVzL2dldC1jb3JyZWN0LWxheW91dC1ieS1lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSwyQkFBMkIsRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDaEcsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDakYsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFrQixDQUFDO0lBQzVFLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDM0IsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxVQUFVLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJDLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzVCLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLElBQUksaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQ25DLElBQUksVUFBVSxLQUFLLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDbEIsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUM5RCxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLEdBQUcsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQ3ZDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxNQUFNLEtBQUssY0FBYyxDQUFDLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUNyQixPQUFPLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxNQUFNLENBQUM7UUFDbEIsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29ycmVjdExheW91dEJ5RGlyZWN0aW9uLCBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24sIGdldFJvb3RMYXlvdXQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUsIE1pbmRMYXlvdXRUeXBlLCBnZXRBYnN0cmFjdExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcblxuLyoqXG4gKiBnZXQgY29ycmVjdGx5IGxheW91dO+8mlxuICogMS4gcm9vdCBpcyBzdGFuZGFyZCAtPiBsZWZ0IG9yIHJpZ2h0XG4gKiAyLiBjb3JyZWN0IGxheW91dCBieSBpbmNvcnJlY3QgbGF5b3V0IGRpcmVjdGlvblxuICogQHBhcmFtIGVsZW1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYW5jZXN0b3JzID0gTWluZEVsZW1lbnQuZ2V0QW5jZXN0b3JzKGJvYXJkLCBlbGVtZW50KSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIGFuY2VzdG9ycy51bnNoaWZ0KGVsZW1lbnQpO1xuICAgIGNvbnN0IHJvb3QgPSBhbmNlc3RvcnNbYW5jZXN0b3JzLmxlbmd0aCAtIDFdO1xuICAgIGxldCByb290TGF5b3V0ID0gZ2V0Um9vdExheW91dChyb290KTtcblxuICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiByb290TGF5b3V0O1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpO1xuICAgIGxldCBjb3JyZWN0Um9vdExheW91dCA9IHJvb3RMYXlvdXQ7XG4gICAgaWYgKHJvb3RMYXlvdXQgPT09IE1pbmRMYXlvdXRUeXBlLnN0YW5kYXJkKSB7XG4gICAgICAgIGNvcnJlY3RSb290TGF5b3V0ID0gbm9kZS5sZWZ0ID8gTWluZExheW91dFR5cGUubGVmdCA6IE1pbmRMYXlvdXRUeXBlLnJpZ2h0O1xuICAgIH1cblxuICAgIGxldCBsYXlvdXQgPSBudWxsO1xuICAgIGNvbnN0IGVsZW1lbnRXaXRoTGF5b3V0ID0gYW5jZXN0b3JzLmZpbmQodmFsdWUgPT4gdmFsdWUubGF5b3V0IHx8IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSk7XG4gICAgaWYgKGVsZW1lbnRXaXRoTGF5b3V0KSB7XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50V2l0aExheW91dCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudChlbGVtZW50V2l0aExheW91dCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRMYXlvdXQgPSBnZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBwYXJlbnQpO1xuICAgICAgICAgICAgbGF5b3V0ID0gZ2V0QWJzdHJhY3RMYXlvdXQocGFyZW50TGF5b3V0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxheW91dCA9IGVsZW1lbnRXaXRoTGF5b3V0Py5sYXlvdXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobGF5b3V0ID09PSBNaW5kTGF5b3V0VHlwZS5zdGFuZGFyZCB8fCAhbGF5b3V0KSB7XG4gICAgICAgIHJldHVybiBjb3JyZWN0Um9vdExheW91dDtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmNvcnJlY3REaXJlY3Rpb24gPSBnZXRJbkNvcnJlY3RMYXlvdXREaXJlY3Rpb24oY29ycmVjdFJvb3RMYXlvdXQsIGxheW91dCk7XG4gICAgICAgIGlmIChpbmNvcnJlY3REaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBjb3JyZWN0TGF5b3V0QnlEaXJlY3Rpb24obGF5b3V0LCBpbmNvcnJlY3REaXJlY3Rpb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGxheW91dDtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
@@ -15,4 +15,4 @@ export const getLayoutByElement = (element) => {
15
15
  }
16
16
  return getDefaultLayout();
17
17
  };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxheW91dC1ieS1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcXVlcmllcy9nZXQtbGF5b3V0LWJ5LWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQW9CLEVBQWtCLEVBQUU7SUFDdkUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM5QixJQUFJLE1BQU0sRUFBRTtRQUNSLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFNUUsSUFBSSxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sRUFBRTtRQUM1QyxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7S0FDeEQ7SUFFRCxJQUFJLE1BQU0sRUFBRTtRQUNSLE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDckM7SUFFRCxPQUFPLGdCQUFnQixFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBNaW5kTGF5b3V0VHlwZSwgZ2V0QWJzdHJhY3RMYXlvdXQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0TGF5b3V0IH0gZnJvbSAnLi4vdXRpbHMvbGF5b3V0JztcblxuZXhwb3J0IGNvbnN0IGdldExheW91dEJ5RWxlbWVudCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCk6IE1pbmRMYXlvdXRUeXBlID0+IHtcbiAgICBjb25zdCBsYXlvdXQgPSBlbGVtZW50LmxheW91dDtcbiAgICBpZiAobGF5b3V0KSB7XG4gICAgICAgIHJldHVybiBsYXlvdXQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50ID0gIVBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgTWluZEVsZW1lbnQuZ2V0UGFyZW50KGVsZW1lbnQpO1xuXG4gICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpICYmIHBhcmVudCkge1xuICAgICAgICByZXR1cm4gZ2V0QWJzdHJhY3RMYXlvdXQoZ2V0TGF5b3V0QnlFbGVtZW50KHBhcmVudCkpO1xuICAgIH1cblxuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldExheW91dEJ5RWxlbWVudChwYXJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBnZXREZWZhdWx0TGF5b3V0KCk7XG59O1xuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWxheW91dC1ieS1lbGVtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcXVlcmllcy9nZXQtbGF5b3V0LWJ5LWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQW9CLEVBQWtCLEVBQUU7SUFDdkUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUM5QixJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVFLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUM3QyxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxPQUFPLGdCQUFnQixFQUFFLENBQUM7QUFDOUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBNaW5kTGF5b3V0VHlwZSwgZ2V0QWJzdHJhY3RMYXlvdXQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0TGF5b3V0IH0gZnJvbSAnLi4vdXRpbHMvbGF5b3V0JztcblxuZXhwb3J0IGNvbnN0IGdldExheW91dEJ5RWxlbWVudCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCk6IE1pbmRMYXlvdXRUeXBlID0+IHtcbiAgICBjb25zdCBsYXlvdXQgPSBlbGVtZW50LmxheW91dDtcbiAgICBpZiAobGF5b3V0KSB7XG4gICAgICAgIHJldHVybiBsYXlvdXQ7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50ID0gIVBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgTWluZEVsZW1lbnQuZ2V0UGFyZW50KGVsZW1lbnQpO1xuXG4gICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpICYmIHBhcmVudCkge1xuICAgICAgICByZXR1cm4gZ2V0QWJzdHJhY3RMYXlvdXQoZ2V0TGF5b3V0QnlFbGVtZW50KHBhcmVudCkpO1xuICAgIH1cblxuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldExheW91dEJ5RWxlbWVudChwYXJlbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBnZXREZWZhdWx0TGF5b3V0KCk7XG59O1xuIl19
@@ -66,4 +66,4 @@ const insertAbstractNode = (board, path, start, end) => {
66
66
  clearSelectedElement(board);
67
67
  addSelectedElement(board, mindElement);
68
68
  };
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvYWJzdHJhY3Qtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBZ0IsVUFBVSxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsWUFBMEIsRUFBRSxFQUFFO0lBQ2hGLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2pELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFzQixDQUFDLENBQUM7UUFFaEUsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO1lBQ2IsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNILFVBQVUsQ0FBQyxPQUFPLENB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFRyYW5zZm9ybXMsIGFkZFNlbGVjdGVkRWxlbWVudCwgY2xlYXJTZWxlY3RlZEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZnMgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtYWJzdHJhY3QtcmVzaXplLmJvYXJkJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgaXNTdGFuZGFyZExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IGRpdmlkZUVsZW1lbnRCeVBhcmVudCwgZ2V0Rmlyc3RMZXZlbEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9taW5kJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMvbm9kZS1zdHlsZSc7XG5pbXBvcnQgeyBjcmVhdGVNaW5kRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL25vZGUvY3JlYXRlLW5vZGUnO1xuXG5leHBvcnQgY29uc3Qgc2V0QWJzdHJhY3RzQnlSZWZzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBhYnN0cmFjdFJlZnM6IEFic3RyYWN0UmVmcykgPT4ge1xuICAgIGFic3RyYWN0UmVmcy5mb3JFYWNoKChuZXdQcm9wZXJ0eSwgZWxlbWVudCkgPT4ge1xuICAgICAgICBjb25zdCBzdGFydCA9IGVsZW1lbnQuc3RhcnQhICsgbmV3UHJvcGVydHkuc3RhcnQ7XG4gICAgICAgIGNvbnN0IGVuZCA9IGVsZW1lbnQuZW5kISArIG5ld1Byb3BlcnR5LmVuZDtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQgYXMgTWluZEVsZW1lbnQpO1xuXG4gICAgICAgIGlmIChzdGFydCA+IGVuZCkge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlKGJvYXJkLCBwYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBzdGFydCwgZW5kIH0sIHBhdGgpO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0QWJzdHJhY3RCeVN0YW5kYXJkTGF5b3V0ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gZWxlbWVudC5yaWdodE5vZGVDb3VudCE7XG4gICAgY29uc3QgYWJzdHJhY3QgPSBlbGVtZW50LmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLmVuZCA+PSByaWdodE5vZGVDb3VudCAmJiBjaGlsZC5zdGFydCA8IHJpZ2h0Tm9kZUNvdW50O1xuICAgIH0pO1xuXG4gICAgaWYgKGFic3RyYWN0KSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBhYnN0cmFjdCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBlbmQ6IHJpZ2h0Tm9kZUNvdW50IC0gMSB9LCBwYXRoKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0QWJzdHJhY3QgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGxldCBlbGVtZW50R3JvdXAgPSBnZXRGaXJzdExldmVsRWxlbWVudChlbGVtZW50cyBhcyBNaW5kRWxlbWVudFtdKTtcbiAgICBjb25zdCB7IHBhcmVudEVsZW1lbnRzLCBhYnN0cmFjdEluY2x1ZGVkR3JvdXBzIH0gPSBkaXZpZGVFbGVtZW50QnlQYXJlbnQoZWxlbWVudEdyb3VwKTtcblxuICAgIGFic3RyYWN0SW5jbHVkZWRHcm91cHMuZm9yRWFjaCgoZ3JvdXAsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGdyb3VwUGFyZW50ID0gcGFyZW50RWxlbWVudHNbaW5kZXhdO1xuICAgICAgICBzZXRBYnN0cmFjdEJ5RWxlbWVudHMoYm9hcmQsIGdyb3VwUGFyZW50LCBncm91cCk7XG4gICAgfSk7XG59O1xuXG5jb25zdCBzZXRBYnN0cmFjdEJ5RWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGdyb3VwUGFyZW50OiBNaW5kRWxlbWVudCwgZ3JvdXA6IE1pbmRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCBpbmRleEFycmF5ID0gZ3JvdXAubWFwKGNoaWxkID0+IGdyb3VwUGFyZW50IS5jaGlsZHJlbi5pbmRleE9mKGNoaWxkKSkuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xuICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gZ3JvdXBQYXJlbnQ/LnJpZ2h0Tm9kZUNvdW50O1xuICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXhBcnJheVswXSxcbiAgICAgICAgZW5kID0gaW5kZXhBcnJheVtpbmRleEFycmF5Lmxlbmd0aCAtIDFdO1xuXG4gICAgaWYgKFxuICAgICAgICBpc1N0YW5kYXJkTGF5b3V0KE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChncm91cFBhcmVudCkpICYmXG4gICAgICAgIHJpZ2h0Tm9kZUNvdW50ICYmXG4gICAgICAgIHN0YXJ0IDwgcmlnaHROb2RlQ291bnQgJiZcbiAgICAgICAgZW5kID49IHJpZ2h0Tm9kZUNvdW50XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gZ3JvdXBQYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xuICAgICAgICBjb25zdCBwYXRoID0gWy4uLlBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGdyb3VwUGFyZW50KSwgY2hpbGRyZW5MZW5ndGhdO1xuICAgICAgICBjb25zdCBsZWZ0Q2hpbGRyZW4gPSBpbmRleEFycmF5LmZpbHRlcihpbmRleCA9PiBpbmRleCA+PSByaWdodE5vZGVDb3VudCk7XG4gICAgICAgIGNvbnN0IHJpZ2h0Q2hpbGRyZW4gPSBpbmRleEFycmF5LmZpbHRlcihpbmRleCA9PiBpbmRleCA8IHJpZ2h0Tm9kZUNvdW50KTtcbiAgICAgICAgaW5zZXJ0QWJzdHJhY3ROb2RlKGJvYXJkLCBwYXRoLCByaWdodENoaWxkcmVuWzBdLCByaWdodENoaWxkcmVuW3JpZ2h0Q2hpbGRyZW4ubGVuZ3RoIC0gMV0pO1xuICAgICAgICBpbnNlcnRBYnN0cmFjdE5vZGUoYm9hcmQsIFBhdGgubmV4dChwYXRoKSwgbGVmdENoaWxkcmVuWzBdLCBsZWZ0Q2hpbGRyZW5bbGVmdENoaWxkcmVuLmxlbmd0aCAtIDFdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBwYXRoID0gWy4uLlBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGdyb3VwUGFyZW50KSwgZ3JvdXBQYXJlbnQuY2hpbGRyZW4ubGVuZ3RoXTtcbiAgICAgICAgaW5zZXJ0QWJzdHJhY3ROb2RlKGJvYXJkLCBwYXRoLCBzdGFydCwgZW5kKTtcbiAgICB9XG59O1xuXG5jb25zdCBpbnNlcnRBYnN0cmFjdE5vZGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhdGg6IFBhdGgsIHN0YXJ0OiBudW1iZXIsIGVuZDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbWluZEVsZW1lbnQgPSBjcmVhdGVNaW5kRWxlbWVudCgn5qaC6KaBJywgMjgsIDIwLCB7XG4gICAgICAgIHN0cm9rZVdpZHRoOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuYnJhbmNoLndpZHRoLFxuICAgICAgICBicmFuY2hXaWR0aDogRGVmYXVsdEFic3RyYWN0Tm9kZVN0eWxlLmJyYW5jaC53aWR0aFxuICAgIH0pO1xuXG4gICAgbWluZEVsZW1lbnQuc3RhcnQgPSBzdGFydDtcbiAgICBtaW5kRWxlbWVudC5lbmQgPSBlbmQ7XG5cbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIG1pbmRFbGVtZW50LCBwYXRoKTtcblxuICAgIGNsZWFyU2VsZWN0ZWRFbGVtZW50KGJvYXJkKTtcbiAgICBhZGRTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIG1pbmRFbGVtZW50KTtcbn07XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtbm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvYWJzdHJhY3Qtbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBZ0IsVUFBVSxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR25ILE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsWUFBMEIsRUFBRSxFQUFFO0lBQ2hGLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQU0sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQ2pELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFzQixDQUFDLENBQUM7UUFFaEUsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDZCxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNKLFVB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NUIsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGgsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgVHJhbnNmb3JtcywgYWRkU2VsZWN0ZWRFbGVtZW50LCBjbGVhclNlbGVjdGVkRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0UmVmcyB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1hYnN0cmFjdC1yZXNpemUuYm9hcmQnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZGl2aWRlRWxlbWVudEJ5UGFyZW50LCBnZXRGaXJzdExldmVsRWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL21pbmQnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IERlZmF1bHRBYnN0cmFjdE5vZGVTdHlsZSB9IGZyb20gJy4uL2NvbnN0YW50cy9ub2RlLXN0eWxlJztcbmltcG9ydCB7IGNyZWF0ZU1pbmRFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9jcmVhdGUtbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBzZXRBYnN0cmFjdHNCeVJlZnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGFic3RyYWN0UmVmczogQWJzdHJhY3RSZWZzKSA9PiB7XG4gICAgYWJzdHJhY3RSZWZzLmZvckVhY2goKG5ld1Byb3BlcnR5LCBlbGVtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gZWxlbWVudC5zdGFydCEgKyBuZXdQcm9wZXJ0eS5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kID0gZWxlbWVudC5lbmQhICsgbmV3UHJvcGVydHkuZW5kO1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCBhcyBNaW5kRWxlbWVudCk7XG5cbiAgICAgICAgaWYgKHN0YXJ0ID4gZW5kKSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGUoYm9hcmQsIHBhdGgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IHN0YXJ0LCBlbmQgfSwgcGF0aCk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRBYnN0cmFjdEJ5U3RhbmRhcmRMYXlvdXQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcmlnaHROb2RlQ291bnQgPSBlbGVtZW50LnJpZ2h0Tm9kZUNvdW50ITtcbiAgICBjb25zdCBhYnN0cmFjdCA9IGVsZW1lbnQuY2hpbGRyZW4uZmluZChjaGlsZCA9PiB7XG4gICAgICAgIHJldHVybiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuZW5kID49IHJpZ2h0Tm9kZUNvdW50ICYmIGNoaWxkLnN0YXJ0IDwgcmlnaHROb2RlQ291bnQ7XG4gICAgfSk7XG5cbiAgICBpZiAoYWJzdHJhY3QpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGFic3RyYWN0KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IGVuZDogcmlnaHROb2RlQ291bnQgLSAxIH0sIHBhdGgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRBYnN0cmFjdCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgbGV0IGVsZW1lbnRHcm91cCA9IGdldEZpcnN0TGV2ZWxFbGVtZW50KGVsZW1lbnRzIGFzIE1pbmRFbGVtZW50W10pO1xuICAgIGNvbnN0IHsgcGFyZW50RWxlbWVudHMsIGFic3RyYWN0SW5jbHVkZWRHcm91cHMgfSA9IGRpdmlkZUVsZW1lbnRCeVBhcmVudChlbGVtZW50R3JvdXApO1xuXG4gICAgYWJzdHJhY3RJbmNsdWRlZEdyb3Vwcy5mb3JFYWNoKChncm91cCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgZ3JvdXBQYXJlbnQgPSBwYXJlbnRFbGVtZW50c1tpbmRleF07XG4gICAgICAgIHNldEFic3RyYWN0QnlFbGVtZW50cyhib2FyZCwgZ3JvdXBQYXJlbnQsIGdyb3VwKTtcbiAgICB9KTtcbn07XG5cbmNvbnN0IHNldEFic3RyYWN0QnlFbGVtZW50cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZ3JvdXBQYXJlbnQ6IE1pbmRFbGVtZW50LCBncm91cDogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IGluZGV4QXJyYXkgPSBncm91cC5tYXAoY2hpbGQgPT4gZ3JvdXBQYXJlbnQhLmNoaWxkcmVuLmluZGV4T2YoY2hpbGQpKS5zb3J0KChhLCBiKSA9PiBhIC0gYik7XG4gICAgY29uc3QgcmlnaHROb2RlQ291bnQgPSBncm91cFBhcmVudD8ucmlnaHROb2RlQ291bnQ7XG4gICAgY29uc3Qgc3RhcnQgPSBpbmRleEFycmF5WzBdLFxuICAgICAgICBlbmQgPSBpbmRleEFycmF5W2luZGV4QXJyYXkubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoXG4gICAgICAgIGlzU3RhbmRhcmRMYXlvdXQoTWluZFF1ZXJpZXMuZ2V0TGF5b3V0QnlFbGVtZW50KGdyb3VwUGFyZW50KSkgJiZcbiAgICAgICAgcmlnaHROb2RlQ291bnQgJiZcbiAgICAgICAgc3RhcnQgPCByaWdodE5vZGVDb3VudCAmJlxuICAgICAgICBlbmQgPj0gcmlnaHROb2RlQ291bnRcbiAgICApIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5MZW5ndGggPSBncm91cFBhcmVudC5jaGlsZHJlbi5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHBhdGggPSBbLi4uUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZ3JvdXBQYXJlbnQpLCBjaGlsZHJlbkxlbmd0aF07XG4gICAgICAgIGNvbnN0IGxlZnRDaGlsZHJlbiA9IGluZGV4QXJyYXkuZmlsdGVyKGluZGV4ID0+IGluZGV4ID49IHJpZ2h0Tm9kZUNvdW50KTtcbiAgICAgICAgY29uc3QgcmlnaHRDaGlsZHJlbiA9IGluZGV4QXJyYXkuZmlsdGVyKGluZGV4ID0+IGluZGV4IDwgcmlnaHROb2RlQ291bnQpO1xuICAgICAgICBpbnNlcnRBYnN0cmFjdE5vZGUoYm9hcmQsIHBhdGgsIHJpZ2h0Q2hpbGRyZW5bMF0sIHJpZ2h0Q2hpbGRyZW5bcmlnaHRDaGlsZHJlbi5sZW5ndGggLSAxXSk7XG4gICAgICAgIGluc2VydEFic3RyYWN0Tm9kZShib2FyZCwgUGF0aC5uZXh0KHBhdGgpLCBsZWZ0Q2hpbGRyZW5bMF0sIGxlZnRDaGlsZHJlbltsZWZ0Q2hpbGRyZW4ubGVuZ3RoIC0gMV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBbLi4uUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZ3JvdXBQYXJlbnQpLCBncm91cFBhcmVudC5jaGlsZHJlbi5sZW5ndGhdO1xuICAgICAgICBpbnNlcnRBYnN0cmFjdE5vZGUoYm9hcmQsIHBhdGgsIHN0YXJ0LCBlbmQpO1xuICAgIH1cbn07XG5cbmNvbnN0IGluc2VydEFic3RyYWN0Tm9kZSA9IChib2FyZDogUGxhaXRCb2FyZCwgcGF0aDogUGF0aCwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBtaW5kRWxlbWVudCA9IGNyZWF0ZU1pbmRFbGVtZW50KCfmpoLopoEnLCAyOCwgMjAsIHtcbiAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRBYnN0cmFjdE5vZGVTdHlsZS5icmFuY2gud2lkdGgsXG4gICAgICAgIGJyYW5jaFdpZHRoOiBEZWZhdWx0QWJzdHJhY3ROb2RlU3R5bGUuYnJhbmNoLndpZHRoXG4gICAgfSk7XG5cbiAgICBtaW5kRWxlbWVudC5zdGFydCA9IHN0YXJ0O1xuICAgIG1pbmRFbGVtZW50LmVuZCA9IGVuZDtcblxuICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgbWluZEVsZW1lbnQsIHBhdGgpO1xuXG4gICAgY2xlYXJTZWxlY3RlZEVsZW1lbnQoYm9hcmQpO1xuICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgbWluZEVsZW1lbnQpO1xufTtcbiJdfQ==
@@ -38,4 +38,4 @@ export const replaceEmoji = (board, element, oldEmoji, newEmoji) => {
38
38
  const path = PlaitBoard.findPath(board, element);
39
39
  Transforms.setNode(board, newElement, path);
40
40
  };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2Vtb2ppLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdyRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsU0FBb0IsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQixNQUFNLFVBQVUsR0FBRztRQUNmLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0tBQ2hDLENBQUM7SUFDakIsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBK0IsRUFBRSxTQUFvQixFQUFFLEVBQUU7SUFDcEcsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0tBQ3ZCLENBQUM7SUFFakIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0tBQzlDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNuQixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7S0FDbkM7SUFDRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLFFBQW1CLEVBQUUsUUFBbUIsRUFBRSxFQUFFO0lBQ3pILE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFO0tBQ2IsQ0FBQztJQUNqQixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUMsSUFBSSxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3BCLE9BQU8sUUFBUSxDQUFDO1NBQ25CO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDSCxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBFbW9qaURhdGEsIEVtb2ppSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcblxuZXhwb3J0IGNvbnN0IGFkZEVtb2ppID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgZW1vamlJdGVtOiBFbW9qaUl0ZW0pID0+IHtcbiAgICBjb25zdCBlbW9qaXMgPSBlbGVtZW50LmRhdGEuZW1vamlzIHx8IFtdO1xuICAgIGNvbnN0IG5ld0Vtb2ppcyA9IFsuLi5lbW9qaXNdO1xuICAgIG5ld0Vtb2ppcy5wdXNoKGVtb2ppSXRlbSk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEsIGVtb2ppczogbmV3RW1vamlzIH1cbiAgICB9IGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUVtb2ppID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+LCBlbW9qaUl0ZW06IEVtb2ppSXRlbSkgPT4ge1xuICAgIGNvbnN0IGVtb2ppcyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMuZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBlbW9qaUl0ZW0pO1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgdG9waWM6IGVsZW1lbnQuZGF0YS50b3BpYyB9XG4gICAgfSBhcyBNaW5kRWxlbWVudDtcblxuICAgIGlmIChNaW5kRWxlbWVudC5oYXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICBuZXdFbGVtZW50LmRhdGEuaW1hZ2UgPSBlbGVtZW50LmRhdGEuaW1hZ2U7XG4gICAgfVxuXG4gICAgaWYgKGVtb2ppcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG5ld0VsZW1lbnQuZGF0YS5lbW9qaXMgPSBlbW9qaXM7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2VFbW9qaSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQ8RW1vamlEYXRhPiwgb2xkRW1vamk6IEVtb2ppSXRlbSwgbmV3RW1vamk6IEVtb2ppSXRlbSkgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgLi4uZWxlbWVudC5kYXRhIH1cbiAgICB9IGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IG5ld0Vtb2ppcyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMubWFwKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBvbGRFbW9qaSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ld0Vtb2ppO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcbiAgICBuZXdFbGVtZW50LmRhdGEuZW1vamlzID0gbmV3RW1vamlzO1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcbiJdfQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1vamkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2Vtb2ppLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdyRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQW9CLEVBQUUsU0FBb0IsRUFBRSxFQUFFO0lBQ3RGLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDOUIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxQixNQUFNLFVBQVUsR0FBRztRQUNmLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFO0tBQ2hDLENBQUM7SUFDakIsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBK0IsRUFBRSxTQUFvQixFQUFFLEVBQUU7SUFDcEcsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO0tBQ3ZCLENBQUM7SUFFakIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDaEMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDcEMsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsUUFBbUIsRUFBRSxRQUFtQixFQUFFLEVBQUU7SUFDekgsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7S0FDYixDQUFDO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM5QyxJQUFJLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNyQixPQUFPLFFBQVEsQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDSCxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDbkMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBFbW9qaURhdGEsIEVtb2ppSXRlbSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcblxuZXhwb3J0IGNvbnN0IGFkZEVtb2ppID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgZW1vamlJdGVtOiBFbW9qaUl0ZW0pID0+IHtcbiAgICBjb25zdCBlbW9qaXMgPSBlbGVtZW50LmRhdGEuZW1vamlzIHx8IFtdO1xuICAgIGNvbnN0IG5ld0Vtb2ppcyA9IFsuLi5lbW9qaXNdO1xuICAgIG5ld0Vtb2ppcy5wdXNoKGVtb2ppSXRlbSk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEsIGVtb2ppczogbmV3RW1vamlzIH1cbiAgICB9IGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUVtb2ppID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+LCBlbW9qaUl0ZW06IEVtb2ppSXRlbSkgPT4ge1xuICAgIGNvbnN0IGVtb2ppcyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMuZmlsdGVyKHZhbHVlID0+IHZhbHVlICE9PSBlbW9qaUl0ZW0pO1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgdG9waWM6IGVsZW1lbnQuZGF0YS50b3BpYyB9XG4gICAgfSBhcyBNaW5kRWxlbWVudDtcblxuICAgIGlmIChNaW5kRWxlbWVudC5oYXNJbWFnZShlbGVtZW50KSkge1xuICAgICAgICBuZXdFbGVtZW50LmRhdGEuaW1hZ2UgPSBlbGVtZW50LmRhdGEuaW1hZ2U7XG4gICAgfVxuXG4gICAgaWYgKGVtb2ppcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIG5ld0VsZW1lbnQuZGF0YS5lbW9qaXMgPSBlbW9qaXM7XG4gICAgfVxuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2VFbW9qaSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQ8RW1vamlEYXRhPiwgb2xkRW1vamk6IEVtb2ppSXRlbSwgbmV3RW1vamk6IEVtb2ppSXRlbSkgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgLi4uZWxlbWVudC5kYXRhIH1cbiAgICB9IGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IG5ld0Vtb2ppcyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMubWFwKHZhbHVlID0+IHtcbiAgICAgICAgaWYgKHZhbHVlID09PSBvbGRFbW9qaSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ld0Vtb2ppO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9KTtcbiAgICBuZXdFbGVtZW50LmRhdGEuZW1vamlzID0gbmV3RW1vamlzO1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcbiJdfQ==
@@ -28,4 +28,4 @@ export const setImage = (board, element, imageItem) => {
28
28
  const path = PlaitBoard.findPath(board, element);
29
29
  Transforms.setNode(board, newElement, path);
30
30
  };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcvRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsRUFBRTtJQUM5RSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7S0FDYixDQUFDO0lBQ2pCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFakQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksU0FBUyxFQUFFO1FBQ1gsVUFBVSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7S0FDdkQ7SUFFRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLFNBQTBCLEVBQUUsRUFBRTtJQUM1RixNQUFNLFVBQVUsR0FBRztRQUNmLElBQUksRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFO0tBQzlDLENBQUM7SUFFRixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBdUIsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVHLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksU0FBUyxFQUFFO1FBQ1YsVUFBMEIsQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0tBQ3hFO0lBRUQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBJbWFnZURhdGEsIE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyByZW1vdmVJbWFnZUZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9pbWFnZSc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgZ2V0TmV3Tm9kZUhlaWdodCB9IGZyb20gJy4uL3V0aWxzL25vZGUvZHluYW1pYy13aWR0aCc7XG5pbXBvcnQgeyBDb21tb25JbWFnZUl0ZW0gfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+KSA9PiB7XG4gICAgcmVtb3ZlSW1hZ2VGb2N1cyhib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEgfVxuICAgIH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgZGVsZXRlIG5ld0VsZW1lbnQuZGF0YS5pbWFnZTtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG5cbiAgICBjb25zdCBuZXdEeW5hbWljV2lkdGggPSBOb2RlU3BhY2UuZ2V0Tm9kZU5ld0R5bmFtaWNXaWR0aChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgMCk7XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gZ2V0TmV3Tm9kZUhlaWdodChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgbmV3RHluYW1pY1dpZHRoKTtcbiAgICBpZiAobmV3SGVpZ2h0KSB7XG4gICAgICAgIG5ld0VsZW1lbnQuaGVpZ2h0ID0gbmV3SGVpZ2h0IC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICB9XG5cbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgaW1hZ2VJdGVtOiBDb21tb25JbWFnZUl0ZW0pID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgaW1hZ2U6IGltYWdlSXRlbSB9XG4gICAgfTtcblxuICAgIGNvbnN0IG5ld0R5bmFtaWNXaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlTmV3RHluYW1pY1dpZHRoKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50LCBpbWFnZUl0ZW0ud2lkdGgpO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IGdldE5ld05vZGVIZWlnaHQoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQsIG5ld0R5bmFtaWNXaWR0aCk7XG4gICAgaWYgKG5ld0hlaWdodCkge1xuICAgICAgICAobmV3RWxlbWVudCBhcyBNaW5kRWxlbWVudCkuaGVpZ2h0ID0gbmV3SGVpZ2h0IC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcvRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsRUFBRTtJQUM5RSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7S0FDYixDQUFDO0lBQ2pCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0IsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFakQsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlGLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3RGLElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixVQUFVLENBQUMsTUFBTSxHQUFHLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxTQUEwQixFQUFFLEVBQUU7SUFDNUYsTUFBTSxVQUFVLEdBQUc7UUFDZixJQUFJLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtLQUM5QyxDQUFDO0lBRUYsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQXVCLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxLQUF1QixFQUFFLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN0RixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1gsVUFBMEIsQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ3pFLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEltYWdlRGF0YSwgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IHJlbW92ZUltYWdlRm9jdXMgfSBmcm9tICcuLi91dGlscy9ub2RlL2ltYWdlJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBnZXROZXdOb2RlSGVpZ2h0IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9keW5hbWljLXdpZHRoJztcbmltcG9ydCB7IENvbW1vbkltYWdlSXRlbSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlSW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pID0+IHtcbiAgICByZW1vdmVJbWFnZUZvY3VzKGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSB9XG4gICAgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBkZWxldGUgbmV3RWxlbWVudC5kYXRhLmltYWdlO1xuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcblxuICAgIGNvbnN0IG5ld0R5bmFtaWNXaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlTmV3RHluYW1pY1dpZHRoKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50LCAwKTtcbiAgICBjb25zdCBuZXdIZWlnaHQgPSBnZXROZXdOb2RlSGVpZ2h0KGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50LCBuZXdEeW5hbWljV2lkdGgpO1xuICAgIGlmIChuZXdIZWlnaHQpIHtcbiAgICAgICAgbmV3RWxlbWVudC5oZWlnaHQgPSBuZXdIZWlnaHQgLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIH1cblxuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SW1hZ2UgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBpbWFnZUl0ZW06IENvbW1vbkltYWdlSXRlbSkgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIGRhdGE6IHsgLi4uZWxlbWVudC5kYXRhLCBpbWFnZTogaW1hZ2VJdGVtIH1cbiAgICB9O1xuXG4gICAgY29uc3QgbmV3RHluYW1pY1dpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVOZXdEeW5hbWljV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQsIGltYWdlSXRlbS53aWR0aCk7XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gZ2V0TmV3Tm9kZUhlaWdodChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCwgbmV3RHluYW1pY1dpZHRoKTtcbiAgICBpZiAobmV3SGVpZ2h0KSB7XG4gICAgICAgIChuZXdFbGVtZW50IGFzIE1pbmRFbGVtZW50KS5oZWlnaHQgPSBuZXdIZWlnaHQgLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIH1cblxuICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcbiJdfQ==
@@ -16,4 +16,4 @@ export const correctLogicLayoutNode = (board, layout, path) => {
16
16
  });
17
17
  }
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdHJhbnNmb3Jtcy9sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsTUFBc0IsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUM1RixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFO1lBQy9DLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDZCxJQUNJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4RSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUMxRTtvQkFDRSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7aUJBQ2pFO2dCQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUU7b0JBQ3hCLHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7S0FDTjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBhdGgsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGlzSG9yaXpvbnRhbExvZ2ljTGF5b3V0LCBpc1ZlcnRpY2FsTG9naWNMYXlvdXQsIE1pbmRMYXlvdXRUeXBlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuXG5leHBvcnQgY29uc3QgY29ycmVjdExvZ2ljTGF5b3V0Tm9kZSA9IChib2FyZDogUGxhaXRCb2FyZCwgbGF5b3V0OiBNaW5kTGF5b3V0VHlwZSwgcGF0aDogUGF0aCkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoKTtcbiAgICBpZiAobm9kZSAmJiBsYXlvdXQpIHtcbiAgICAgICAgbm9kZS5jaGlsZHJlbj8uZm9yRWFjaCgodmFsdWU6IFBsYWl0Tm9kZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZS5sYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIChpc0hvcml6b250YWxMb2dpY0xheW91dChsYXlvdXQpICYmIGlzVmVydGljYWxMb2dpY0xheW91dCh2YWx1ZS5sYXlvdXQpKSB8fFxuICAgICAgICAgICAgICAgICAgICAoaXNWZXJ0aWNhbExvZ2ljTGF5b3V0KGxheW91dCkgJiYgaXNIb3Jpem9udGFsTG9naWNMYXlvdXQodmFsdWUubGF5b3V0KSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IGxheW91dDogbnVsbCB9LCBbLi4ucGF0aCwgaW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmNoaWxkcmVuPy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29ycmVjdExvZ2ljTGF5b3V0Tm9kZShib2FyZCwgbGF5b3V0LCBbLi4ucGF0aCwgaW5kZXhdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdHJhbnNmb3Jtcy9sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxxQkFBcUIsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsTUFBc0IsRUFBRSxJQUFVLEVBQUUsRUFBRTtJQUM1RixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2YsSUFDSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEUsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDMUUsQ0FBQztvQkFDQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ2xFLENBQUM7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO29CQUN6QixzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQYXRoLCBQbGFpdE5vZGUsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBpc0hvcml6b250YWxMb2dpY0xheW91dCwgaXNWZXJ0aWNhbExvZ2ljTGF5b3V0LCBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcblxuZXhwb3J0IGNvbnN0IGNvcnJlY3RMb2dpY0xheW91dE5vZGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGxheW91dDogTWluZExheW91dFR5cGUsIHBhdGg6IFBhdGgpID0+IHtcbiAgICBjb25zdCBub2RlID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCk7XG4gICAgaWYgKG5vZGUgJiYgbGF5b3V0KSB7XG4gICAgICAgIG5vZGUuY2hpbGRyZW4/LmZvckVhY2goKHZhbHVlOiBQbGFpdE5vZGUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUubGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAoaXNIb3Jpem9udGFsTG9naWNMYXlvdXQobGF5b3V0KSAmJiBpc1ZlcnRpY2FsTG9naWNMYXlvdXQodmFsdWUubGF5b3V0KSkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGlzVmVydGljYWxMb2dpY0xheW91dChsYXlvdXQpICYmIGlzSG9yaXpvbnRhbExvZ2ljTGF5b3V0KHZhbHVlLmxheW91dCkpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBsYXlvdXQ6IG51bGwgfSwgWy4uLnBhdGgsIGluZGV4XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5jaGlsZHJlbj8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvcnJlY3RMb2dpY0xheW91dE5vZGUoYm9hcmQsIGxheW91dCwgWy4uLnBhdGgsIGluZGV4XSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59O1xuIl19
@@ -93,4 +93,4 @@ export const insertSiblingNode = (board, element) => {
93
93
  insertMindElement(board, element, findNewSiblingNodePath(board, element));
94
94
  }
95
95
  };
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFHLE9BQU8sRUFBZSxnQ0FBZ0MsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RILE9BQU8sRUFBcUIsaUNBQWlDLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUMzRyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pHLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFjLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQ25ILE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtRQUNoQyxHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztLQUM3QyxDQUFDO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDN0csTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEgsTUFBTSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBaUIsQ0FBQztJQUM3RixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN2RyxNQUFNLFVBQVUsR0FBRztRQUNmLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0tBQzVELENBQUM7SUFDRixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RSxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7UUFDckIsWUFBWSxHQUFHLElBQUksQ0FBQztLQUN2QjtJQUNELElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDakMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQy9DO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBaUIsRUFBRSxRQUF1QixFQUFFLElBQVUsRUFBRSxFQUFFO0lBQ2xGLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN2QixJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDakIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMxRDtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBaUIsRUFBRSxpQkFBZ0MsRUFBRSxRQUF1QixFQUFFLElBQVUsRUFBRSxFQUFFO0lBQzVILE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLGdDQUFnQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RSxPQUFPO1lBQ0gsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBeUIsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDM0UsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMzQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5RCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQXlCLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ2hFLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUN4QyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztLQUMzRTtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDN0UsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzlHLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELElBQUksK0JBQStCLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDMUMsTUFBTSxJQUFJLEdBQUcsaUNBQWlDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNFLHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN4QztRQUNELE1BQU0sWUFBWSxHQUFHLDJCQUEyQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDekUsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsc0JBQXNCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FDN0U7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEhpc3RvcnlCb2FyZCwgUGxhaXROb2RlLCBUcmFuc2Zvcm1zLCByZW1vdmVTZWxlY3RlZEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFJlZiwgZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYsIGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdCB9IGZyb20gJy4uL3V0aWxzL2Fic3RyYWN0L2NvbW1vbic7XG5pbXBvcnQgeyBSaWdodE5vZGVDb3VudFJlZiwgaW5zZXJ0RWxlbWVudEhhbmRsZVJpZ2h0Tm9kZUNvdW50LCBpc0luUmlnaHRCcmFuY2hPZlN0YW5kYXJkTGF5b3V0IH0gZnJvbSAnLi4vdXRpbHMvbm9kZS9yaWdodC1ub2RlLWNvdW50JztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBmaW5kTmV3Q2hpbGROb2RlUGF0aCwgZmluZE5ld1NpYmxpbmdOb2RlUGF0aCwgaW5zZXJ0TWluZEVsZW1lbnQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzZXRBYnN0cmFjdHNCeVJlZnMgfSBmcm9tICcuL2Fic3RyYWN0LW5vZGUnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuXG5jb25zdCBub3JtYWxpemVXaWR0aEFuZEhlaWdodCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG1pbldpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVUb3BpY01pbldpZHRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBuZXdXaWR0aCA9IHdpZHRoIDwgbWluV2lkdGggKiBib2FyZC52aWV3cG9ydC56b29tID8gbWluV2lkdGggOiB3aWR0aCAvIGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgY29uc3QgbmV3SGVpZ2h0ID0gaGVpZ2h0IC8gYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICByZXR1cm4geyB3aWR0aDogTWF0aC5jZWlsKG5ld1dpZHRoKSwgaGVpZ2h0OiBuZXdIZWlnaHQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpYyA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB0b3BpYzogRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICBkYXRhOiB7IC4uLmVsZW1lbnQuZGF0YSwgdG9waWMgfSxcbiAgICAgICAgLi4ubm9ybWFsaXplV2lkdGhBbmRIZWlnaHQoYm9hcmQsIGVsZW1lbnQsIHdpZHRoLCBoZWlnaHQpXG4gICAgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXROb2RlTWFudWFsV2lkdGggPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgeyB3aWR0aDogbm9ybWFsaXplZFdpZHRoLCBoZWlnaHQ6IG5vcm1hbGl6ZWRIZWlnaHQgfSA9IG5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0geyBtYW51YWxXaWR0aDogbm9ybWFsaXplZFdpZHRoLCBoZWlnaHQ6IG5vcm1hbGl6ZWRIZWlnaHQgfSBhcyBNaW5kRWxlbWVudDtcbiAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFRvcGljU2l6ZSA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQgPSB7XG4gICAgICAgIC4uLm5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KVxuICAgIH07XG4gICAgbGV0IGlzRXF1YWxXaWR0aCA9IE1hdGguY2VpbChlbGVtZW50LndpZHRoKSA9PT0gTWF0aC5jZWlsKG5ld0VsZW1lbnQud2lkdGgpO1xuICAgIGxldCBpc0VxdWFsSGVpZ2h0ID0gTWF0aC5jZWlsKGVsZW1lbnQuaGVpZ2h0KSA9PT0gTWF0aC5jZWlsKG5ld0VsZW1lbnQuaGVpZ2h0KTtcbiAgICBpZiAoZWxlbWVudC5tYW51YWxXaWR0aCkge1xuICAgICAgICBpc0VxdWFsV2lkdGggPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlzRXF1YWxXaWR0aCB8fCAhaXNFcXVhbEhlaWdodCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydE5vZGVzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogTWluZEVsZW1lbnRbXSwgcGF0aDogUGF0aCkgPT4ge1xuICAgIGNvbnN0IHBhdGhSZWYgPSBib2FyZC5wYXRoUmVmKHBhdGgpO1xuICAgIGVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChwYXRoUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgZWxlbWVudCwgcGF0aFJlZi5jdXJyZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHBhdGhSZWYudW5yZWYoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRBYnN0cmFjdE5vZGVzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCB2YWxpZEFic3RyYWN0UmVmczogQWJzdHJhY3RSZWZbXSwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10sIHBhdGg6IFBhdGgpID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnBhcmVudChwYXRoKSk7XG4gICAgY29uc3QgYWJzdHJhY3RQYXRoID0gWy4uLlBhdGgucGFyZW50KHBhdGgpLCBwYXJlbnQuY2hpbGRyZW4/Lmxlbmd0aCFdO1xuICAgIGNvbnN0IGFic3RyYWN0cyA9IHZhbGlkQWJzdHJhY3RSZWZzLm1hcChyZWZzID0+IHtcbiAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZihyZWZzLCBlbGVtZW50cyk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5yZWZzLmFic3RyYWN0LFxuICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0ICsgcGF0aFtwYXRoLmxlbmd0aCAtIDFdLFxuICAgICAgICAgICAgZW5kOiBlbmQgKyBwYXRoW3BhdGgubGVuZ3RoIC0gMV1cbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGluc2VydE5vZGVzKGJvYXJkLCBhYnN0cmFjdHMsIGFic3RyYWN0UGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0UmlnaHROb2RlQ291bnRCeVJlZnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlZnM6IFJpZ2h0Tm9kZUNvdW50UmVmW10pID0+IHtcbiAgICByZWZzLmZvckVhY2gocmVmID0+IHtcbiAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCB7IHJpZ2h0Tm9kZUNvdW50OiByZWYucmlnaHROb2RlQ291bnQgfSwgcmVmLnBhdGgpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydENoaWxkTm9kZSA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpKSB7XG4gICAgICAgIHJlbW92ZVNlbGVjdGVkRWxlbWVudChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnRQYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGlmIChlbGVtZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdFbGVtZW50OiBQYXJ0aWFsPE1pbmRFbGVtZW50PiA9IHsgaXNDb2xsYXBzZWQ6IGZhbHNlIH07XG4gICAgICAgICAgICBQbGFpdEhpc3RvcnlCb2FyZC53aXRob3V0U2F2aW5nKGJvYXJkLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCB0YXJnZXRFbGVtZW50UGF0aCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpbnNlcnRNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCwgZmluZE5ld0NoaWxkTm9kZVBhdGgoYm9hcmQsIGVsZW1lbnQpKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0U2libGluZ05vZGUgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSAmJiAhUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSAmJiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBpZiAoaXNJblJpZ2h0QnJhbmNoT2ZTdGFuZGFyZExheW91dChlbGVtZW50KSkge1xuICAgICAgICAgICAgY29uc3QgcmVmcyA9IGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudChib2FyZCwgcGF0aC5zbGljZSgwLCAxKSwgMSk7XG4gICAgICAgICAgICBzZXRSaWdodE5vZGVDb3VudEJ5UmVmcyhib2FyZCwgcmVmcyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWJzdHJhY3RSZWZzID0gaW5zZXJ0RWxlbWVudEhhbmRsZUFic3RyYWN0KGJvYXJkLCBQYXRoLm5leHQocGF0aCkpO1xuICAgICAgICBzZXRBYnN0cmFjdHNCeVJlZnMoYm9hcmQsIGFic3RyYWN0UmVmcyk7XG4gICAgICAgIGluc2VydE1pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50LCBmaW5kTmV3U2libGluZ05vZGVQYXRoKGJvYXJkLCBlbGVtZW50KSk7XG4gICAgfVxufTtcbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3RyYW5zZm9ybXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFHLE9BQU8sRUFBZSxnQ0FBZ0MsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RILE9BQU8sRUFBcUIsaUNBQWlDLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2SSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUMzRyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pHLE1BQU0sU0FBUyxHQUFHLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFjLEVBQUUsS0FBYSxFQUFFLE1BQWMsRUFBRSxFQUFFO0lBQ25ILE1BQU0sVUFBVSxHQUFHO1FBQ2YsSUFBSSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtRQUNoQyxHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztLQUM3QyxDQUFDO0lBQ2pCLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLEVBQUU7SUFDN0csTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakQsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEgsTUFBTSxVQUFVLEdBQUcsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBaUIsQ0FBQztJQUM3RixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtJQUN2RyxNQUFNLFVBQVUsR0FBRztRQUNmLEdBQUcsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0tBQzVELENBQUM7SUFDRixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RSxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN0QixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQXVCLEVBQUUsSUFBVSxFQUFFLEVBQUU7SUFDbEYsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZCLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBaUIsRUFBRSxpQkFBZ0MsRUFBRSxRQUF1QixFQUFFLElBQVUsRUFBRSxFQUFFO0lBQzVILE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxNQUFNLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU8sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLGdDQUFnQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RSxPQUFPO1lBQ0gsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUNoQixLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNuQyxDQUFDO0lBQ04sQ0FBQyxDQUFDLENBQUM7SUFFSCxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBeUIsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDZixVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hGLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBcUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDM0UsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQzVDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0QyxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlELElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sVUFBVSxHQUF5QixFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNoRSxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDeEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQW9CLEVBQUUsRUFBRTtJQUM3RSxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMvRyxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRCxJQUFJLCtCQUErQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0MsTUFBTSxJQUFJLEdBQUcsaUNBQWlDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzNFLHVCQUF1QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBQ0QsTUFBTSxZQUFZLEdBQUcsMkJBQTJCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN6RSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDeEMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCwgUGF0aCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRIaXN0b3J5Qm9hcmQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcywgcmVtb3ZlU2VsZWN0ZWRFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RSZWYsIGdldFJlbGF0aXZlU3RhcnRFbmRCeUFic3RyYWN0UmVmLCBpbnNlcnRFbGVtZW50SGFuZGxlQWJzdHJhY3QgfSBmcm9tICcuLi91dGlscy9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgUmlnaHROb2RlQ291bnRSZWYsIGluc2VydEVsZW1lbnRIYW5kbGVSaWdodE5vZGVDb3VudCwgaXNJblJpZ2h0QnJhbmNoT2ZTdGFuZGFyZExheW91dCB9IGZyb20gJy4uL3V0aWxzL25vZGUvcmlnaHQtbm9kZS1jb3VudCc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi91dGlscy9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgZmluZE5ld0NoaWxkTm9kZVBhdGgsIGZpbmROZXdTaWJsaW5nTm9kZVBhdGgsIGluc2VydE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgc2V0QWJzdHJhY3RzQnlSZWZzIH0gZnJvbSAnLi9hYnN0cmFjdC1ub2RlJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcblxuY29uc3Qgbm9ybWFsaXplV2lkdGhBbmRIZWlnaHQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBtaW5XaWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlVG9waWNNaW5XaWR0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgbmV3V2lkdGggPSB3aWR0aCA8IG1pbldpZHRoICogYm9hcmQudmlld3BvcnQuem9vbSA/IG1pbldpZHRoIDogd2lkdGggLyBib2FyZC52aWV3cG9ydC56b29tO1xuICAgIGNvbnN0IG5ld0hlaWdodCA9IGhlaWdodCAvIGJvYXJkLnZpZXdwb3J0Lnpvb207XG4gICAgcmV0dXJuIHsgd2lkdGg6IE1hdGguY2VpbChuZXdXaWR0aCksIGhlaWdodDogbmV3SGVpZ2h0IH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0VG9waWMgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgdG9waWM6IEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHtcbiAgICAgICAgZGF0YTogeyAuLi5lbGVtZW50LmRhdGEsIHRvcGljIH0sXG4gICAgICAgIC4uLm5vcm1hbGl6ZVdpZHRoQW5kSGVpZ2h0KGJvYXJkLCBlbGVtZW50LCB3aWR0aCwgaGVpZ2h0KVxuICAgIH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgcGF0aCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0Tm9kZU1hbnVhbFdpZHRoID0gKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHsgd2lkdGg6IG5vcm1hbGl6ZWRXaWR0aCwgaGVpZ2h0OiBub3JtYWxpemVkSGVpZ2h0IH0gPSBub3JtYWxpemVXaWR0aEFuZEhlaWdodChib2FyZCwgZWxlbWVudCwgd2lkdGgsIGhlaWdodCk7XG4gICAgY29uc3QgbmV3RWxlbWVudCA9IHsgbWFudWFsV2lkdGg6IG5vcm1hbGl6ZWRXaWR0aCwgaGVpZ2h0OiBub3JtYWxpemVkSGVpZ2h0IH0gYXMgTWluZEVsZW1lbnQ7XG4gICAgVHJhbnNmb3Jtcy5zZXROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRUb3BpY1NpemUgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0ge1xuICAgICAgICAuLi5ub3JtYWxpemVXaWR0aEFuZEhlaWdodChib2FyZCwgZWxlbWVudCwgd2lkdGgsIGhlaWdodClcbiAgICB9O1xuICAgIGxldCBpc0VxdWFsV2lkdGggPSBNYXRoLmNlaWwoZWxlbWVudC53aWR0aCkgPT09IE1hdGguY2VpbChuZXdFbGVtZW50LndpZHRoKTtcbiAgICBsZXQgaXNFcXVhbEhlaWdodCA9IE1hdGguY2VpbChlbGVtZW50LmhlaWdodCkgPT09IE1hdGguY2VpbChuZXdFbGVtZW50LmhlaWdodCk7XG4gICAgaWYgKGVsZW1lbnQubWFudWFsV2lkdGgpIHtcbiAgICAgICAgaXNFcXVhbFdpZHRoID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFpc0VxdWFsV2lkdGggfHwgIWlzRXF1YWxIZWlnaHQpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIHBhdGgpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnROb2RlcyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10sIHBhdGg6IFBhdGgpID0+IHtcbiAgICBjb25zdCBwYXRoUmVmID0gYm9hcmQucGF0aFJlZihwYXRoKTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAocGF0aFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIGVsZW1lbnQsIHBhdGhSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBwYXRoUmVmLnVucmVmKCk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0QWJzdHJhY3ROb2RlcyA9IChib2FyZDogUGxhaXRCb2FyZCwgdmFsaWRBYnN0cmFjdFJlZnM6IEFic3RyYWN0UmVmW10sIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wYXJlbnQocGF0aCkpO1xuICAgIGNvbnN0IGFic3RyYWN0UGF0aCA9IFsuLi5QYXRoLnBhcmVudChwYXRoKSwgcGFyZW50LmNoaWxkcmVuPy5sZW5ndGghXTtcbiAgICBjb25zdCBhYnN0cmFjdHMgPSB2YWxpZEFic3RyYWN0UmVmcy5tYXAocmVmcyA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYocmVmcywgZWxlbWVudHMpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ucmVmcy5hYnN0cmFjdCxcbiAgICAgICAgICAgIHN0YXJ0OiBzdGFydCArIHBhdGhbcGF0aC5sZW5ndGggLSAxXSxcbiAgICAgICAgICAgIGVuZDogZW5kICsgcGF0aFtwYXRoLmxlbmd0aCAtIDFdXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBpbnNlcnROb2Rlcyhib2FyZCwgYWJzdHJhY3RzLCBhYnN0cmFjdFBhdGgpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFJpZ2h0Tm9kZUNvdW50QnlSZWZzID0gKGJvYXJkOiBQbGFpdEJvYXJkLCByZWZzOiBSaWdodE5vZGVDb3VudFJlZltdKSA9PiB7XG4gICAgcmVmcy5mb3JFYWNoKHJlZiA9PiB7XG4gICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyByaWdodE5vZGVDb3VudDogcmVmLnJpZ2h0Tm9kZUNvdW50IH0sIHJlZi5wYXRoKTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRDaGlsZE5vZGUgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICByZW1vdmVTZWxlY3RlZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50UGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBpZiAoZWxlbWVudC5pc0NvbGxhcHNlZCkge1xuICAgICAgICAgICAgY29uc3QgbmV3RWxlbWVudDogUGFydGlhbDxNaW5kRWxlbWVudD4gPSB7IGlzQ29sbGFwc2VkOiBmYWxzZSB9O1xuICAgICAgICAgICAgUGxhaXRIaXN0b3J5Qm9hcmQud2l0aG91dFNhdmluZyhib2FyZCwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgbmV3RWxlbWVudCwgdGFyZ2V0RWxlbWVudFBhdGgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0TWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQsIGZpbmROZXdDaGlsZE5vZGVQYXRoKGJvYXJkLCBlbGVtZW50KSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydFNpYmxpbmdOb2RlID0gKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBpZiAoTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCkgJiYgIVBsYWl0TWluZC5pc01pbmQoZWxlbWVudCkgJiYgIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpKSB7XG4gICAgICAgIGNvbnN0IHBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgaWYgKGlzSW5SaWdodEJyYW5jaE9mU3RhbmRhcmRMYXlvdXQoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlZnMgPSBpbnNlcnRFbGVtZW50SGFuZGxlUmlnaHROb2RlQ291bnQoYm9hcmQsIHBhdGguc2xpY2UoMCwgMSksIDEpO1xuICAgICAgICAgICAgc2V0UmlnaHROb2RlQ291bnRCeVJlZnMoYm9hcmQsIHJlZnMpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFic3RyYWN0UmVmcyA9IGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgUGF0aC5uZXh0KHBhdGgpKTtcbiAgICAgICAgc2V0QWJzdHJhY3RzQnlSZWZzKGJvYXJkLCBhYnN0cmFjdFJlZnMpO1xuICAgICAgICBpbnNlcnRNaW5kRWxlbWVudChib2FyZCwgZWxlbWVudCwgZmluZE5ld1NpYmxpbmdOb2RlUGF0aChib2FyZCwgZWxlbWVudCkpO1xuICAgIH1cbn07XG4iXX0=
@@ -31,4 +31,4 @@ export const setBranchWidth = (board, branchWidth) => {
31
31
  export const setBranchColor = (board, branchColor) => {
32
32
  PropertyTransforms.setProperty(board, { branchColor });
33
33
  };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBaUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxJQUFvQixFQUFFLEVBQUU7SUFDakUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFvQixFQUFFLElBQVUsRUFBRSxFQUFFO1FBQ2xELElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDM0Msc0JBQXNCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQWdCLENBQUM7WUFDMUQsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNyRCxJQUFJLFVBQVUsR0FBRyxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDakUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM1QywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDL0M7WUFDRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNyRDtJQUNMLENBQUMsQ0FBQztJQUNGLGtCQUFrQixDQUFDLFdBQVcsQ0FBYyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUN6RSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQXVCLEVBQUUsRUFBRTtJQUNuRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFdBQXdCLEVBQUUsRUFBRTtJQUMxRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFdBQW1CLEVBQUUsRUFBRTtJQUNyRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFdBQW1CLEVBQUUsRUFBRTtJQUNyRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUMzRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdE5vZGUsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSwgaXNTdGFuZGFyZExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IFByb3BlcnR5VHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgQnJhbmNoU2hhcGUsIE1pbmRFbGVtZW50U2hhcGUsIE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNvcnJlY3RMb2dpY0xheW91dE5vZGUgfSBmcm9tICcuL2xheW91dCc7XG5pbXBvcnQgeyBzZXRBYnN0cmFjdEJ5U3RhbmRhcmRMYXlvdXQgfSBmcm9tICcuL2Fic3RyYWN0LW5vZGUnO1xuXG5leHBvcnQgY29uc3Qgc2V0TGF5b3V0ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCB0eXBlOiBNaW5kTGF5b3V0VHlwZSkgPT4ge1xuICAgIGNvbnN0IGNhbGxiYWNrID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50LCBwYXRoOiBQYXRoKSA9PiB7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgY29ycmVjdExvZ2ljTGF5b3V0Tm9kZShib2FyZCwgdHlwZSwgcGF0aCk7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aCkgYXMgTWluZEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSAmJiBpc1N0YW5kYXJkTGF5b3V0KHR5cGUpKSB7XG4gICAgICAgICAgICAgICAgbGV0IHByb3BlcnRpZXMgPSB7IHJpZ2h0Tm9kZUNvdW50OiBlbGVtZW50LmNoaWxkcmVuLmxlbmd0aCAvIDIgfTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHByb3BlcnRpZXMsIHBhdGgpO1xuICAgICAgICAgICAgICAgIHNldEFic3RyYWN0QnlTdGFuZGFyZExheW91dChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIHsgbGF5b3V0OiB0eXBlIH0sIHBhdGgpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBQcm9wZXJ0eVRyYW5zZm9ybXMuc2V0UHJvcGVydHk8TWluZEVsZW1lbnQ+KGJvYXJkLCB7fSwgeyBjYWxsYmFjayB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRTaGFwZSA9IChib2FyZDogUGxhaXRCb2FyZCwgc2hhcGU6IE1pbmRFbGVtZW50U2hhcGUpID0+IHtcbiAgICBQcm9wZXJ0eVRyYW5zZm9ybXMuc2V0UHJvcGVydHkoYm9hcmQsIHsgc2hhcGUgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0QnJhbmNoU2hhcGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGJyYW5jaFNoYXBlOiBCcmFuY2hTaGFwZSkgPT4ge1xuICAgIFByb3BlcnR5VHJhbnNmb3Jtcy5zZXRQcm9wZXJ0eShib2FyZCwgeyBicmFuY2hTaGFwZSB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRCcmFuY2hXaWR0aCA9IChib2FyZDogUGxhaXRCb2FyZCwgYnJhbmNoV2lkdGg6IG51bWJlcikgPT4ge1xuICAgIFByb3BlcnR5VHJhbnNmb3Jtcy5zZXRQcm9wZXJ0eShib2FyZCwgeyBicmFuY2hXaWR0aCB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRCcmFuY2hDb2xvciA9IChib2FyZDogUGxhaXRCb2FyZCwgYnJhbmNoQ29sb3I6IHN0cmluZykgPT4ge1xuICAgIFByb3BlcnR5VHJhbnNmb3Jtcy5zZXRQcm9wZXJ0eShib2FyZCwgeyBicmFuY2hDb2xvciB9KTtcbn07XG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy90cmFuc2Zvcm1zL3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RSxPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBaUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFOUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBaUIsRUFBRSxJQUFvQixFQUFFLEVBQUU7SUFDakUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxPQUFvQixFQUFFLElBQVUsRUFBRSxFQUFFO1FBQ2xELElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBZ0IsQ0FBQztZQUMxRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxVQUFVLEdBQUcsRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDNUMsMkJBQTJCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2hELENBQUM7WUFDRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RCxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBQ0Ysa0JBQWtCLENBQUMsV0FBVyxDQUFjLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3pFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsS0FBdUIsRUFBRSxFQUFFO0lBQ25FLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsV0FBd0IsRUFBRSxFQUFFO0lBQzFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsV0FBbUIsRUFBRSxFQUFFO0lBQ3JFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsV0FBbUIsRUFBRSxFQUFFO0lBQ3JFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQzNELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhdGgsIFBsYWl0Qm9hcmQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRMYXlvdXRUeXBlLCBpc1N0YW5kYXJkTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgUHJvcGVydHlUcmFuc2Zvcm1zIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBCcmFuY2hTaGFwZSwgTWluZEVsZW1lbnRTaGFwZSwgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgY29ycmVjdExvZ2ljTGF5b3V0Tm9kZSB9IGZyb20gJy4vbGF5b3V0JztcbmltcG9ydCB7IHNldEFic3RyYWN0QnlTdGFuZGFyZExheW91dCB9IGZyb20gJy4vYWJzdHJhY3Qtbm9kZSc7XG5cbmV4cG9ydCBjb25zdCBzZXRMYXlvdXQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHR5cGU6IE1pbmRMYXlvdXRUeXBlKSA9PiB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSAoZWxlbWVudDogTWluZEVsZW1lbnQsIHBhdGg6IFBhdGgpID0+IHtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpKSB7XG4gICAgICAgICAgICBjb3JyZWN0TG9naWNMYXlvdXROb2RlKGJvYXJkLCB0eXBlLCBwYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwYXRoKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKGVsZW1lbnQpICYmIGlzU3RhbmRhcmRMYXlvdXQodHlwZSkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcHJvcGVydGllcyA9IHsgcmlnaHROb2RlQ291bnQ6IGVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoIC8gMiB9O1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgcHJvcGVydGllcywgcGF0aCk7XG4gICAgICAgICAgICAgICAgc2V0QWJzdHJhY3RCeVN0YW5kYXJkTGF5b3V0KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZShib2FyZCwgeyBsYXlvdXQ6IHR5cGUgfSwgcGF0aCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIFByb3BlcnR5VHJhbnNmb3Jtcy5zZXRQcm9wZXJ0eTxNaW5kRWxlbWVudD4oYm9hcmQsIHt9LCB7IGNhbGxiYWNrIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFNoYXBlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzaGFwZTogTWluZEVsZW1lbnRTaGFwZSkgPT4ge1xuICAgIFByb3BlcnR5VHJhbnNmb3Jtcy5zZXRQcm9wZXJ0eShib2FyZCwgeyBzaGFwZSB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRCcmFuY2hTaGFwZSA9IChib2FyZDogUGxhaXRCb2FyZCwgYnJhbmNoU2hhcGU6IEJyYW5jaFNoYXBlKSA9PiB7XG4gICAgUHJvcGVydHlUcmFuc2Zvcm1zLnNldFByb3BlcnR5KGJvYXJkLCB7IGJyYW5jaFNoYXBlIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEJyYW5jaFdpZHRoID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBicmFuY2hXaWR0aDogbnVtYmVyKSA9PiB7XG4gICAgUHJvcGVydHlUcmFuc2Zvcm1zLnNldFByb3BlcnR5KGJvYXJkLCB7IGJyYW5jaFdpZHRoIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEJyYW5jaENvbG9yID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBicmFuY2hDb2xvcjogc3RyaW5nKSA9PiB7XG4gICAgUHJvcGVydHlUcmFuc2Zvcm1zLnNldFByb3BlcnR5KGJvYXJkLCB7IGJyYW5jaENvbG9yIH0pO1xufTtcbiJdfQ==
@@ -167,4 +167,4 @@ export const isChildOfAbstract = (board, element) => {
167
167
  const ancestors = MindElement.getAncestors(board, element);
168
168
  return !!ancestors.find(value => AbstractNode.isAbstract(value));
169
169
  };
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxJQUFJLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQTBCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsY0FBZSxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDeEMsSUFBSSxhQUFhLEdBQUcsRUFBRSxFQUNsQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQixJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsR0FBRyxjQUFjLEVBQUU7WUFDOUQsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixTQUFTO1NBQ1o7UUFDRCxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxjQUFjLEVBQUU7WUFDakUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QixTQUFTO1NBQ1o7UUFFRCxJQUFJLENBQUMsR0FBRyxj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bXBvcnQgeyBBYnN0cmFjdE5vZGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBhdGgsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUGxhaXROb2RlIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgY29uc3Qgc2VwYXJhdGVDaGlsZHJlbiA9IChwYXJlbnRFbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gcGFyZW50RWxlbWVudC5yaWdodE5vZGVDb3VudCE7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnRFbGVtZW50LmNoaWxkcmVuO1xuICAgIGxldCByaWdodENoaWxkcmVuID0gW10sXG4gICAgICAgIGxlZnRDaGlsZHJlbiA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZCA9IGNoaWxkcmVuW2ldO1xuICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLmVuZCA8IHJpZ2h0Tm9kZUNvdW50KSB7XG4gICAgICAgICAgICByaWdodENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5zdGFydCA+PSByaWdodE5vZGVDb3VudCkge1xuICAgICAgICAgICAgbGVmdENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaSA8IHJpZ2h0Tm9kZUNvdW50KSB7XG4gICAgICAgICAgICByaWdodENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGVmdENoaWxkcmVuLnB1c2goY2hpbGQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgbGVmdENoaWxkcmVuLCByaWdodENoaWxkcmVuIH07XG59O1xuXG5leHBvcnQgY29uc3QgaXNTZXRBYnN0cmFjdCA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gISFnZXRDb3JyZXNwb25kaW5nQWJzdHJhY3QoZWxlbWVudCBhcyBNaW5kRWxlbWVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgY2FuU2V0QWJzdHJhY3QgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuICFQbGFpdEVsZW1lbnQuaXNSb290RWxlbWVudChlbGVtZW50KSAmJiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoZWxlbWVudCkgJiYgIWlzU2V0QWJzdHJhY3QoZWxlbWVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0ID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChlbGVtZW50IGFzIE1pbmRFbGVtZW50KTtcbiAgICBpZiAoIXBhcmVudCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGVsZW1lbnRJbmRleCA9IHBhcmVudC5jaGlsZHJlbi5pbmRleE9mKGVsZW1lbnQpO1xuICAgIHJldHVybiBwYXJlbnQuY2hpbGRyZW4uZmluZChjaGlsZCA9PiB7XG4gICAgICAgIHJldHVybiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgZWxlbWVudEluZGV4ID49IGNoaWxkLnN0YXJ0ISAmJiBlbGVtZW50SW5kZXggPD0gY2hpbGQuZW5kITtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRCZWhpbmRBYnN0cmFjdHMgPSAoZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5maW5kUGFyZW50KGVsZW1lbnQgYXMgTWluZEVsZW1lbnQpO1xuICAgIGlmICghcGFyZW50KSByZXR1cm4gW107XG4gICAgY29uc3QgaW5kZXggPSBwYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihlbGVtZW50KTtcbiAgICByZXR1cm4gcGFyZW50LmNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuc3RhcnQhID4gaW5kZXgpO1xufTtcblxuLyoqXG4gKiByZXR1cm4gY29ycmVzcG9uZGluZyBhYnN0cmFjdCB0aGF0IGlzIG5vdCBjaGlsZCBvZiBlbGVtZW50c1xuICovXG5leHBvcnQgY29uc3QgZ2V0T3ZlcmFsbEFic3RyYWN0cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCBvdmVyYWxsQWJzdHJhY3RzOiBNaW5kRWxlbWVudFtdID0gW107XG4gICAgZWxlbWVudHNcbiAgICAgICAgLmZpbHRlcih2YWx1ZSA9PiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QodmFsdWUpICYmICFQbGFpdE1pbmQuaXNNaW5kKHZhbHVlKSlcbiAgICAgICAgLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWJzdHJhY3QgPSBnZXRDb3JyZXNwb25kaW5nQWJzdHJhY3QodmFsdWUpO1xuICAgICAgICAgICAgaWYgKGFic3RyYWN0ICYmIGVsZW1lbnRzLmluZGV4T2YoYWJzdHJhY3QpID09PSAtMSAmJiBvdmVyYWxsQWJzdHJhY3RzLmluZGV4T2YoYWJzdHJhY3QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gYWJzdHJhY3Q7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gTWluZEVsZW1lbnQuZ2V0UGFyZW50KHZhbHVlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc092ZXJhbGwgPSBwYXJlbnQuY2hpbGRyZW4uc2xpY2Uoc3RhcnQhLCBlbmQhICsgMSkuZXZlcnkoaW5jbHVkZWRFbGVtZW50ID0+IGVsZW1lbnRzLmluZGV4T2YoaW5jbHVkZWRFbGVtZW50KSA+IC0xKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNPdmVyYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJhbGxBYnN0cmFjdHMucHVzaChhYnN0cmFjdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICByZXR1cm4gb3ZlcmFsbEFic3RyYWN0cyBhcyAoTWluZEVsZW1lbnQgJiBBYnN0cmFjdE5vZGUpW107XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFic3RyYWN0UmVmIHtcbiAgICBhYnN0cmFjdDogTWluZEVsZW1lbnQgJiBBYnN0cmFjdE5vZGU7XG4gICAgcmVmZXJlbmNlczogTWluZEVsZW1lbnRbXTtcbn1cblxuLyoqXG4gKiBhYnN0cmFjdCBub2RlIGlzIHZhbGlkIHdoZW4gZWxlbWVudHMgY29udGFpbnMgYXQgbGVhc3Qgb25lIGVsZW1lbnQgaXQgaXMgcmVmZXJlbmNlZCB3aXRoXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRWYWxpZEFic3RyYWN0UmVmcyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCB2YWxpZEFic3RyYWN0UmVmczogQWJzdHJhY3RSZWZbXSA9IFtdO1xuICAgIGVsZW1lbnRzXG4gICAgICAgIC5maWx0ZXIodmFsdWUgPT4gIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSAmJiAhUGxhaXRNaW5kLmlzTWluZCh2YWx1ZSkpXG4gICAgICAgIC5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChhYnN0cmFjdCAmJiBlbGVtZW50cy5pbmRleE9mKGFic3RyYWN0KSA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHZhbGlkQWJzdHJhY3RSZWZzLmZpbmRJbmRleCh2YWx1ZSA9PiB2YWx1ZS5hYnN0cmFjdCA9PT0gYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsaWRBYnN0cmFjdFJlZnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBhYnN0cmFjdDogYWJzdHJhY3QgYXMgTWluZEVsZW1lbnQgJiBBYnN0cmFjdE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbdmFsdWVdXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkQWJzdHJhY3RSZWZzW2luZGV4XS5yZWZlcmVuY2VzLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIHZhbGlkQWJzdHJhY3RSZWZzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJlbGF0aXZlU3RhcnRFbmRCeUFic3RyYWN0UmVmKGFic3RyYWN0UmVmOiBBYnN0cmFjdFJlZiwgZWxlbWVudHM6IE1pbmRFbGVtZW50W10pIHtcbiAgICBjb25zdCBzdGFydCA9IGVsZW1lbnRzLmluZGV4T2YoYWJzdHJhY3RSZWYucmVmZXJlbmNlc1swXSk7XG4gICAgY29uc3QgZW5kID0gZWxlbWVudHMuaW5kZXhPZihhYnN0cmFjdFJlZi5yZWZlcmVuY2VzW2Fic3RyYWN0UmVmLnJlZmVyZW5jZXMubGVuZ3RoIC0gMV0pO1xuICAgIHJldHVybiB7IHN0YXJ0LCBlbmQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGluc2VydEVsZW1lbnRIYW5kbGVBYnN0cmFjdCA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBwYXRoOiBQYXRoLFxuICAgIHN0ZXAgPSAxLFxuICAgIC8vIFRoaXMgZGlzdGluZ3Vpc2hlcyBiZXR3ZWVuIGRyYWdnaW5nIGFuZCBhZGRpbmcgdG8gdGhlIGxhc3Qgbm9kZSBzdW1tYXJpemVkIGluIHRoZSBhYnN0cmFjdCBub2RlXG4gICAgaXNFeHRlbmRQcmV2aW91c05vZGU6IGJvb2xlYW4gPSB0cnVlLFxuICAgIGVmZmVjdGVkQWJzdHJhY3RzID0gbmV3IE1hcDxNaW5kRWxlbWVudCwgUGljazxBYnN0cmFjdE5vZGUsICdzdGFydCcgfCAnZW5kJz4+KClcbikgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IFBsYWl0Tm9kZS5wYXJlbnQoYm9hcmQsIHBhdGgpIGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IGhhc1ByZXZpb3VzTm9kZSA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXSAhPT0gMDtcbiAgICBsZXQgYmVoaW5kQWJzdHJhY3RzOiBNaW5kRWxlbWVudFtdO1xuXG4gICAgaWYgKCFoYXNQcmV2aW91c05vZGUpIHtcbiAgICAgICAgYmVoaW5kQWJzdHJhY3RzID0gcGFyZW50LmNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucHJldmlvdXMocGF0aCkpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICBiZWhpbmRBYnN0cmFjdHMgPSBnZXRCZWhpbmRBYnN0cmFjdHMoc2VsZWN0ZWRFbGVtZW50KTtcbiAgICB9XG5cbiAgICBpZiAoYmVoaW5kQWJzdHJhY3RzLmxlbmd0aCkge1xuICAgICAgICBiZWhpbmRBYnN0cmFjdHMuZm9yRWFjaChhYnN0cmFjdCA9PiB7XG4gICAgICAgICAgICBsZXQgbmV3UHJvcGVydGllcyA9IGVmZmVjdGVkQWJzdHJhY3RzLmdldChhYnN0cmFjdCk7XG4gICAgICAgICAgICBpZiAoIW5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzID0geyBzdGFydDogMCwgZW5kOiAwIH07XG4gICAgICAgICAgICAgICAgZWZmZWN0ZWRBYnN0cmFjdHMuc2V0KGFic3RyYWN0LCBuZXdQcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuc3RhcnQgPSBuZXdQcm9wZXJ0aWVzLnN0YXJ0ICsgc3RlcDtcbiAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuZW5kID0gbmV3UHJvcGVydGllcy5lbmQgKyBzdGVwO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWhhc1ByZXZpb3VzTm9kZSkge1xuICAgICAgICByZXR1cm4gZWZmZWN0ZWRBYnN0cmFjdHM7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50ID0gUGxhaXROb2RlLmdldChib2FyZCwgUGF0aC5wcmV2aW91cyhwYXRoKSkgYXMgTWluZEVsZW1lbnQ7XG4gICAgY29uc3QgY29ycmVzcG9uZGluZ0Fic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHNlbGVjdGVkRWxlbWVudCk7XG4gICAgY29uc3QgaXNEcmFnVG9MYXN0ID0gIWlzRXh0ZW5kUHJldmlvdXNOb2RlICYmIGNvcnJlc3BvbmRpbmdBYnN0cmFjdCAmJiBjb3JyZXNwb25kaW5nQWJzdHJhY3QuZW5kID09PSBwYXRoW3BhdGgubGVuZ3RoIC0gMV0gLSAxO1xuXG4gICAgaWYgKGNvcnJlc3BvbmRpbmdBYnN0cmFjdCAmJiAhaXNEcmFnVG9MYXN0KSB7XG4gICAgICAgIGxldCBuZXdQcm9wZXJ0aWVzID0gZWZmZWN0ZWRBYnN0cmFjdHMuZ2V0KGNvcnJlc3BvbmRpbmdBYnN0cmFjdCk7XG4gICAgICAgIGlmICghbmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgbmV3UHJvcGVydGllcyA9IHsgc3RhcnQ6IDAsIGVuZDogMCB9O1xuICAgICAgICAgICAgZWZmZWN0ZWRBYnN0cmFjdHMuc2V0KGNvcnJlc3BvbmRpbmdBYnN0cmFjdCwgbmV3UHJvcGVydGllcyk7XG4gICAgICAgIH1cbiAgICAgICAgbmV3UHJvcGVydGllcy5lbmQgPSBuZXdQcm9wZXJ0aWVzLmVuZCArIHN0ZXA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVmZmVjdGVkQWJzdHJhY3RzO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdCA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBkZWxldGFibGVFbGVtZW50czogTWluZEVsZW1lbnRbXSxcbiAgICBlZmZlY3RlZEFic3RyYWN0cyA9IG5ldyBNYXA8TWluZEVsZW1lbnQsIFBpY2s8QWJzdHJhY3ROb2RlLCAnc3RhcnQnIHwgJ2VuZCc+PigpXG4pID0+IHtcbiAgICBkZWxldGFibGVFbGVtZW50cy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICBpZiAoIVBsYWl0TWluZC5pc01pbmQobm9kZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGJlaGluZEFic3RyYWN0cyA9IGdldEJlaGluZEFic3RyYWN0cyhub2RlKS5maWx0ZXIoYWJzdHJhY3QgPT4gIWRlbGV0YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGFic3RyYWN0KSk7XG4gICAgICAgICAgICBpZiAoYmVoaW5kQWJzdHJhY3RzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGJlaGluZEFic3RyYWN0cy5mb3JFYWNoKGFic3RyYWN0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Byb3BlcnRpZXMgPSBlZmZlY3RlZEFic3RyYWN0cy5nZXQoYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMgPSB7IHN0YXJ0OiAwLCBlbmQ6IDAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGVkQWJzdHJhY3RzLnNldChhYnN0cmFjdCwgbmV3UHJvcGVydGllcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcy5zdGFydCA9IG5ld1Byb3BlcnRpZXMuc3RhcnQgLSAxO1xuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLmVuZCA9IG5ld1Byb3BlcnRpZXMuZW5kIC0gMTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY29ycmVzcG9uZGluZ0Fic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KG5vZGUpO1xuICAgICAgICAgICAgaWYgKGNvcnJlc3BvbmRpbmdBYnN0cmFjdCAmJiAhZGVsZXRhYmxlRWxlbWVudHMuaW5jbHVkZXMoY29ycmVzcG9uZGluZ0Fic3RyYWN0KSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdQcm9wZXJ0aWVzID0gZWZmZWN0ZWRBYnN0cmFjdHMuZ2V0KGNvcnJlc3BvbmRpbmdBYnN0cmFjdCk7XG4gICAgICAgICAgICAgICAgaWYgKCFuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMgPSB7IHN0YXJ0OiAwLCBlbmQ6IDAgfTtcblxuICAgICAgICAgICAgICAgICAgICBlZmZlY3RlZEFic3RyYWN0cy5zZXQoY29ycmVzcG9uZGluZ0Fic3RyYWN0LCBuZXdQcm9wZXJ0aWVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcy5lbmQgPSBuZXdQcm9wZXJ0aWVzLmVuZCAtIDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZWZmZWN0ZWRBYnN0cmFjdHM7XG59O1xuXG5leHBvcnQgY29uc3QgaXNDaGlsZE9mQWJzdHJhY3QgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgYW5jZXN0b3JzID0gTWluZEVsZW1lbnQuZ2V0QW5jZXN0b3JzKGJvYXJkLCBlbGVtZW50KSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIHJldHVybiAhIWFuY2VzdG9ycy5maW5kKHZhbHVlID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSk7XG59O1xuIl19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxJQUFJLEVBQWMsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLGFBQTBCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsY0FBZSxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDeEMsSUFBSSxhQUFhLEdBQUcsRUFBRSxFQUNsQixZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXRCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLGNBQWMsRUFBRSxDQUFDO1lBQy9ELGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsU0FBUztRQUNiLENBQUM7UUFDRCxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNsRSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLFNBQVM7UUFDYixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsY0FBYyxFQUFFLENBQUM7WUFDckIsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNKLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFzQixDQUFDLENBQUM7QUFDOUQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ3BELE9BQU8sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNoSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtJQUM3RCxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQXNCLENBQUMsQ0FBQztJQUM5RCxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBRTlCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEMsT0FBTyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLFlBQVksSUFBSSxLQUFLLENBQUMsS0FBTSxJQUFJLFlBQVksSUFBSSxLQUFLLENBQUMsR0FBSSxDQUFDO0lBQ3hHLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxPQUFvQixFQUFFLEVBQUU7SUFDdkQsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFzQixDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN2QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBTSxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ25HLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQXVCLEVBQUUsRUFBRTtJQUM5RSxNQUFNLGdCQUFnQixHQUFrQixFQUFFLENBQUM7SUFDM0MsUUFBUTtTQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2IsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQztZQUNoQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQU0sRUFBRSxHQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNILElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQ1osZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxPQUFPLGdCQUFrRCxDQUFDO0FBQzlELENBQUMsQ0FBQztBQU9GOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxLQUFpQixFQUFFLFFBQXVCLEVBQUUsRUFBRTtJQUMvRSxNQUFNLGlCQUFpQixHQUFrQixFQUFFLENBQUM7SUFDNUMsUUFBUTtTQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDNUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ2IsTUFBTSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO1lBQ2hGLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsaUJBQWlCLENBQUMsSUFBSSxDQUFDO29CQUNuQixRQUFRLEVBQUUsUUFBc0M7b0JBQ2hELFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztpQkFDdEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLE9BQU8saUJBQWlCLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGdDQUFnQyxDQUFDLFdBQXdCLEVBQUUsUUFBdUI7SUFDOUYsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEYsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUMxQixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FDdkMsS0FBaUIsRUFDakIsSUFBVSxFQUNWLElBQUksR0FBRyxDQUFDO0FBQ1Isa0dBQWtHO0FBQ2xHLHVCQUFnQyxJQUFJLEVBQ3BDLG9CQUFvQixJQUFJLEdBQUcsRUFBb0QsRUFDakYsRUFBRTtJQUNBLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBZ0IsQ0FBQztJQUM1RCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsSUFBSSxlQUE4QixDQUFDO0lBRW5DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuQixlQUFlLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFnQixDQUFDO1FBQ2pGLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixJQUFJLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNqQixhQUFhLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDckMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsYUFBYSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNqRCxhQUFhLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNuQixPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRCxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFnQixDQUFDO0lBQ2pGLE1BQU0scUJBQXFCLEdBQUcsd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEUsTUFBTSxZQUFZLEdBQUcsQ0FBQyxvQkFBb0IsSUFBSSxxQkFBcUIsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRS9ILElBQUkscUJBQXFCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxJQUFJLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakIsYUFBYSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDckMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxhQUFhLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLENBQ3ZDLEtBQWlCLEVBQ2pCLGlCQUFnQyxFQUNoQyxvQkFBb0IsSUFBSSxHQUFHLEVBQW9ELEVBQ2pGLEVBQUU7SUFDQSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzNHLElBQUksZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMvQixJQUFJLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ3BELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQzt3QkFDakIsYUFBYSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQ3JDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7b0JBQ25ELENBQUM7b0JBQ0QsYUFBYSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztvQkFDOUMsYUFBYSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDOUMsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsTUFBTSxxQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3RCxJQUFJLHFCQUFxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztnQkFDOUUsSUFBSSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDakIsYUFBYSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBRXJDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsQ0FBQztnQkFDaEUsQ0FBQztnQkFDRCxhQUFhLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLGlCQUFpQixDQUFDO0FBQzdCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7SUFDekUsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFrQixDQUFDO0lBQzVFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3ROb2RlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQsIFBsYWl0TWluZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0Tm9kZSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGNvbnN0IHNlcGFyYXRlQ2hpbGRyZW4gPSAocGFyZW50RWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCByaWdodE5vZGVDb3VudCA9IHBhcmVudEVsZW1lbnQucmlnaHROb2RlQ291bnQhO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50RWxlbWVudC5jaGlsZHJlbjtcbiAgICBsZXQgcmlnaHRDaGlsZHJlbiA9IFtdLFxuICAgICAgICBsZWZ0Q2hpbGRyZW4gPSBbXTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5lbmQgPCByaWdodE5vZGVDb3VudCkge1xuICAgICAgICAgICAgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuc3RhcnQgPj0gcmlnaHROb2RlQ291bnQpIHtcbiAgICAgICAgICAgIGxlZnRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGkgPCByaWdodE5vZGVDb3VudCkge1xuICAgICAgICAgICAgcmlnaHRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxlZnRDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7IGxlZnRDaGlsZHJlbiwgcmlnaHRDaGlsZHJlbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2V0QWJzdHJhY3QgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuICEhZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KGVsZW1lbnQgYXMgTWluZEVsZW1lbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhblNldEFic3RyYWN0ID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIHJldHVybiAhUGxhaXRFbGVtZW50LmlzUm9vdEVsZW1lbnQoZWxlbWVudCkgJiYgIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpICYmICFpc1NldEFic3RyYWN0KGVsZW1lbnQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCBhcyBNaW5kRWxlbWVudCk7XG4gICAgaWYgKCFwYXJlbnQpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBlbGVtZW50SW5kZXggPSBwYXJlbnQuY2hpbGRyZW4uaW5kZXhPZihlbGVtZW50KTtcbiAgICByZXR1cm4gcGFyZW50LmNoaWxkcmVuLmZpbmQoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGVsZW1lbnRJbmRleCA+PSBjaGlsZC5zdGFydCEgJiYgZWxlbWVudEluZGV4IDw9IGNoaWxkLmVuZCE7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QmVoaW5kQWJzdHJhY3RzID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gTWluZEVsZW1lbnQuZmluZFBhcmVudChlbGVtZW50IGFzIE1pbmRFbGVtZW50KTtcbiAgICBpZiAoIXBhcmVudCkgcmV0dXJuIFtdO1xuICAgIGNvbnN0IGluZGV4ID0gcGFyZW50LmNoaWxkcmVuLmluZGV4T2YoZWxlbWVudCk7XG4gICAgcmV0dXJuIHBhcmVudC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLnN0YXJ0ISA+IGluZGV4KTtcbn07XG5cbi8qKlxuICogcmV0dXJuIGNvcnJlc3BvbmRpbmcgYWJzdHJhY3QgdGhhdCBpcyBub3QgY2hpbGQgb2YgZWxlbWVudHNcbiAqL1xuZXhwb3J0IGNvbnN0IGdldE92ZXJhbGxBYnN0cmFjdHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3Qgb3ZlcmFsbEFic3RyYWN0czogTWluZEVsZW1lbnRbXSA9IFtdO1xuICAgIGVsZW1lbnRzXG4gICAgICAgIC5maWx0ZXIodmFsdWUgPT4gIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KHZhbHVlKSAmJiAhUGxhaXRNaW5kLmlzTWluZCh2YWx1ZSkpXG4gICAgICAgIC5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFic3RyYWN0ID0gZ2V0Q29ycmVzcG9uZGluZ0Fic3RyYWN0KHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChhYnN0cmFjdCAmJiBlbGVtZW50cy5pbmRleE9mKGFic3RyYWN0KSA9PT0gLTEgJiYgb3ZlcmFsbEFic3RyYWN0cy5pbmRleE9mKGFic3RyYWN0KSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGFic3RyYWN0O1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IE1pbmRFbGVtZW50LmdldFBhcmVudCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNPdmVyYWxsID0gcGFyZW50LmNoaWxkcmVuLnNsaWNlKHN0YXJ0ISwgZW5kISArIDEpLmV2ZXJ5KGluY2x1ZGVkRWxlbWVudCA9PiBlbGVtZW50cy5pbmRleE9mKGluY2x1ZGVkRWxlbWVudCkgPiAtMSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3ZlcmFsbCkge1xuICAgICAgICAgICAgICAgICAgICBvdmVyYWxsQWJzdHJhY3RzLnB1c2goYWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgcmV0dXJuIG92ZXJhbGxBYnN0cmFjdHMgYXMgKE1pbmRFbGVtZW50ICYgQWJzdHJhY3ROb2RlKVtdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdFJlZiB7XG4gICAgYWJzdHJhY3Q6IE1pbmRFbGVtZW50ICYgQWJzdHJhY3ROb2RlO1xuICAgIHJlZmVyZW5jZXM6IE1pbmRFbGVtZW50W107XG59XG5cbi8qKlxuICogYWJzdHJhY3Qgbm9kZSBpcyB2YWxpZCB3aGVuIGVsZW1lbnRzIGNvbnRhaW5zIGF0IGxlYXN0IG9uZSBlbGVtZW50IGl0IGlzIHJlZmVyZW5jZWQgd2l0aFxuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsaWRBYnN0cmFjdFJlZnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3QgdmFsaWRBYnN0cmFjdFJlZnM6IEFic3RyYWN0UmVmW10gPSBbXTtcbiAgICBlbGVtZW50c1xuICAgICAgICAuZmlsdGVyKHZhbHVlID0+ICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh2YWx1ZSkgJiYgIVBsYWl0TWluZC5pc01pbmQodmFsdWUpKVxuICAgICAgICAuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdCh2YWx1ZSk7XG4gICAgICAgICAgICBpZiAoYWJzdHJhY3QgJiYgZWxlbWVudHMuaW5kZXhPZihhYnN0cmFjdCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB2YWxpZEFic3RyYWN0UmVmcy5maW5kSW5kZXgodmFsdWUgPT4gdmFsdWUuYWJzdHJhY3QgPT09IGFic3RyYWN0KTtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkQWJzdHJhY3RSZWZzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgYWJzdHJhY3Q6IGFic3RyYWN0IGFzIE1pbmRFbGVtZW50ICYgQWJzdHJhY3ROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmZXJlbmNlczogW3ZhbHVlXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZEFic3RyYWN0UmVmc1tpbmRleF0ucmVmZXJlbmNlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIHJldHVybiB2YWxpZEFic3RyYWN0UmVmcztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZihhYnN0cmFjdFJlZjogQWJzdHJhY3RSZWYsIGVsZW1lbnRzOiBNaW5kRWxlbWVudFtdKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBlbGVtZW50cy5pbmRleE9mKGFic3RyYWN0UmVmLnJlZmVyZW5jZXNbMF0pO1xuICAgIGNvbnN0IGVuZCA9IGVsZW1lbnRzLmluZGV4T2YoYWJzdHJhY3RSZWYucmVmZXJlbmNlc1thYnN0cmFjdFJlZi5yZWZlcmVuY2VzLmxlbmd0aCAtIDFdKTtcbiAgICByZXR1cm4geyBzdGFydCwgZW5kIH07XG59XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRFbGVtZW50SGFuZGxlQWJzdHJhY3QgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgcGF0aDogUGF0aCxcbiAgICBzdGVwID0gMSxcbiAgICAvLyBUaGlzIGRpc3Rpbmd1aXNoZXMgYmV0d2VlbiBkcmFnZ2luZyBhbmQgYWRkaW5nIHRvIHRoZSBsYXN0IG5vZGUgc3VtbWFyaXplZCBpbiB0aGUgYWJzdHJhY3Qgbm9kZVxuICAgIGlzRXh0ZW5kUHJldmlvdXNOb2RlOiBib29sZWFuID0gdHJ1ZSxcbiAgICBlZmZlY3RlZEFic3RyYWN0cyA9IG5ldyBNYXA8TWluZEVsZW1lbnQsIFBpY2s8QWJzdHJhY3ROb2RlLCAnc3RhcnQnIHwgJ2VuZCc+PigpXG4pID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSBQbGFpdE5vZGUucGFyZW50KGJvYXJkLCBwYXRoKSBhcyBNaW5kRWxlbWVudDtcbiAgICBjb25zdCBoYXNQcmV2aW91c05vZGUgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV0gIT09IDA7XG4gICAgbGV0IGJlaGluZEFic3RyYWN0czogTWluZEVsZW1lbnRbXTtcblxuICAgIGlmICghaGFzUHJldmlvdXNOb2RlKSB7XG4gICAgICAgIGJlaGluZEFic3RyYWN0cyA9IHBhcmVudC5jaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBQYXRoLnByZXZpb3VzKHBhdGgpKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgYmVoaW5kQWJzdHJhY3RzID0gZ2V0QmVoaW5kQWJzdHJhY3RzKHNlbGVjdGVkRWxlbWVudCk7XG4gICAgfVxuXG4gICAgaWYgKGJlaGluZEFic3RyYWN0cy5sZW5ndGgpIHtcbiAgICAgICAgYmVoaW5kQWJzdHJhY3RzLmZvckVhY2goYWJzdHJhY3QgPT4ge1xuICAgICAgICAgICAgbGV0IG5ld1Byb3BlcnRpZXMgPSBlZmZlY3RlZEFic3RyYWN0cy5nZXQoYWJzdHJhY3QpO1xuICAgICAgICAgICAgaWYgKCFuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcyA9IHsgc3RhcnQ6IDAsIGVuZDogMCB9O1xuICAgICAgICAgICAgICAgIGVmZmVjdGVkQWJzdHJhY3RzLnNldChhYnN0cmFjdCwgbmV3UHJvcGVydGllcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLnN0YXJ0ID0gbmV3UHJvcGVydGllcy5zdGFydCArIHN0ZXA7XG4gICAgICAgICAgICBuZXdQcm9wZXJ0aWVzLmVuZCA9IG5ld1Byb3BlcnRpZXMuZW5kICsgc3RlcDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKCFoYXNQcmV2aW91c05vZGUpIHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdGVkQWJzdHJhY3RzO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IFBsYWl0Tm9kZS5nZXQoYm9hcmQsIFBhdGgucHJldmlvdXMocGF0aCkpIGFzIE1pbmRFbGVtZW50O1xuICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdChzZWxlY3RlZEVsZW1lbnQpO1xuICAgIGNvbnN0IGlzRHJhZ1RvTGFzdCA9ICFpc0V4dGVuZFByZXZpb3VzTm9kZSAmJiBjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgY29ycmVzcG9uZGluZ0Fic3RyYWN0LmVuZCA9PT0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdIC0gMTtcblxuICAgIGlmIChjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgIWlzRHJhZ1RvTGFzdCkge1xuICAgICAgICBsZXQgbmV3UHJvcGVydGllcyA9IGVmZmVjdGVkQWJzdHJhY3RzLmdldChjb3JyZXNwb25kaW5nQWJzdHJhY3QpO1xuICAgICAgICBpZiAoIW5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMgPSB7IHN0YXJ0OiAwLCBlbmQ6IDAgfTtcbiAgICAgICAgICAgIGVmZmVjdGVkQWJzdHJhY3RzLnNldChjb3JyZXNwb25kaW5nQWJzdHJhY3QsIG5ld1Byb3BlcnRpZXMpO1xuICAgICAgICB9XG4gICAgICAgIG5ld1Byb3BlcnRpZXMuZW5kID0gbmV3UHJvcGVydGllcy5lbmQgKyBzdGVwO1xuICAgIH1cblxuICAgIHJldHVybiBlZmZlY3RlZEFic3RyYWN0cztcbn07XG5cbmV4cG9ydCBjb25zdCBkZWxldGVFbGVtZW50SGFuZGxlQWJzdHJhY3QgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgZGVsZXRhYmxlRWxlbWVudHM6IE1pbmRFbGVtZW50W10sXG4gICAgZWZmZWN0ZWRBYnN0cmFjdHMgPSBuZXcgTWFwPE1pbmRFbGVtZW50LCBQaWNrPEFic3RyYWN0Tm9kZSwgJ3N0YXJ0JyB8ICdlbmQnPj4oKVxuKSA9PiB7XG4gICAgZGVsZXRhYmxlRWxlbWVudHMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgaWYgKCFQbGFpdE1pbmQuaXNNaW5kKG5vZGUpKSB7XG4gICAgICAgICAgICBjb25zdCBiZWhpbmRBYnN0cmFjdHMgPSBnZXRCZWhpbmRBYnN0cmFjdHMobm9kZSkuZmlsdGVyKGFic3RyYWN0ID0+ICFkZWxldGFibGVFbGVtZW50cy5pbmNsdWRlcyhhYnN0cmFjdCkpO1xuICAgICAgICAgICAgaWYgKGJlaGluZEFic3RyYWN0cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBiZWhpbmRBYnN0cmFjdHMuZm9yRWFjaChhYnN0cmFjdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBuZXdQcm9wZXJ0aWVzID0gZWZmZWN0ZWRBYnN0cmFjdHMuZ2V0KGFic3RyYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFuZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzID0geyBzdGFydDogMCwgZW5kOiAwIH07XG4gICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RlZEFic3RyYWN0cy5zZXQoYWJzdHJhY3QsIG5ld1Byb3BlcnRpZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuc3RhcnQgPSBuZXdQcm9wZXJ0aWVzLnN0YXJ0IC0gMTtcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllcy5lbmQgPSBuZXdQcm9wZXJ0aWVzLmVuZCAtIDE7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNvcnJlc3BvbmRpbmdBYnN0cmFjdCA9IGdldENvcnJlc3BvbmRpbmdBYnN0cmFjdChub2RlKTtcbiAgICAgICAgICAgIGlmIChjb3JyZXNwb25kaW5nQWJzdHJhY3QgJiYgIWRlbGV0YWJsZUVsZW1lbnRzLmluY2x1ZGVzKGNvcnJlc3BvbmRpbmdBYnN0cmFjdCkpIHtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UHJvcGVydGllcyA9IGVmZmVjdGVkQWJzdHJhY3RzLmdldChjb3JyZXNwb25kaW5nQWJzdHJhY3QpO1xuICAgICAgICAgICAgICAgIGlmICghbmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzID0geyBzdGFydDogMCwgZW5kOiAwIH07XG5cbiAgICAgICAgICAgICAgICAgICAgZWZmZWN0ZWRBYnN0cmFjdHMuc2V0KGNvcnJlc3BvbmRpbmdBYnN0cmFjdCwgbmV3UHJvcGVydGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXMuZW5kID0gbmV3UHJvcGVydGllcy5lbmQgLSAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGVmZmVjdGVkQWJzdHJhY3RzO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ2hpbGRPZkFic3RyYWN0ID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGFuY2VzdG9ycyA9IE1pbmRFbGVtZW50LmdldEFuY2VzdG9ycyhib2FyZCwgZWxlbWVudCkgYXMgTWluZEVsZW1lbnRbXTtcbiAgICByZXR1cm4gISFhbmNlc3RvcnMuZmluZCh2YWx1ZSA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdCh2YWx1ZSkpO1xufTtcbiJdfQ==
@@ -188,4 +188,4 @@ export function handleTouchedAbstract(board, touchedAbstract, endPoint) {
188
188
  }
189
189
  return touchedAbstract;
190
190
  }
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQVMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUE4QixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FDMUMsaUJBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLG9CQUE0QyxFQUM1QyxZQUFxQixFQUN2QixFQUFFO0lBQ0EsSUFBSSxZQUFZLEVBQUU7UUFDZCxJQUFJLG9CQUFvQixLQUFLLHNCQUFzQixDQUFDLEtBQUssRUFBRTtZQUN2RCxPQUFPO2dCQUNILEdBQUcsaUJBQWlCO2dCQUNwQixDQUFDLEVBQUUsUUFBUTtnQkFDWCxNQUFNLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLENBQUMsR0FBRyxRQUFRO2FBQ3BFLENBQUM7U0FDTDthQUFNO1lBQ0gsT0FBTztnQkFDSCxHQUFHLGlCQUFpQjtnQkFDcEIsTUFBTSxFQUFFLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3pDLENBQUM7U0FDTDtLQUNKO1NBQU07UUFD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Q0FBQztBQUNiLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsS0FBaUIsRUFBRSxlQUF3QyxFQUFFLFFBQWU7SUFDOUcsSUFBSSxhQUFhLENBQUM7SUFDbEIsTUFBTSxRQUFRLEdBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDOUgsYUFBYSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxPQUFzQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQzlCLE9BQU8sZUFBZSxDQUFDO0tBQzFCO0lBRUQsSUFBSSxlQUFlLEVBQUU7UUFDakIsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxlQUFnQixDQUFzQixDQUFDO1FBQ25GLFNBQVMsQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakUsZUFBZSxHQUFHLFNBQVMsQ0FBQztLQUMvQjtJQUVELElBQUksUUFBUSxFQUFFO1FBQ1YsZUFBZSxHQUFHLFFBQVEsQ0FBQztRQUMzQixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLGVBQWdCLENBQXNCLENBQUM7UUFDbkYsU0FBUyxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDbkY7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBQb2ludCwgUmVjdGFuZ2xlQ2xpZW50LCBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzLCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSwgTGF5b3V0Tm9kZSwgTWluZExheW91dFR5cGUsIGlzSG9yaXpvbnRhbExheW91dCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRILCBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9hYnN0cmFjdC1ub2RlJztcbmltcG9ydCB7IE1pbmRRdWVyaWVzIH0gZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBnZXRDb3JyZWN0U3RhcnRFbmQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21pbmQtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1hYnN0cmFjdC1yZXNpemUuYm9hcmQnO1xuXG5leHBvcnQgY29uc3QgZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uID0gKFxuICAgIGFic3RyYWN0UmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsXG4gICAgbG9jYXRpb246IG51bWJlcixcbiAgICBhY3RpdmVIYW5kbGVQb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbixcbiAgICBpc0hvcml6b250YWw6IGJvb2xlYW5cbikgPT4ge1xuICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgaWYgKGFjdGl2ZUhhbmRsZVBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFic3RyYWN0UmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHk6IGxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIGhlaWdodDogYWJzdHJhY3RSZWN0YW5nbGUuaGVpZ2h0ICsgYWJzdHJhY3RSZWN0YW5nbGUueSAtIGxvY2F0aW9uXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hYnN0cmFjdFJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGxvY2F0aW9uIC0gYWJzdHJhY3RSZWN0YW5nbGUueVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChhY3RpdmVIYW5kbGVQb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5hYnN0cmFjdFJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB4OiBsb2NhdGlvbixcbiAgICAgICAgICAgICAgICB3aWR0aDogYWJzdHJhY3RSZWN0YW5nbGUud2lkdGggKyBhYnN0cmFjdFJlY3RhbmdsZS54IC0gbG9jYXRpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFic3RyYWN0UmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBsb2NhdGlvbiAtIGFic3RyYWN0UmVjdGFuZ2xlLnhcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TG9jYXRpb25TY29wZSA9IChcbiAgICBib2FyZDogUGxhaXRCb2FyZCxcbiAgICBoYW5kbGVQb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbixcbiAgICBwYXJlbnRDaGlsZHJlbjogTWluZEVsZW1lbnRbXSxcbiAgICBlbGVtZW50OiBNaW5kRWxlbWVudCxcbiAgICBwYXJlbnQ6IExheW91dE5vZGUsXG4gICAgaXNIb3Jpem9udGFsOiBib29sZWFuXG4pID0+IHtcbiAgICBjb25zdCBub2RlID0gKE1pbmRFbGVtZW50LmdldE5vZGUoZWxlbWVudCkgYXMgdW5rbm93bikgYXMgTGF5b3V0Tm9kZTtcbiAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGdldENvcnJlY3RTdGFydEVuZChub2RlLm9yaWdpbiBhcyBBYnN0cmFjdE5vZGUsIHBhcmVudCk7XG5cbiAgICBjb25zdCBzdGFydE5vZGUgPSBwYXJlbnRDaGlsZHJlbltzdGFydF07XG4gICAgY29uc3QgZW5kTm9kZSA9IHBhcmVudENoaWxkcmVuW2VuZF07XG5cbiAgICBpZiAoaGFuZGxlUG9zaXRpb24gPT09IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQpIHtcbiAgICAgICAgY29uc3QgYWJzdHJhY3ROb2RlID0gcGFyZW50Q2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKSAmJiBjaGlsZC5lbmQgPCBlbGVtZW50LnN0YXJ0ISk7XG4gICAgICAgIGxldCBtaW5Ob2RlO1xuXG4gICAgICAgIGlmIChhYnN0cmFjdE5vZGUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IGFic3RyYWN0Tm9kZVxuICAgICAgICAgICAgICAgIC5tYXAobm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgZW5kIH0gPSBnZXRDb3JyZWN0U3RhcnRFbmQobm9kZSBhcyBBYnN0cmFjdE5vZGUsIHBhcmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlbmQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYiAtIGEpWzBdO1xuICAgICAgICAgICAgbWluTm9kZSA9IHBhcmVudENoaWxkcmVuW2luZGV4ICsgMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtaW5Ob2RlID0gcGFyZW50Q2hpbGRyZW5bMF07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtaW5Ob2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW21pbk5vZGVdLCB0cnVlKTtcbiAgICAgICAgY29uc3QgZW5kTm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtlbmROb2RlXSwgZmFsc2UpO1xuXG4gICAgICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbWF4OiBlbmROb2RlUmVjdGFuZ2xlLnkgLSBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCxcbiAgICAgICAgICAgICAgICBtaW46IG1pbk5vZGVSZWN0YW5nbGUueSAtIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYXg6IGVuZE5vZGVSZWN0YW5nbGUueCAtIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogbWluTm9kZVJlY3RhbmdsZS54IC0gQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhYnN0cmFjdE5vZGUgPSBwYXJlbnRDaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLnN0YXJ0ID4gZWxlbWVudC5lbmQhKTtcbiAgICAgICAgbGV0IG1heE5vZGU7XG5cbiAgICAgICAgaWYgKGFic3RyYWN0Tm9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYWJzdHJhY3ROb2RlXG4gICAgICAgICAgICAgICAgLm1hcChub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzdGFydCB9ID0gZ2V0Q29ycmVjdFN0YXJ0RW5kKG5vZGUgYXMgQWJzdHJhY3ROb2RlLCBwYXJlbnQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gc3RhcnQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc29ydCgoYSwgYikgPT4gYSAtIGIpWzBdO1xuICAgICAgICAgICAgbWF4Tm9kZSA9IHBhcmVudENoaWxkcmVuW2luZGV4IC0gMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudENoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpKTtcbiAgICAgICAgICAgIG1heE5vZGUgPSBwYXJlbnRDaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1heE5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbbWF4Tm9kZV0sIHRydWUpO1xuICAgICAgICBjb25zdCBzdGFydE5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbc3RhcnROb2RlXSwgZmFsc2UpO1xuXG4gICAgICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbWF4OiBtYXhOb2RlUmVjdGFuZ2xlLnkgKyBtYXhOb2RlUmVjdGFuZ2xlLmhlaWdodCArIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogc3RhcnROb2RlUmVjdGFuZ2xlLnkgKyBzdGFydE5vZGVSZWN0YW5nbGUuaGVpZ2h0ICsgQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heDogbWF4Tm9kZVJlY3RhbmdsZS54ICsgbWF4Tm9kZVJlY3RhbmdsZS53aWR0aCArIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogc3RhcnROb2RlUmVjdGFuZ2xlLnggKyBzdGFydE5vZGVSZWN0YW5nbGUud2lkdGggKyBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIaXRBYnN0cmFjdEhhbmRsZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IG5vZGVMYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRDb3JyZWN0TGF5b3V0QnlFbGVtZW50KGJvYXJkLCBlbGVtZW50KSBhcyBNaW5kTGF5b3V0VHlwZTtcbiAgICBjb25zdCBpc0hvcml6b250YWwgPSBpc0hvcml6b250YWxMYXlvdXQobm9kZUxheW91dCk7XG5cbiAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gTWluZEVsZW1lbnQuZ2V0UGFyZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGluY2x1ZGVkRWxlbWVudHMgPSBwYXJlbnRFbGVtZW50LmNoaWxkcmVuLnNsaWNlKGVsZW1lbnQuc3RhcnQhLCBlbGVtZW50LmVuZCEgKyAxKTtcbiAgICBsZXQgYWJzdHJhY3RSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBpbmNsdWRlZEVsZW1lbnRzLCB0cnVlKTtcbiAgICBhYnN0cmFjdFJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRPdXRsaW5lUmVjdGFuZ2xlKGFic3RyYWN0UmVjdGFuZ2xlLCAtQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQpO1xuXG4gICAgY29uc3Qgc3RhcnRIYW5kbGVSZWMgPSBnZXRBYnN0cmFjdEhhbmRsZVJlY3RhbmdsZShhYnN0cmFjdFJlY3RhbmdsZSwgaXNIb3Jpem9udGFsLCBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KTtcbiAgICBjb25zdCBlbmRIYW5kbGVSZWMgPSBnZXRBYnN0cmFjdEhhbmRsZVJlY3RhbmdsZShhYnN0cmFjdFJlY3RhbmdsZSwgaXNIb3Jpem9udGFsLCBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLmVuZCk7XG5cbiAgICBjb25zdCBwb2ludFJlYyA9IFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhbcG9pbnQsIHBvaW50XSk7XG4gICAgaWYgKFJlY3RhbmdsZUNsaWVudC5pc0hpdChwb2ludFJlYywgc3RhcnRIYW5kbGVSZWMpKSByZXR1cm4gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydDtcbiAgICBpZiAoUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHBvaW50UmVjLCBlbmRIYW5kbGVSZWMpKSByZXR1cm4gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5lbmQ7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRBYnN0cmFjdEhhbmRsZVJlY3RhbmdsZSA9IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgaXNIb3Jpem9udGFsOiBib29sZWFuLCBwb3NpdGlvbjogQWJzdHJhY3RIYW5kbGVQb3NpdGlvbikgPT4ge1xuICAgIGxldCByZXN1bHQ7XG4gICAgaWYgKHBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gaXNIb3Jpem9udGFsID8gcmVjdGFuZ2xlLnkgOiByZWN0YW5nbGUueDtcblxuICAgICAgICByZXN1bHQgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24oXG4gICAgICAgICAgICByZWN0YW5nbGUsXG4gICAgICAgICAgICBsb2NhdGlvbiArIEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIIC8gMixcbiAgICAgICAgICAgIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uZW5kLFxuICAgICAgICAgICAgaXNIb3Jpem9udGFsXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdCA9IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbihyZXN1bHQsIGxvY2F0aW9uIC0gQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggLyAyLCBwb3NpdGlvbiwgaXNIb3Jpem9udGFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBsb2NhdGlvbiA9IGlzSG9yaXpvbnRhbCA/IHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCA6IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoO1xuXG4gICAgICAgIHJlc3VsdCA9IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbihcbiAgICAgICAgICAgIHJlY3RhbmdsZSxcbiAgICAgICAgICAgIGxvY2F0aW9uIC0gQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggLyAyLFxuICAgICAgICAgICAgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCxcbiAgICAgICAgICAgIGlzSG9yaXpvbnRhbFxuICAgICAgICApO1xuICAgICAgICByZXN1bHQgPSBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24ocmVzdWx0LCBsb2NhdGlvbiArIEFCU1RSQUNUX0hBTkRMRV9NQVNLX1dJRFRIIC8gMiwgcG9zaXRpb24sIGlzSG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZExvY2F0aW9uTGVmdEluZGV4KGJvYXJkOiBQbGFpdEJvYXJkLCBwYXJlbnRDaGlsZHJlbjogTWluZEVsZW1lbnRbXSwgbG9jYXRpb246IG51bWJlciwgaXNIb3Jpem9udGFsOiBib29sZWFuKSB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnRDaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4ge1xuICAgICAgICByZXR1cm4gIUFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGNoaWxkKTtcbiAgICB9KTtcbiAgICBjb25zdCByZWNBcnJheSA9IGNoaWxkcmVuLm1hcChjaGlsZCA9PiB7XG4gICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbY2hpbGRdLCBmYWxzZSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBmaXJzdFJlYyA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtjaGlsZHJlblswXV0sIHRydWUpO1xuICAgIGNvbnN0IGZha2VMZWZ0UmVjID0ge1xuICAgICAgICB4OiBmaXJzdFJlYy54IC0gZmlyc3RSZWMud2lkdGgsXG4gICAgICAgIHk6IGZpcnN0UmVjLnkgLSBmaXJzdFJlYy5oZWlnaHQsXG4gICAgICAgIHdpZHRoOiBmaXJzdFJlYy53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBmaXJzdFJlYy5oZWlnaHRcbiAgICB9O1xuICAgIGNvbnN0IGxhc3RSZWMgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbY2hpbGRyZW5bY2hpbGRyZW4ubGVuZ3RoIC0gMV1dLCB0cnVlKTtcbiAgICBjb25zdCBmYWtlUmlnaHRSZWMgPSB7XG4gICAgICAgIHg6IGxhc3RSZWMueCArIGxhc3RSZWMud2lkdGgsXG4gICAgICAgIHk6IGxhc3RSZWMueSArIGxhc3RSZWMuaGVpZ2h0LFxuICAgICAgICB3aWR0aDogbGFzdFJlYy53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiBsYXN0UmVjLmhlaWdodFxuICAgIH07XG5cbiAgICByZWNBcnJheS5wdXNoKGZha2VSaWdodFJlYyk7XG4gICAgcmVjQXJyYXkudW5zaGlmdChmYWtlTGVmdFJlYyk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlY0FycmF5Lmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICBjb25zdCByZWNYT3JZID0gaXNIb3Jpem9udGFsID8gcmVjQXJyYXlbaV0ueSA6IHJlY0FycmF5W2ldLng7XG4gICAgICAgIGNvbnN0IHJlY1dpZHRoT3JIZWlnaHQgPSBpc0hvcml6b250YWwgPyByZWNBcnJheVtpXS5oZWlnaHQgOiByZWNBcnJheVtpXS53aWR0aDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBsb2NhdGlvbiA+PSByZWNYT3JZICsgcmVjV2lkdGhPckhlaWdodCAvIDIgJiZcbiAgICAgICAgICAgIGxvY2F0aW9uIDw9IHJlY0FycmF5W2kgKyAxXVtpc0hvcml6b250YWwgPyAneScgOiAneCddICsgcmVjQXJyYXlbaSArIDFdW2lzSG9yaXpvbnRhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJ10gLyAyXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGkgLSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlVG91Y2hlZEFic3RyYWN0KGJvYXJkOiBQbGFpdEJvYXJkLCB0b3VjaGVkQWJzdHJhY3Q6IE1pbmRFbGVtZW50IHwgdW5kZWZpbmVkLCBlbmRQb2ludDogUG9pbnQpIHtcbiAgICBsZXQgdG91Y2hlZEhhbmRsZTtcbiAgICBjb25zdCBhYnN0cmFjdCA9IChnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKS5maWx0ZXIoZWxlbWVudCA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSkgYXMgTWluZEVsZW1lbnRbXSkuZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgdG91Y2hlZEhhbmRsZSA9IGdldEhpdEFic3RyYWN0SGFuZGxlKGJvYXJkLCBlbGVtZW50IGFzIE1pbmRFbGVtZW50LCBlbmRQb2ludCk7XG4gICAgICAgIHJldHVybiB0b3VjaGVkSGFuZGxlO1xuICAgIH0pO1xuXG4gICAgaWYgKHRvdWNoZWRBYnN0cmFjdCA9PT0gYWJzdHJhY3QpIHtcbiAgICAgICAgcmV0dXJuIHRvdWNoZWRBYnN0cmFjdDtcbiAgICB9XG5cbiAgICBpZiAodG91Y2hlZEFic3RyYWN0KSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQodG91Y2hlZEFic3RyYWN0ISkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgICAgIGNvbXBvbmVudC5hY3RpdmVHZW5lcmF0b3IudXBkYXRlQWJzdHJhY3RPdXRsaW5lKHRvdWNoZWRBYnN0cmFjdCk7XG4gICAgICAgIHRvdWNoZWRBYnN0cmFjdCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoYWJzdHJhY3QpIHtcbiAgICAgICAgdG91Y2hlZEFic3RyYWN0ID0gYWJzdHJhY3Q7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQodG91Y2hlZEFic3RyYWN0ISkgYXMgTWluZE5vZGVDb21wb25lbnQ7XG4gICAgICAgIGNvbXBvbmVudC5hY3RpdmVHZW5lcmF0b3IudXBkYXRlQWJzdHJhY3RPdXRsaW5lKHRvdWNoZWRBYnN0cmFjdCwgdG91Y2hlZEhhbmRsZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRvdWNoZWRBYnN0cmFjdDtcbn1cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvYWJzdHJhY3QvcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQVMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUE4QixrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FDMUMsaUJBQWtDLEVBQ2xDLFFBQWdCLEVBQ2hCLG9CQUE0QyxFQUM1QyxZQUFxQixFQUN2QixFQUFFO0lBQ0EsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNmLElBQUksb0JBQW9CLEtBQUssc0JBQXNCLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEQsT0FBTztnQkFDSCxHQUFHLGlCQUFpQjtnQkFDcEIsQ0FBQyxFQUFFLFFBQVE7Z0JBQ1gsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsUUFBUTthQUNwRSxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPO2dCQUNILEdBQUcsaUJBQWlCO2dCQUNwQixNQUFNLEVBQUUsUUFBUSxHQUFHLGlCQUFpQixDQUFDLENBQUM7YUFDekMsQ0FB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QUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBvaW50LCBSZWN0YW5nbGVDbGllbnQsIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBMYXlvdXROb2RlLCBNaW5kTGF5b3V0VHlwZSwgaXNIb3Jpem9udGFsTGF5b3V0IH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEgsIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Fic3RyYWN0LW5vZGUnO1xuaW1wb3J0IHsgTWluZFF1ZXJpZXMgfSBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IGdldENvcnJlY3RTdGFydEVuZCB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbWluZC1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy93aXRoLWFic3RyYWN0LXJlc2l6ZS5ib2FyZCc7XG5cbmV4cG9ydCBjb25zdCBnZXRSZWN0YW5nbGVCeVJlc2l6aW5nTG9jYXRpb24gPSAoXG4gICAgYWJzdHJhY3RSZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCxcbiAgICBsb2NhdGlvbjogbnVtYmVyLFxuICAgIGFjdGl2ZUhhbmRsZVBvc2l0aW9uOiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLFxuICAgIGlzSG9yaXpvbnRhbDogYm9vbGVhblxuKSA9PiB7XG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICBpZiAoYWN0aXZlSGFuZGxlUG9zaXRpb24gPT09IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYWJzdHJhY3RSZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgeTogbG9jYXRpb24sXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhYnN0cmFjdFJlY3RhbmdsZS5oZWlnaHQgKyBhYnN0cmFjdFJlY3RhbmdsZS55IC0gbG9jYXRpb25cbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFic3RyYWN0UmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIGhlaWdodDogbG9jYXRpb24gLSBhYnN0cmFjdFJlY3RhbmdsZS55XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGFjdGl2ZUhhbmRsZVBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0KSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmFic3RyYWN0UmVjdGFuZ2xlLFxuICAgICAgICAgICAgICAgIHg6IGxvY2F0aW9uLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBhYnN0cmFjdFJlY3RhbmdsZS53aWR0aCArIGFic3RyYWN0UmVjdGFuZ2xlLnggLSBsb2NhdGlvblxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uYWJzdHJhY3RSZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxvY2F0aW9uIC0gYWJzdHJhY3RSZWN0YW5nbGUueFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMb2NhdGlvblNjb3BlID0gKFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIGhhbmRsZVBvc2l0aW9uOiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLFxuICAgIHBhcmVudENoaWxkcmVuOiBNaW5kRWxlbWVudFtdLFxuICAgIGVsZW1lbnQ6IE1pbmRFbGVtZW50LFxuICAgIHBhcmVudDogTGF5b3V0Tm9kZSxcbiAgICBpc0hvcml6b250YWw6IGJvb2xlYW5cbikgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSAoTWluZEVsZW1lbnQuZ2V0Tm9kZShlbGVtZW50KSBhcyB1bmtub3duKSBhcyBMYXlvdXROb2RlO1xuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gZ2V0Q29ycmVjdFN0YXJ0RW5kKG5vZGUub3JpZ2luIGFzIEFic3RyYWN0Tm9kZSwgcGFyZW50KTtcblxuICAgIGNvbnN0IHN0YXJ0Tm9kZSA9IHBhcmVudENoaWxkcmVuW3N0YXJ0XTtcbiAgICBjb25zdCBlbmROb2RlID0gcGFyZW50Q2hpbGRyZW5bZW5kXTtcblxuICAgIGlmIChoYW5kbGVQb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5zdGFydCkge1xuICAgICAgICBjb25zdCBhYnN0cmFjdE5vZGUgPSBwYXJlbnRDaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpICYmIGNoaWxkLmVuZCA8IGVsZW1lbnQuc3RhcnQhKTtcbiAgICAgICAgbGV0IG1pbk5vZGU7XG5cbiAgICAgICAgaWYgKGFic3RyYWN0Tm9kZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gYWJzdHJhY3ROb2RlXG4gICAgICAgICAgICAgICAgLm1hcChub2RlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBlbmQgfSA9IGdldENvcnJlY3RTdGFydEVuZChub2RlIGFzIEFic3RyYWN0Tm9kZSwgcGFyZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVuZDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiIC0gYSlbMF07XG4gICAgICAgICAgICBtaW5Ob2RlID0gcGFyZW50Q2hpbGRyZW5baW5kZXggKyAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1pbk5vZGUgPSBwYXJlbnRDaGlsZHJlblswXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1pbk5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBbbWluTm9kZV0sIHRydWUpO1xuICAgICAgICBjb25zdCBlbmROb2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW2VuZE5vZGVdLCBmYWxzZSk7XG5cbiAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYXg6IGVuZE5vZGVSZWN0YW5nbGUueSAtIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIG1pbjogbWluTm9kZVJlY3RhbmdsZS55IC0gQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1heDogZW5kTm9kZVJlY3RhbmdsZS54IC0gQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQsXG4gICAgICAgICAgICAgICAgbWluOiBtaW5Ob2RlUmVjdGFuZ2xlLnggLSBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGFic3RyYWN0Tm9kZSA9IHBhcmVudENoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiBBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkgJiYgY2hpbGQuc3RhcnQgPiBlbGVtZW50LmVuZCEpO1xuICAgICAgICBsZXQgbWF4Tm9kZTtcblxuICAgICAgICBpZiAoYWJzdHJhY3ROb2RlLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBhYnN0cmFjdE5vZGVcbiAgICAgICAgICAgICAgICAubWFwKG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXJ0IH0gPSBnZXRDb3JyZWN0U3RhcnRFbmQobm9kZSBhcyBBYnN0cmFjdE5vZGUsIHBhcmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGFydDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhIC0gYilbMF07XG4gICAgICAgICAgICBtYXhOb2RlID0gcGFyZW50Q2hpbGRyZW5baW5kZXggLSAxXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gcGFyZW50Q2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICFBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChjaGlsZCkpO1xuICAgICAgICAgICAgbWF4Tm9kZSA9IHBhcmVudENoaWxkcmVuW2NoaWxkcmVuLmxlbmd0aCAtIDFdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWF4Tm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFttYXhOb2RlXSwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IHN0YXJ0Tm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtzdGFydE5vZGVdLCBmYWxzZSk7XG5cbiAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYXg6IG1heE5vZGVSZWN0YW5nbGUueSArIG1heE5vZGVSZWN0YW5nbGUuaGVpZ2h0ICsgQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQsXG4gICAgICAgICAgICAgICAgbWluOiBzdGFydE5vZGVSZWN0YW5nbGUueSArIHN0YXJ0Tm9kZVJlY3RhbmdsZS5oZWlnaHQgKyBBQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbWF4OiBtYXhOb2RlUmVjdGFuZ2xlLnggKyBtYXhOb2RlUmVjdGFuZ2xlLndpZHRoICsgQUJTVFJBQ1RfSU5DTFVERURfT1VUTElORV9PRkZTRVQsXG4gICAgICAgICAgICAgICAgbWluOiBzdGFydE5vZGVSZWN0YW5nbGUueCArIHN0YXJ0Tm9kZVJlY3RhbmdsZS53aWR0aCArIEFCU1RSQUNUX0lOQ0xVREVEX09VVExJTkVfT0ZGU0VUXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldEhpdEFic3RyYWN0SGFuZGxlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgcG9pbnQ6IFBvaW50KSA9PiB7XG4gICAgY29uc3Qgbm9kZUxheW91dCA9IE1pbmRRdWVyaWVzLmdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQoYm9hcmQsIGVsZW1lbnQpIGFzIE1pbmRMYXlvdXRUeXBlO1xuICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IGlzSG9yaXpvbnRhbExheW91dChub2RlTGF5b3V0KTtcblxuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQoZWxlbWVudCk7XG4gICAgY29uc3QgaW5jbHVkZWRFbGVtZW50cyA9IHBhcmVudEVsZW1lbnQuY2hpbGRyZW4uc2xpY2UoZWxlbWVudC5zdGFydCEsIGVsZW1lbnQuZW5kISArIDEpO1xuICAgIGxldCBhYnN0cmFjdFJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGluY2x1ZGVkRWxlbWVudHMsIHRydWUpO1xuICAgIGFic3RyYWN0UmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldE91dGxpbmVSZWN0YW5nbGUoYWJzdHJhY3RSZWN0YW5nbGUsIC1BQlNUUkFDVF9JTkNMVURFRF9PVVRMSU5FX09GRlNFVCk7XG5cbiAgICBjb25zdCBzdGFydEhhbmRsZVJlYyA9IGdldEFic3RyYWN0SGFuZGxlUmVjdGFuZ2xlKGFic3RyYWN0UmVjdGFuZ2xlLCBpc0hvcml6b250YWwsIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQpO1xuICAgIGNvbnN0IGVuZEhhbmRsZVJlYyA9IGdldEFic3RyYWN0SGFuZGxlUmVjdGFuZ2xlKGFic3RyYWN0UmVjdGFuZ2xlLCBpc0hvcml6b250YWwsIEFic3RyYWN0SGFuZGxlUG9zaXRpb24uZW5kKTtcblxuICAgIGNvbnN0IHBvaW50UmVjID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKFtwb2ludCwgcG9pbnRdKTtcbiAgICBpZiAoUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KHBvaW50UmVjLCBzdGFydEhhbmRsZVJlYykpIHJldHVybiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0O1xuICAgIGlmIChSZWN0YW5nbGVDbGllbnQuaXNIaXQocG9pbnRSZWMsIGVuZEhhbmRsZVJlYykpIHJldHVybiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLmVuZDtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEFic3RyYWN0SGFuZGxlUmVjdGFuZ2xlID0gKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBpc0hvcml6b250YWw6IGJvb2xlYW4sIHBvc2l0aW9uOiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uKSA9PiB7XG4gICAgbGV0IHJlc3VsdDtcbiAgICBpZiAocG9zaXRpb24gPT09IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQpIHtcbiAgICAgICAgY29uc3QgbG9jYXRpb24gPSBpc0hvcml6b250YWwgPyByZWN0YW5nbGUueSA6IHJlY3RhbmdsZS54O1xuXG4gICAgICAgIHJlc3VsdCA9IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbihcbiAgICAgICAgICAgIHJlY3RhbmdsZSxcbiAgICAgICAgICAgIGxvY2F0aW9uICsgQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggLyAyLFxuICAgICAgICAgICAgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5lbmQsXG4gICAgICAgICAgICBpc0hvcml6b250YWxcbiAgICAgICAgKTtcbiAgICAgICAgcmVzdWx0ID0gZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uKHJlc3VsdCwgbG9jYXRpb24gLSBBQlNUUkFDVF9IQU5ETEVfTUFTS19XSURUSCAvIDIsIHBvc2l0aW9uLCBpc0hvcml6b250YWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGxvY2F0aW9uID0gaXNIb3Jpem9udGFsID8gcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IDogcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGg7XG5cbiAgICAgICAgcmVzdWx0ID0gZ2V0UmVjdGFuZ2xlQnlSZXNpemluZ0xvY2F0aW9uKFxuICAgICAgICAgICAgcmVjdGFuZ2xlLFxuICAgICAgICAgICAgbG9jYXRpb24gLSBBQlNUUkFDVF9IQU5ETEVfTUFTS19XSURUSCAvIDIsXG4gICAgICAgICAgICBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0LFxuICAgICAgICAgICAgaXNIb3Jpem9udGFsXG4gICAgICAgICk7XG4gICAgICAgIHJlc3VsdCA9IGdldFJlY3RhbmdsZUJ5UmVzaXppbmdMb2NhdGlvbihyZXN1bHQsIGxvY2F0aW9uICsgQUJTVFJBQ1RfSEFORExFX01BU0tfV0lEVEggLyAyLCBwb3NpdGlvbiwgaXNIb3Jpem9udGFsKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kTG9jYXRpb25MZWZ0SW5kZXgoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBhcmVudENoaWxkcmVuOiBNaW5kRWxlbWVudFtdLCBsb2NhdGlvbjogbnVtYmVyLCBpc0hvcml6b250YWw6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudENoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiB7XG4gICAgICAgIHJldHVybiAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QoY2hpbGQpO1xuICAgIH0pO1xuICAgIGNvbnN0IHJlY0FycmF5ID0gY2hpbGRyZW4ubWFwKGNoaWxkID0+IHtcbiAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtjaGlsZF0sIGZhbHNlKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGZpcnN0UmVjID0gZ2V0UmVjdGFuZ2xlQnlFbGVtZW50cyhib2FyZCwgW2NoaWxkcmVuWzBdXSwgdHJ1ZSk7XG4gICAgY29uc3QgZmFrZUxlZnRSZWMgPSB7XG4gICAgICAgIHg6IGZpcnN0UmVjLnggLSBmaXJzdFJlYy53aWR0aCxcbiAgICAgICAgeTogZmlyc3RSZWMueSAtIGZpcnN0UmVjLmhlaWdodCxcbiAgICAgICAgd2lkdGg6IGZpcnN0UmVjLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IGZpcnN0UmVjLmhlaWdodFxuICAgIH07XG4gICAgY29uc3QgbGFzdFJlYyA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIFtjaGlsZHJlbltjaGlsZHJlbi5sZW5ndGggLSAxXV0sIHRydWUpO1xuICAgIGNvbnN0IGZha2VSaWdodFJlYyA9IHtcbiAgICAgICAgeDogbGFzdFJlYy54ICsgbGFzdFJlYy53aWR0aCxcbiAgICAgICAgeTogbGFzdFJlYy55ICsgbGFzdFJlYy5oZWlnaHQsXG4gICAgICAgIHdpZHRoOiBsYXN0UmVjLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IGxhc3RSZWMuaGVpZ2h0XG4gICAgfTtcblxuICAgIHJlY0FycmF5LnB1c2goZmFrZVJpZ2h0UmVjKTtcbiAgICByZWNBcnJheS51bnNoaWZ0KGZha2VMZWZ0UmVjKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVjQXJyYXkubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHJlY1hPclkgPSBpc0hvcml6b250YWwgPyByZWNBcnJheVtpXS55IDogcmVjQXJyYXlbaV0ueDtcbiAgICAgICAgY29uc3QgcmVjV2lkdGhPckhlaWdodCA9IGlzSG9yaXpvbnRhbCA/IHJlY0FycmF5W2ldLmhlaWdodCA6IHJlY0FycmF5W2ldLndpZHRoO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGxvY2F0aW9uID49IHJlY1hPclkgKyByZWNXaWR0aE9ySGVpZ2h0IC8gMiAmJlxuICAgICAgICAgICAgbG9jYXRpb24gPD0gcmVjQXJyYXlbaSArIDFdW2lzSG9yaXpvbnRhbCA/ICd5JyA6ICd4J10gKyByZWNBcnJheVtpICsgMV1baXNIb3Jpem9udGFsID8gJ2hlaWdodCcgOiAnd2lkdGgnXSAvIDJcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gaSAtIDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYW5kbGVUb3VjaGVkQWJzdHJhY3QoYm9hcmQ6IFBsYWl0Qm9hcmQsIHRvdWNoZWRBYnN0cmFjdDogTWluZEVsZW1lbnQgfCB1bmRlZmluZWQsIGVuZFBvaW50OiBQb2ludCkge1xuICAgIGxldCB0b3VjaGVkSGFuZGxlO1xuICAgIGNvbnN0IGFic3RyYWN0ID0gKGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmZpbHRlcihlbGVtZW50ID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpKSBhcyBNaW5kRWxlbWVudFtdKS5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICB0b3VjaGVkSGFuZGxlID0gZ2V0SGl0QWJzdHJhY3RIYW5kbGUoYm9hcmQsIGVsZW1lbnQgYXMgTWluZEVsZW1lbnQsIGVuZFBvaW50KTtcbiAgICAgICAgcmV0dXJuIHRvdWNoZWRIYW5kbGU7XG4gICAgfSk7XG5cbiAgICBpZiAodG91Y2hlZEFic3RyYWN0ID09PSBhYnN0cmFjdCkge1xuICAgICAgICByZXR1cm4gdG91Y2hlZEFic3RyYWN0O1xuICAgIH1cblxuICAgIGlmICh0b3VjaGVkQWJzdHJhY3QpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudCh0b3VjaGVkQWJzdHJhY3QhKSBhcyBNaW5kTm9kZUNvbXBvbmVudDtcbiAgICAgICAgY29tcG9uZW50LmFjdGl2ZUdlbmVyYXRvci51cGRhdGVBYnN0cmFjdE91dGxpbmUodG91Y2hlZEFic3RyYWN0KTtcbiAgICAgICAgdG91Y2hlZEFic3RyYWN0ID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChhYnN0cmFjdCkge1xuICAgICAgICB0b3VjaGVkQWJzdHJhY3QgPSBhYnN0cmFjdDtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gUGxhaXRFbGVtZW50LmdldENvbXBvbmVudCh0b3VjaGVkQWJzdHJhY3QhKSBhcyBNaW5kTm9kZUNvbXBvbmVudDtcbiAgICAgICAgY29tcG9uZW50LmFjdGl2ZUdlbmVyYXRvci51cGRhdGVBYnN0cmFjdE91dGxpbmUodG91Y2hlZEFic3RyYWN0LCB0b3VjaGVkSGFuZGxlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG91Y2hlZEFic3RyYWN0O1xufVxuIl19