@plait/draw 0.51.2 → 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 (53) hide show
  1. package/esm2022/engines/basic-shapes/polygon.mjs +1 -1
  2. package/esm2022/engines/basic-shapes/round-rectangle.mjs +1 -1
  3. package/esm2022/engines/flowchart/delay.mjs +1 -1
  4. package/esm2022/engines/flowchart/stored-data.mjs +1 -1
  5. package/esm2022/engines/flowchart/terminal.mjs +1 -1
  6. package/esm2022/generators/geometry-shape.generator.mjs +1 -1
  7. package/esm2022/generators/group.generator.mjs +20 -0
  8. package/esm2022/generators/line-active.generator.mjs +1 -1
  9. package/esm2022/generators/line-auto-complete.generator.mjs +1 -1
  10. package/esm2022/geometry.component.mjs +9 -5
  11. package/esm2022/group.component.mjs +47 -0
  12. package/esm2022/image.component.mjs +5 -5
  13. package/esm2022/interfaces/index.mjs +1 -1
  14. package/esm2022/interfaces/line.mjs +1 -1
  15. package/esm2022/line.component.mjs +5 -5
  16. package/esm2022/plugins/with-draw-fragment.mjs +1 -1
  17. package/esm2022/plugins/with-draw-hotkey.mjs +1 -1
  18. package/esm2022/plugins/with-draw-resize.mjs +9 -4
  19. package/esm2022/plugins/with-draw.mjs +9 -2
  20. package/esm2022/plugins/with-geometry-create.mjs +1 -1
  21. package/esm2022/plugins/with-geometry-resize.mjs +1 -1
  22. package/esm2022/plugins/with-line-auto-complete-reaction.mjs +1 -1
  23. package/esm2022/plugins/with-line-auto-complete.mjs +1 -1
  24. package/esm2022/plugins/with-line-bound-reaction.mjs +1 -1
  25. package/esm2022/plugins/with-line-create.mjs +1 -1
  26. package/esm2022/plugins/with-line-resize.mjs +1 -1
  27. package/esm2022/plugins/with-line-text-move.mjs +1 -1
  28. package/esm2022/plugins/with-line-text.mjs +1 -1
  29. package/esm2022/transforms/geometry-text.mjs +1 -1
  30. package/esm2022/transforms/geometry.mjs +3 -3
  31. package/esm2022/transforms/line.mjs +1 -1
  32. package/esm2022/utils/clipboard.mjs +1 -1
  33. package/esm2022/utils/geometry.mjs +1 -1
  34. package/esm2022/utils/hit.mjs +21 -8
  35. package/esm2022/utils/line/elbow.mjs +3 -3
  36. package/esm2022/utils/line/line-arrow.mjs +1 -1
  37. package/esm2022/utils/line/line-basic.mjs +6 -6
  38. package/esm2022/utils/line/line-common.mjs +1 -1
  39. package/esm2022/utils/line/line-resize.mjs +1 -1
  40. package/esm2022/utils/memorize.mjs +1 -1
  41. package/esm2022/utils/polygon.mjs +1 -1
  42. package/esm2022/utils/position/geometry.mjs +1 -1
  43. package/esm2022/utils/position/line.mjs +1 -1
  44. package/esm2022/utils/resize-align-reaction.mjs +1 -1
  45. package/esm2022/utils/resize-align.mjs +3 -3
  46. package/esm2022/utils/shape.mjs +1 -1
  47. package/esm2022/utils/style/stroke.mjs +1 -1
  48. package/fesm2022/plait-draw.mjs +117 -29
  49. package/fesm2022/plait-draw.mjs.map +1 -1
  50. package/generators/group.generator.d.ts +6 -0
  51. package/group.component.d.ts +17 -0
  52. package/package.json +1 -1
  53. package/utils/memorize.d.ts +2 -0
@@ -53,4 +53,4 @@ export function createPolygonEngine(options) {
53
53
  }
54
54
  return engine;
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3BvbHlnb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2YsNEJBQTRCLEVBQzVCLHNDQUFzQyxFQUN0QyxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUTlHLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFzQjtJQUN0RCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDM0MsTUFBTSxNQUFNLEdBQWdCO1FBQ3hCLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7WUFDaEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN2RSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkMsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELGFBQWEsQ0FBQyxTQUEwQixFQUFFLEtBQVk7WUFDbEQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxlQUFlLENBQUMsU0FBMEI7WUFDdEMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELGVBQWUsQ0FBQyxTQUEwQixFQUFFLEtBQVk7WUFDcEQsT0FBTyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELHVCQUF1QixDQUFDLFNBQTBCLEVBQUUsS0FBWTtZQUM1RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsc0NBQXNDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlFLElBQUksWUFBWSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RyxjQUFjO2lCQUNULE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQy9CLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDckIsSUFBSSxRQUFRLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BHLElBQUksUUFBUSxHQUFHLGVBQWUsRUFBRTtvQkFDNUIsZUFBZSxHQUFHLFFBQVEsQ0FBQztvQkFDM0IsWUFBWSxHQUFHLGFBQWEsQ0FBQztpQkFDaEM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVQLE9BQU8sWUFBWSxDQUFDO1FBQ3hCLENBQUM7UUFDRCx3QkFBd0IsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztZQUNuRixNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzlFLE9BQU8sK0JBQStCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxrQkFBa0IsQ0FBQyxTQUEwQjtZQUN6QyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtnQkFDNUIsT0FBTyxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDaEQ7WUFDRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxDQUFDO0tBQ0osQ0FBQztJQUNGLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFO1FBQzFCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7S0FDdEQ7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIFBvaW50T2ZSZWN0YW5nbGUsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgaXNQb2ludEluUG9seWdvbixcbiAgICBzZXRTdHJva2VMaW5lY2FwXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBnZXRDcm9zc2luZ1BvaW50QmV0d2VlblBvaW50QW5kUG9seWdvbiwgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9wdGlvbnMge1xuICAgIGdldFBvbHlnb25Qb2ludHM6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkgPT4gUG9pbnRbXTtcbiAgICBnZXRDb25uZWN0b3JQb2ludHM/OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IFBvaW50W107XG4gICAgZ2V0VGV4dFJlY3RhbmdsZT86IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiBSZWN0YW5nbGVDbGllbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb2x5Z29uRW5naW5lKG9wdGlvbnM6IENyZWF0ZU9wdGlvbnMpOiBTaGFwZUVuZ2luZSB7XG4gICAgY29uc3QgZ2V0UG9pbnRzID0gb3B0aW9ucy5nZXRQb2x5Z29uUG9pbnRzO1xuICAgIGNvbnN0IGVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBwb2x5Z29uID0gcnMucG9seWdvbihwb2ludHMsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChwb2x5Z29uLCAncm91bmQnKTtcbiAgICAgICAgICAgIHJldHVybiBwb2x5Z29uO1xuICAgICAgICB9LFxuICAgICAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICAgICAgcmV0dXJuIGlzUG9pbnRJblBvbHlnb24ocG9pbnQsIHBvaW50cyk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBnZXRQb2ludHMocmVjdGFuZ2xlKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE5lYXJlc3RDcm9zc2luZ1BvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvcm5lcnMgPSBnZXRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IGNyb3NzaW5nUG9pbnRzID0gZ2V0Q3Jvc3NpbmdQb2ludEJldHdlZW5Qb2ludEFuZFBvbHlnb24oY29ybmVycywgcG9pbnQpO1xuICAgICAgICAgICAgbGV0IG5lYXJlc3RQb2ludCA9IGNyb3NzaW5nUG9pbnRzWzBdO1xuICAgICAgICAgICAgbGV0IG5lYXJlc3REaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQocG9pbnRbMF0sIHBvaW50WzFdLCBuZWFyZXN0UG9pbnRbMF0sIG5lYXJlc3RQb2ludFsxXSk7XG4gICAgICAgICAgICBjcm9zc2luZ1BvaW50c1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGluZGV4KSA9PiBpbmRleCA+IDApXG4gICAgICAgICAgICAgICAgLmZvckVhY2goY3Jvc3NpbmdQb2ludCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQocG9pbnRbMF0sIHBvaW50WzFdLCBjcm9zc2luZ1BvaW50WzBdLCBjcm9zc2luZ1BvaW50WzFdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlIDwgbmVhcmVzdERpc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWFyZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludCA9IGNyb3NzaW5nUG9pbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5lYXJlc3RQb2ludDtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RWRnZUJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKTogW1BvaW50LCBQb2ludF0gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGNvcm5lcnMgPSBnZXRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICAgICAgcmV0dXJuIGdldFBvbHlnb25FZGdlQnlDb25uZWN0aW9uUG9pbnQoY29ybmVycywgcG9pbnQpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmdldENvbm5lY3RvclBvaW50cykge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGdldFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBpZiAob3B0aW9ucy5nZXRUZXh0UmVjdGFuZ2xlKSB7XG4gICAgICAgIGVuZ2luZS5nZXRUZXh0UmVjdGFuZ2xlID0gb3B0aW9ucy5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgIH1cbiAgICByZXR1cm4gZW5naW5lO1xufVxuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9seWdvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2VuZ2luZXMvYmFzaWMtc2hhcGVzL3BvbHlnb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFVBQVUsRUFHVixlQUFlLEVBQ2YsNEJBQTRCLEVBQzVCLHNDQUFzQyxFQUN0QyxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUTlHLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFzQjtJQUN0RCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDM0MsTUFBTSxNQUFNLEdBQWdCO1FBQ3hCLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7WUFDaEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN2RSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkMsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELGFBQWEsQ0FBQyxTQUEwQixFQUFFLEtBQVk7WUFDbEQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxlQUFlLENBQUMsU0FBMEI7WUFDdEMsT0FBTyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUNELGVBQWUsQ0FBQyxTQUEwQixFQUFFLEtBQVk7WUFDcEQsT0FBTyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0UsQ0FBQztRQUNELHVCQUF1QixDQUFDLFNBQTBCLEVBQUUsS0FBWTtZQUM1RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsTUFBTSxjQUFjLEdBQUcsc0NBQXNDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlFLElBQUksWUFBWSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxJQUFJLGVBQWUsR0FBRyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RyxjQUFjO2lCQUNULE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7aUJBQy9CLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDckIsSUFBSSxRQUFRLEdBQUcsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BHLElBQUksUUFBUSxHQUFHLGVBQWUsRUFBRSxDQUFDO29CQUM3QixlQUFlLEdBQUcsUUFBUSxDQUFDO29CQUMzQixZQUFZLEdBQUcsYUFBYSxDQUFDO2dCQUNqQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFUCxPQUFPLFlBQVksQ0FBQztRQUN4QixDQUFDO1FBQ0Qsd0JBQXdCLENBQUMsU0FBMEIsRUFBRSxnQkFBa0M7WUFDbkYsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztZQUM5RSxPQUFPLCtCQUErQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7WUFDekMsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztnQkFDN0IsT0FBTyxPQUFPLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7S0FDSixDQUFDO0lBQ0YsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZELENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBvaW50LFxuICAgIFBvaW50T2ZSZWN0YW5nbGUsXG4gICAgUmVjdGFuZ2xlQ2xpZW50LFxuICAgIGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgaXNQb2ludEluUG9seWdvbixcbiAgICBzZXRTdHJva2VMaW5lY2FwXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFNoYXBlRW5naW5lIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBnZXRDcm9zc2luZ1BvaW50QmV0d2VlblBvaW50QW5kUG9seWdvbiwgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9wdGlvbnMge1xuICAgIGdldFBvbHlnb25Qb2ludHM6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkgPT4gUG9pbnRbXTtcbiAgICBnZXRDb25uZWN0b3JQb2ludHM/OiAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IFBvaW50W107XG4gICAgZ2V0VGV4dFJlY3RhbmdsZT86IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiBSZWN0YW5nbGVDbGllbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb2x5Z29uRW5naW5lKG9wdGlvbnM6IENyZWF0ZU9wdGlvbnMpOiBTaGFwZUVuZ2luZSB7XG4gICAgY29uc3QgZ2V0UG9pbnRzID0gb3B0aW9ucy5nZXRQb2x5Z29uUG9pbnRzO1xuICAgIGNvbnN0IGVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBnZXRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgICAgICBjb25zdCBwb2x5Z29uID0gcnMucG9seWdvbihwb2ludHMsIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0pO1xuICAgICAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChwb2x5Z29uLCAncm91bmQnKTtcbiAgICAgICAgICAgIHJldHVybiBwb2x5Z29uO1xuICAgICAgICB9LFxuICAgICAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGdldFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICAgICAgcmV0dXJuIGlzUG9pbnRJblBvbHlnb24ocG9pbnQsIHBvaW50cyk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9LFxuICAgICAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBnZXRQb2ludHMocmVjdGFuZ2xlKSk7XG4gICAgICAgIH0sXG4gICAgICAgIGdldE5lYXJlc3RDcm9zc2luZ1BvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvcm5lcnMgPSBnZXRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IGNyb3NzaW5nUG9pbnRzID0gZ2V0Q3Jvc3NpbmdQb2ludEJldHdlZW5Qb2ludEFuZFBvbHlnb24oY29ybmVycywgcG9pbnQpO1xuICAgICAgICAgICAgbGV0IG5lYXJlc3RQb2ludCA9IGNyb3NzaW5nUG9pbnRzWzBdO1xuICAgICAgICAgICAgbGV0IG5lYXJlc3REaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQocG9pbnRbMF0sIHBvaW50WzFdLCBuZWFyZXN0UG9pbnRbMF0sIG5lYXJlc3RQb2ludFsxXSk7XG4gICAgICAgICAgICBjcm9zc2luZ1BvaW50c1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGluZGV4KSA9PiBpbmRleCA+IDApXG4gICAgICAgICAgICAgICAgLmZvckVhY2goY3Jvc3NpbmdQb2ludCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkaXN0YW5jZSA9IGRpc3RhbmNlQmV0d2VlblBvaW50QW5kUG9pbnQocG9pbnRbMF0sIHBvaW50WzFdLCBjcm9zc2luZ1BvaW50WzBdLCBjcm9zc2luZ1BvaW50WzFdKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlIDwgbmVhcmVzdERpc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWFyZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludCA9IGNyb3NzaW5nUG9pbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG5lYXJlc3RQb2ludDtcbiAgICAgICAgfSxcbiAgICAgICAgZ2V0RWRnZUJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKTogW1BvaW50LCBQb2ludF0gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGNvcm5lcnMgPSBnZXRQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICAgICAgcmV0dXJuIGdldFBvbHlnb25FZGdlQnlDb25uZWN0aW9uUG9pbnQoY29ybmVycywgcG9pbnQpO1xuICAgICAgICB9LFxuICAgICAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmdldENvbm5lY3RvclBvaW50cykge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25zLmdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGdldFBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBpZiAob3B0aW9ucy5nZXRUZXh0UmVjdGFuZ2xlKSB7XG4gICAgICAgIGVuZ2luZS5nZXRUZXh0UmVjdGFuZ2xlID0gb3B0aW9ucy5nZXRUZXh0UmVjdGFuZ2xlO1xuICAgIH1cbiAgICByZXR1cm4gZW5naW5lO1xufVxuIl19
@@ -56,4 +56,4 @@ export function getNearestPointBetweenPointAndRoundRectangle(point, rectangle, r
56
56
  }
57
57
  return result;
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtcmVjdGFuZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZW5naW5lcy9iYXNpYy1zaGFwZXMvcm91bmQtcmVjdGFuZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixzQ0FBc0MsRUFDdEMsdUJBQXVCLEVBQzFCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUM3QyxJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLE9BQWdCO1FBQ2hFLE9BQU8sa0JBQWtCLENBQ3JCLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEVBQ1gsU0FBUyxDQUFDLENBQUMsRUFDWCxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFDOUIsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQ2xDLEtBQUssRUFDTCx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FDckMsQ0FBQztJQUNOLENBQUM7SUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ2xELE9BQU8sdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEI7UUFDdEMsT0FBTyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ3BELE9BQU8sNENBQTRDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztRQUNuRixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RSxPQUFPLCtCQUErQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7UUFDekMsT0FBTyxlQUFlLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFNBQTBCLEVBQUUsRUFBRTtJQUNsRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsNENBQTRDLENBQUMsS0FBWSxFQUFFLFNBQTBCLEVBQUUsTUFBYztJQUNqSCxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDeEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxJQUFJLE1BQU0sR0FBRyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekUsSUFBSSxZQUFZLEdBQWlCLElBQUksQ0FBQztJQUV0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDckgsSUFBSSxTQUFTLEVBQUU7UUFDWCxZQUFZLEdBQUcsQ0FBQyxLQUFLLEdBQUcsTUFBTSxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQztLQUNuRDtJQUNELE1BQU0sWUFBWSxHQUNkLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pILElBQUksWUFBWSxFQUFFO1FBQ2QsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQzVEO0lBQ0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDdEksSUFBSSxVQUFVLEVBQUU7UUFDWixZQUFZLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUM7S0FDM0Q7SUFDRCxNQUFNLGFBQWEsR0FDZixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNO1FBQ2xDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsS0FBSztRQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNO1FBQ25DLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQy9CLElBQUksYUFBYSxFQUFFO1FBQ2YsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztLQUNwRTtJQUNELElBQUksWUFBWSxFQUFFO1FBQ2QsTUFBTSxHQUFHLHFDQUFxQyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3ZGO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBkcmF3Um91bmRSZWN0YW5nbGUsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgaXNQb2ludEluUm91bmRSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UgfSBmcm9tICcuL2VsbGlwc2UnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuXG5leHBvcnQgY29uc3QgUm91bmRSZWN0YW5nbGVFbmdpbmU6IFNoYXBlRW5naW5lID0ge1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBkcmF3Um91bmRSZWN0YW5nbGUoXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS54LFxuICAgICAgICAgICAgcmVjdGFuZ2xlLnksXG4gICAgICAgICAgICByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzKHJlY3RhbmdsZSlcbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gaXNQb2ludEluUm91bmRSZWN0YW5nbGUocG9pbnQsIHJlY3RhbmdsZSwgZ2V0Um91bmRSZWN0YW5nbGVSYWRpdXMocmVjdGFuZ2xlKSk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRSb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSk6IFtQb2ludCwgUG9pbnRdIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvcm5lcnMgPSBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICByZXR1cm4gZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludChjb3JuZXJzLCBwb2ludCk7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzID0gKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSA9PiB7XG4gICAgcmV0dXJuIE1hdGgubWluKHJlY3RhbmdsZS53aWR0aCAqIDAuMSwgcmVjdGFuZ2xlLmhlaWdodCAqIDAuMSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kUm91bmRSZWN0YW5nbGUocG9pbnQ6IFBvaW50LCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcmFkaXVzOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHg6IHJlY3RYLCB5OiByZWN0WSwgd2lkdGgsIGhlaWdodCB9ID0gcmVjdGFuZ2xlO1xuICAgIGNvbnN0IGNvcm5lclBvaW50cyA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICBsZXQgcmVzdWx0ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIGNvcm5lclBvaW50cyk7XG4gICAgbGV0IGNpcmNsZUNlbnRlcjogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0IGluTGVmdFRvcCA9IHBvaW50WzBdID49IHJlY3RYICYmIHBvaW50WzBdIDw9IHJlY3RYICsgcmFkaXVzICYmIHBvaW50WzFdID49IHJlY3RZICYmIHBvaW50WzFdIDw9IHJlY3RZICsgcmFkaXVzO1xuICAgIGlmIChpbkxlZnRUb3ApIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgcmFkaXVzLCByZWN0WSArIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluTGVmdEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHJlY3RYICYmIHBvaW50WzBdIDw9IHJlY3RYICsgcmFkaXVzICYmIHBvaW50WzFdID49IHJlY3RZICsgaGVpZ2h0ICYmIHBvaW50WzFdIDw9IHJlY3RZICsgaGVpZ2h0IC0gcmFkaXVzO1xuICAgIGlmIChpbkxlZnRCb3R0b20pIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgcmFkaXVzLCByZWN0WSArIGhlaWdodCAtIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluUmlnaHRUb3AgPSBwb2ludFswXSA+PSByZWN0WCArIHdpZHRoIC0gcmFkaXVzICYmIHBvaW50WzBdIDw9IHJlY3RYICsgd2lkdGggJiYgcG9pbnRbMV0gPj0gcmVjdFkgJiYgcG9pbnRbMV0gPD0gcmVjdFkgKyByYWRpdXM7XG4gICAgaWYgKGluUmlnaHRUb3ApIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgd2lkdGggLSByYWRpdXMsIHJlY3RZICsgcmFkaXVzXTtcbiAgICB9XG4gICAgY29uc3QgaW5SaWdodEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHJlY3RYICsgd2lkdGggLSByYWRpdXMgJiZcbiAgICAgICAgcG9pbnRbMF0gPD0gcmVjdFggKyB3aWR0aCAmJlxuICAgICAgICBwb2ludFsxXSA+PSByZWN0WSArIGhlaWdodCAtIHJhZGl1cyAmJlxuICAgICAgICBwb2ludFsxXSA8PSByZWN0WSArIGhlaWdodDtcbiAgICBpZiAoaW5SaWdodEJvdHRvbSkge1xuICAgICAgICBjaXJjbGVDZW50ZXIgPSBbcmVjdFggKyB3aWR0aCAtIHJhZGl1cywgcmVjdFkgKyBoZWlnaHQgLSByYWRpdXNdO1xuICAgIH1cbiAgICBpZiAoY2lyY2xlQ2VudGVyKSB7XG4gICAgICAgIHJlc3VsdCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UocG9pbnQsIGNpcmNsZUNlbnRlciwgcmFkaXVzLCByYWRpdXMpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91bmQtcmVjdGFuZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZW5naW5lcy9iYXNpYy1zaGFwZXMvcm91bmQtcmVjdGFuZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsZUFBZSxFQUNmLGtCQUFrQixFQUNsQixzQ0FBc0MsRUFDdEMsdUJBQXVCLEVBQzFCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFnQjtJQUM3QyxJQUFJLENBQUMsS0FBaUIsRUFBRSxTQUEwQixFQUFFLE9BQWdCO1FBQ2hFLE9BQU8sa0JBQWtCLENBQ3JCLFVBQVUsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEVBQ1gsU0FBUyxDQUFDLENBQUMsRUFDWCxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQzdCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFDOUIsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQ2xDLEtBQUssRUFDTCx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FDckMsQ0FBQztJQUNOLENBQUM7SUFDRCxhQUFhLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ2xELE9BQU8sdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEI7UUFDdEMsT0FBTyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxlQUFlLENBQUMsU0FBMEIsRUFBRSxLQUFZO1FBQ3BELE9BQU8sNENBQTRDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztRQUNuRixNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RSxPQUFPLCtCQUErQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7UUFDekMsT0FBTyxlQUFlLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFNBQTBCLEVBQUUsRUFBRTtJQUNsRSxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsNENBQTRDLENBQUMsS0FBWSxFQUFFLFNBQTBCLEVBQUUsTUFBYztJQUNqSCxNQUFNLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDeEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRSxJQUFJLE1BQU0sR0FBRyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDekUsSUFBSSxZQUFZLEdBQWlCLElBQUksQ0FBQztJQUV0QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDckgsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNaLFlBQVksR0FBRyxDQUFDLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxNQUFNLFlBQVksR0FDZCxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN6SCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2YsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLE1BQU0sRUFBRSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztJQUN0SSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDRCxNQUFNLGFBQWEsR0FDZixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNO1FBQ2xDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsS0FBSztRQUN6QixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNO1FBQ25DLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDO0lBQy9CLElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEIsWUFBWSxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBQ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNmLE1BQU0sR0FBRyxxQ0FBcUMsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBkcmF3Um91bmRSZWN0YW5nbGUsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgaXNQb2ludEluUm91bmRSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UgfSBmcm9tICcuL2VsbGlwc2UnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3BvbHlnb24nO1xuXG5leHBvcnQgY29uc3QgUm91bmRSZWN0YW5nbGVFbmdpbmU6IFNoYXBlRW5naW5lID0ge1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBkcmF3Um91bmRSZWN0YW5nbGUoXG4gICAgICAgICAgICBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS54LFxuICAgICAgICAgICAgcmVjdGFuZ2xlLnksXG4gICAgICAgICAgICByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH0sXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzKHJlY3RhbmdsZSlcbiAgICAgICAgKTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gaXNQb2ludEluUm91bmRSZWN0YW5nbGUocG9pbnQsIHJlY3RhbmdsZSwgZ2V0Um91bmRSZWN0YW5nbGVSYWRpdXMocmVjdGFuZ2xlKSk7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRSb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRSb3VuZFJlY3RhbmdsZVJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldEVkZ2VCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSk6IFtQb2ludCwgUG9pbnRdIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvcm5lcnMgPSBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgICAgIGNvbnN0IHBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICByZXR1cm4gZ2V0UG9seWdvbkVkZ2VCeUNvbm5lY3Rpb25Qb2ludChjb3JuZXJzLCBwb2ludCk7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldFJvdW5kUmVjdGFuZ2xlUmFkaXVzID0gKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSA9PiB7XG4gICAgcmV0dXJuIE1hdGgubWluKHJlY3RhbmdsZS53aWR0aCAqIDAuMSwgcmVjdGFuZ2xlLmhlaWdodCAqIDAuMSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kUm91bmRSZWN0YW5nbGUocG9pbnQ6IFBvaW50LCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcmFkaXVzOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IHg6IHJlY3RYLCB5OiByZWN0WSwgd2lkdGgsIGhlaWdodCB9ID0gcmVjdGFuZ2xlO1xuICAgIGNvbnN0IGNvcm5lclBvaW50cyA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICBsZXQgcmVzdWx0ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIGNvcm5lclBvaW50cyk7XG4gICAgbGV0IGNpcmNsZUNlbnRlcjogUG9pbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0IGluTGVmdFRvcCA9IHBvaW50WzBdID49IHJlY3RYICYmIHBvaW50WzBdIDw9IHJlY3RYICsgcmFkaXVzICYmIHBvaW50WzFdID49IHJlY3RZICYmIHBvaW50WzFdIDw9IHJlY3RZICsgcmFkaXVzO1xuICAgIGlmIChpbkxlZnRUb3ApIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgcmFkaXVzLCByZWN0WSArIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluTGVmdEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHJlY3RYICYmIHBvaW50WzBdIDw9IHJlY3RYICsgcmFkaXVzICYmIHBvaW50WzFdID49IHJlY3RZICsgaGVpZ2h0ICYmIHBvaW50WzFdIDw9IHJlY3RZICsgaGVpZ2h0IC0gcmFkaXVzO1xuICAgIGlmIChpbkxlZnRCb3R0b20pIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgcmFkaXVzLCByZWN0WSArIGhlaWdodCAtIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluUmlnaHRUb3AgPSBwb2ludFswXSA+PSByZWN0WCArIHdpZHRoIC0gcmFkaXVzICYmIHBvaW50WzBdIDw9IHJlY3RYICsgd2lkdGggJiYgcG9pbnRbMV0gPj0gcmVjdFkgJiYgcG9pbnRbMV0gPD0gcmVjdFkgKyByYWRpdXM7XG4gICAgaWYgKGluUmlnaHRUb3ApIHtcbiAgICAgICAgY2lyY2xlQ2VudGVyID0gW3JlY3RYICsgd2lkdGggLSByYWRpdXMsIHJlY3RZICsgcmFkaXVzXTtcbiAgICB9XG4gICAgY29uc3QgaW5SaWdodEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHJlY3RYICsgd2lkdGggLSByYWRpdXMgJiZcbiAgICAgICAgcG9pbnRbMF0gPD0gcmVjdFggKyB3aWR0aCAmJlxuICAgICAgICBwb2ludFsxXSA+PSByZWN0WSArIGhlaWdodCAtIHJhZGl1cyAmJlxuICAgICAgICBwb2ludFsxXSA8PSByZWN0WSArIGhlaWdodDtcbiAgICBpZiAoaW5SaWdodEJvdHRvbSkge1xuICAgICAgICBjaXJjbGVDZW50ZXIgPSBbcmVjdFggKyB3aWR0aCAtIHJhZGl1cywgcmVjdFkgKyBoZWlnaHQgLSByYWRpdXNdO1xuICAgIH1cbiAgICBpZiAoY2lyY2xlQ2VudGVyKSB7XG4gICAgICAgIHJlc3VsdCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UocG9pbnQsIGNpcmNsZUNlbnRlciwgcmFkaXVzLCByYWRpdXMpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuIl19
@@ -42,4 +42,4 @@ export const DelayEngine = {
42
42
  return RectangleClient.getEdgeCenterPoints(rectangle);
43
43
  }
44
44
  };
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9kZWxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsc0NBQXNDLEVBQ3RDLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdCO0lBQ3BDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUMsS0FBSztZQUMzRyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLGFBQWEsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sS0FDL0csU0FBUyxDQUFDLENBQ2QsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksRUFDdEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQ3JDLENBQUM7UUFDRixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELGFBQWEsQ0FBQyxTQUEwQixFQUFFLEtBQVk7UUFDbEQsNkNBQTZDO1FBQzdDLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQ3ZDO1lBQ0ksR0FBRyxTQUFTO1lBQ1osS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ25DLEVBQ0QsY0FBYyxDQUNqQixDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQ2hDLEtBQUssRUFDTCxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQzdFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUNuQixTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDdkIsQ0FBQztRQUNGLE9BQU8sYUFBYSxJQUFJLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCO1FBQ3RDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNwRCxNQUFNLFlBQVksR0FBRyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9HLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMzRCxPQUFPLHFDQUFxQyxDQUN4QyxLQUFLLEVBQ0wsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUM3RSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFDbkIsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQ3ZCLENBQUM7U0FDTDtRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxpQ0FBaUMsQ0FBQyxTQUEwQixFQUFFLGdCQUFrQztRQUM1RixNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDeEYsTUFBTSxXQUFXLEdBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLE1BQU0sS0FBSyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFRLENBQUM7UUFDdEUsT0FBTywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxTQUEwQjtRQUN6QyxPQUFPLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlLFxuICAgIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzLFxuICAgIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlLFxuICAgIGlzUG9pbnRJbkVsbGlwc2UsXG4gICAgc2V0U3Ryb2tlTGluZWNhcFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlRW5naW5lIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL3JlY3RhbmdsZSc7XG5pbXBvcnQgeyBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlIH0gZnJvbSAnLi4vYmFzaWMtc2hhcGVzL2VsbGlwc2UnO1xuXG5leHBvcnQgY29uc3QgRGVsYXlFbmdpbmU6IFNoYXBlRW5naW5lID0ge1xuICAgIGRyYXcoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHJzID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCk7XG4gICAgICAgIGNvbnN0IHNoYXBlID0gcnMucGF0aChcbiAgICAgICAgICAgIGBNJHtyZWN0YW5nbGUueH0gJHtyZWN0YW5nbGUueX0gTCR7cmVjdGFuZ2xlLnggKyAocmVjdGFuZ2xlLndpZHRoICogMykgLyA0fSAke3JlY3RhbmdsZS55fSBBICAke3JlY3RhbmdsZS53aWR0aCAvXG4gICAgICAgICAgICAgICAgNH0gJHtyZWN0YW5nbGUuaGVpZ2h0IC8gMn0sIDAsIDAsIDEsJHtyZWN0YW5nbGUueCArIChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDR9ICR7cmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0fSBMJHtcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUueFxuICAgICAgICAgICAgfSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH0gWmAsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9XG4gICAgICAgICk7XG4gICAgICAgIHNldFN0cm9rZUxpbmVjYXAoc2hhcGUsICdyb3VuZCcpO1xuXG4gICAgICAgIHJldHVybiBzaGFwZTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAvL3NwbGl0IHNoYXBlIHRvIHJlY3RhbmdsZSBhbmQgYSBoYWxmIGVsbGlwc2VcbiAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3BvaW50LCBwb2ludF0pO1xuICAgICAgICBjb25zdCBpc0luUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLnJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB3aWR0aDogKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJhbmdlUmVjdGFuZ2xlXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGlzSW5FbGxpcHNlID0gaXNQb2ludEluRWxsaXBzZShcbiAgICAgICAgICAgIHBvaW50LFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICByZWN0YW5nbGUud2lkdGggLyA0LFxuICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGlzSW5SZWN0YW5nbGUgfHwgaXNJbkVsbGlwc2U7XG4gICAgfSxcbiAgICBnZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9LFxuICAgIGdldE5lYXJlc3RQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIGNvbnN0IG5lYXJlc3RQb2ludCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFNlZ21lbnRzKHBvaW50LCBSZWN0YW5nbGVFbmdpbmUuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSkpO1xuICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdID4gcmVjdGFuZ2xlLnggKyAocmVjdGFuZ2xlLndpZHRoICogMykgLyA0KSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZShcbiAgICAgICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgICAgICBbcmVjdGFuZ2xlLnggKyAocmVjdGFuZ2xlLndpZHRoICogMykgLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUud2lkdGggLyA0LFxuICAgICAgICAgICAgICAgIHJlY3RhbmdsZS5oZWlnaHQgLyAyXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZWFyZXN0UG9pbnQ7XG4gICAgfSxcbiAgICBnZXRUYW5nZW50VmVjdG9yQnlDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50T2ZSZWN0YW5nbGU6IFBvaW50T2ZSZWN0YW5nbGUpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICBjb25zdCBjZW50ZXJQb2ludDogUG9pbnQgPSBbcmVjdGFuZ2xlLnggKyAocmVjdGFuZ2xlLndpZHRoICogMykgLyA0LCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgY29uc3QgYSA9IHJlY3RhbmdsZS53aWR0aCAvIDQ7XG4gICAgICAgIGNvbnN0IGIgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICByZXR1cm4gZ2V0VmVjdG9yRnJvbVBvaW50QW5kU2xvcGUocG9pbnRbMF0sIHBvaW50WzFdLCBzbG9wZSk7XG4gICAgfSxcbiAgICBnZXRDb25uZWN0b3JQb2ludHMocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpIHtcbiAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRFZGdlQ2VudGVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfVxufTtcbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9kZWxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsc0NBQXNDLEVBQ3RDLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQWdCO0lBQ3BDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUMsS0FBSztZQUMzRyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLGFBQWEsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sS0FDL0csU0FBUyxDQUFDLENBQ2QsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksRUFDdEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQ3JDLENBQUM7UUFDRixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakMsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUNELGFBQWEsQ0FBQyxTQUEwQixFQUFFLEtBQVk7UUFDbEQsNkNBQTZDO1FBQzdDLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQ3ZDO1lBQ0ksR0FBRyxTQUFTO1lBQ1osS0FBSyxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1NBQ25DLEVBQ0QsY0FBYyxDQUNqQixDQUFDO1FBQ0YsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQ2hDLEtBQUssRUFDTCxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQzdFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUNuQixTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDdkIsQ0FBQztRQUNGLE9BQU8sYUFBYSxJQUFJLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCO1FBQ3RDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNwRCxNQUFNLFlBQVksR0FBRyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9HLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzVELE9BQU8scUNBQXFDLENBQ3hDLEtBQUssRUFDTCxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQzdFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUNuQixTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDdkIsQ0FBQztRQUNOLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ0QsaUNBQWlDLENBQUMsU0FBMEIsRUFBRSxnQkFBa0M7UUFDNUYsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sV0FBVyxHQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RyxNQUFNLEtBQUssR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBUSxDQUFDO1FBQ3RFLE9BQU8sMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7UUFDekMsT0FBTyxlQUFlLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgUG9pbnRPZlJlY3RhbmdsZSxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgZ2V0RWxsaXBzZVRhbmdlbnRTbG9wZSxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZSxcbiAgICBpc1BvaW50SW5FbGxpcHNlLFxuICAgIHNldFN0cm9rZUxpbmVjYXBcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFJlY3RhbmdsZUVuZ2luZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9lbGxpcHNlJztcblxuZXhwb3J0IGNvbnN0IERlbGF5RW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCBzaGFwZSA9IHJzLnBhdGgoXG4gICAgICAgICAgICBgTSR7cmVjdGFuZ2xlLnh9ICR7cmVjdGFuZ2xlLnl9IEwke3JlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNH0gJHtyZWN0YW5nbGUueX0gQSAgJHtyZWN0YW5nbGUud2lkdGggL1xuICAgICAgICAgICAgICAgIDR9ICR7cmVjdGFuZ2xlLmhlaWdodCAvIDJ9LCAwLCAwLCAxLCR7cmVjdGFuZ2xlLnggKyAocmVjdGFuZ2xlLndpZHRoICogMykgLyA0fSAke3JlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodH0gTCR7XG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLnhcbiAgICAgICAgICAgIH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9IFpgLFxuICAgICAgICAgICAgeyAuLi5vcHRpb25zLCBmaWxsU3R5bGU6ICdzb2xpZCcgfVxuICAgICAgICApO1xuICAgICAgICBzZXRTdHJva2VMaW5lY2FwKHNoYXBlLCAncm91bmQnKTtcblxuICAgICAgICByZXR1cm4gc2hhcGU7XG4gICAgfSxcbiAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgLy9zcGxpdCBzaGFwZSB0byByZWN0YW5nbGUgYW5kIGEgaGFsZiBlbGxpcHNlXG4gICAgICAgIGNvbnN0IHJhbmdlUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKFtwb2ludCwgcG9pbnRdKTtcbiAgICAgICAgY29uc3QgaXNJblJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5pc0hpdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5yZWN0YW5nbGUsXG4gICAgICAgICAgICAgICAgd2lkdGg6IChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByYW5nZVJlY3RhbmdsZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBpc0luRWxsaXBzZSA9IGlzUG9pbnRJbkVsbGlwc2UoXG4gICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIChyZWN0YW5nbGUud2lkdGggKiAzKSAvIDQsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gNCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS5oZWlnaHQgLyAyXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBpc0luUmVjdGFuZ2xlIHx8IGlzSW5FbGxpcHNlO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCBuZWFyZXN0UG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgUmVjdGFuZ2xlRW5naW5lLmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpKTtcbiAgICAgICAgaWYgKG5lYXJlc3RQb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UoXG4gICAgICAgICAgICAgICAgcG9pbnQsXG4gICAgICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICAgICAgcmVjdGFuZ2xlLndpZHRoIC8gNCxcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUuaGVpZ2h0IC8gMlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmVhcmVzdFBvaW50O1xuICAgIH0sXG4gICAgZ2V0VGFuZ2VudFZlY3RvckJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25Qb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgY2VudGVyUG9pbnQ6IFBvaW50ID0gW3JlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIGNvbnN0IHBvaW50ID0gW2Nvbm5lY3Rpb25Qb2ludFswXSAtIGNlbnRlclBvaW50WzBdLCAtKGNvbm5lY3Rpb25Qb2ludFsxXSAtIGNlbnRlclBvaW50WzFdKV07XG4gICAgICAgIGNvbnN0IGEgPSByZWN0YW5nbGUud2lkdGggLyA0O1xuICAgICAgICBjb25zdCBiID0gcmVjdGFuZ2xlLmhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHNsb3BlID0gZ2V0RWxsaXBzZVRhbmdlbnRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIGEsIGIpIGFzIGFueTtcbiAgICAgICAgcmV0dXJuIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgc2xvcGUpO1xuICAgIH0sXG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH1cbn07XG4iXX0=
@@ -77,4 +77,4 @@ export const StoredDataEngine = {
77
77
  return rectangle;
78
78
  }
79
79
  };
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9zdG9yZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFFZixzQkFBc0IsRUFDdEIsc0NBQXNDLEVBQ3RDLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWdCO0lBQ3pDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUMsS0FBSztZQUN4SCxFQUFFLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLGFBQWEsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztZQUN0SCxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUs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S0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2hELENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDOUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNuRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNwRCxDQUFDO0lBQ04sQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQXNCO1FBQ25DLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBWZWN0b3IsXG4gICAgZ2V0RWxsaXBzZVRhbmdlbnRTbG9wZSxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZSxcbiAgICBpc1BvaW50SW5FbGxpcHNlLFxuICAgIHNldFN0cm9rZUxpbmVjYXBcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFJlY3RhbmdsZUVuZ2luZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9lbGxpcHNlJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTdG9yZWREYXRhRW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCBzaGFwZSA9IHJzLnBhdGgoXG4gICAgICAgICAgICBgTSR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMH0gJHtyZWN0YW5nbGUueX0gTCR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnl9IEEgICR7cmVjdGFuZ2xlLndpZHRoIC9cbiAgICAgICAgICAgICAgICAxMH0gJHtyZWN0YW5nbGUuaGVpZ2h0IC8gMn0sIDAsIDAsIDAsJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9IEwke3JlY3RhbmdsZS54ICtcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUud2lkdGggLyAxMH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9QSAgJHtyZWN0YW5nbGUud2lkdGggLyAxMH0gJHtyZWN0YW5nbGUuaGVpZ2h0IC9cbiAgICAgICAgICAgICAgICAyfSwgMCwgMCwgMSwke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLnl9YCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH1cbiAgICAgICAgKTtcbiAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgIHJldHVybiBzaGFwZTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAvL3NwbGl0IHNoYXBlIHRvIHJlY3RhbmdsZSBhbmQgYSBoYWxmIGVsbGlwc2VcbiAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3BvaW50LCBwb2ludF0pO1xuICAgICAgICBjb25zdCBpc0luUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLnJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB4OiByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAocmVjdGFuZ2xlLndpZHRoICogOSkgLyAxMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJhbmdlUmVjdGFuZ2xlXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaXNJbkZyb250RWxsaXBzZSA9IGlzUG9pbnRJbkVsbGlwc2UoXG4gICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCAvIDEwLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBub3RJbkJhY2tFbGxpcHNlID0gIWlzUG9pbnRJbkVsbGlwc2UoXG4gICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICByZWN0YW5nbGUud2lkdGggLyAxMCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS5oZWlnaHQgLyAyXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoaXNJblJlY3RhbmdsZSAmJiBub3RJbkJhY2tFbGxpcHNlKSB8fCBpc0luRnJvbnRFbGxpcHNlO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCBuZWFyZXN0UG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgUmVjdGFuZ2xlRW5naW5lLmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpKTtcbiAgICAgICAgaWYgKG5lYXJlc3RQb2ludFswXSA8IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTApIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTAsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdIGFzIFBvaW50O1xuICAgICAgICAgICAgY29uc3QgbmVhcmVzdFBvaW50ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZShwb2ludCwgY2VudGVyUG9pbnQsIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdID4gY2VudGVyUG9pbnRbMF0pIHtcbiAgICAgICAgICAgICAgICBuZWFyZXN0UG9pbnRbMF0gPSBjZW50ZXJQb2ludFswXSAqIDIgLSBuZWFyZXN0UG9pbnRbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmVhcmVzdFBvaW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWFyZXN0UG9pbnRbMF0gPiByZWN0YW5nbGUueCArIChyZWN0YW5nbGUud2lkdGggKiA5KSAvIDEwKSB7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0gYXMgUG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBuZWFyZXN0UG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKHBvaW50LCBjZW50ZXJQb2ludCwgcmVjdGFuZ2xlLndpZHRoIC8gMTAsIHJlY3RhbmdsZS5oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgIGlmIChuZWFyZXN0UG9pbnRbMF0gPiBjZW50ZXJQb2ludFswXSkge1xuICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludFswXSA9IGNlbnRlclBvaW50WzBdICogMiAtIG5lYXJlc3RQb2ludFswXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZWFyZXN0UG9pbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5lYXJlc3RQb2ludDtcbiAgICB9LFxuICAgIGdldFRhbmdlbnRWZWN0b3JCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSkge1xuICAgICAgICBjb25zdCBjb25uZWN0aW9uUG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIGxldCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgbGV0IGEgPSByZWN0YW5nbGUud2lkdGggLyAxMDtcbiAgICAgICAgbGV0IGIgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaXNCYWNrRWxsaXBzZSA9IGNvbm5lY3Rpb25Qb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTAgJiYgY29ubmVjdGlvblBvaW50WzFdID4gcmVjdGFuZ2xlLnk7XG4gICAgICAgIGlmIChpc0JhY2tFbGxpcHNlKSB7XG4gICAgICAgICAgICBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICBjb25zdCB2ZWN0b3IgPSBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIHNsb3BlKTtcbiAgICAgICAgcmV0dXJuIGlzQmFja0VsbGlwc2UgPyAodmVjdG9yLm1hcChudW0gPT4gLW51bSkgYXMgVmVjdG9yKSA6IHZlY3RvcjtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnldLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTAsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl1cbiAgICAgICAgXTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgcmVjdGFuZ2xlLndpZHRoID0gKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNDtcbiAgICAgICAgcmVjdGFuZ2xlLnggKz0gd2lkdGggLyA4O1xuICAgICAgICByZXR1cm4gcmVjdGFuZ2xlO1xuICAgIH1cbn07XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmVkLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC9zdG9yZWQtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFFZixzQkFBc0IsRUFDdEIsc0NBQXNDLEVBQ3RDLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBQ25CLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWdCO0lBQ3pDLElBQUksQ0FBQyxLQUFpQixFQUFFLFNBQTBCLEVBQUUsT0FBZ0I7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNqQixJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksU0FBUyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUMsS0FBSztZQUN4SCxFQUFFLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLGFBQWEsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztZQUN0SCxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUs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QUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUN4SCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFRLENBQUM7UUFDdEUsTUFBTSxNQUFNLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyRSxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4RSxDQUFDO0lBQ0Qsa0JBQWtCLENBQUMsU0FBMEI7UUFDekMsT0FBTztZQUNILENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2hELENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDOUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNuRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNwRCxDQUFDO0lBQ04sQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQXNCO1FBQ25DLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDOUIsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLFNBQVMsQ0FBQyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBWZWN0b3IsXG4gICAgZ2V0RWxsaXBzZVRhbmdlbnRTbG9wZSxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZSxcbiAgICBpc1BvaW50SW5FbGxpcHNlLFxuICAgIHNldFN0cm9rZUxpbmVjYXBcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFJlY3RhbmdsZUVuZ2luZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9yZWN0YW5nbGUnO1xuaW1wb3J0IHsgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9lbGxpcHNlJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTdG9yZWREYXRhRW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICBjb25zdCBycyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpO1xuICAgICAgICBjb25zdCBzaGFwZSA9IHJzLnBhdGgoXG4gICAgICAgICAgICBgTSR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGggLyAxMH0gJHtyZWN0YW5nbGUueX0gTCR7cmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGh9ICR7cmVjdGFuZ2xlLnl9IEEgICR7cmVjdGFuZ2xlLndpZHRoIC9cbiAgICAgICAgICAgICAgICAxMH0gJHtyZWN0YW5nbGUuaGVpZ2h0IC8gMn0sIDAsIDAsIDAsJHtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9IEwke3JlY3RhbmdsZS54ICtcbiAgICAgICAgICAgICAgICByZWN0YW5nbGUud2lkdGggLyAxMH0gJHtyZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHR9QSAgJHtyZWN0YW5nbGUud2lkdGggLyAxMH0gJHtyZWN0YW5nbGUuaGVpZ2h0IC9cbiAgICAgICAgICAgICAgICAyfSwgMCwgMCwgMSwke3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTB9ICR7cmVjdGFuZ2xlLnl9YCxcbiAgICAgICAgICAgIHsgLi4ub3B0aW9ucywgZmlsbFN0eWxlOiAnc29saWQnIH1cbiAgICAgICAgKTtcbiAgICAgICAgc2V0U3Ryb2tlTGluZWNhcChzaGFwZSwgJ3JvdW5kJyk7XG4gICAgICAgIHJldHVybiBzaGFwZTtcbiAgICB9LFxuICAgIGlzSW5zaWRlUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICAvL3NwbGl0IHNoYXBlIHRvIHJlY3RhbmdsZSBhbmQgYSBoYWxmIGVsbGlwc2VcbiAgICAgICAgY29uc3QgcmFuZ2VSZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoW3BvaW50LCBwb2ludF0pO1xuICAgICAgICBjb25zdCBpc0luUmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmlzSGl0KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLnJlY3RhbmdsZSxcbiAgICAgICAgICAgICAgICB4OiByZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAocmVjdGFuZ2xlLndpZHRoICogOSkgLyAxMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJhbmdlUmVjdGFuZ2xlXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgaXNJbkZyb250RWxsaXBzZSA9IGlzUG9pbnRJbkVsbGlwc2UoXG4gICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCAvIDEwLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLmhlaWdodCAvIDJcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBub3RJbkJhY2tFbGxpcHNlID0gIWlzUG9pbnRJbkVsbGlwc2UoXG4gICAgICAgICAgICBwb2ludCxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICByZWN0YW5nbGUud2lkdGggLyAxMCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS5oZWlnaHQgLyAyXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoaXNJblJlY3RhbmdsZSAmJiBub3RJbkJhY2tFbGxpcHNlKSB8fCBpc0luRnJvbnRFbGxpcHNlO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICBjb25zdCBuZWFyZXN0UG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgUmVjdGFuZ2xlRW5naW5lLmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpKTtcbiAgICAgICAgaWYgKG5lYXJlc3RQb2ludFswXSA8IHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTApIHtcbiAgICAgICAgICAgIGNvbnN0IGNlbnRlclBvaW50ID0gW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMTAsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdIGFzIFBvaW50O1xuICAgICAgICAgICAgY29uc3QgbmVhcmVzdFBvaW50ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZShwb2ludCwgY2VudGVyUG9pbnQsIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG4gICAgICAgICAgICBpZiAobmVhcmVzdFBvaW50WzBdID4gY2VudGVyUG9pbnRbMF0pIHtcbiAgICAgICAgICAgICAgICBuZWFyZXN0UG9pbnRbMF0gPSBjZW50ZXJQb2ludFswXSAqIDIgLSBuZWFyZXN0UG9pbnRbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmVhcmVzdFBvaW50O1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWFyZXN0UG9pbnRbMF0gPiByZWN0YW5nbGUueCArIChyZWN0YW5nbGUud2lkdGggKiA5KSAvIDEwKSB7XG4gICAgICAgICAgICBjb25zdCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl0gYXMgUG9pbnQ7XG4gICAgICAgICAgICBjb25zdCBuZWFyZXN0UG9pbnQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKHBvaW50LCBjZW50ZXJQb2ludCwgcmVjdGFuZ2xlLndpZHRoIC8gMTAsIHJlY3RhbmdsZS5oZWlnaHQgLyAyKTtcbiAgICAgICAgICAgIGlmIChuZWFyZXN0UG9pbnRbMF0gPiBjZW50ZXJQb2ludFswXSkge1xuICAgICAgICAgICAgICAgIG5lYXJlc3RQb2ludFswXSA9IGNlbnRlclBvaW50WzBdICogMiAtIG5lYXJlc3RQb2ludFswXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZWFyZXN0UG9pbnQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5lYXJlc3RQb2ludDtcbiAgICB9LFxuICAgIGdldFRhbmdlbnRWZWN0b3JCeUNvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnRPZlJlY3RhbmdsZTogUG9pbnRPZlJlY3RhbmdsZSkge1xuICAgICAgICBjb25zdCBjb25uZWN0aW9uUG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZSwgcG9pbnRPZlJlY3RhbmdsZSk7XG4gICAgICAgIGxldCBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCAvIDEwLCByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQgLyAyXTtcbiAgICAgICAgbGV0IGEgPSByZWN0YW5nbGUud2lkdGggLyAxMDtcbiAgICAgICAgbGV0IGIgPSByZWN0YW5nbGUuaGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3QgaXNCYWNrRWxsaXBzZSA9IGNvbm5lY3Rpb25Qb2ludFswXSA+IHJlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTAgJiYgY29ubmVjdGlvblBvaW50WzFdID4gcmVjdGFuZ2xlLnk7XG4gICAgICAgIGlmIChpc0JhY2tFbGxpcHNlKSB7XG4gICAgICAgICAgICBjZW50ZXJQb2ludCA9IFtyZWN0YW5nbGUueCArIHJlY3RhbmdsZS53aWR0aCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9pbnQgPSBbY29ubmVjdGlvblBvaW50WzBdIC0gY2VudGVyUG9pbnRbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyUG9pbnRbMV0pXTtcbiAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICBjb25zdCB2ZWN0b3IgPSBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIHNsb3BlKTtcbiAgICAgICAgcmV0dXJuIGlzQmFja0VsbGlwc2UgPyAodmVjdG9yLm1hcChudW0gPT4gLW51bSkgYXMgVmVjdG9yKSA6IHZlY3RvcjtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnldLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgKHJlY3RhbmdsZS53aWR0aCAqIDkpIC8gMTAsIHJlY3RhbmdsZS55ICsgcmVjdGFuZ2xlLmhlaWdodCAvIDJdLFxuICAgICAgICAgICAgW3JlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0XSxcbiAgICAgICAgICAgIFtyZWN0YW5nbGUueCwgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0IC8gMl1cbiAgICAgICAgXTtcbiAgICB9LFxuICAgIGdldFRleHRSZWN0YW5nbGUoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRUZXh0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHJlY3RhbmdsZS53aWR0aDtcbiAgICAgICAgcmVjdGFuZ2xlLndpZHRoID0gKHJlY3RhbmdsZS53aWR0aCAqIDMpIC8gNDtcbiAgICAgICAgcmVjdGFuZ2xlLnggKz0gd2lkdGggLyA4O1xuICAgICAgICByZXR1cm4gcmVjdGFuZ2xlO1xuICAgIH1cbn07XG4iXX0=
@@ -66,4 +66,4 @@ export function getBoundCenterOfRoundRectangle(rectangle, radius, point) {
66
66
  }
67
67
  return center;
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC90ZXJtaW5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHNDQUFzQyxFQUN0QywwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQzFCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZ0I7SUFDdkMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxPQUFPLGtCQUFrQixDQUNyQixVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUNYLFNBQVMsQ0FBQyxDQUFDLEVBQ1gsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUM3QixTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQzlCLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUNsQyxLQUFLLEVBQ0wsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQy9CLENBQUM7SUFDTixDQUFDO0lBQ0QsYUFBYSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNsRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCO1FBQ3RDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNwRCxPQUFPLDRDQUE0QyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBQ0QsaUNBQWlDLENBQUMsU0FBMEIsRUFBRSxnQkFBa0M7UUFDNUYsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLDhCQUE4QixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDbEYsSUFBSSxNQUFNLEVBQUU7WUFDUixNQUFNLEtBQUssR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQztZQUNqQixNQUFNLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDakIsTUFBTSxLQUFLLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFRLENBQUM7WUFDdEUsT0FBTywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2hFO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELGtCQUFrQixDQUFDLFNBQTBCO1FBQ3pDLE9BQU8sZUFBZSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxTQUEwQixFQUFFLEVBQUU7SUFDNUQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDL0QsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLDRDQUE0QyxDQUFDLEtBQVksRUFBRSxTQUEwQixFQUFFLE1BQWM7SUFDakgsSUFBSSxNQUFNLEdBQWlCLElBQUksQ0FBQztJQUNoQyxJQUFJLFdBQVcsR0FBaUIsOEJBQThCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RixJQUFJLFdBQVcsRUFBRTtRQUNiLE1BQU0sR0FBRyxxQ0FBcUMsQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztLQUN0RjtTQUFNO1FBQ0gsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRSxNQUFNLEdBQUcsc0NBQXNDLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ3hFO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxTQUEwQixFQUFFLE1BQWMsRUFBRSxLQUFZO0lBQ25HLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLENBQUM7SUFDMUMsSUFBSSxNQUFNLEdBQWlCLElBQUksQ0FBQztJQUNoQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDckcsSUFBSSxTQUFTLEVBQUU7UUFDWCxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUNELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzFILElBQUksWUFBWSxFQUFFO1FBQ2QsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQzlDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDdEgsSUFBSSxVQUFVLEVBQUU7UUFDWixNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7S0FDN0M7SUFDRCxNQUFNLGFBQWEsR0FDZixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3pILElBQUksYUFBYSxFQUFFO1FBQ2YsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztLQUN0RDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFBsYWl0Qm9hcmQsXG4gICAgUG9pbnQsXG4gICAgUG9pbnRPZlJlY3RhbmdsZSxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgZHJhd1JvdW5kUmVjdGFuZ2xlLFxuICAgIGdldEVsbGlwc2VUYW5nZW50U2xvcGUsXG4gICAgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMsXG4gICAgZ2V0VmVjdG9yRnJvbVBvaW50QW5kU2xvcGUsXG4gICAgaXNQb2ludEluUm91bmRSZWN0YW5nbGVcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU2hhcGVFbmdpbmUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UgfSBmcm9tICcuLi9iYXNpYy1zaGFwZXMvZWxsaXBzZSc7XG5cbmV4cG9ydCBjb25zdCBUZXJtaW5hbEVuZ2luZTogU2hhcGVFbmdpbmUgPSB7XG4gICAgZHJhdyhib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIGRyYXdSb3VuZFJlY3RhbmdsZShcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLngsXG4gICAgICAgICAgICByZWN0YW5nbGUueSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS54ICsgcmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICAgICAgcmVjdGFuZ2xlLnkgKyByZWN0YW5nbGUuaGVpZ2h0LFxuICAgICAgICAgICAgeyAuLi5vcHRpb25zLCBmaWxsU3R5bGU6ICdzb2xpZCcgfSxcbiAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgZ2V0U3RhcnRFbmRSYWRpdXMocmVjdGFuZ2xlKVxuICAgICAgICApO1xuICAgIH0sXG4gICAgaXNJbnNpZGVQb2ludChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSB7XG4gICAgICAgIHJldHVybiBpc1BvaW50SW5Sb3VuZFJlY3RhbmdsZShwb2ludCwgcmVjdGFuZ2xlLCBnZXRTdGFydEVuZFJhZGl1cyhyZWN0YW5nbGUpKTtcbiAgICB9LFxuICAgIGdldENvcm5lclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH0sXG4gICAgZ2V0TmVhcmVzdFBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFJvdW5kUmVjdGFuZ2xlKHBvaW50LCByZWN0YW5nbGUsIGdldFN0YXJ0RW5kUmFkaXVzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0VGFuZ2VudFZlY3RvckJ5Q29ubmVjdGlvblBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludE9mUmVjdGFuZ2xlOiBQb2ludE9mUmVjdGFuZ2xlKSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3Rpb25Qb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlLCBwb2ludE9mUmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgcmFkaXVzID0gZ2V0U3RhcnRFbmRSYWRpdXMocmVjdGFuZ2xlKTtcbiAgICAgICAgY29uc3QgY2VudGVyID0gZ2V0Qm91bmRDZW50ZXJPZlJvdW5kUmVjdGFuZ2xlKHJlY3RhbmdsZSwgcmFkaXVzLCBjb25uZWN0aW9uUG9pbnQpO1xuICAgICAgICBpZiAoY2VudGVyKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IFtjb25uZWN0aW9uUG9pbnRbMF0gLSBjZW50ZXJbMF0sIC0oY29ubmVjdGlvblBvaW50WzFdIC0gY2VudGVyWzFdKV07XG4gICAgICAgICAgICBjb25zdCBhID0gcmFkaXVzO1xuICAgICAgICAgICAgY29uc3QgYiA9IHJhZGl1cztcbiAgICAgICAgICAgIGNvbnN0IHNsb3BlID0gZ2V0RWxsaXBzZVRhbmdlbnRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIGEsIGIpIGFzIGFueTtcbiAgICAgICAgICAgIHJldHVybiBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZShwb2ludFswXSwgcG9pbnRbMV0sIHNsb3BlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuICAgIGdldENvbm5lY3RvclBvaW50cyhyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkge1xuICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldEVkZ2VDZW50ZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3RhcnRFbmRSYWRpdXMgPSAocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQpID0+IHtcbiAgICByZXR1cm4gTWF0aC5taW4ocmVjdGFuZ2xlLndpZHRoIC8gMiwgcmVjdGFuZ2xlLmhlaWdodCAvIDIpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZFJvdW5kUmVjdGFuZ2xlKHBvaW50OiBQb2ludCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHJhZGl1czogbnVtYmVyKSB7XG4gICAgbGV0IHJlc3VsdDogUG9pbnQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgYm91bmRDZW50ZXI6IFBvaW50IHwgbnVsbCA9IGdldEJvdW5kQ2VudGVyT2ZSb3VuZFJlY3RhbmdsZShyZWN0YW5nbGUsIHJhZGl1cywgcG9pbnQpO1xuICAgIGlmIChib3VuZENlbnRlcikge1xuICAgICAgICByZXN1bHQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRFbGxpcHNlKHBvaW50LCBib3VuZENlbnRlciwgcmFkaXVzLCByYWRpdXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvcm5lclBvaW50cyA9IFJlY3RhbmdsZUNsaWVudC5nZXRDb3JuZXJQb2ludHMocmVjdGFuZ2xlKTtcbiAgICAgICAgcmVzdWx0ID0gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kU2VnbWVudHMocG9pbnQsIGNvcm5lclBvaW50cyk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCb3VuZENlbnRlck9mUm91bmRSZWN0YW5nbGUocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHJhZGl1czogbnVtYmVyLCBwb2ludDogUG9pbnQpIHtcbiAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IHJlY3RhbmdsZTtcbiAgICBsZXQgY2VudGVyOiBQb2ludCB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IGluTGVmdFRvcCA9IHBvaW50WzBdID49IHggJiYgcG9pbnRbMF0gPD0geCArIHJhZGl1cyAmJiBwb2ludFsxXSA+PSB5ICYmIHBvaW50WzFdIDw9IHkgKyByYWRpdXM7XG4gICAgaWYgKGluTGVmdFRvcCkge1xuICAgICAgICBjZW50ZXIgPSBbeCArIHJhZGl1cywgeSArIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluTGVmdEJvdHRvbSA9IHBvaW50WzBdID49IHggJiYgcG9pbnRbMF0gPD0geCArIHJhZGl1cyAmJiBwb2ludFsxXSA+PSB5ICsgaGVpZ2h0IC0gcmFkaXVzICYmIHBvaW50WzFdIDw9IHkgKyBoZWlnaHQ7XG4gICAgaWYgKGluTGVmdEJvdHRvbSkge1xuICAgICAgICBjZW50ZXIgPSBbeCArIHJhZGl1cywgeSArIGhlaWdodCAtIHJhZGl1c107XG4gICAgfVxuICAgIGNvbnN0IGluUmlnaHRUb3AgPSBwb2ludFswXSA+PSB4ICsgd2lkdGggLSByYWRpdXMgJiYgcG9pbnRbMF0gPD0geCArIHdpZHRoICYmIHBvaW50WzFdID49IHkgJiYgcG9pbnRbMV0gPD0geSArIHJhZGl1cztcbiAgICBpZiAoaW5SaWdodFRvcCkge1xuICAgICAgICBjZW50ZXIgPSBbeCArIHdpZHRoIC0gcmFkaXVzLCB5ICsgcmFkaXVzXTtcbiAgICB9XG4gICAgY29uc3QgaW5SaWdodEJvdHRvbSA9XG4gICAgICAgIHBvaW50WzBdID49IHggKyB3aWR0aCAtIHJhZGl1cyAmJiBwb2ludFswXSA8PSB4ICsgd2lkdGggJiYgcG9pbnRbMV0gPj0geSArIGhlaWdodCAtIHJhZGl1cyAmJiBwb2ludFsxXSA8PSB5ICsgaGVpZ2h0O1xuICAgIGlmIChpblJpZ2h0Qm90dG9tKSB7XG4gICAgICAgIGNlbnRlciA9IFt4ICsgd2lkdGggLSByYWRpdXMsIHkgKyBoZWlnaHQgLSByYWRpdXNdO1xuICAgIH1cbiAgICByZXR1cm4gY2VudGVyO1xufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9lbmdpbmVzL2Zsb3djaGFydC90ZXJtaW5hbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQUdWLGVBQWUsRUFDZixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHNDQUFzQyxFQUN0QywwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQzFCLE1BQU0sYUFBYSxDQUFDO0FBR3JCLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZ0I7SUFDdkMsSUFBSSxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQjtRQUNoRSxPQUFPLGtCQUFrQixDQUNyQixVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUM3QixTQUFTLENBQUMsQ0FBQyxFQUNYLFNBQVMsQ0FBQyxDQUFDLEVBQ1gsU0FBUyxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUM3QixTQUFTLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQzlCLEVBQUUsR0FBRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxFQUNsQyxLQUFLLEVBQ0wsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQy9CLENBQUM7SUFDTixDQUFDO0lBQ0QsYUFBYSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNsRCxPQUFPLHVCQUF1QixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCO1FBQ3RDLE9BQU8sZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQTBCLEVBQUUsS0FBWTtRQUNwRCxP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QUFTLEVBQUUsQ0FBQztRQUNaLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUMxSCxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2YsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUN0SCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxNQUFNLGFBQWEsR0FDZixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLEdBQUcsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3pILElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEIsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQb2ludCxcbiAgICBQb2ludE9mUmVjdGFuZ2xlLFxuICAgIFJlY3RhbmdsZUNsaWVudCxcbiAgICBkcmF3Um91bmRSZWN0YW5nbGUsXG4gICAgZ2V0RWxsaXBzZVRhbmdlbnRTbG9wZSxcbiAgICBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyxcbiAgICBnZXRWZWN0b3JGcm9tUG9pbnRBbmRTbG9wZSxcbiAgICBpc1BvaW50SW5Sb3VuZFJlY3RhbmdsZVxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTaGFwZUVuZ2luZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kRWxsaXBzZSB9IGZyb20gJy4uL2Jhc2ljLXNoYXBlcy9lbGxpcHNlJztcblxuZXhwb3J0IGNvbnN0IFRlcm1pbmFsRW5naW5lOiBTaGFwZUVuZ2luZSA9IHtcbiAgICBkcmF3KGJvYXJkOiBQbGFpdEJvYXJkLCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9uczogT3B0aW9ucykge1xuICAgICAgICByZXR1cm4gZHJhd1JvdW5kUmVjdGFuZ2xlKFxuICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCksXG4gICAgICAgICAgICByZWN0YW5nbGUueCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS55LFxuICAgICAgICAgICAgcmVjdGFuZ2xlLnggKyByZWN0YW5nbGUud2lkdGgsXG4gICAgICAgICAgICByZWN0YW5nbGUueSArIHJlY3RhbmdsZS5oZWlnaHQsXG4gICAgICAgICAgICB7IC4uLm9wdGlvbnMsIGZpbGxTdHlsZTogJ3NvbGlkJyB9LFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBnZXRTdGFydEVuZFJhZGl1cyhyZWN0YW5nbGUpXG4gICAgICAgICk7XG4gICAgfSxcbiAgICBpc0luc2lkZVBvaW50KHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpIHtcbiAgICAgICAgcmV0dXJuIGlzUG9pbnRJblJvdW5kUmVjdGFuZ2xlKHBvaW50LCByZWN0YW5nbGUsIGdldFN0YXJ0RW5kUmFkaXVzKHJlY3RhbmdsZSkpO1xuICAgIH0sXG4gICAgZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ybmVyUG9pbnRzKHJlY3RhbmdsZSk7XG4gICAgfSxcbiAgICBnZXROZWFyZXN0UG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50OiBQb2ludCkge1xuICAgICAgICByZXR1cm4gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kUm91bmRSZWN0YW5nbGUocG9pbnQsIHJlY3RhbmdsZSwgZ2V0U3RhcnRFbmRSYWRpdXMocmVjdGFuZ2xlKSk7XG4gICAgfSxcbiAgICBnZXRUYW5nZW50VmVjdG9yQnlDb25uZWN0aW9uUG9pbnQocmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIHBvaW50T2ZSZWN0YW5nbGU6IFBvaW50T2ZSZWN0YW5nbGUpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblBvaW50ID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvbm5lY3Rpb25Qb2ludChyZWN0YW5nbGUsIHBvaW50T2ZSZWN0YW5nbGUpO1xuICAgICAgICBjb25zdCByYWRpdXMgPSBnZXRTdGFydEVuZFJhZGl1cyhyZWN0YW5nbGUpO1xuICAgICAgICBjb25zdCBjZW50ZXIgPSBnZXRCb3VuZENlbnRlck9mUm91bmRSZWN0YW5nbGUocmVjdGFuZ2xlLCByYWRpdXMsIGNvbm5lY3Rpb25Qb2ludCk7XG4gICAgICAgIGlmIChjZW50ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gW2Nvbm5lY3Rpb25Qb2ludFswXSAtIGNlbnRlclswXSwgLShjb25uZWN0aW9uUG9pbnRbMV0gLSBjZW50ZXJbMV0pXTtcbiAgICAgICAgICAgIGNvbnN0IGEgPSByYWRpdXM7XG4gICAgICAgICAgICBjb25zdCBiID0gcmFkaXVzO1xuICAgICAgICAgICAgY29uc3Qgc2xvcGUgPSBnZXRFbGxpcHNlVGFuZ2VudFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgYSwgYikgYXMgYW55O1xuICAgICAgICAgICAgcmV0dXJuIGdldFZlY3RvckZyb21Qb2ludEFuZFNsb3BlKHBvaW50WzBdLCBwb2ludFsxXSwgc2xvcGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgZ2V0Q29ubmVjdG9yUG9pbnRzKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0RWRnZUNlbnRlclBvaW50cyhyZWN0YW5nbGUpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRTdGFydEVuZFJhZGl1cyA9IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCkgPT4ge1xuICAgIHJldHVybiBNYXRoLm1pbihyZWN0YW5nbGUud2lkdGggLyAyLCByZWN0YW5nbGUuaGVpZ2h0IC8gMik7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmVhcmVzdFBvaW50QmV0d2VlblBvaW50QW5kUm91bmRSZWN0YW5nbGUocG9pbnQ6IFBvaW50LCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcmFkaXVzOiBudW1iZXIpIHtcbiAgICBsZXQgcmVzdWx0OiBQb2ludCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBib3VuZENlbnRlcjogUG9pbnQgfCBudWxsID0gZ2V0Qm91bmRDZW50ZXJPZlJvdW5kUmVjdGFuZ2xlKHJlY3RhbmdsZSwgcmFkaXVzLCBwb2ludCk7XG4gICAgaWYgKGJvdW5kQ2VudGVyKSB7XG4gICAgICAgIHJlc3VsdCA9IGdldE5lYXJlc3RQb2ludEJldHdlZW5Qb2ludEFuZEVsbGlwc2UocG9pbnQsIGJvdW5kQ2VudGVyLCByYWRpdXMsIHJhZGl1cyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgY29ybmVyUG9pbnRzID0gUmVjdGFuZ2xlQ2xpZW50LmdldENvcm5lclBvaW50cyhyZWN0YW5nbGUpO1xuICAgICAgICByZXN1bHQgPSBnZXROZWFyZXN0UG9pbnRCZXR3ZWVuUG9pbnRBbmRTZWdtZW50cyhwb2ludCwgY29ybmVyUG9pbnRzKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJvdW5kQ2VudGVyT2ZSb3VuZFJlY3RhbmdsZShyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcmFkaXVzOiBudW1iZXIsIHBvaW50OiBQb2ludCkge1xuICAgIGNvbnN0IHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9ID0gcmVjdGFuZ2xlO1xuICAgIGxldCBjZW50ZXI6IFBvaW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3QgaW5MZWZ0VG9wID0gcG9pbnRbMF0gPj0geCAmJiBwb2ludFswXSA8PSB4ICsgcmFkaXVzICYmIHBvaW50WzFdID49IHkgJiYgcG9pbnRbMV0gPD0geSArIHJhZGl1cztcbiAgICBpZiAoaW5MZWZ0VG9wKSB7XG4gICAgICAgIGNlbnRlciA9IFt4ICsgcmFkaXVzLCB5ICsgcmFkaXVzXTtcbiAgICB9XG4gICAgY29uc3QgaW5MZWZ0Qm90dG9tID0gcG9pbnRbMF0gPj0geCAmJiBwb2ludFswXSA8PSB4ICsgcmFkaXVzICYmIHBvaW50WzFdID49IHkgKyBoZWlnaHQgLSByYWRpdXMgJiYgcG9pbnRbMV0gPD0geSArIGhlaWdodDtcbiAgICBpZiAoaW5MZWZ0Qm90dG9tKSB7XG4gICAgICAgIGNlbnRlciA9IFt4ICsgcmFkaXVzLCB5ICsgaGVpZ2h0IC0gcmFkaXVzXTtcbiAgICB9XG4gICAgY29uc3QgaW5SaWdodFRvcCA9IHBvaW50WzBdID49IHggKyB3aWR0aCAtIHJhZGl1cyAmJiBwb2ludFswXSA8PSB4ICsgd2lkdGggJiYgcG9pbnRbMV0gPj0geSAmJiBwb2ludFsxXSA8PSB5ICsgcmFkaXVzO1xuICAgIGlmIChpblJpZ2h0VG9wKSB7XG4gICAgICAgIGNlbnRlciA9IFt4ICsgd2lkdGggLSByYWRpdXMsIHkgKyByYWRpdXNdO1xuICAgIH1cbiAgICBjb25zdCBpblJpZ2h0Qm90dG9tID1cbiAgICAgICAgcG9pbnRbMF0gPj0geCArIHdpZHRoIC0gcmFkaXVzICYmIHBvaW50WzBdIDw9IHggKyB3aWR0aCAmJiBwb2ludFsxXSA+PSB5ICsgaGVpZ2h0IC0gcmFkaXVzICYmIHBvaW50WzFdIDw9IHkgKyBoZWlnaHQ7XG4gICAgaWYgKGluUmlnaHRCb3R0b20pIHtcbiAgICAgICAgY2VudGVyID0gW3ggKyB3aWR0aCAtIHJhZGl1cywgeSArIGhlaWdodCAtIHJhZGl1c107XG4gICAgfVxuICAgIHJldHVybiBjZW50ZXI7XG59XG4iXX0=
@@ -25,4 +25,4 @@ export class GeometryShapeGenerator extends Generator {
25
25
  });
26
26
  }
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJOUMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFNBQW1DO0lBQzNFLE9BQU8sQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDeEMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksS0FBSyxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDNUIsT0FBTztTQUNWO1FBQ0QsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckQsTUFBTSxXQUFXLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqRSxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUU7WUFDckYsTUFBTSxFQUFFLFdBQVc7WUFDbkIsV0FBVztZQUNYLElBQUk7WUFDSixjQUFjO1NBQ2pCLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2ljU2hhcGVzLCBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldEZpbGxCeUVsZW1lbnQsIGdldExpbmVEYXNoQnlFbGVtZW50LCBnZXRTdHJva2VDb2xvckJ5RWxlbWVudCwgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9zdHlsZS9zdHJva2UnO1xuaW1wb3J0IHsgZHJhd0dlb21ldHJ5IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNoYXBlRGF0YSB7fVxuXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlTaGFwZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdEdlb21ldHJ5LCBTaGFwZURhdGE+IHtcbiAgICBjYW5EcmF3KGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnksIGRhdGE6IFNoYXBlRGF0YSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBkcmF3KGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnksIGRhdGE6IFNoYXBlRGF0YSkge1xuICAgICAgICBjb25zdCByZWN0YW5nbGUgPSBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgICAgICBjb25zdCBzaGFwZSA9IGVsZW1lbnQuc2hhcGU7XG4gICAgICAgIGlmIChzaGFwZSA9PT0gQmFzaWNTaGFwZXMudGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0cm9rZVdpZHRoID0gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHN0cm9rZUNvbG9yID0gZ2V0U3Ryb2tlQ29sb3JCeUVsZW1lbnQodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGZpbGwgPSBnZXRGaWxsQnlFbGVtZW50KHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBzdHJva2VMaW5lRGFzaCA9IGdldExpbmVEYXNoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gZHJhd0dlb21ldHJ5KHRoaXMuYm9hcmQsIFJlY3RhbmdsZUNsaWVudC5pbmZsYXRlKHJlY3RhbmdsZSwgLXN0cm9rZVdpZHRoKSwgc2hhcGUsIHtcbiAgICAgICAgICAgIHN0cm9rZTogc3Ryb2tlQ29sb3IsXG4gICAgICAgICAgICBzdHJva2VXaWR0aCxcbiAgICAgICAgICAgIGZpbGwsXG4gICAgICAgICAgICBzdHJva2VMaW5lRGFzaFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJOUMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFNBQW1DO0lBQzNFLE9BQU8sQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDeEMsTUFBTSxTQUFTLEdBQUcsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksS0FBSyxLQUFLLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELE1BQU0sV0FBVyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakUsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFO1lBQ3JGLE1BQU0sRUFBRSxXQUFXO1lBQ25CLFdBQVc7WUFDWCxJQUFJO1lBQ0osY0FBYztTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNpY1NoYXBlcywgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VuZXJhdG9yIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRGaWxsQnlFbGVtZW50LCBnZXRMaW5lRGFzaEJ5RWxlbWVudCwgZ2V0U3Ryb2tlQ29sb3JCeUVsZW1lbnQsIGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IGRyYXdHZW9tZXRyeSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZURhdGEge31cblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgZXh0ZW5kcyBHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeSwgU2hhcGVEYXRhPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdEdlb21ldHJ5LCBkYXRhOiBTaGFwZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBQbGFpdEdlb21ldHJ5LCBkYXRhOiBTaGFwZURhdGEpIHtcbiAgICAgICAgY29uc3QgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBlbGVtZW50LnNoYXBlO1xuICAgICAgICBpZiAoc2hhcGUgPT09IEJhc2ljU2hhcGVzLnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBzdHJva2VDb2xvciA9IGdldFN0cm9rZUNvbG9yQnlFbGVtZW50KHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBmaWxsID0gZ2V0RmlsbEJ5RWxlbWVudCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlTGluZURhc2ggPSBnZXRMaW5lRGFzaEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGRyYXdHZW9tZXRyeSh0aGlzLmJvYXJkLCBSZWN0YW5nbGVDbGllbnQuaW5mbGF0ZShyZWN0YW5nbGUsIC1zdHJva2VXaWR0aCksIHNoYXBlLCB7XG4gICAgICAgICAgICBzdHJva2U6IHN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGgsXG4gICAgICAgICAgICBmaWxsLFxuICAgICAgICAgICAgc3Ryb2tlTGluZURhc2hcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Generator } from '@plait/common';
2
+ import { ACTIVE_STROKE_WIDTH, drawRectangle, getRectangleByGroup } from '@plait/core';
3
+ export class GroupGenerator extends Generator {
4
+ canDraw(element) {
5
+ return true;
6
+ }
7
+ draw(element, partialSelected) {
8
+ const options = {
9
+ stroke: '',
10
+ strokeWidth: ACTIVE_STROKE_WIDTH,
11
+ strokeLineDash: [5]
12
+ };
13
+ if (partialSelected) {
14
+ options.stroke = '#999';
15
+ }
16
+ const rectangle = getRectangleByGroup(this.board, element, true);
17
+ return drawRectangle(this.board, rectangle, options);
18
+ }
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9ncm91cC5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQWMsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xHLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBcUI7SUFDckQsT0FBTyxDQUFDLE9BQW1CO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBbUIsRUFBRSxlQUF3QjtRQUM5QyxNQUFNLE9BQU8sR0FBWTtZQUNyQixNQUFNLEVBQUUsRUFBRTtZQUNWLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RCLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzVCLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEFDVElWRV9TVFJPS0VfV0lEVEgsIFBsYWl0R3JvdXAsIGRyYXdSZWN0YW5nbGUsIGdldFJlY3RhbmdsZUJ5R3JvdXAgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBHcm91cEdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdEdyb3VwPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdEdyb3VwKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogUGxhaXRHcm91cCwgcGFydGlhbFNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBzdHJva2U6ICcnLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICBzdHJva2VMaW5lRGFzaDogWzVdXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwYXJ0aWFsU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuc3Ryb2tlID0gJyM5OTknO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5R3JvdXAodGhpcy5ib2FyZCwgZWxlbWVudCwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBkcmF3UmVjdGFuZ2xlKHRoaXMuYm9hcmQsIHJlY3RhbmdsZSwgb3B0aW9ucyk7XG4gICAgfVxufVxuIl19
@@ -76,4 +76,4 @@ export class LineActiveGenerator extends Generator {
76
76
  return onlySelectedCurrentLine !== this.onlySelectedCurrentLine;
77
77
  }
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQWdDO0lBQXpFOztRQUNJLDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQWtFcEMsQ0FBQztJQWhFRyxPQUFPLENBQUMsT0FBa0IsRUFBRSxJQUFnQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBa0IsRUFBRSxJQUFnQjtRQUNyQyxNQUFNLE9BQU8sR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUMxQixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFL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ZSxFQUFFO29CQUN2RCxNQUFNLEVBQUUsYUFBYTtvQkFDckIsV0FBVyxFQUFFLDBCQUEwQixDQUFDLG9CQUFvQjtpQkFDL0QsQ0FBQyxDQUFDO2dCQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztTQUNKO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVU7UUFDTixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyx1QkFBdUIsS0FBSyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQsIGNyZWF0ZUcsIGRyYXdSZWN0YW5nbGUsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBMaW5lU2hhcGUsIFBsYWl0TGluZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VuZXJhdG9yLCBQUklNQVJZX0NPTE9SLCBkcmF3RmlsbFByaW1hcnlIYW5kbGUsIGRyYXdQcmltYXJ5SGFuZGxlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRNaWRkbGVQb2ludHMgfSBmcm9tICcuLi91dGlscy9saW5lL2xpbmUtYmFzaWMnO1xuaW1wb3J0IHsgRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0TmV4dFJlbmRlclBvaW50cyB9IGZyb20gJy4uL3V0aWxzL2xpbmUvZWxib3cnO1xuaW1wb3J0IHsgaXNVcGRhdGVkSGFuZGxlSW5kZXggfSBmcm9tICcuLi91dGlscy9saW5lJztcbmltcG9ydCB7IGdldEhpdFBvaW50SW5kZXggfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVEYXRhIHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBsaW5lUG9pbnRzOiBQb2ludFtdO1xufVxuXG5leHBvcnQgY2xhc3MgTGluZUFjdGl2ZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIEFjdGl2ZURhdGE+IHtcbiAgICBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IGZhbHNlO1xuXG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRhdGEuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBTVkdHRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIGlmICh0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lKSB7XG4gICAgICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgYWN0aXZlRy5jbGFzc0xpc3QuYWRkKCdsaW5lLWhhbmRsZScpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gUGxhaXRMaW5lLmdldFBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGxldCB1cGRhdGVQb2ludHMgPSBbLi4ucG9pbnRzXTtcbiAgICAgICAgICAgIGxldCBlbGJvd05leHRSZW5kZXJQb2ludHM6IFBvaW50W10gPSBbXTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBMaW5lU2hhcGUuZWxib3cpIHtcbiAgICAgICAgICAgICAgICB1cGRhdGVQb2ludHMgPSBwb2ludHMuc2xpY2UoMCwgMSkuY29uY2F0KHBvaW50cy5zbGljZSgtMSkpO1xuICAgICAgICAgICAgICAgIGVsYm93TmV4dFJlbmRlclBvaW50cyA9IGdldE5leHRSZW5kZXJQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCwgZGF0YS5saW5lUG9pbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZVBvaW50cy5mb3JFYWNoKHBvaW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVIYW5kbGUgPSBkcmF3UHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZCh1cGRhdGVIYW5kbGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBtaWRkbGVQb2ludHMgPSBnZXRNaWRkbGVQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pZGRsZVBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbWlkZGxlUG9pbnRzW2ldO1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBMaW5lU2hhcGUuZWxib3cgJiYgZWxib3dOZXh0UmVuZGVyUG9pbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVJbmRleCA9IGdldEhpdFBvaW50SW5kZXgobWlkZGxlUG9pbnRzLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzVXBkYXRlSGFuZGxlSW5kZXggPSBpc1VwZGF0ZWRIYW5kbGVJbmRleCh0aGlzLmJvYXJkLCBlbGVtZW50LCBbLi4ucG9pbnRzXSwgZWxib3dOZXh0UmVuZGVyUG9pbnRzLCBoYW5kbGVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1VwZGF0ZUhhbmRsZUluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVIYW5kbGUgPSBkcmF3UHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHVwZGF0ZUhhbmRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3RmlsbFByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQoY2lyY2xlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IHRoaXMuYm9hcmQuZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGFjdGl2ZVJlY3RhbmdsZSkge1xuICAgICAgICAgICAgICAgIGxldCBvcGFjaXR5ID0gJzAuNSc7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVJlY3RhbmdsZS5oZWlnaHQgPT09IDAgfHwgYWN0aXZlUmVjdGFuZ2xlLndpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSAnMC44JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Ryb2tlRyA9IGRyYXdSZWN0YW5nbGUodGhpcy5ib2FyZCwgYWN0aXZlUmVjdGFuZ2xlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogUFJJTUFSWV9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc3Ryb2tlRy5zdHlsZS5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHN0cm9rZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3RpdmVHO1xuICAgIH1cblxuICAgIG5lZWRVcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICBjb25zdCBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgICAgICByZXR1cm4gb25seVNlbGVjdGVkQ3VycmVudExpbmUgIT09IHRoaXMub25seVNlbGVjdGVkQ3VycmVudExpbmU7XG4gICAgfVxufVxuIl19
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUscUJBQXFCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPMUQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLFNBQWdDO0lBQXpFOztRQUNJLDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQWtFcEMsQ0FBQztJQWhFRyxPQUFPLENBQUMsT0FBa0IsRUFBRSxJQUFnQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQWtCLEVBQUUsSUFBZ0I7UUFDckMsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxtQkFB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QkFDOUQsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDcEIsQ0FBQztnQkFDRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7b0JBQ3ZELE1BQU0sRUFBRSxhQUFhO29CQUNyQixXQUFXLEVBQUUsMEJBQTBCLENBQUMsb0JBQW9CO2lCQUMvRCxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVU7UUFDTixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyx1QkFBdUIsS0FBSyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9pbnQsIGNyZWF0ZUcsIGRyYXdSZWN0YW5nbGUsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBMaW5lU2hhcGUsIFBsYWl0TGluZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgR2VuZXJhdG9yLCBQUklNQVJZX0NPTE9SLCBkcmF3RmlsbFByaW1hcnlIYW5kbGUsIGRyYXdQcmltYXJ5SGFuZGxlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRNaWRkbGVQb2ludHMgfSBmcm9tICcuLi91dGlscy9saW5lL2xpbmUtYmFzaWMnO1xuaW1wb3J0IHsgRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0TmV4dFJlbmRlclBvaW50cyB9IGZyb20gJy4uL3V0aWxzL2xpbmUvZWxib3cnO1xuaW1wb3J0IHsgaXNVcGRhdGVkSGFuZGxlSW5kZXggfSBmcm9tICcuLi91dGlscy9saW5lJztcbmltcG9ydCB7IGdldEhpdFBvaW50SW5kZXggfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVEYXRhIHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBsaW5lUG9pbnRzOiBQb2ludFtdO1xufVxuXG5leHBvcnQgY2xhc3MgTGluZUFjdGl2ZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIEFjdGl2ZURhdGE+IHtcbiAgICBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IGZhbHNlO1xuXG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRhdGEuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBTVkdHRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDE7XG4gICAgICAgIGlmICh0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lKSB7XG4gICAgICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICAgICAgICAgICAgYWN0aXZlRy5jbGFzc0xpc3QuYWRkKCdsaW5lLWhhbmRsZScpO1xuICAgICAgICAgICAgY29uc3QgcG9pbnRzID0gUGxhaXRMaW5lLmdldFBvaW50cyh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGxldCB1cGRhdGVQb2ludHMgPSBbLi4ucG9pbnRzXTtcbiAgICAgICAgICAgIGxldCBlbGJvd05leHRSZW5kZXJQb2ludHM6IFBvaW50W10gPSBbXTtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBMaW5lU2hhcGUuZWxib3cpIHtcbiAgICAgICAgICAgICAgICB1cGRhdGVQb2ludHMgPSBwb2ludHMuc2xpY2UoMCwgMSkuY29uY2F0KHBvaW50cy5zbGljZSgtMSkpO1xuICAgICAgICAgICAgICAgIGVsYm93TmV4dFJlbmRlclBvaW50cyA9IGdldE5leHRSZW5kZXJQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCwgZGF0YS5saW5lUG9pbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZVBvaW50cy5mb3JFYWNoKHBvaW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVIYW5kbGUgPSBkcmF3UHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZCh1cGRhdGVIYW5kbGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBtaWRkbGVQb2ludHMgPSBnZXRNaWRkbGVQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1pZGRsZVBvaW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbWlkZGxlUG9pbnRzW2ldO1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBMaW5lU2hhcGUuZWxib3cgJiYgZWxib3dOZXh0UmVuZGVyUG9pbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVJbmRleCA9IGdldEhpdFBvaW50SW5kZXgobWlkZGxlUG9pbnRzLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzVXBkYXRlSGFuZGxlSW5kZXggPSBpc1VwZGF0ZWRIYW5kbGVJbmRleCh0aGlzLmJvYXJkLCBlbGVtZW50LCBbLi4ucG9pbnRzXSwgZWxib3dOZXh0UmVuZGVyUG9pbnRzLCBoYW5kbGVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc1VwZGF0ZUhhbmRsZUluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVIYW5kbGUgPSBkcmF3UHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHVwZGF0ZUhhbmRsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3RmlsbFByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQoY2lyY2xlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVJlY3RhbmdsZSA9IHRoaXMuYm9hcmQuZ2V0UmVjdGFuZ2xlKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGFjdGl2ZVJlY3RhbmdsZSkge1xuICAgICAgICAgICAgICAgIGxldCBvcGFjaXR5ID0gJzAuNSc7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGl2ZVJlY3RhbmdsZS5oZWlnaHQgPT09IDAgfHwgYWN0aXZlUmVjdGFuZ2xlLndpZHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSAnMC44JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Ryb2tlRyA9IGRyYXdSZWN0YW5nbGUodGhpcy5ib2FyZCwgYWN0aXZlUmVjdGFuZ2xlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogUFJJTUFSWV9DT0xPUixcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc3Ryb2tlRy5zdHlsZS5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHN0cm9rZUcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY3RpdmVHO1xuICAgIH1cblxuICAgIG5lZWRVcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICBjb25zdCBvbmx5U2VsZWN0ZWRDdXJyZW50TGluZSA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgICAgICByZXR1cm4gb25seVNlbGVjdGVkQ3VycmVudExpbmUgIT09IHRoaXMub25seVNlbGVjdGVkQ3VycmVudExpbmU7XG4gICAgfVxufVxuIl19
@@ -42,4 +42,4 @@ export class LineAutoCompleteGenerator extends Generator {
42
42
  }
43
43
  }
44
44
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpILE9BQU8sRUFBNEIsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQStDO0lBSTFGLFlBQW1CLEtBQWlCO1FBQ2hDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURFLFVBQUssR0FBTCxLQUFLLENBQVk7UUFGcEMsaUJBQVksR0FBdUIsSUFBSSxDQUFDO0lBSXhDLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBbUIsRUFBRSxJQUE4QjtRQUN2RCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsRixPQUFPLElBQUksQ0FBQztTQUNmO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBc0IsRUFBRSxJQUE4QjtRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtnQkFDOUYsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxhQUFhLEVBQUUsMEJBQTBCLENBQUM7Z0JBQzFELFNBQVMsRUFBRSxPQUFPO2FBQ3JCLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFlBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQzVCO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUmdiYVRvSEVYLCBjcmVhdGVHLCBkcmF3Q2lyY2xlLCBnZXRTZWxlY3RlZEVsZW1lbnRzLCBpc1NlbGVjdGlvbk1vdmluZyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFBsYWl0U2hhcGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvckV4dHJhRGF0YSwgR2VuZXJhdG9yLCBQUklNQVJZX0NPTE9SIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRBdXRvQ29tcGxldGVQb2ludHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBMSU5FX0FVVE9fQ09NUExFVEVfRElBTUVURVIsIExJTkVfQVVUT19DT01QTEVURV9PUEFDSVRZIH0gZnJvbSAnLi4vY29uc3RhbnRzL2xpbmUnO1xuXG5leHBvcnQgY2xhc3MgTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdFNoYXBlLCBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGE+IHtcbiAgICBhdXRvQ29tcGxldGVHITogU1ZHR0VsZW1lbnQ7XG4gICAgaG92ZXJFbGVtZW50OiBTVkdHRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJvYXJkOiBQbGFpdEJvYXJkKSB7XG4gICAgICAgIHN1cGVyKGJvYXJkKTtcbiAgICB9XG5cbiAgICBjYW5EcmF3KGVsZW1lbnQ6IFBsYWl0U2hhcGUsIGRhdGE6IEFjdGl2ZUdlbmVyYXRvckV4dHJhRGF0YSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgaWYgKGRhdGEuc2VsZWN0ZWQgJiYgc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogUGxhaXRHZW9tZXRyeSwgZGF0YTogQWN0aXZlR2VuZXJhdG9yRXh0cmFEYXRhKTogU1ZHR0VsZW1lbnQge1xuICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGNvbnN0IG1pZGRsZVBvaW50cyA9IGdldEF1dG9Db21wbGV0ZVBvaW50cyhlbGVtZW50KTtcbiAgICAgICAgbWlkZGxlUG9pbnRzLmZvckVhY2goKHBvaW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY2lyY2xlID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLCBwb2ludCwgTElORV9BVVRPX0NPTVBMRVRFX0RJQU1FVEVSLCB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAnbm9uZScsXG4gICAgICAgICAgICAgICAgZmlsbDogUmdiYVRvSEVYKFBSSU1BUllfQ09MT1IsIExJTkVfQVVUT19DT01QTEVURV9PUEFDSVRZKSxcbiAgICAgICAgICAgICAgICBmaWxsU3R5bGU6ICdzb2xpZCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY2lyY2xlLmNsYXNzTGlzdC5hZGQoYGxpbmUtYXV0by1jb21wbGV0ZS0ke2luZGV4fWApO1xuICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVHLmFwcGVuZENoaWxkKGNpcmNsZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvQ29tcGxldGVHO1xuICAgIH1cblxuICAgIHJlbW92ZUF1dG9Db21wbGV0ZUcoaW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmhvdmVyRWxlbWVudCA9IHRoaXMuYXV0b0NvbXBsZXRlRy5xdWVyeVNlbGVjdG9yKGAubGluZS1hdXRvLWNvbXBsZXRlLSR7aW5kZXh9YCk7XG4gICAgICAgIHRoaXMuaG92ZXJFbGVtZW50IS5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgfVxuXG4gICAgcmVjb3ZlckF1dG9Db21wbGV0ZUcoKSB7XG4gICAgICAgIGlmICh0aGlzLmhvdmVyRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5ob3ZlckVsZW1lbnQuc3R5bGUudmlzaWJpbGl0eSA9ICd2aXNpYmxlJztcbiAgICAgICAgICAgIHRoaXMuaG92ZXJFbGVtZW50ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpILE9BQU8sRUFBNEIsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUYsTUFBTSxPQUFPLHlCQUEwQixTQUFRLFNBQStDO0lBSTFGLFlBQW1CLEtBQWlCO1FBQ2hDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQURFLFVBQUssR0FBTCxLQUFLLENBQVk7UUFGcEMsaUJBQVksR0FBdUIsSUFBSSxDQUFDO0lBSXhDLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBbUIsRUFBRSxJQUE4QjtRQUN2RCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ25GLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBc0IsRUFBRSxJQUE4QjtRQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtnQkFDOUYsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsSUFBSSxFQUFFLFNBQVMsQ0FBQyxhQUFhLEVBQUUsMEJBQTBCLENBQUM7Z0JBQzFELFNBQVMsRUFBRSxPQUFPO2FBQ3JCLENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsSUFBSSxDQUFDLFlBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztJQUNuRCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFJnYmFUb0hFWCwgY3JlYXRlRywgZHJhd0NpcmNsZSwgZ2V0U2VsZWN0ZWRFbGVtZW50cywgaXNTZWxlY3Rpb25Nb3ZpbmcgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5LCBQbGFpdFNoYXBlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGEsIEdlbmVyYXRvciwgUFJJTUFSWV9DT0xPUiB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0QXV0b0NvbXBsZXRlUG9pbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTElORV9BVVRPX0NPTVBMRVRFX0RJQU1FVEVSLCBMSU5FX0FVVE9fQ09NUExFVEVfT1BBQ0lUWSB9IGZyb20gJy4uL2NvbnN0YW50cy9saW5lJztcblxuZXhwb3J0IGNsYXNzIExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgZXh0ZW5kcyBHZW5lcmF0b3I8UGxhaXRTaGFwZSwgQWN0aXZlR2VuZXJhdG9yRXh0cmFEYXRhPiB7XG4gICAgYXV0b0NvbXBsZXRlRyE6IFNWR0dFbGVtZW50O1xuICAgIGhvdmVyRWxlbWVudDogU1ZHR0VsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICBzdXBlcihib2FyZCk7XG4gICAgfVxuXG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdFNoYXBlLCBkYXRhOiBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgIGlmIChkYXRhLnNlbGVjdGVkICYmIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3KGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnksIGRhdGE6IEFjdGl2ZUdlbmVyYXRvckV4dHJhRGF0YSk6IFNWR0dFbGVtZW50IHtcbiAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVHID0gY3JlYXRlRygpO1xuICAgICAgICBjb25zdCBtaWRkbGVQb2ludHMgPSBnZXRBdXRvQ29tcGxldGVQb2ludHMoZWxlbWVudCk7XG4gICAgICAgIG1pZGRsZVBvaW50cy5mb3JFYWNoKChwb2ludCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNpcmNsZSA9IGRyYXdDaXJjbGUoUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKSwgcG9pbnQsIExJTkVfQVVUT19DT01QTEVURV9ESUFNRVRFUiwge1xuICAgICAgICAgICAgICAgIHN0cm9rZTogJ25vbmUnLFxuICAgICAgICAgICAgICAgIGZpbGw6IFJnYmFUb0hFWChQUklNQVJZX0NPTE9SLCBMSU5FX0FVVE9fQ09NUExFVEVfT1BBQ0lUWSksXG4gICAgICAgICAgICAgICAgZmlsbFN0eWxlOiAnc29saWQnXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNpcmNsZS5jbGFzc0xpc3QuYWRkKGBsaW5lLWF1dG8tY29tcGxldGUtJHtpbmRleH1gKTtcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlRy5hcHBlbmRDaGlsZChjaXJjbGUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b0NvbXBsZXRlRztcbiAgICB9XG5cbiAgICByZW1vdmVBdXRvQ29tcGxldGVHKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5ob3ZlckVsZW1lbnQgPSB0aGlzLmF1dG9Db21wbGV0ZUcucXVlcnlTZWxlY3RvcihgLmxpbmUtYXV0by1jb21wbGV0ZS0ke2luZGV4fWApO1xuICAgICAgICB0aGlzLmhvdmVyRWxlbWVudCEuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICAgIH1cblxuICAgIHJlY292ZXJBdXRvQ29tcGxldGVHKCkge1xuICAgICAgICBpZiAodGhpcy5ob3ZlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJFbGVtZW50LnN0eWxlLnZpc2liaWxpdHkgPSAndmlzaWJsZSc7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -95,10 +95,14 @@ export class GeometryComponent extends CommonPluginElement {
95
95
  drawText() {
96
96
  this.textManage.draw(this.element.text);
97
97
  this.g.append(this.textManage.g);
98
+ const centerPoint = RectangleClient.getCenterPoint(this.board.getRectangle(this.element));
99
+ this.textManage.updateAngle(centerPoint, this.element.angle);
98
100
  }
99
101
  updateText() {
100
102
  this.textManage.updateText(this.element.text);
101
103
  this.textManage.updateRectangle();
104
+ const centerPoint = RectangleClient.getCenterPoint(this.board.getRectangle(this.element));
105
+ this.textManage.updateAngle(centerPoint, this.element.angle);
102
106
  }
103
107
  initializeTextManage() {
104
108
  const plugins = (this.board.getPluginOptions(WithTextPluginKey) || {}).textPlugins;
@@ -141,10 +145,10 @@ export class GeometryComponent extends CommonPluginElement {
141
145
  this.activeGenerator.destroy();
142
146
  this.lineAutoCompleteGenerator.destroy();
143
147
  }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeometryComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
145
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GeometryComponent, isStandalone: true, selector: "plait-draw-geometry", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GeometryComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: GeometryComponent, isStandalone: true, selector: "plait-draw-geometry", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
146
150
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GeometryComponent, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GeometryComponent, decorators: [{
148
152
  type: Component,
149
153
  args: [{
150
154
  selector: 'plait-draw-geometry',
@@ -152,5 +156,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
152
156
  changeDetection: ChangeDetectionStrategy.OnPush,
153
157
  standalone: true
154
158
  }]
155
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUdWLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFRN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG1CQUE4QztJQVVqRixJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFD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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgT25Db250ZXh0Q2hhbmdlZCxcbiAgICBpc1NlbGVjdGlvbk1vdmluZyxcbiAgICBnZXRTZWxlY3RlZEVsZW1lbnRzLFxuICAgIFBsYWl0T3B0aW9uc0JvYXJkLFxuICAgIEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgUmVjdGFuZ2xlQ2xpZW50XG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnkgfSBmcm9tICcuL2ludGVyZmFjZXMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgR2VvbWV0cnlTaGFwZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgVGV4dE1hbmFnZSwgVGV4dE1hbmFnZVJlZiB9IGZyb20gJ0BwbGFpdC90ZXh0JztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzL2dlb21ldHJ5JztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgV2l0aFRleHRQbHVnaW5LZXksIFdpdGhUZXh0T3B0aW9ucywgQ29tbW9uUGx1Z2luRWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgR2VvbWV0cnlUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBQbGFpdERyYXdFbGVtZW50LCBQbGFpdFRleHQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi9lbmdpbmVzJztcbmltcG9ydCB7IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwbGFpdC1kcmF3LWdlb21ldHJ5JyxcbiAgICB0ZW1wbGF0ZTogYGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBHZW9tZXRyeUNvbXBvbmVudCBleHRlbmRzIENvbW1vblBsdWdpbkVsZW1lbnQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+IHtcbiAgICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjtcblxuICAgIHNoYXBlR2VuZXJhdG9yITogR2VvbWV0cnlTaGFwZUdlbmVyYXRvcjtcblxuICAgIGdldCB0ZXh0TWFuYWdlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUZXh0TWFuYWdlcygpWzBdO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0U3Ryb2tlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKHRoaXMuYm9hcmQpICYmIFBsYWl0RHJhd0VsZW1lbnQuaXNUZXh0KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gbmV3IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgR2VvbWV0cnlTaGFwZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZHJhd1RleHQoKTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2VkKFxuICAgICAgICB2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPixcbiAgICAgICAgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICApIHtcbiAgICAgICAgY29uc3QgaXNDaGFuZ2VUaGVtZSA9IHRoaXMuYm9hcmQub3BlcmF0aW9ucy5maW5kKG9wID0+IG9wLnR5cGUgPT09ICdzZXRfdGhlbWUnKTtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHByZXZpb3VzLmVsZW1lbnQgfHwgaXNDaGFuZ2VUaGVtZSkge1xuICAgICAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZyk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lU2VsZWN0ZWQgPSB2YWx1ZS5zZWxlY3RlZCA9PT0gcHJldmlvdXMuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBjb25zdCBoYXNTYW1lSGFuZGxlU3RhdGUgPSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5vcHRpb25zLmhhc1Jlc2l6ZUhhbmRsZSgpID09PSB0aGlzLmFjdGl2ZUdlbmVyYXRvci5oYXNSZXNpemVIYW5kbGU7XG4gICAgICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCB8fCAhaGFzU2FtZUhhbmRsZVN0YXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVkaXRUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UuZWRpdCgpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgfVxuXG4gICAgZHJhd1RleHQoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5kcmF3KHRoaXMuZWxlbWVudC50ZXh0KTtcbiAgICAgICAgdGhpcy5nLmFwcGVuZCh0aGlzLnRleHRNYW5hZ2UuZyk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLnVwZGF0ZVRleHQodGhpcy5lbGVtZW50LnRleHQpO1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKSB7XG4gICAgICAgIGNvbnN0IHBsdWdpbnMgPSAoKHRoaXMuYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aFRleHRPcHRpb25zPihXaXRoVGV4dFBsdWdpbktleSkgfHwge30pLnRleHRQbHVnaW5zO1xuXG4gICAgICAgIGNvbnN0IG1hbmFnZSA9IG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2V0UmVjdGFuZ2xlID0gZ2V0RW5naW5lKHRoaXMuZWxlbWVudC5zaGFwZSkuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0UmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dFNpemUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zICYmIG1lbW9yaXplTGF0ZXN0VGV4dCh0aGlzLmVsZW1lbnQsIHRleHRNYW5hZ2VSZWYub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSBnZXRUZXh0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCkud2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2V0UmVjdGFuZ2xlID0gZ2V0RW5naW5lKHRoaXMuZWxlbWVudC5zaGFwZSkuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0UmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gZ2V0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCkud2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5lbGVtZW50IGFzIFBsYWl0VGV4dCk/LmF1dG9TaXplID8gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aCA6IHdpZHRoO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHRQbHVnaW5zOiBwbHVnaW5zXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcyhbbWFuYWdlXSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
159
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }] });
160
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUdWLGlCQUFpQixFQUNqQixtQkFBbUIsRUFFbkIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLGFBQWEsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFRN0MsTUFBTSxPQUFPLGlCQUFrQixTQUFRLG1CQUE4QztJQVVqRixJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFD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QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QyxDQUFDOzhHQW5KUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixzR0FKaEIsRUFBRTs7MkZBSUgsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgaXNTZWxlY3Rpb25Nb3ZpbmcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBQbGFpdE9wdGlvbnNCb2FyZCxcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFJlY3RhbmdsZUNsaWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFRleHRNYW5hZ2UsIFRleHRNYW5hZ2VSZWYgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi91dGlscy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3IsIFdpdGhUZXh0UGx1Z2luS2V5LCBXaXRoVGV4dE9wdGlvbnMsIENvbW1vblBsdWdpbkVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMvZ2VvbWV0cnknO1xuaW1wb3J0IHsgUGxhaXREcmF3RWxlbWVudCwgUGxhaXRUZXh0IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4vZW5naW5lcyc7XG5pbXBvcnQgeyBMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUtYXV0by1jb21wbGV0ZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgbWVtb3JpemVMYXRlc3RUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1nZW9tZXRyeScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgR2VvbWV0cnlDb21wb25lbnQgZXh0ZW5kcyBDb21tb25QbHVnaW5FbGVtZW50PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPiB7XG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+O1xuXG4gICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciE6IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3I7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3I7XG5cbiAgICBnZXQgdGV4dE1hbmFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VGV4dE1hbmFnZXMoKVswXTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFN0cm9rZVdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQUNUSVZFX1NUUk9LRV9XSURUSDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQUNUSVZFX1NUUk9LRV9XSURUSDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0U3Ryb2tlT3BhY2l0eTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDAuNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGhhc1Jlc2l6ZUhhbmRsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIGlmIChQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyh0aGlzLmJvYXJkKSAmJiBQbGFpdERyYXdFbGVtZW50LmlzVGV4dCh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciA9IG5ldyBMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yID0gbmV3IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGlzQ2hhbmdlVGhlbWUgPSB0aGlzLmJvYXJkLm9wZXJhdGlvbnMuZmluZChvcCA9PiBvcC50eXBlID09PSAnc2V0X3RoZW1lJyk7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IGlzQ2hhbmdlVGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmcpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGV4dCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID0gdGhpcy5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBlZGl0VGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLmVkaXQoKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UuZHJhdyh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMuZy5hcHBlbmQodGhpcy50ZXh0TWFuYWdlLmcpO1xuICAgICAgICBjb25zdCBjZW50ZXJQb2ludCA9IFJlY3RhbmdsZUNsaWVudC5nZXRDZW50ZXJQb2ludCh0aGlzLmJvYXJkLmdldFJlY3RhbmdsZSh0aGlzLmVsZW1lbnQpISk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVBbmdsZShjZW50ZXJQb2ludCwgdGhpcy5lbGVtZW50LmFuZ2xlKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlVGV4dCh0aGlzLmVsZW1lbnQudGV4dCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICAgICAgY29uc3QgY2VudGVyUG9pbnQgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q2VudGVyUG9pbnQodGhpcy5ib2FyZC5nZXRSZWN0YW5nbGUodGhpcy5lbGVtZW50KSEpO1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlQW5nbGUoY2VudGVyUG9pbnQsIHRoaXMuZWxlbWVudC5hbmdsZSk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKSB7XG4gICAgICAgIGNvbnN0IHBsdWdpbnMgPSAoKHRoaXMuYm9hcmQgYXMgUGxhaXRPcHRpb25zQm9hcmQpLmdldFBsdWdpbk9wdGlvbnM8V2l0aFRleHRPcHRpb25zPihXaXRoVGV4dFBsdWdpbktleSkgfHwge30pLnRleHRQbHVnaW5zO1xuXG4gICAgICAgIGNvbnN0IG1hbmFnZSA9IG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2V0UmVjdGFuZ2xlID0gZ2V0RW5naW5lKHRoaXMuZWxlbWVudC5zaGFwZSkuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0UmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRSZWN0YW5nbGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dFNpemUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZVJlZi5vcGVyYXRpb25zICYmIG1lbW9yaXplTGF0ZXN0VGV4dCh0aGlzLmVsZW1lbnQsIHRleHRNYW5hZ2VSZWYub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSBnZXRUZXh0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCkud2lkdGg7XG4gICAgICAgICAgICAgICAgY29uc3QgZ2V0UmVjdGFuZ2xlID0gZ2V0RW5naW5lKHRoaXMuZWxlbWVudC5zaGFwZSkuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICAgICAgICAgICAgICBpZiAoZ2V0UmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gZ2V0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCkud2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5lbGVtZW50IGFzIFBsYWl0VGV4dCk/LmF1dG9TaXplID8gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aCA6IHdpZHRoO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHRQbHVnaW5zOiBwbHVnaW5zXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcyhbbWFuYWdlXSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { ActiveGenerator, CommonPluginElement } from '@plait/common';
3
+ import { getElementsInGroup, getRectangleByGroup, isSelectedElementOrGroup, isSelectionMoving } from '@plait/core';
4
+ import { GroupGenerator } from './generators/group.generator';
5
+ import * as i0 from "@angular/core";
6
+ export class GroupComponent extends CommonPluginElement {
7
+ constructor(viewContainerRef, cdr) {
8
+ super(cdr);
9
+ this.viewContainerRef = viewContainerRef;
10
+ this.cdr = cdr;
11
+ }
12
+ initializeGenerator() {
13
+ this.activeGenerator = new ActiveGenerator(this.board, {
14
+ getRectangle: (element) => {
15
+ return getRectangleByGroup(this.board, element);
16
+ },
17
+ getStrokeWidth: () => 0,
18
+ getStrokeOpacity: () => 0,
19
+ hasResizeHandle: () => {
20
+ return !isSelectionMoving(this.board);
21
+ }
22
+ });
23
+ this.groupGenerator = new GroupGenerator(this.board);
24
+ }
25
+ ngOnInit() {
26
+ super.ngOnInit();
27
+ this.initializeGenerator();
28
+ }
29
+ onContextChanged(value, previous) {
30
+ const elementsInGroup = getElementsInGroup(this.board, value.element, false, true);
31
+ const isPartialSelectGroup = elementsInGroup.some(item => isSelectedElementOrGroup(this.board, item)) &&
32
+ !elementsInGroup.every(item => isSelectedElementOrGroup(this.board, item));
33
+ this.groupGenerator.processDrawing(value.element, this.g, isPartialSelectGroup);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GroupComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
36
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: GroupComponent, isStandalone: true, selector: "plait-group", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GroupComponent, decorators: [{
39
+ type: Component,
40
+ args: [{
41
+ selector: 'plait-group',
42
+ template: ``,
43
+ changeDetection: ChangeDetectionStrategy.OnPush,
44
+ standalone: true
45
+ }]
46
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEQsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUtILGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBUTlELE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQTJDO0lBRTNFLFlBQW9CLGdCQUFrQyxFQUFZLEdBQXNCO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURLLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUV4RixDQUFDO0lBTUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBYSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQy9ELFlBQVksRUFBRSxDQUFDLE9BQW1CLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2QixnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLGVBQWUsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xCLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0IsQ0FDWixLQUF3RCxFQUN4RCxRQUEyRDtRQUUzRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25GLE1BQU0sb0JBQW9CLEdBQ3RCLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUNwRixDQUFDOzhHQXRDUSxjQUFjO2tHQUFkLGNBQWMsOEZBSmIsRUFBRTs7MkZBSUgsY0FBYztrQkFOMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZlR2VuZXJhdG9yLCBDb21tb25QbHVnaW5FbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQge1xuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEdyb3VwLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgZ2V0RWxlbWVudHNJbkdyb3VwLFxuICAgIGdldFJlY3RhbmdsZUJ5R3JvdXAsXG4gICAgaXNTZWxlY3RlZEVsZW1lbnRPckdyb3VwLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdyb3VwR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2dyb3VwLmdlbmVyYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZ3JvdXAnLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEdyb3VwQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uUGx1Z2luRWxlbWVudDxQbGFpdEdyb3VwLCBQbGFpdEJvYXJkPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRHcm91cCwgUGxhaXRCb2FyZD4ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHcm91cD47XG5cbiAgICBncm91cEdlbmVyYXRvciE6IEdyb3VwR2VuZXJhdG9yO1xuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFBsYWl0R3JvdXA+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKGVsZW1lbnQ6IFBsYWl0R3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlHcm91cCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aDogKCkgPT4gMCxcbiAgICAgICAgICAgIGdldFN0cm9rZU9wYWNpdHk6ICgpID0+IDAsXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ncm91cEdlbmVyYXRvciA9IG5ldyBHcm91cEdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHcm91cCwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R3JvdXAsIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzSW5Hcm91cCA9IGdldEVsZW1lbnRzSW5Hcm91cCh0aGlzLmJvYXJkLCB2YWx1ZS5lbGVtZW50LCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGlzUGFydGlhbFNlbGVjdEdyb3VwID1cbiAgICAgICAgICAgIGVsZW1lbnRzSW5Hcm91cC5zb21lKGl0ZW0gPT4gaXNTZWxlY3RlZEVsZW1lbnRPckdyb3VwKHRoaXMuYm9hcmQsIGl0ZW0pKSAmJlxuICAgICAgICAgICAgIWVsZW1lbnRzSW5Hcm91cC5ldmVyeShpdGVtID0+IGlzU2VsZWN0ZWRFbGVtZW50T3JHcm91cCh0aGlzLmJvYXJkLCBpdGVtKSk7XG4gICAgICAgIHRoaXMuZ3JvdXBHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodmFsdWUuZWxlbWVudCwgdGhpcy5nLCBpc1BhcnRpYWxTZWxlY3RHcm91cCk7XG4gICAgfVxufVxuIl19