@pie-lib/editable-html-tip-tap 1.0.11 → 1.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/CharacterPicker.js +11 -3
- package/lib/components/EditableHtml.js +22 -13
- package/lib/components/MenuBar.js +2 -2
- package/lib/components/TiptapContainer.js +3 -4
- package/lib/components/characters/characterUtils.js +272 -3
- package/lib/components/respArea/ExplicitConstructedResponse.js +12 -3
- package/lib/components/respArea/InlineDropdown.js +36 -6
- package/lib/extensions/component.js +12 -3
- package/lib/extensions/image.js +1 -3
- package/lib/extensions/index.js +3 -3
- package/lib/extensions/math.js +27 -7
- package/lib/extensions/responseArea.js +1 -5
- package/lib/styles/editorContainerStyles.js +2 -59
- package/package.json +1 -1
- package/src/components/CharacterPicker.jsx +11 -1
- package/src/components/EditableHtml.jsx +8 -2
- package/src/components/MenuBar.jsx +8 -6
- package/src/components/TiptapContainer.jsx +0 -3
- package/src/components/characters/characterUtils.js +321 -1
- package/src/components/respArea/ExplicitConstructedResponse.jsx +11 -2
- package/src/components/respArea/InlineDropdown.jsx +31 -7
- package/src/extensions/component.jsx +11 -2
- package/src/extensions/image.js +0 -3
- package/src/extensions/index.js +4 -4
- package/src/extensions/math.js +30 -19
- package/src/extensions/responseArea.js +0 -3
- package/src/styles/editorContainerStyles.js +0 -57
|
@@ -92,8 +92,17 @@ function ImageComponent(props) {
|
|
|
92
92
|
}
|
|
93
93
|
}, [editor, node.attrs, getPercentFromWidth]);
|
|
94
94
|
(0, _react.useEffect)(function () {
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
var selection = editor.state.selection;
|
|
96
|
+
var onlyThisNodeSelected = selection.from + node.nodeSize === selection.to;
|
|
97
|
+
|
|
98
|
+
if (selected) {
|
|
99
|
+
if (onlyThisNodeSelected) {
|
|
100
|
+
setShowToolbar(selected);
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
setShowToolbar(selected);
|
|
104
|
+
}
|
|
105
|
+
}, [editor, node, selected]);
|
|
97
106
|
(0, _react.useEffect)(function () {
|
|
98
107
|
options.imageHandling.insertImageRequested(node, function (finish) {
|
|
99
108
|
return new _InsertImageHandler["default"](editor, node, finish);
|
|
@@ -330,4 +339,4 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
330
339
|
})(ImageComponent);
|
|
331
340
|
|
|
332
341
|
exports["default"] = _default;
|
|
333
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZVB4IiwicyIsIkltYWdlQ29tcG9uZW50IiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwic2VsZWN0ZWQiLCJvcHRpb25zIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ3aWR0aCIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJjb21tYW5kcyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJpbWFnZUhhbmRsaW5nIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJmaW5pc2giLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJyZXNpemVIYW5kbGUiLCJhZGRFdmVudExpc3RlbmVyIiwiaW5pdFJlc2l6ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkSW1hZ2UiLCJib3giLCJzdHlsZSIsInciLCJNYXRoIiwibWluIiwiaCIsIm5hdHVyYWxIZWlnaHQiLCJoZWlnaHQiLCJ1cGRhdGVBc3BlY3QiLCJpbml0aWFsIiwibmV4dCIsImtlZXBBc3BlY3QiLCJyZXNpemVUeXBlIiwicmF0aW8iLCJzdGFydFJlc2l6ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJvbkNoYW5nZSIsIm5ld1ZhbHVlcyIsInN0b3BSZXNpemUiLCJ3aW5kb3ciLCJvYmplY3RGaXQiLCJmbGV4QWxpZ24iLCJjZW50ZXIiLCJyaWdodCIsImFsaWdubWVudCIsInJvb3QiLCJsb2FkZWQiLCJsb2FkaW5nIiwiZGVsZXRlU3RhdHVzIiwicGVuZGluZ0RlbGV0ZSIsImp1c3RpZnlDb250ZW50IiwicGVyY2VudCIsInByb2dyZXNzIiwiaGlkZVByb2dyZXNzIiwiaW1hZ2VDb250YWluZXIiLCJzcmMiLCJpbWFnZSIsImFjdGl2ZSIsInJlc2l6ZSIsInBvc2l0aW9uIiwiekluZGV4IiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsIm9uRG9uZSIsImZvY3VzIiwiZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwibnVtYmVyIiwidGhlbWUiLCJwb3J0YWwiLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsInBhcGVyIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJncmV5IiwiY29tbW9uIiwid2hpdGUiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxnREFBTixDQUFaOztBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLENBQUQ7QUFBQSxTQUFRQSxDQUFDLGFBQU1BLENBQU4sVUFBYyxZQUF2QjtBQUFBLENBQWY7O0FBRUEsU0FBU0MsY0FBVCxDQUF3QkMsS0FBeEIsRUFBK0I7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IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUVmZmVjdCwgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IExpbmVhclByb2dyZXNzIGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL0xpbmVhclByb2dyZXNzJztcbmltcG9ydCB7IHdpdGhTdHlsZXMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuaW1wb3J0IHsgTm9kZVZpZXdXcmFwcGVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgSW5zZXJ0SW1hZ2VIYW5kbGVyIGZyb20gJy4uL2NvbXBvbmVudHMvaW1hZ2UvSW5zZXJ0SW1hZ2VIYW5kbGVyJztcbmltcG9ydCBJbWFnZVRvb2xiYXIgZnJvbSAnLi4vY29tcG9uZW50cy9pbWFnZS9JbWFnZVRvb2xiYXInO1xuaW1wb3J0IEN1c3RvbVRvb2xiYXJXcmFwcGVyIGZyb20gJy4vY3VzdG9tLXRvb2xiYXItd3JhcHBlcic7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLWxpYjplZGl0YWJsZS1odG1sOnBsdWdpbnM6aW1hZ2U6Y29tcG9uZW50Jyk7XG5cbmNvbnN0IHNpemVQeCA9IChzKSA9PiAocyA/IGAke3N9cHhgIDogJ2NhbGMoMjBweCknKTtcblxuZnVuY3Rpb24gSW1hZ2VDb21wb25lbnQocHJvcHMpIHtcbiAgY29uc3Qge1xuICAgIG5vZGUsXG4gICAgZWRpdG9yLFxuICAgIGNsYXNzZXMsXG4gICAgYXR0cmlidXRlcyxcbiAgICBvbkZvY3VzLFxuICAgIHNlbGVjdGVkLFxuICAgIG9wdGlvbnMsXG4gICAgbWF4SW1hZ2VXaWR0aCA9IDcwMCxcbiAgICBtYXhJbWFnZUhlaWdodCA9IDkwMCxcbiAgICBsYXRleCxcbiAgICBoYW5kbGVDaGFuZ2UsXG4gICAgaGFuZGxlRG9uZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCB7IGFsdCB9ID0gbm9kZS5hdHRycztcblxuICBjb25zdCBbc2hvd1Rvb2xiYXIsIHNldFNob3dUb29sYmFyXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBpbWdSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IHJlc2l6ZVJlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgdG9vbGJhclJlZiA9IHVzZVJlZihudWxsKTtcblxuICBjb25zdCBnZXRQZXJjZW50RnJvbVdpZHRoID0gdXNlQ2FsbGJhY2soKHdpZHRoKSA9PiB7XG4gICAgY29uc3QgZmxvb3JlZCA9ICh3aWR0aCAvIGltZ1JlZi5jdXJyZW50Lm5hdHVyYWxXaWR0aCkgKiA0O1xuICAgIHJldHVybiBwYXJzZUludChmbG9vcmVkLnRvRml4ZWQoMCkgKiAyNSwgMTApO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgYXBwbHlTaXplRGF0YSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoIW5vZGUuYXR0cnMud2lkdGggfHwgIWltZ1JlZi5jdXJyZW50KSByZXR1cm47XG5cbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICAuLi5ub2RlLmF0dHJzLFxuICAgICAgcmVzaXplUGVyY2VudDogZ2V0UGVyY2VudEZyb21XaWR0aChub2RlLmF0dHJzLndpZHRoKSxcbiAgICB9O1xuXG4gICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZS5hdHRycywgZ2V0UGVyY2VudEZyb21XaWR0aF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0U2hvd1Rvb2xiYXIoc2VsZWN0ZWQpO1xuICB9LCBbc2VsZWN0ZWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG9wdGlvbnMuaW1hZ2VIYW5kbGluZy5pbnNlcnRJbWFnZVJlcXVlc3RlZChub2RlLCAoZmluaXNoKSA9PiBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKGVkaXRvciwgbm9kZSwgZmluaXNoKSk7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuXG4gICAgY29uc3QgcmVzaXplSGFuZGxlID0gcmVzaXplUmVmLmN1cnJlbnQ7XG4gICAgaWYgKHJlc2l6ZUhhbmRsZSkge1xuICAgICAgcmVzaXplSGFuZGxlLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGluaXRSZXNpemUsIGZhbHNlKTtcbiAgICB9XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChyZXNpemVIYW5kbGUpIHJlc2l6ZUhhbmRsZS5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBpbml0UmVzaXplLCBmYWxzZSk7XG4gICAgfTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYXBwbHlTaXplRGF0YSgpO1xuICB9KTtcblxuICBjb25zdCBsb2FkSW1hZ2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3QgYm94ID0gaW1nUmVmLmN1cnJlbnQ7XG4gICAgaWYgKCFib3gpIHJldHVybjtcblxuICAgIGlmICghYm94LnN0eWxlLndpZHRoIHx8IGJveC5zdHlsZS53aWR0aCA9PT0gJ2NhbGMoMjBweCknKSB7XG4gICAgICBjb25zdCB3ID0gTWF0aC5taW4oYm94Lm5hdHVyYWxXaWR0aCwgbWF4SW1hZ2VXaWR0aCk7XG4gICAgICBjb25zdCBoID0gTWF0aC5taW4oYm94Lm5hdHVyYWxIZWlnaHQsIG1heEltYWdlSGVpZ2h0KTtcblxuICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7d31weGA7XG4gICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7aH1weGA7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgd2lkdGg6IHcsIGhlaWdodDogaCB9O1xuICAgICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBtYXhJbWFnZVdpZHRoLCBtYXhJbWFnZUhlaWdodF0pO1xuXG4gIGNvbnN0IHVwZGF0ZUFzcGVjdCA9IChpbml0aWFsLCBuZXh0LCBrZWVwQXNwZWN0ID0gdHJ1ZSwgcmVzaXplVHlwZSkgPT4ge1xuICAgIGlmIChrZWVwQXNwZWN0KSB7XG4gICAgICBjb25zdCByYXRpbyA9IGluaXRpYWwud2lkdGggLyBpbml0aWFsLmhlaWdodDtcbiAgICAgIGlmIChyZXNpemVUeXBlID09PSAnaGVpZ2h0JykgcmV0dXJuIHsgd2lkdGg6IG5leHQuaGVpZ2h0ICogcmF0aW8sIGhlaWdodDogbmV4dC5oZWlnaHQgfTtcbiAgICAgIHJldHVybiB7IHdpZHRoOiBuZXh0LndpZHRoLCBoZWlnaHQ6IG5leHQud2lkdGggLyByYXRpbyB9O1xuICAgIH1cbiAgICByZXR1cm4gbmV4dDtcbiAgfTtcblxuICBjb25zdCBzdGFydFJlc2l6ZSA9IHVzZUNhbGxiYWNrKFxuICAgIChlKSA9PiB7XG4gICAgICBjb25zdCBib3ggPSBpbWdSZWYuY3VycmVudDtcbiAgICAgIGlmICghYm94KSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IGUudGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgaW5pdGlhbCA9IHsgd2lkdGg6IGJveC5uYXR1cmFsV2lkdGgsIGhlaWdodDogYm94Lm5hdHVyYWxIZWlnaHQgfTtcblxuICAgICAgY29uc3QgbmV4dCA9IHVwZGF0ZUFzcGVjdChpbml0aWFsLCB7XG4gICAgICAgIHdpZHRoOiBlLmNsaWVudFggLSBib3VuZHMubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBlLmNsaWVudFkgLSBib3VuZHMudG9wLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChuZXh0LndpZHRoID4gNTAgJiYgbmV4dC5oZWlnaHQgPiA1MCAmJiBuZXh0LndpZHRoIDw9IDcwMCAmJiBuZXh0LmhlaWdodCA8PSA5MDApIHtcbiAgICAgICAgYm94LnN0eWxlLndpZHRoID0gYCR7bmV4dC53aWR0aH1weGA7XG4gICAgICAgIGJveC5zdHlsZS5oZWlnaHQgPSBgJHtuZXh0LmhlaWdodH1weGA7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlID0geyB3aWR0aDogbmV4dC53aWR0aCwgaGVpZ2h0OiBuZXh0LmhlaWdodCB9O1xuICAgICAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdG9yLCBub2RlLmF0dHJzXSxcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdWYWx1ZXMpID0+IHtcbiAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCBuZXdWYWx1ZXMpO1xuICAgIH0sXG4gICAgW2VkaXRvcl0sXG4gICk7XG5cbiAgY29uc3Qgc3RvcFJlc2l6ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgc3RhcnRSZXNpemUpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgc3RvcFJlc2l6ZSk7XG4gIH0sIFtzdGFydFJlc2l6ZV0pO1xuXG4gIGNvbnN0IGluaXRSZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXJ0UmVzaXplKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN0b3BSZXNpemUpO1xuICB9LCBbc3RhcnRSZXNpemUsIHN0b3BSZXNpemVdKTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICB3aWR0aDogc2l6ZVB4KG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIGhlaWdodDogc2l6ZVB4KG5vZGUuYXR0cnMuaGVpZ2h0KSxcbiAgICBvYmplY3RGaXQ6ICdjb250YWluJyxcbiAgfTtcblxuICBjb25zdCBmbGV4QWxpZ24gPSB7IGxlZnQ6ICdmbGV4LXN0YXJ0JywgY2VudGVyOiAnY2VudGVyJywgcmlnaHQ6ICdmbGV4LWVuZCcgfVtub2RlLmF0dHJzLmFsaWdubWVudF0gfHwgJ2ZsZXgtc3RhcnQnO1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlcj5cbiAgICAgIDxkaXZcbiAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgIGNsYXNzZXMucm9vdCxcbiAgICAgICAgICAhbm9kZS5hdHRycy5sb2FkZWQgJiYgY2xhc3Nlcy5sb2FkaW5nLFxuICAgICAgICAgIG5vZGUuYXR0cnMuZGVsZXRlU3RhdHVzID09PSAncGVuZGluZycgJiYgY2xhc3Nlcy5wZW5kaW5nRGVsZXRlLFxuICAgICAgICApfVxuICAgICAgICBzdHlsZT17eyBqdXN0aWZ5Q29udGVudDogZmxleEFsaWduIH19XG4gICAgICA+XG4gICAgICAgIDxMaW5lYXJQcm9ncmVzc1xuICAgICAgICAgIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gICAgICAgICAgdmFsdWU9e25vZGUuYXR0cnMucGVyY2VudCB8fCAwfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnByb2dyZXNzLCBub2RlLmF0dHJzLmxvYWRlZCAmJiBjbGFzc2VzLmhpZGVQcm9ncmVzcyl9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXMuaW1hZ2VDb250YWluZXJ9PlxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgICAgICAgcmVmPXtpbWdSZWZ9XG4gICAgICAgICAgICBzcmM9e25vZGUuYXR0cnMuc3JjfVxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGNsYXNzZXMuaW1hZ2UsIHNlbGVjdGVkICYmIGNsYXNzZXMuYWN0aXZlKX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgICAgIG9uTG9hZD17bG9hZEltYWdlfVxuICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgcmVmPXtyZXNpemVSZWZ9IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLnJlc2l6ZSwgJ3Jlc2l6ZScpfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7c2hvd1Rvb2xiYXIgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXt0b29sYmFyUmVmfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJzEwMCUnLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIHpJbmRleDogMjAsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tZWRpdGFibGUtaHRtbC10b29sYmFyLWJnLCAjZWZlZmVmKScsXG4gICAgICAgICAgICBib3hTaGFkb3c6XG4gICAgICAgICAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxDdXN0b21Ub29sYmFyV3JhcHBlclxuICAgICAgICAgICAgc2hvd0RvbmVcbiAgICAgICAgICAgIHsuLi5vcHRpb25zfVxuICAgICAgICAgICAgb25Eb25lPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcbiAgICAgICAgICAgICAgcHJvcHMuaW1hZ2VIYW5kbGluZz8ub25Eb25lKCk7XG4gICAgICAgICAgICAgIHByb3BzLmVkaXRvci5jb21tYW5kcy5mb2N1cygnZW5kJyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxJbWFnZVRvb2xiYXJcbiAgICAgICAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucz17b3B0aW9ucy5kaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zfVxuICAgICAgICAgICAgICBhbHQ9e25vZGUuYXR0cnMuYWx0fVxuICAgICAgICAgICAgICBpbWFnZUxvYWRlZD17bm9kZS5hdHRycy5sb2FkZWR9XG4gICAgICAgICAgICAgIGFsaWdubWVudD17bm9kZS5hdHRycy5hbGlnbm1lbnQgfHwgJ2xlZnQnfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ3VzdG9tVG9vbGJhcldyYXBwZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn1cblxuSW1hZ2VDb21wb25lbnQucHJvcFR5cGVzID0ge1xuICBub2RlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGVkaXRvcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gIGF0dHJpYnV0ZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gIG9uRm9jdXM6IFByb3BUeXBlcy5mdW5jLFxuICBtYXhJbWFnZVdpZHRoOiBQcm9wVHlwZXMubnVtYmVyLFxuICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZXMoKHRoZW1lKSA9PiAoe1xuICBwb3J0YWw6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBvcGFjaXR5OiAwLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIH0sXG4gIGZsb2F0aW5nQnV0dG9uUm93OiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiB0aGVtZS5wYWxldHRlLmJhY2tncm91bmQucGFwZXIsXG4gICAgYm9yZGVyUmFkaXVzOiAnMXB4JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgcGFkZGluZzogJzEwcHgnLFxuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuZ3JleVsyMDBdfWAsXG4gICAgYm94U2hhZG93OlxuICAgICAgJzBweCAxcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiknLFxuICB9LFxuICBwcm9ncmVzczoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGxlZnQ6ICcwJyxcbiAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICB0b3A6ICcwJScsXG4gICAgdHJhbnNpdGlvbjogJ29wYWNpdHkgMjAwbXMgbGluZWFyJyxcbiAgfSxcbiAgaGlkZVByb2dyZXNzOiB7XG4gICAgb3BhY2l0eTogMCxcbiAgfSxcbiAgbG9hZGluZzoge1xuICAgIG9wYWNpdHk6IDAuMyxcbiAgfSxcbiAgcGVuZGluZ0RlbGV0ZToge1xuICAgIG9wYWNpdHk6IDAuMyxcbiAgfSxcbiAgcm9vdDoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUuY29tbW9uLndoaXRlfWAsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIH0sXG4gIGRlbGV0ZToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAwLFxuICB9LFxuICBpbWFnZUNvbnRhaW5lcjoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdpZHRoOiAnZml0LWNvbnRlbnQnLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcblxuICAgICcmJjpob3ZlciA+IC5yZXNpemUnOiB7XG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgIH0sXG4gIH0sXG4gIGFjdGl2ZToge1xuICAgIGJvcmRlcjogYHNvbGlkIDFweCAke3RoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWlufWAsXG4gIH0sXG4gIHJlc2l6ZToge1xuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sXG4gICAgY3Vyc29yOiAnY29sLXJlc2l6ZScsXG4gICAgaGVpZ2h0OiAnMzVweCcsXG4gICAgd2lkdGg6ICc1cHgnLFxuICAgIGJvcmRlclJhZGl1czogOCxcbiAgICBtYXJnaW5MZWZ0OiAnNXB4JyxcbiAgICBtYXJnaW5SaWdodDogJzEwcHgnLFxuICAgIGRpc3BsYXk6ICdub25lJyxcbiAgfSxcbiAgZHJhd2FibGVIZWlnaHQ6IHtcbiAgICBtaW5IZWlnaHQ6IDM1MCxcbiAgfSxcbn0pKShJbWFnZUNvbXBvbmVudCk7XG4iXX0=
|
|
342
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2NvbXBvbmVudC5qc3giXSwibmFtZXMiOlsibG9nIiwic2l6ZVB4IiwicyIsIkltYWdlQ29tcG9uZW50IiwicHJvcHMiLCJub2RlIiwiZWRpdG9yIiwiY2xhc3NlcyIsImF0dHJpYnV0ZXMiLCJvbkZvY3VzIiwic2VsZWN0ZWQiLCJvcHRpb25zIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwibGF0ZXgiLCJoYW5kbGVDaGFuZ2UiLCJoYW5kbGVEb25lIiwiYWx0IiwiYXR0cnMiLCJzaG93VG9vbGJhciIsInNldFNob3dUb29sYmFyIiwiaW1nUmVmIiwicmVzaXplUmVmIiwidG9vbGJhclJlZiIsImdldFBlcmNlbnRGcm9tV2lkdGgiLCJ3aWR0aCIsImZsb29yZWQiLCJjdXJyZW50IiwibmF0dXJhbFdpZHRoIiwicGFyc2VJbnQiLCJ0b0ZpeGVkIiwiYXBwbHlTaXplRGF0YSIsInVwZGF0ZSIsInJlc2l6ZVBlcmNlbnQiLCJjb21tYW5kcyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3Rpb24iLCJzdGF0ZSIsIm9ubHlUaGlzTm9kZVNlbGVjdGVkIiwiZnJvbSIsIm5vZGVTaXplIiwidG8iLCJpbWFnZUhhbmRsaW5nIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJmaW5pc2giLCJJbnNlcnRJbWFnZUhhbmRsZXIiLCJyZXNpemVIYW5kbGUiLCJhZGRFdmVudExpc3RlbmVyIiwiaW5pdFJlc2l6ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2FkSW1hZ2UiLCJib3giLCJzdHlsZSIsInciLCJNYXRoIiwibWluIiwiaCIsIm5hdHVyYWxIZWlnaHQiLCJoZWlnaHQiLCJ1cGRhdGVBc3BlY3QiLCJpbml0aWFsIiwibmV4dCIsImtlZXBBc3BlY3QiLCJyZXNpemVUeXBlIiwicmF0aW8iLCJzdGFydFJlc2l6ZSIsImUiLCJib3VuZHMiLCJ0YXJnZXQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJjbGllbnRYIiwibGVmdCIsImNsaWVudFkiLCJ0b3AiLCJvbkNoYW5nZSIsIm5ld1ZhbHVlcyIsInN0b3BSZXNpemUiLCJ3aW5kb3ciLCJvYmplY3RGaXQiLCJmbGV4QWxpZ24iLCJjZW50ZXIiLCJyaWdodCIsImFsaWdubWVudCIsInJvb3QiLCJsb2FkZWQiLCJsb2FkaW5nIiwiZGVsZXRlU3RhdHVzIiwicGVuZGluZ0RlbGV0ZSIsImp1c3RpZnlDb250ZW50IiwicGVyY2VudCIsInByb2dyZXNzIiwiaGlkZVByb2dyZXNzIiwiaW1hZ2VDb250YWluZXIiLCJzcmMiLCJpbWFnZSIsImFjdGl2ZSIsInJlc2l6ZSIsInBvc2l0aW9uIiwiekluZGV4IiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsIm9uRG9uZSIsImZvY3VzIiwiZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwibnVtYmVyIiwidGhlbWUiLCJwb3J0YWwiLCJvcGFjaXR5IiwidHJhbnNpdGlvbiIsImZsb2F0aW5nQnV0dG9uUm93IiwiYmFja2dyb3VuZENvbG9yIiwicGFsZXR0ZSIsInBhcGVyIiwiYm9yZGVyUmFkaXVzIiwiZGlzcGxheSIsInBhZGRpbmciLCJib3JkZXIiLCJncmV5IiwiY29tbW9uIiwid2hpdGUiLCJhbGlnbkl0ZW1zIiwicHJpbWFyeSIsIm1haW4iLCJjdXJzb3IiLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJkcmF3YWJsZUhlaWdodCIsIm1pbkhlaWdodCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLEdBQUcsR0FBRyx1QkFBTSxnREFBTixDQUFaOztBQUVBLElBQU1DLE1BQU0sR0FBRyxTQUFUQSxNQUFTLENBQUNDLENBQUQ7QUFBQSxTQUFRQSxDQUFDLGFB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T0FBZCxDQUFzQkMsSUFEakM7QUFFTkMsTUFBQUEsTUFBTSxFQUFFLFlBRkY7QUFHTnRFLE1BQUFBLE1BQU0sRUFBRSxNQUhGO0FBSU5qQyxNQUFBQSxLQUFLLEVBQUUsS0FKRDtBQUtONkYsTUFBQUEsWUFBWSxFQUFFLENBTFI7QUFNTlcsTUFBQUEsVUFBVSxFQUFFLEtBTk47QUFPTkMsTUFBQUEsV0FBVyxFQUFFLE1BUFA7QUFRTlgsTUFBQUEsT0FBTyxFQUFFO0FBUkgsS0F0RDRCO0FBZ0VwQ1ksSUFBQUEsY0FBYyxFQUFFO0FBQ2RDLE1BQUFBLFNBQVMsRUFBRTtBQURHO0FBaEVvQixHQUFaO0FBQUEsQ0FBWCxFQW1FWGpJLGNBbkVXLEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlRWZmZWN0LCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC9pc0VxdWFsJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgTGluZWFyUHJvZ3Jlc3MgZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvTGluZWFyUHJvZ3Jlc3MnO1xuaW1wb3J0IHsgd2l0aFN0eWxlcyB9IGZyb20gJ0BtYXRlcmlhbC11aS9jb3JlL3N0eWxlcyc7XG5pbXBvcnQgeyBOb2RlVmlld1dyYXBwZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBJbnNlcnRJbWFnZUhhbmRsZXIgZnJvbSAnLi4vY29tcG9uZW50cy9pbWFnZS9JbnNlcnRJbWFnZUhhbmRsZXInO1xuaW1wb3J0IEltYWdlVG9vbGJhciBmcm9tICcuLi9jb21wb25lbnRzL2ltYWdlL0ltYWdlVG9vbGJhcic7XG5pbXBvcnQgQ3VzdG9tVG9vbGJhcldyYXBwZXIgZnJvbSAnLi9jdXN0b20tdG9vbGJhci13cmFwcGVyJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2luczppbWFnZTpjb21wb25lbnQnKTtcblxuY29uc3Qgc2l6ZVB4ID0gKHMpID0+IChzID8gYCR7c31weGAgOiAnY2FsYygyMHB4KScpO1xuXG5mdW5jdGlvbiBJbWFnZUNvbXBvbmVudChwcm9wcykge1xuICBjb25zdCB7XG4gICAgbm9kZSxcbiAgICBlZGl0b3IsXG4gICAgY2xhc3NlcyxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIG9uRm9jdXMsXG4gICAgc2VsZWN0ZWQsXG4gICAgb3B0aW9ucyxcbiAgICBtYXhJbWFnZVdpZHRoID0gNzAwLFxuICAgIG1heEltYWdlSGVpZ2h0ID0gOTAwLFxuICAgIGxhdGV4LFxuICAgIGhhbmRsZUNoYW5nZSxcbiAgICBoYW5kbGVEb25lLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgYWx0IH0gPSBub2RlLmF0dHJzO1xuXG4gIGNvbnN0IFtzaG93VG9vbGJhciwgc2V0U2hvd1Rvb2xiYXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGltZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgY29uc3QgcmVzaXplUmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCB0b29sYmFyUmVmID0gdXNlUmVmKG51bGwpO1xuXG4gIGNvbnN0IGdldFBlcmNlbnRGcm9tV2lkdGggPSB1c2VDYWxsYmFjaygod2lkdGgpID0+IHtcbiAgICBjb25zdCBmbG9vcmVkID0gKHdpZHRoIC8gaW1nUmVmLmN1cnJlbnQubmF0dXJhbFdpZHRoKSAqIDQ7XG4gICAgcmV0dXJuIHBhcnNlSW50KGZsb29yZWQudG9GaXhlZCgwKSAqIDI1LCAxMCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBhcHBseVNpemVEYXRhID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghbm9kZS5hdHRycy53aWR0aCB8fCAhaW1nUmVmLmN1cnJlbnQpIHJldHVybjtcblxuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIC4uLm5vZGUuYXR0cnMsXG4gICAgICByZXNpemVQZXJjZW50OiBnZXRQZXJjZW50RnJvbVdpZHRoKG5vZGUuYXR0cnMud2lkdGgpLFxuICAgIH07XG5cbiAgICBpZiAoIWlzRXF1YWwodXBkYXRlLCBub2RlLmF0dHJzKSkge1xuICAgICAgZWRpdG9yLmNvbW1hbmRzLnVwZGF0ZUF0dHJpYnV0ZXMoJ2ltYWdlVXBsb2FkTm9kZScsIHVwZGF0ZSk7XG4gICAgfVxuICB9LCBbZWRpdG9yLCBub2RlLmF0dHJzLCBnZXRQZXJjZW50RnJvbVdpZHRoXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IHNlbGVjdGlvbiB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IG9ubHlUaGlzTm9kZVNlbGVjdGVkID0gc2VsZWN0aW9uLmZyb20gKyBub2RlLm5vZGVTaXplID09PSBzZWxlY3Rpb24udG87XG5cbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIGlmIChvbmx5VGhpc05vZGVTZWxlY3RlZCkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihzZWxlY3RlZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFNob3dUb29sYmFyKHNlbGVjdGVkKTtcbiAgICB9XG4gIH0sIFtlZGl0b3IsIG5vZGUsIHNlbGVjdGVkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBvcHRpb25zLmltYWdlSGFuZGxpbmcuaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQobm9kZSwgKGZpbmlzaCkgPT4gbmV3IEluc2VydEltYWdlSGFuZGxlcihlZGl0b3IsIG5vZGUsIGZpbmlzaCkpO1xuICAgIGFwcGx5U2l6ZURhdGEoKTtcblxuICAgIGNvbnN0IHJlc2l6ZUhhbmRsZSA9IHJlc2l6ZVJlZi5jdXJyZW50O1xuICAgIGlmIChyZXNpemVIYW5kbGUpIHtcbiAgICAgIHJlc2l6ZUhhbmRsZS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBpbml0UmVzaXplLCBmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzaXplSGFuZGxlKSByZXNpemVIYW5kbGUucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaW5pdFJlc2l6ZSwgZmFsc2UpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFwcGx5U2l6ZURhdGEoKTtcbiAgfSk7XG5cbiAgY29uc3QgbG9hZEltYWdlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGJveCA9IGltZ1JlZi5jdXJyZW50O1xuICAgIGlmICghYm94KSByZXR1cm47XG5cbiAgICBpZiAoIWJveC5zdHlsZS53aWR0aCB8fCBib3guc3R5bGUud2lkdGggPT09ICdjYWxjKDIwcHgpJykge1xuICAgICAgY29uc3QgdyA9IE1hdGgubWluKGJveC5uYXR1cmFsV2lkdGgsIG1heEltYWdlV2lkdGgpO1xuICAgICAgY29uc3QgaCA9IE1hdGgubWluKGJveC5uYXR1cmFsSGVpZ2h0LCBtYXhJbWFnZUhlaWdodCk7XG5cbiAgICAgIGJveC5zdHlsZS53aWR0aCA9IGAke3d9cHhgO1xuICAgICAgYm94LnN0eWxlLmhlaWdodCA9IGAke2h9cHhgO1xuXG4gICAgICBjb25zdCB1cGRhdGUgPSB7IHdpZHRoOiB3LCBoZWlnaHQ6IGggfTtcbiAgICAgIGlmICghaXNFcXVhbCh1cGRhdGUsIG5vZGUuYXR0cnMpKSB7XG4gICAgICAgIGVkaXRvci5jb21tYW5kcy51cGRhdGVBdHRyaWJ1dGVzKCdpbWFnZVVwbG9hZE5vZGUnLCB1cGRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2VkaXRvciwgbm9kZS5hdHRycywgbWF4SW1hZ2VXaWR0aCwgbWF4SW1hZ2VIZWlnaHRdKTtcblxuICBjb25zdCB1cGRhdGVBc3BlY3QgPSAoaW5pdGlhbCwgbmV4dCwga2VlcEFzcGVjdCA9IHRydWUsIHJlc2l6ZVR5cGUpID0+IHtcbiAgICBpZiAoa2VlcEFzcGVjdCkge1xuICAgICAgY29uc3QgcmF0aW8gPSBpbml0aWFsLndpZHRoIC8gaW5pdGlhbC5oZWlnaHQ7XG4gICAgICBpZiAocmVzaXplVHlwZSA9PT0gJ2hlaWdodCcpIHJldHVybiB7IHdpZHRoOiBuZXh0LmhlaWdodCAqIHJhdGlvLCBoZWlnaHQ6IG5leHQuaGVpZ2h0IH07XG4gICAgICByZXR1cm4geyB3aWR0aDogbmV4dC53aWR0aCwgaGVpZ2h0OiBuZXh0LndpZHRoIC8gcmF0aW8gfTtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQ7XG4gIH07XG5cbiAgY29uc3Qgc3RhcnRSZXNpemUgPSB1c2VDYWxsYmFjayhcbiAgICAoZSkgPT4ge1xuICAgICAgY29uc3QgYm94ID0gaW1nUmVmLmN1cnJlbnQ7XG4gICAgICBpZiAoIWJveCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCBib3VuZHMgPSBlLnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSB7IHdpZHRoOiBib3gubmF0dXJhbFdpZHRoLCBoZWlnaHQ6IGJveC5uYXR1cmFsSGVpZ2h0IH07XG5cbiAgICAgIGNvbnN0IG5leHQgPSB1cGRhdGVBc3BlY3QoaW5pdGlhbCwge1xuICAgICAgICB3aWR0aDogZS5jbGllbnRYIC0gYm91bmRzLmxlZnQsXG4gICAgICAgIGhlaWdodDogZS5jbGllbnRZIC0gYm91bmRzLnRvcCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobmV4dC53aWR0aCA+IDUwICYmIG5leHQuaGVpZ2h0ID4gNTAgJiYgbmV4dC53aWR0aCA8PSA3MDAgJiYgbmV4dC5oZWlnaHQgPD0gOTAwKSB7XG4gICAgICAgIGJveC5zdHlsZS53aWR0aCA9IGAke25leHQud2lkdGh9cHhgO1xuICAgICAgICBib3guc3R5bGUuaGVpZ2h0ID0gYCR7bmV4dC5oZWlnaHR9cHhgO1xuXG4gICAgICAgIGNvbnN0IHVwZGF0ZSA9IHsgd2lkdGg6IG5leHQud2lkdGgsIGhlaWdodDogbmV4dC5oZWlnaHQgfTtcbiAgICAgICAgaWYgKCFpc0VxdWFsKHVwZGF0ZSwgbm9kZS5hdHRycykpIHtcbiAgICAgICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgdXBkYXRlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvciwgbm9kZS5hdHRyc10sXG4gICk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAobmV3VmFsdWVzKSA9PiB7XG4gICAgICBlZGl0b3IuY29tbWFuZHMudXBkYXRlQXR0cmlidXRlcygnaW1hZ2VVcGxvYWROb2RlJywgbmV3VmFsdWVzKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdLFxuICApO1xuXG4gIGNvbnN0IHN0b3BSZXNpemUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHN0YXJ0UmVzaXplKTtcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHN0b3BSZXNpemUpO1xuICB9LCBbc3RhcnRSZXNpemVdKTtcblxuICBjb25zdCBpbml0UmVzaXplID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBzdGFydFJlc2l6ZSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBzdG9wUmVzaXplKTtcbiAgfSwgW3N0YXJ0UmVzaXplLCBzdG9wUmVzaXplXSk7XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgd2lkdGg6IHNpemVQeChub2RlLmF0dHJzLndpZHRoKSxcbiAgICBoZWlnaHQ6IHNpemVQeChub2RlLmF0dHJzLmhlaWdodCksXG4gICAgb2JqZWN0Rml0OiAnY29udGFpbicsXG4gIH07XG5cbiAgY29uc3QgZmxleEFsaWduID0geyBsZWZ0OiAnZmxleC1zdGFydCcsIGNlbnRlcjogJ2NlbnRlcicsIHJpZ2h0OiAnZmxleC1lbmQnIH1bbm9kZS5hdHRycy5hbGlnbm1lbnRdIHx8ICdmbGV4LXN0YXJ0JztcblxuICByZXR1cm4gKFxuICAgIDxOb2RlVmlld1dyYXBwZXI+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICBjbGFzc2VzLnJvb3QsXG4gICAgICAgICAgIW5vZGUuYXR0cnMubG9hZGVkICYmIGNsYXNzZXMubG9hZGluZyxcbiAgICAgICAgICBub2RlLmF0dHJzLmRlbGV0ZVN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmIGNsYXNzZXMucGVuZGluZ0RlbGV0ZSxcbiAgICAgICAgKX1cbiAgICAgICAgc3R5bGU9e3sganVzdGlmeUNvbnRlbnQ6IGZsZXhBbGlnbiB9fVxuICAgICAgPlxuICAgICAgICA8TGluZWFyUHJvZ3Jlc3NcbiAgICAgICAgICBtb2RlPVwiZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIHZhbHVlPXtub2RlLmF0dHJzLnBlcmNlbnQgfHwgMH1cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5wcm9ncmVzcywgbm9kZS5hdHRycy5sb2FkZWQgJiYgY2xhc3Nlcy5oaWRlUHJvZ3Jlc3MpfVxuICAgICAgICAvPlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbGFzc2VzLmltYWdlQ29udGFpbmVyfT5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgICAgICAgIHJlZj17aW1nUmVmfVxuICAgICAgICAgICAgc3JjPXtub2RlLmF0dHJzLnNyY31cbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhjbGFzc2VzLmltYWdlLCBzZWxlY3RlZCAmJiBjbGFzc2VzLmFjdGl2ZSl9XG4gICAgICAgICAgICBzdHlsZT17c3R5bGV9XG4gICAgICAgICAgICBvbkxvYWQ9e2xvYWRJbWFnZX1cbiAgICAgICAgICAgIGFsdD17bm9kZS5hdHRycy5hbHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IHJlZj17cmVzaXplUmVmfSBjbGFzc05hbWU9e2NsYXNzTmFtZXMoY2xhc3Nlcy5yZXNpemUsICdyZXNpemUnKX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAge3Nob3dUb29sYmFyICYmIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgIHJlZj17dG9vbGJhclJlZn1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0b3A6ICcxMDAlJyxcbiAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICB6SW5kZXg6IDIwLFxuICAgICAgICAgICAgYmFja2dyb3VuZDogJ3ZhcigtLWVkaXRhYmxlLWh0bWwtdG9vbGJhci1iZywgI2VmZWZlZiknLFxuICAgICAgICAgICAgYm94U2hhZG93OlxuICAgICAgICAgICAgICAnMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDJweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEyKScsXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8Q3VzdG9tVG9vbGJhcldyYXBwZXJcbiAgICAgICAgICAgIHNob3dEb25lXG4gICAgICAgICAgICB7Li4ub3B0aW9uc31cbiAgICAgICAgICAgIG9uRG9uZT17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICAgICAgICAgIHByb3BzLmltYWdlSGFuZGxpbmc/Lm9uRG9uZSgpO1xuICAgICAgICAgICAgICBwcm9wcy5lZGl0b3IuY29tbWFuZHMuZm9jdXMoJ2VuZCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8SW1hZ2VUb29sYmFyXG4gICAgICAgICAgICAgIGRpc2FibGVJbWFnZUFsaWdubWVudEJ1dHRvbnM9e29wdGlvbnMuZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uc31cbiAgICAgICAgICAgICAgYWx0PXtub2RlLmF0dHJzLmFsdH1cbiAgICAgICAgICAgICAgaW1hZ2VMb2FkZWQ9e25vZGUuYXR0cnMubG9hZGVkfVxuICAgICAgICAgICAgICBhbGlnbm1lbnQ9e25vZGUuYXR0cnMuYWxpZ25tZW50IHx8ICdsZWZ0J31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0N1c3RvbVRvb2xiYXJXcmFwcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9Ob2RlVmlld1dyYXBwZXI+XG4gICk7XG59XG5cbkltYWdlQ29tcG9uZW50LnByb3BUeXBlcyA9IHtcbiAgbm9kZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBlZGl0b3I6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICBhdHRyaWJ1dGVzOiBQcm9wVHlwZXMub2JqZWN0LFxuICBvbkZvY3VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgbWF4SW1hZ2VXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgbWF4SW1hZ2VIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGVzKCh0aGVtZSkgPT4gKHtcbiAgcG9ydGFsOiB7XG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgb3BhY2l0eTogMCxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBmbG9hdGluZ0J1dHRvblJvdzoge1xuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLnBhcGVyLFxuICAgIGJvcmRlclJhZGl1czogJzFweCcsXG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmdyZXlbMjAwXX1gLFxuICAgIGJveFNoYWRvdzpcbiAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgfSxcbiAgcHJvZ3Jlc3M6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICBsZWZ0OiAnMCcsXG4gICAgd2lkdGg6ICdmaXQtY29udGVudCcsXG4gICAgdG9wOiAnMCUnLFxuICAgIHRyYW5zaXRpb246ICdvcGFjaXR5IDIwMG1zIGxpbmVhcicsXG4gIH0sXG4gIGhpZGVQcm9ncmVzczoge1xuICAgIG9wYWNpdHk6IDAsXG4gIH0sXG4gIGxvYWRpbmc6IHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0sXG4gIHBlbmRpbmdEZWxldGU6IHtcbiAgICBvcGFjaXR5OiAwLjMsXG4gIH0sXG4gIHJvb3Q6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLmNvbW1vbi53aGl0ZX1gLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICB0cmFuc2l0aW9uOiAnb3BhY2l0eSAyMDBtcyBsaW5lYXInLFxuICB9LFxuICBkZWxldGU6IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICByaWdodDogMCxcbiAgfSxcbiAgaW1hZ2VDb250YWluZXI6IHtcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICB3aWR0aDogJ2ZpdC1jb250ZW50JyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG5cbiAgICAnJiY6aG92ZXIgPiAucmVzaXplJzoge1xuICAgICAgZGlzcGxheTogJ2Jsb2NrJyxcbiAgICB9LFxuICB9LFxuICBhY3RpdmU6IHtcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHt0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbn1gLFxuICB9LFxuICByZXNpemU6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluLFxuICAgIGN1cnNvcjogJ2NvbC1yZXNpemUnLFxuICAgIGhlaWdodDogJzM1cHgnLFxuICAgIHdpZHRoOiAnNXB4JyxcbiAgICBib3JkZXJSYWRpdXM6IDgsXG4gICAgbWFyZ2luTGVmdDogJzVweCcsXG4gICAgbWFyZ2luUmlnaHQ6ICcxMHB4JyxcbiAgICBkaXNwbGF5OiAnbm9uZScsXG4gIH0sXG4gIGRyYXdhYmxlSGVpZ2h0OiB7XG4gICAgbWluSGVpZ2h0OiAzNTAsXG4gIH0sXG59KSkoSW1hZ2VDb21wb25lbnQpO1xuIl19
|
package/lib/extensions/image.js
CHANGED
|
@@ -21,7 +21,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
21
21
|
|
|
22
22
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23
23
|
|
|
24
|
-
// ---- Tiptap Extension ---- //
|
|
25
24
|
var ImageUploadNode = _core.Node.create({
|
|
26
25
|
name: 'imageUploadNode',
|
|
27
26
|
group: 'block',
|
|
@@ -64,7 +63,6 @@ var ImageUploadNode = _core.Node.create({
|
|
|
64
63
|
tag: 'div[data-type="image-upload-node"]'
|
|
65
64
|
}];
|
|
66
65
|
},
|
|
67
|
-
// ✅ No `0` here!
|
|
68
66
|
renderHTML: function renderHTML(_ref) {
|
|
69
67
|
var HTMLAttributes = _ref.HTMLAttributes;
|
|
70
68
|
return ['img', (0, _core.mergeAttributes)(HTMLAttributes, {
|
|
@@ -97,4 +95,4 @@ var ImageUploadNode = _core.Node.create({
|
|
|
97
95
|
});
|
|
98
96
|
|
|
99
97
|
exports.ImageUploadNode = ImageUploadNode;
|
|
100
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2ltYWdlLmpzIl0sIm5hbWVzIjpbIkltYWdlVXBsb2FkTm9kZSIsIk5vZGUiLCJjcmVhdGUiLCJuYW1lIiwiZ3JvdXAiLCJhdG9tIiwic2VsZWN0YWJsZSIsImRyYWdnYWJsZSIsImFkZEF0dHJpYnV0ZXMiLCJsb2FkZWQiLCJkZWxldGVTdGF0dXMiLCJhbGlnbm1lbnQiLCJwZXJjZW50Iiwid2lkdGgiLCJoZWlnaHQiLCJzcmMiLCJhbHQiLCJwYXJzZUhUTUwiLCJ0YWciLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJhZGROb2RlVmlldyIsInByb3BzIiwib3B0aW9ucyIsImFkZENvbW1hbmRzIiwic2V0SW1hZ2VVcGxvYWROb2RlIiwiY29tbWFuZHMiLCJpbnNlcnRDb250ZW50IiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsZUFBZSxHQUFHQyxXQUFLQyxNQUFMLENBQVk7QUFDekNDLEVBQUFBLElBQUksRUFBRSxpQkFEbUM7QUFHekNDLEVBQUFBLEtBQUssRUFBRSxPQUhrQztBQUl6Q0MsRUFBQUEsSUFBSSxFQUFFLElBSm1DO0FBSTdCO0FBQ1pDLEVBQUFBLFVBQVUsRUFBRSxJQUw2QjtBQUt2QjtBQUNsQkMsRUFBQUEsU0FBUyxFQUFFLElBTjhCO0FBTXhCO0FBRWpCQyxFQUFBQSxhQVJ5QywyQkFRekI7QUFDZCxXQUFPO0FBQ0xDLE1BQUFBLE1BQU0sRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FESDtBQUVMQyxNQUFBQSxZQUFZLEVBQUU7QUFBRSxtQkFBUztBQUFYLE9BRlQ7QUFHTEMsTUFBQUEsU0FBUyxFQUFFO0FBQUUsbUJBQVM7QUFBWCxPQUhOO0FBSUxDLE1BQUFBLE9BQU8sRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FKSjtBQUtMQyxNQUFBQSxLQUFLLEVBQUU7QUFBRSxtQkFBUztBQUFYLE9BTEY7QUFNTEMsTUFBQUEsTUFBTSxFQUFFO0FBQUUsbUJBQVM7QUFBWCxPQU5IO0FBT0xDLE1BQUFBLEdBQUcsRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FQQTtBQVFMQyxNQUFBQSxHQUFHLEVBQUU7QUFBRSxtQkFBUztBQUFYO0FBUkEsS0FBUDtBQVVELEdBbkJ3QztBQXFCekNDLEVBQUFBLFNBckJ5Qyx1QkFxQjdCO0FBQ1YsV0FBTyxDQUNMO0FBQ0VDLE1BQUFBLEdBQUcsRUFBRTtBQURQLEtBREssQ0FBUDtBQUtELEdBM0J3QztBQTZCekNDLEVBQUFBLFVBN0J5Qyw0QkE2QlY7QUFBQSxRQUFsQkMsY0FBa0IsUUFBbEJBLGNBQWtCO0FBQzdCLFdBQU8sQ0FBQyxLQUFELEVBQVEsMkJBQWdCQSxjQUFoQixFQUFnQztBQUFFLG1CQUFhO0FBQWYsS0FBaEMsQ0FBUixDQUFQO0FBQ0QsR0EvQndDO0FBaUN6Q0MsRUFBQUEsV0FqQ3lDLHlCQWlDM0I7QUFBQTs7QUFDWixXQUFPLGtDQUFzQixVQUFDQyxLQUFEO0FBQUEsMEJBQVcsaUNBQUMscUJBQUQsa0NBQXlCQSxLQUF6QjtBQUFnQ0MsUUFBQUEsT0FBTyxFQUFFLEtBQUksQ0FBQ0E7QUFBOUMsU0FBWDtBQUFBLEtBQXRCLENBQVA7QUFDRCxHQW5Dd0M7QUFxQ3pDQyxFQUFBQSxXQXJDeUMseUJBcUMzQjtBQUFBOztBQUNaLFdBQU87QUFDTEMsTUFBQUEsa0JBQWtCLEVBQUU7QUFBQSxlQUFNLGlCQUFrQjtBQUFBLGNBQWZDLFFBQWUsU0FBZkEsUUFBZTtBQUMxQyxpQkFBT0EsUUFBUSxDQUFDQyxhQUFULENBQXVCO0FBQzVCQyxZQUFBQSxJQUFJLEVBQUUsTUFBSSxDQUFDekI7QUFEaUIsV0FBdkIsQ0FBUDtBQUdELFNBSm1CO0FBQUE7QUFEZixLQUFQO0FBT0Q7QUE3Q3dDLENBQVosQ0FBeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBtZXJnZUF0dHJpYnV0ZXMgfSBmcm9tICdAdGlwdGFwL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IEltYWdlQ29tcG9uZW50IGZyb20gJy4vY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEltYWdlVXBsb2FkTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2ltYWdlVXBsb2FkTm9kZScsXG5cbiAgZ3JvdXA6ICdibG9jaycsXG4gIGF0b206IHRydWUsIC8vIOKchSBwcmV2ZW50cyBjb250ZW50IGhvbGVzXG4gIHNlbGVjdGFibGU6IHRydWUsIC8vIG9wdGlvbmFsXG4gIGRyYWdnYWJsZTogdHJ1ZSwgLy8gb3B0aW9uYWxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsb2FkZWQ6IHsgZGVmYXVsdDogZmFsc2UgfSxcbiAgICAgIGRlbGV0ZVN0YXR1czogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBhbGlnbm1lbnQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgcGVyY2VudDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB3aWR0aDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBoZWlnaHQ6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgc3JjOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGFsdDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnZGl2W2RhdGEtdHlwZT1cImltYWdlLXVwbG9hZC1ub2RlXCJdJyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcblxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbJ2ltZycsIG1lcmdlQXR0cmlidXRlcyhIVE1MQXR0cmlidXRlcywgeyAnZGF0YS10eXBlJzogJ2ltYWdlLXVwbG9hZC1ub2RlJyB9KV07XG4gIH0sXG5cbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxJbWFnZUNvbXBvbmVudCB7Li4ueyAuLi5wcm9wcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH19IC8+KTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2V0SW1hZ2VVcGxvYWROb2RlOiAoKSA9PiAoeyBjb21tYW5kcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiBjb21tYW5kcy5pbnNlcnRDb250ZW50KHtcbiAgICAgICAgICB0eXBlOiB0aGlzLm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufSk7XG4iXX0=
|
package/lib/extensions/index.js
CHANGED
|
@@ -43,10 +43,10 @@ var buildExtensions = function buildExtensions(activeExtensions, customExtension
|
|
|
43
43
|
return (0, _compact["default"])([addIf('table'), addIf('bold'), // addIf('code', MarkHotkey({ key: '`', type: 'code', icon: <Code /> })),
|
|
44
44
|
addIf('italic'), addIf('strikethrough'), addIf('underline'), // icon should be modifies accordingly
|
|
45
45
|
addIf('superscript'), // icon should be modifies accordingly
|
|
46
|
-
addIf('subscript'), addIf('image', imagePlugin), addIf('video'), addIf('audio'), addIf('math', mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
|
|
46
|
+
addIf('subscript'), addIf('image', !!imagePlugin), addIf('video'), addIf('audio'), addIf('math', !!mathPlugin)].concat((0, _toConsumableArray2["default"])(languageCharactersPlugins.map(function (plugin) {
|
|
47
47
|
return addIf('languageCharacters', plugin);
|
|
48
|
-
})), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo'), addIf('responseArea', respAreaPlugin), addIf('css', cssPlugin), addIf('html', !!opts.html)]));
|
|
48
|
+
})), [addIf('text-align'), addIf('blockquote'), addIf('h3'), addIf('bulleted-list'), addIf('numbered-list'), addIf('undo'), addIf('redo'), addIf('responseArea', !!respAreaPlugin), addIf('css', !!cssPlugin), addIf('html', !!opts.html)]));
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
exports.buildExtensions = buildExtensions;
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL2luZGV4LmpzIl0sIm5hbWVzIjpbImxvZyIsIkFMTF9QTFVHSU5TIiwiREVGQVVMVF9FWFRFTlNJT05TIiwiZmlsdGVyIiwicGx1ZyIsImluY2x1ZGVzIiwiYnVpbGRFeHRlbnNpb25zIiwiYWN0aXZlRXh0ZW5zaW9ucyIsImN1c3RvbUV4dGVuc2lvbnMiLCJvcHRzIiwiYWRkSWYiLCJrZXkiLCJzaG91bGRBZGQiLCJpbWFnZVBsdWdpbiIsImltYWdlIiwib25EZWxldGUiLCJtYXRoUGx1Z2luIiwibWF0aCIsInJlc3BBcmVhUGx1Z2luIiwicmVzcG9uc2VBcmVhIiwidHlwZSIsImNzc1BsdWdpbiIsImV4dHJhQ1NTUnVsZXMiLCJsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzIiwibWFwIiwicGx1Z2luIiwiaHRtbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxJQUFNQSxHQUFHLEdBQUcsdUJBQU0sZ0NBQU4sQ0FBWjtBQUNPLElBQU1DLFdBQVcsR0FBRyxDQUN6QixNQUR5QixFQUV6QjtBQUNBLE1BSHlCLEVBSXpCLGVBSnlCLEVBS3pCLFFBTHlCLEVBTXpCLFdBTnlCLEVBT3pCLGVBUHlCLEVBUXpCLGVBUnlCLEVBU3pCLGVBVHlCLEVBVXpCLE9BVnlCLEVBV3pCLE1BWHlCLEVBWXpCLG9CQVp5QixFQWF6QixZQWJ5QixFQWN6QixZQWR5QixFQWV6QixJQWZ5QixFQWdCekIsT0FoQnlCLEVBaUJ6QixPQWpCeUIsRUFrQnpCLE9BbEJ5QixFQW1CekIsY0FuQnlCLEVBb0J6QixNQXBCeUIsRUFxQnpCLE1BckJ5QixFQXNCekIsYUF0QnlCLEVBdUJ6QixXQXZCeUIsQ0FBcEI7O0FBMEJBLElBQU1DLGtCQUFrQixHQUFHRCxXQUFXLENBQUNFLE1BQVosQ0FBbUIsVUFBQ0MsSUFBRDtBQUFBLFNBQVUsQ0FBQyxDQUFDLGNBQUQsRUFBaUIsSUFBakIsRUFBdUIsWUFBdkIsRUFBcUNDLFFBQXJDLENBQThDRCxJQUE5QyxDQUFYO0FBQUEsQ0FBbkIsQ0FBM0I7OztBQUVBLElBQU1FLGVBQWUsR0FBRyxTQUFsQkEsZUFBa0IsQ0FBQ0MsZ0JBQUQsRUFBbUJDLGdCQUFuQixFQUFxQ0MsSUFBckMsRUFBOEM7QUFDM0VULEVBQUFBLEdBQUcsQ0FBQyx1QkFBRCxFQUEwQlMsSUFBMUIsQ0FBSDtBQUVBRixFQUFBQSxnQkFBZ0IsR0FBR0EsZ0JBQWdCLElBQUlMLGtCQUF2Qzs7QUFFQSxNQUFNUSxLQUFLLEdBQUcsU0FBUkEsS0FBUSxDQUFDQyxHQUFEO0FBQUEsUUFBTUMsU0FBTix1RUFBa0IsSUFBbEI7QUFBQSxXQUEyQkwsZ0JBQWdCLENBQUNGLFFBQWpCLENBQTBCTSxHQUExQixLQUFrQ0MsU0FBbEMsSUFBK0NELEdBQTFFO0FBQUEsR0FBZDs7QUFFQSxNQUFNRSxXQUFXLEdBQUdKLElBQUksQ0FBQ0ssS0FBTCxJQUFjTCxJQUFJLENBQUNLLEtBQUwsQ0FBV0MsUUFBN0M7QUFDQSxNQUFNQyxVQUFVLEdBQUdQLElBQUksQ0FBQ1EsSUFBeEI7QUFDQSxNQUFNQyxjQUFjLEdBQUdULElBQUksQ0FBQ1UsWUFBTCxJQUFxQlYsSUFBSSxDQUFDVSxZQUFMLENBQWtCQyxJQUE5RDtBQUNBLE1BQU1DLFNBQVMsR0FBRyxDQUFDLHlCQUFRWixJQUFJLENBQUNhLGFBQWIsQ0FBbkI7QUFFQSxNQUFNQyx5QkFBeUIsR0FBRyxDQUFBZCxJQUFJLFNBQUosSUFBQUEsSUFBSSxXQUFKLFlBQUFBLElBQUksQ0FBRWUsa0JBQU4sS0FBNEIsRUFBOUQ7QUFFQSxTQUFPLDBCQUNMZCxLQUFLLENBQUMsT0FBRCxDQURBLEVBRUxBLEtBQUssQ0FBQyxNQUFELENBRkEsRUFHTDtBQUNBQSxFQUFBQSxLQUFLLENBQUMsUUFBRCxDQUpBLEVBS0xBLEtBQUssQ0FBQyxlQUFELENBTEEsRUFNTEEsS0FBSyxDQUFDLFdBQUQsQ0FOQSxFQU9MO0FBQ0FBLEVBQUFBLEtBQUssQ0FBQyxhQUFELENBUkEsRUFTTDtBQUNBQSxFQUFBQSxLQUFLLENBQUMsV0FBRCxDQVZBLEVBV0xBLEtBQUssQ0FBQyxPQUFELEVBQVUsQ0FBQyxDQUFDRyxXQUFaLENBWEEsRUFZTEgsS0FBSyxDQUFDLE9BQUQsQ0FaQSxFQWFMQSxLQUFLLENBQUMsT0FBRCxDQWJBLEVBY0xBLEtBQUssQ0FBQyxNQUFELEVBQVMsQ0FBQyxDQUFDTSxVQUFYLENBZEEsNkNBZUZPLHlCQUF5QixDQUFDRSxHQUExQixDQUE4QixVQUFDQyxNQUFEO0FBQUEsV0FBWWhCLEtBQUssQ0FBQyxvQkFBRCxFQUF1QmdCLE1BQXZCLENBQWpCO0FBQUEsR0FBOUIsQ0FmRSxJQWdCTGhCLEtBQUssQ0FBQyxZQUFELENBaEJBLEVBaUJMQSxLQUFLLENBQUMsWUFBRCxDQWpCQSxFQWtCTEEsS0FBSyxDQUFDLElBQUQsQ0FsQkEsRUFtQkxBLEtBQUssQ0FBQyxlQUFELENBbkJBLEVBb0JMQSxLQUFLLENBQUMsZUFBRCxDQXBCQSxFQXFCTEEsS0FBSyxDQUFDLE1BQUQsQ0FyQkEsRUFzQkxBLEtBQUssQ0FBQyxNQUFELENBdEJBLEVBdUJMQSxLQUFLLENBQUMsY0FBRCxFQUFpQixDQUFDLENBQUNRLGNBQW5CLENBdkJBLEVBd0JMUixLQUFLLENBQUMsS0FBRCxFQUFRLENBQUMsQ0FBQ1csU0FBVixDQXhCQSxFQXlCTFgsS0FBSyxDQUFDLE1BQUQsRUFBUyxDQUFDLENBQUNELElBQUksQ0FBQ2tCLElBQWhCLENBekJBLEdBQVA7QUEyQkQsQ0F6Q00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNvbXBhY3QgZnJvbSAnbG9kYXNoL2NvbXBhY3QnO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSAnbG9kYXNoL2lzRW1wdHknO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcblxuY29uc3QgbG9nID0gZGVidWcoJ0BwaWUtbGliOmVkaXRhYmxlLWh0bWw6cGx1Z2lucycpO1xuZXhwb3J0IGNvbnN0IEFMTF9QTFVHSU5TID0gW1xuICAnYm9sZCcsXG4gIC8vICdjb2RlJyxcbiAgJ2h0bWwnLFxuICAnZXh0cmFDU1NSdWxlcycsXG4gICdpdGFsaWMnLFxuICAndW5kZXJsaW5lJyxcbiAgJ3N0cmlrZXRocm91Z2gnLFxuICAnYnVsbGV0ZWQtbGlzdCcsXG4gICdudW1iZXJlZC1saXN0JyxcbiAgJ2ltYWdlJyxcbiAgJ21hdGgnLFxuICAnbGFuZ3VhZ2VDaGFyYWN0ZXJzJyxcbiAgJ3RleHQtYWxpZ24nLFxuICAnYmxvY2txdW90ZScsXG4gICdoMycsXG4gICd0YWJsZScsXG4gICd2aWRlbycsXG4gICdhdWRpbycsXG4gICdyZXNwb25zZUFyZWEnLFxuICAncmVkbycsXG4gICd1bmRvJyxcbiAgJ3N1cGVyc2NyaXB0JyxcbiAgJ3N1YnNjcmlwdCcsXG5dO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9FWFRFTlNJT05TID0gQUxMX1BMVUdJTlMuZmlsdGVyKChwbHVnKSA9PiAhWydyZXNwb25zZUFyZWEnLCAnaDMnLCAnYmxvY2txdW90ZSddLmluY2x1ZGVzKHBsdWcpKTtcblxuZXhwb3J0IGNvbnN0IGJ1aWxkRXh0ZW5zaW9ucyA9IChhY3RpdmVFeHRlbnNpb25zLCBjdXN0b21FeHRlbnNpb25zLCBvcHRzKSA9PiB7XG4gIGxvZygnW2J1aWxkUGx1Z2luc10gb3B0czogJywgb3B0cyk7XG5cbiAgYWN0aXZlRXh0ZW5zaW9ucyA9IGFjdGl2ZUV4dGVuc2lvbnMgfHwgREVGQVVMVF9FWFRFTlNJT05TO1xuXG4gIGNvbnN0IGFkZElmID0gKGtleSwgc2hvdWxkQWRkID0gdHJ1ZSkgPT4gYWN0aXZlRXh0ZW5zaW9ucy5pbmNsdWRlcyhrZXkpICYmIHNob3VsZEFkZCAmJiBrZXk7XG5cbiAgY29uc3QgaW1hZ2VQbHVnaW4gPSBvcHRzLmltYWdlICYmIG9wdHMuaW1hZ2Uub25EZWxldGU7XG4gIGNvbnN0IG1hdGhQbHVnaW4gPSBvcHRzLm1hdGg7XG4gIGNvbnN0IHJlc3BBcmVhUGx1Z2luID0gb3B0cy5yZXNwb25zZUFyZWEgJiYgb3B0cy5yZXNwb25zZUFyZWEudHlwZTtcbiAgY29uc3QgY3NzUGx1Z2luID0gIWlzRW1wdHkob3B0cy5leHRyYUNTU1J1bGVzKTtcblxuICBjb25zdCBsYW5ndWFnZUNoYXJhY3RlcnNQbHVnaW5zID0gb3B0cz8ubGFuZ3VhZ2VDaGFyYWN0ZXJzIHx8IFtdO1xuXG4gIHJldHVybiBjb21wYWN0KFtcbiAgICBhZGRJZigndGFibGUnKSxcbiAgICBhZGRJZignYm9sZCcpLFxuICAgIC8vIGFkZElmKCdjb2RlJywgTWFya0hvdGtleSh7IGtleTogJ2AnLCB0eXBlOiAnY29kZScsIGljb246IDxDb2RlIC8+IH0pKSxcbiAgICBhZGRJZignaXRhbGljJyksXG4gICAgYWRkSWYoJ3N0cmlrZXRocm91Z2gnKSxcbiAgICBhZGRJZigndW5kZXJsaW5lJyksXG4gICAgLy8gaWNvbiBzaG91bGQgYmUgbW9kaWZpZXMgYWNjb3JkaW5nbHlcbiAgICBhZGRJZignc3VwZXJzY3JpcHQnKSxcbiAgICAvLyBpY29uIHNob3VsZCBiZSBtb2RpZmllcyBhY2NvcmRpbmdseVxuICAgIGFkZElmKCdzdWJzY3JpcHQnKSxcbiAgICBhZGRJZignaW1hZ2UnLCAhIWltYWdlUGx1Z2luKSxcbiAgICBhZGRJZigndmlkZW8nKSxcbiAgICBhZGRJZignYXVkaW8nKSxcbiAgICBhZGRJZignbWF0aCcsICEhbWF0aFBsdWdpbiksXG4gICAgLi4ubGFuZ3VhZ2VDaGFyYWN0ZXJzUGx1Z2lucy5tYXAoKHBsdWdpbikgPT4gYWRkSWYoJ2xhbmd1YWdlQ2hhcmFjdGVycycsIHBsdWdpbikpLFxuICAgIGFkZElmKCd0ZXh0LWFsaWduJyksXG4gICAgYWRkSWYoJ2Jsb2NrcXVvdGUnKSxcbiAgICBhZGRJZignaDMnKSxcbiAgICBhZGRJZignYnVsbGV0ZWQtbGlzdCcpLFxuICAgIGFkZElmKCdudW1iZXJlZC1saXN0JyksXG4gICAgYWRkSWYoJ3VuZG8nKSxcbiAgICBhZGRJZigncmVkbycpLFxuICAgIGFkZElmKCdyZXNwb25zZUFyZWEnLCAhIXJlc3BBcmVhUGx1Z2luKSxcbiAgICBhZGRJZignY3NzJywgISFjc3NQbHVnaW4pLFxuICAgIGFkZElmKCdodG1sJywgISFvcHRzLmh0bWwpLFxuICBdKTtcbn07XG4iXX0=
|
package/lib/extensions/math.js
CHANGED
|
@@ -15,6 +15,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
15
15
|
|
|
16
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
17
|
|
|
18
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
19
|
+
|
|
18
20
|
var _core = require("@tiptap/core");
|
|
19
21
|
|
|
20
22
|
var _react2 = require("@tiptap/react");
|
|
@@ -167,7 +169,6 @@ var MathNode = _core.Node.create({
|
|
|
167
169
|
var tr = _ref.tr,
|
|
168
170
|
editor = _ref.editor,
|
|
169
171
|
dispatch = _ref.dispatch;
|
|
170
|
-
// 2) Now the editor.view.state reflects the insertion
|
|
171
172
|
var state = editor.view.state;
|
|
172
173
|
var node = state.schema.nodes.math.create({
|
|
173
174
|
latex: latex
|
|
@@ -240,6 +241,15 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
240
241
|
setShowToolbar = _useState2[1];
|
|
241
242
|
|
|
242
243
|
var toolbarRef = (0, _react.useRef)(null);
|
|
244
|
+
|
|
245
|
+
var _useState3 = (0, _react.useState)({
|
|
246
|
+
top: 0,
|
|
247
|
+
left: 0
|
|
248
|
+
}),
|
|
249
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
250
|
+
position = _useState4[0],
|
|
251
|
+
setPosition = _useState4[1];
|
|
252
|
+
|
|
243
253
|
var latex = node.attrs.latex || '';
|
|
244
254
|
(0, _react.useEffect)(function () {
|
|
245
255
|
if (selected) {
|
|
@@ -250,6 +260,16 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
250
260
|
editor._toolbarOpened = !!showToolbar;
|
|
251
261
|
}, [showToolbar]);
|
|
252
262
|
(0, _react.useEffect)(function () {
|
|
263
|
+
// Calculate position relative to selection
|
|
264
|
+
var bodyRect = document.body.getBoundingClientRect();
|
|
265
|
+
var from = editor.state.selection.from;
|
|
266
|
+
var start = editor.view.coordsAtPos(from);
|
|
267
|
+
setPosition({
|
|
268
|
+
top: start.top + Math.abs(bodyRect.top) + 40,
|
|
269
|
+
// shift above
|
|
270
|
+
left: start.left
|
|
271
|
+
});
|
|
272
|
+
|
|
253
273
|
var handleClickOutside = function handleClickOutside(event) {
|
|
254
274
|
if (toolbarRef.current && !toolbarRef.current.contains(event.target) && !event.target.closest('[data-inline-node]')) {
|
|
255
275
|
setShowToolbar(false);
|
|
@@ -265,7 +285,7 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
265
285
|
return function () {
|
|
266
286
|
return document.removeEventListener('mousedown', handleClickOutside);
|
|
267
287
|
};
|
|
268
|
-
}, [showToolbar]);
|
|
288
|
+
}, [editor, showToolbar]);
|
|
269
289
|
|
|
270
290
|
var handleChange = function handleChange(newLatex) {
|
|
271
291
|
updateAttributes({
|
|
@@ -307,12 +327,12 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
307
327
|
contentEditable: false
|
|
308
328
|
}, /*#__PURE__*/_react["default"].createElement(_mathToolbar.MathPreview, {
|
|
309
329
|
latex: latex
|
|
310
|
-
})), showToolbar && /*#__PURE__*/_react["default"].createElement("div", {
|
|
330
|
+
})), showToolbar && /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement("div", {
|
|
311
331
|
ref: toolbarRef,
|
|
312
332
|
style: {
|
|
313
333
|
position: 'absolute',
|
|
314
|
-
top:
|
|
315
|
-
left:
|
|
334
|
+
top: "".concat(position.top, "px"),
|
|
335
|
+
left: "".concat(position.left, "px"),
|
|
316
336
|
zIndex: 20,
|
|
317
337
|
background: 'var(--editable-html-toolbar-bg, #efefef)',
|
|
318
338
|
boxShadow: '0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12)'
|
|
@@ -323,8 +343,8 @@ var MathNodeView = function MathNodeView(props) {
|
|
|
323
343
|
onChange: handleChange,
|
|
324
344
|
onDone: handleDone,
|
|
325
345
|
keypadMode: "basic"
|
|
326
|
-
})));
|
|
346
|
+
})), document.body));
|
|
327
347
|
};
|
|
328
348
|
|
|
329
349
|
exports.MathNodeView = MathNodeView;
|
|
330
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21hdGguanMiXSwibmFtZXMiOlsiZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSIsIlBsdWdpbktleSIsIkVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4iLCJtYXRoTm9kZU5hbWUiLCJQbHVnaW4iLCJrZXkiLCJhcHBlbmRUcmFuc2FjdGlvbiIsInRyYW5zYWN0aW9ucyIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzb21lIiwidHIiLCJkb2NDaGFuZ2VkIiwiY2hhbmdlZCIsImRvYyIsImRlc2NlbmRhbnRzIiwibm9kZSIsInBvcyIsInR5cGUiLCJuYW1lIiwibmV4dFBvcyIsIm5vZGVTaXplIiwibmV4dE5vZGUiLCJub2RlQXQiLCJpbnNlcnQiLCJzY2hlbWEiLCJ0ZXh0IiwiWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiIsInByb3BzIiwiaGFuZGxlS2V5RG93biIsInZpZXciLCJldmVudCIsInN0YXRlIiwiZGlzcGF0Y2giLCJzZWxlY3Rpb24iLCJmcm9tIiwiZW1wdHkiLCJwcmV2Q2hhciIsInRleHRCZXR3ZWVuIiwicG9zQmVmb3JlIiwicmVzb2x2ZWQiLCJyZXNvbHZlIiwibWF5YmVOb2RlIiwibm9kZUFmdGVyIiwibm9kZUJlZm9yZSIsIm5vZGVQb3MiLCJub2RlUmVzb2x2ZWQiLCJzZXRTZWxlY3Rpb24iLCJOb2RlU2VsZWN0aW9uIiwiY3JlYXRlIiwiVGV4dFNlbGVjdGlvbiIsIk1hdGhOb2RlIiwiTm9kZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJsYXRleCIsIndyYXBwZXIiLCJodG1sIiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiaW5uZXJIVE1MIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRNYXRoIiwiZWRpdG9yIiwibm9kZXMiLCJtYXRoIiwiJGZyb20iLCJzZWwiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFkZE5vZGVWaWV3Iiwib3B0aW9ucyIsIk1hdGhOb2RlVmlldyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3RlZCIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b29sYmFyUmVmIiwiYXR0cnMiLCJfdG9vbGJhck9wZW5lZCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhbmdlIiwibmV3TGF0ZXgiLCJoYW5kbGVEb25lIiwiY29tbWFuZHMiLCJmb2N1cyIsImRpc3BsYXkiLCJjdXJzb3IiLCJtYXJnaW4iLCJwb3NpdGlvbiIsInRvcCIsImxlZnQiLCJ6SW5kZXgiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLDRCQUE0QixHQUFHLElBQUlDLDJCQUFKLENBQWMscUJBQWQsQ0FBckM7O0FBRU8sSUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxZQUFEO0FBQUEsU0FDdkMsSUFBSUMsd0JBQUosQ0FBVztBQUNUQyxJQUFBQSxHQUFHLEVBQUVMLDRCQURJO0FBRVRNLElBQUFBLGlCQUFpQixFQUFFLDJCQUFDQyxZQUFELEVBQWVDLFFBQWYsRUFBeUJDLFFBQXpCLEVBQXNDO0FBQ3ZEO0FBQ0EsVUFBSSxDQUFDRixZQUFZLENBQUNHLElBQWIsQ0FBa0IsVUFBQ0MsRUFBRDtBQUFBLGVBQVFBLEVBQUUsQ0FBQ0MsVUFBWDtBQUFBLE9BQWxCLENBQUwsRUFBK0MsT0FBTyxJQUFQO0FBRS9DLFVBQU1ELEVBQUUsR0FBR0YsUUFBUSxDQUFDRSxFQUFwQjtBQUNBLFVBQUlFLE9BQU8sR0FBRyxLQUFkO0FBRUFKLE1BQUFBLFFBQVEsQ0FBQ0ssR0FBVCxDQUFhQyxXQUFiLENBQXlCLFVBQUNDLElBQUQsRUFBT0MsR0FBUCxFQUFlO0FBQ3RDLFlBQUlELElBQUksQ0FBQ0UsSUFBTCxDQUFVQyxJQUFWLEtBQW1CaEIsWUFBdkIsRUFBcUM7QUFDbkMsY0FBTWlCLE9BQU8sR0FBR0gsR0FBRyxHQUFHRCxJQUFJLENBQUNLLFFBQTNCO0FBQ0EsY0FBTUMsUUFBUSxHQUFHYixRQUFRLENBQUNLLEdBQVQsQ0FBYVMsTUFBYixDQUFvQkgsT0FBcEIsQ0FBakIsQ0FGbUMsQ0FJbkM7O0FBQ0EsY0FBSSxDQUFDRSxRQUFELElBQWFBLFFBQVEsQ0FBQ0osSUFBVCxDQUFjQyxJQUFkLEtBQXVCLE1BQXhDLEVBQWdEO0FBQzlDUixZQUFBQSxFQUFFLENBQUNhLE1BQUgsQ0FBVUosT0FBVixFQUFtQlgsUUFBUSxDQUFDZ0IsTUFBVCxDQUFnQkMsSUFBaEIsQ0FBcUIsUUFBckIsQ0FBbkI7QUFDQWIsWUFBQUEsT0FBTyxHQUFHLElBQVY7QUFDRDtBQUNGO0FBQ0YsT0FYRDtBQWFBLGFBQU9BLE9BQU8sR0FBR0YsRUFBSCxHQUFRLElBQXRCO0FBQ0Q7QUF2QlEsR0FBWCxDQUR1QztBQUFBLENBQWxDOzs7QUEyQkEsSUFBTWdCLDRCQUE0QixHQUFHLElBQUl2Qix3QkFBSixDQUFXO0FBQ3JEQyxFQUFBQSxHQUFHLEVBQUUsSUFBSUosMkJBQUosQ0FBYyx3QkFBZCxDQURnRDtBQUVyRDJCLEVBQUFBLEtBQUssRUFBRTtBQUNMQyxJQUFBQSxhQURLLHlCQUNTQyxJQURULEVBQ2VDLEtBRGYsRUFDc0I7QUFDekIsVUFBUUMsS0FBUixHQUE0QkYsSUFBNUIsQ0FBUUUsS0FBUjtBQUFBLFVBQWVDLFFBQWYsR0FBNEJILElBQTVCLENBQWVHLFFBQWY7QUFDQSxVQUFRQyxTQUFSLEdBQTJCRixLQUEzQixDQUFRRSxTQUFSO0FBQUEsVUFBbUJwQixHQUFuQixHQUEyQmtCLEtBQTNCLENBQW1CbEIsR0FBbkI7QUFDQSxVQUFRcUIsSUFBUixHQUF3QkQsU0FBeEIsQ0FBUUMsSUFBUjtBQUFBLFVBQWNDLEtBQWQsR0FBd0JGLFNBQXhCLENBQWNFLEtBQWQ7O0FBRUEsVUFBSUEsS0FBSyxJQUFJTCxLQUFLLENBQUMxQixHQUFOLEtBQWMsV0FBdkIsSUFBc0M4QixJQUFJLEdBQUcsQ0FBakQsRUFBb0Q7QUFDbEQsWUFBTUUsUUFBUSxHQUFHdkIsR0FBRyxDQUFDd0IsV0FBSixDQUFnQkgsSUFBSSxHQUFHLENBQXZCLEVBQTBCQSxJQUExQixFQUFnQyxRQUFoQyxFQUEwQyxRQUExQyxDQUFqQjs7QUFDQSxZQUFJRSxRQUFRLEtBQUssUUFBakIsRUFBMkI7QUFDekIsY0FBTTFCLEVBQUUsR0FBR3FCLEtBQUssQ0FBQ3JCLEVBQU4sV0FBZ0J3QixJQUFJLEdBQUcsQ0FBdkIsRUFBMEJBLElBQTFCLENBQVg7QUFDQUYsVUFBQUEsUUFBUSxDQUFDdEIsRUFBRCxDQUFSO0FBQ0EsaUJBQU8sSUFBUCxDQUh5QixDQUdaO0FBQ2Q7QUFDRjs7QUFFRCxVQUFJeUIsS0FBSyxJQUFJTCxLQUFLLENBQUMxQixHQUFOLEtBQWMsV0FBdkIsSUFBc0M4QixJQUFJLEdBQUcsQ0FBakQsRUFBb0Q7QUFDbEQsWUFBTUUsU0FBUSxHQUFHdkIsR0FBRyxDQUFDd0IsV0FBSixDQUFnQkgsSUFBSSxHQUFHLENBQXZCLEVBQTBCQSxJQUExQixFQUFnQyxRQUFoQyxFQUEwQyxRQUExQyxDQUFqQixDQURrRCxDQUVsRDs7O0FBQ0EsWUFBSUUsU0FBUSxLQUFLLFFBQWpCLEVBQTJCO0FBQ3pCLGNBQU1FLFNBQVMsR0FBR0osSUFBSSxHQUFHLENBQXpCO0FBQ0EsY0FBTUssUUFBUSxHQUFHUixLQUFLLENBQUNsQixHQUFOLENBQVUyQixPQUFWLENBQWtCRixTQUFTLEdBQUcsQ0FBOUIsQ0FBakIsQ0FGeUIsQ0FFMEI7O0FBQ25ELGNBQU1HLFNBQVMsR0FBR0YsUUFBUSxDQUFDRyxTQUFULElBQXNCSCxRQUFRLENBQUNJLFVBQWpELENBSHlCLENBS3pCOztBQUNBLGNBQUlGLFNBQUosRUFBZTtBQUNiLGdCQUFNRyxPQUFPLEdBQUdOLFNBQVMsR0FBR0csU0FBUyxDQUFDckIsUUFBdEM7QUFDQSxnQkFBTXlCLFlBQVksR0FBR2QsS0FBSyxDQUFDbEIsR0FBTixDQUFVMkIsT0FBVixDQUFrQkksT0FBbEIsQ0FBckI7O0FBQ0EsZ0JBQU1sQyxHQUFFLEdBQUdxQixLQUFLLENBQUNyQixFQUFOLENBQVNvQyxZQUFULENBQXNCQyxnQ0FBY0MsTUFBZCxDQUFxQmpCLEtBQUssQ0FBQ2xCLEdBQTNCLEVBQWdDZ0MsWUFBWSxDQUFDN0IsR0FBN0MsQ0FBdEIsQ0FBWDs7QUFDQWdCLFlBQUFBLFFBQVEsQ0FBQ3RCLEdBQUQsQ0FBUjtBQUNBLG1CQUFPLElBQVA7QUFDRCxXQU5ELE1BTU87QUFDTDtBQUNBLGdCQUFNQSxJQUFFLEdBQUdxQixLQUFLLENBQUNyQixFQUFOLENBQVNvQyxZQUFULENBQXNCRyxnQ0FBY0QsTUFBZCxDQUFxQmpCLEtBQUssQ0FBQ2xCLEdBQTNCLEVBQWdDcUIsSUFBSSxHQUFHLENBQXZDLENBQXRCLENBQVg7O0FBQ0FGLFlBQUFBLFFBQVEsQ0FBQ3RCLElBQUQsQ0FBUjtBQUNBLG1CQUFPLElBQVA7QUFDRDtBQUNGO0FBQ0Y7O0FBRUQsYUFBTyxLQUFQO0FBQ0Q7QUF4Q0k7QUFGOEMsQ0FBWCxDQUFyQzs7O0FBOENBLElBQU13QyxRQUFRLEdBQUdDLFdBQUtILE1BQUwsQ0FBWTtBQUNsQzlCLEVBQUFBLElBQUksRUFBRSxNQUQ0QjtBQUVsQ2tDLEVBQUFBLEtBQUssRUFBRSxRQUYyQjtBQUdsQ0MsRUFBQUEsTUFBTSxFQUFFLElBSDBCO0FBSWxDQyxFQUFBQSxJQUFJLEVBQUUsSUFKNEI7QUFNbENDLEVBQUFBLGFBTmtDLDJCQU1sQjtBQUNkLFdBQU87QUFDTEMsTUFBQUEsS0FBSyxFQUFFO0FBQUUsbUJBQVM7QUFBWCxPQURGO0FBRUxDLE1BQUFBLE9BQU8sRUFBRTtBQUFFLG1CQUFTO0FBQVgsT0FGSjtBQUdMQyxNQUFBQSxJQUFJLEVBQUU7QUFBRSxtQkFBUztBQUFYO0FBSEQsS0FBUDtBQUtELEdBWmlDO0FBY2xDQyxFQUFBQSxxQkFka0MsbUNBY1Y7QUFDdEIsV0FBTyxDQUFDMUQseUJBQXlCLENBQUMsS0FBS2lCLElBQU4sQ0FBMUIsRUFBdUNRLDRCQUF2QyxDQUFQO0FBQ0QsR0FoQmlDO0FBa0JsQ2tDLEVBQUFBLFNBbEJrQyx1QkFrQnRCO0FBQ1YsV0FBTyxDQUNMO0FBQ0VDLE1BQUFBLEdBQUcsRUFBRSxrQkFEUDtBQUVFQyxNQUFBQSxRQUFRLEVBQUUsa0JBQUNDLEVBQUQ7QUFBQSxlQUFTO0FBQ2pCUCxVQUFBQSxLQUFLLEVBQUVPLEVBQUUsQ0FBQ0MsWUFBSCxDQUFnQixVQUFoQixLQUErQkQsRUFBRSxDQUFDRTtBQUR4QixTQUFUO0FBQUE7QUFGWixLQURLLEVBT0w7QUFDRUosTUFBQUEsR0FBRyxFQUFFLDBCQURQO0FBRUVDLE1BQUFBLFFBQVEsRUFBRSxrQkFBQ0MsRUFBRDtBQUFBLGVBQVM7QUFDakJMLFVBQUFBLElBQUksRUFBRUssRUFBRSxDQUFDRztBQURRLFNBQVQ7QUFBQTtBQUZaLEtBUEssQ0FBUDtBQWNELEdBakNpQztBQW1DbENDLEVBQUFBLFdBbkNrQyx5QkFtQ3BCO0FBQUE7O0FBQ1osV0FBTztBQUNMQyxNQUFBQSxVQUFVLEVBQUU7QUFBQSxZQUFDWixLQUFELHVFQUFTLEVBQVQ7QUFBQSxlQUFnQixnQkFBOEI7QUFBQTs7QUFBQSxjQUEzQjlDLEVBQTJCLFFBQTNCQSxFQUEyQjtBQUFBLGNBQXZCMkQsTUFBdUIsUUFBdkJBLE1BQXVCO0FBQUEsY0FBZnJDLFFBQWUsUUFBZkEsUUFBZTtBQUN4RDtBQUNBLGNBQVFELEtBQVIsR0FBa0JzQyxNQUFNLENBQUN4QyxJQUF6QixDQUFRRSxLQUFSO0FBQ0EsY0FBTWhCLElBQUksR0FBR2dCLEtBQUssQ0FBQ1AsTUFBTixDQUFhOEMsS0FBYixDQUFtQkMsSUFBbkIsQ0FBd0J2QixNQUF4QixDQUErQjtBQUMxQ1EsWUFBQUEsS0FBSyxFQUFMQTtBQUQwQyxXQUEvQixDQUFiO0FBR0EsY0FBUXZCLFNBQVIsR0FBc0JGLEtBQXRCLENBQVFFLFNBQVIsQ0FOd0QsQ0FReEQ7O0FBQ0EsY0FBTWpCLEdBQUcsR0FBR2lCLFNBQVMsQ0FBQ3VDLEtBQVYsQ0FBZ0J4RCxHQUE1QjtBQUVBTixVQUFBQSxFQUFFLENBQUNhLE1BQUgsQ0FBVVAsR0FBVixFQUFlRCxJQUFmOztBQUVBLGNBQUksQ0FBQUEsSUFBSSxTQUFKLElBQUFBLElBQUksV0FBSiwwQkFBQUEsSUFBSSxDQUFFRSxJQUFOLDBEQUFZQyxJQUFaLE1BQXFCLEtBQUksQ0FBQ0EsSUFBOUIsRUFBb0M7QUFDbEM7QUFDQSxnQkFBTXVELEdBQUcsR0FBRzFCLGdDQUFjQyxNQUFkLENBQXFCdEMsRUFBRSxDQUFDRyxHQUF4QixFQUE2Qm9CLFNBQVMsQ0FBQ3VDLEtBQVYsQ0FBZ0J4RCxHQUE3QyxDQUFaLENBRmtDLENBSWxDOzs7QUFDQU4sWUFBQUEsRUFBRSxDQUFDb0MsWUFBSCxDQUFnQjJCLEdBQWhCO0FBQ0Q7O0FBRUR6QyxVQUFBQSxRQUFRLENBQUN0QixFQUFELENBQVI7QUFFQSxpQkFBTyxJQUFQO0FBQ0QsU0F4Qlc7QUFBQSxPQURQLENBMEJMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUEvQkssS0FBUDtBQWlDRCxHQXJFaUM7QUF1RWxDZ0UsRUFBQUEsVUF2RWtDLDZCQXVFSDtBQUFBLFFBQWxCQyxjQUFrQixTQUFsQkEsY0FBa0I7O0FBQzdCLFFBQUlBLGNBQWMsQ0FBQ2pCLElBQW5CLEVBQXlCO0FBQ3ZCLGFBQU8sQ0FBQyxNQUFELEVBQVM7QUFBRSxxQkFBYSxRQUFmO0FBQXlCa0IsUUFBQUEsdUJBQXVCLEVBQUU7QUFBRUMsVUFBQUEsTUFBTSxFQUFFRixjQUFjLENBQUNqQjtBQUF6QjtBQUFsRCxPQUFULENBQVA7QUFDRDs7QUFFRCxXQUFPLENBQ0wsTUFESyxFQUVMO0FBQUUsb0JBQWMsRUFBaEI7QUFBb0Isa0JBQVlpQixjQUFjLENBQUNuQjtBQUEvQyxLQUZLLEVBR0wsNkJBQVNtQixjQUFjLENBQUNuQixLQUF4QixFQUErQm1CLGNBQWMsQ0FBQ2xCLE9BQTlDLENBSEssQ0FBUDtBQUtELEdBakZpQztBQW1GbENxQixFQUFBQSxXQW5Ga0MseUJBbUZwQjtBQUFBOztBQUNaLFdBQU8sbUNBQXNCLFVBQUNuRCxLQUFEO0FBQUEsMEJBQVcsZ0NBQUMsWUFBRCxrQ0FBdUJBLEtBQXZCO0FBQThCb0QsUUFBQUEsT0FBTyxFQUFFLE1BQUksQ0FBQ0E7QUFBNUMsU0FBWDtBQUFBLEtBQXRCLENBQVA7QUFDRDtBQXJGaUMsQ0FBWixDQUFqQjs7OztBQXdGQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxDQUFDckQsS0FBRCxFQUFXO0FBQ3JDLE1BQVFaLElBQVIsR0FBOERZLEtBQTlELENBQVFaLElBQVI7QUFBQSxNQUFja0UsZ0JBQWQsR0FBOER0RCxLQUE5RCxDQUFjc0QsZ0JBQWQ7QUFBQSxNQUFnQ1osTUFBaEMsR0FBOEQxQyxLQUE5RCxDQUFnQzBDLE1BQWhDO0FBQUEsTUFBd0NhLFFBQXhDLEdBQThEdkQsS0FBOUQsQ0FBd0N1RCxRQUF4QztBQUFBLE1BQWtESCxPQUFsRCxHQUE4RHBELEtBQTlELENBQWtEb0QsT0FBbEQ7O0FBQ0Esa0JBQXNDLHFCQUFTRyxRQUFULENBQXRDO0FBQUE7QUFBQSxNQUFPQyxXQUFQO0FBQUEsTUFBb0JDLGNBQXBCOztBQUNBLE1BQU1DLFVBQVUsR0FBRyxtQkFBTyxJQUFQLENBQW5CO0FBRUEsTUFBTTdCLEtBQUssR0FBR3pDLElBQUksQ0FBQ3VFLEtBQUwsQ0FBVzlCLEtBQVgsSUFBb0IsRUFBbEM7QUFFQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSTBCLFFBQUosRUFBYztBQUNaRSxNQUFBQSxjQUFjLENBQUMsSUFBRCxDQUFkO0FBQ0Q7QUFDRixHQUpELEVBSUcsQ0FBQ0YsUUFBRCxDQUpIO0FBTUEsd0JBQVUsWUFBTTtBQUNkYixJQUFBQSxNQUFNLENBQUNrQixjQUFQLEdBQXdCLENBQUMsQ0FBQ0osV0FBMUI7QUFDRCxHQUZELEVBRUcsQ0FBQ0EsV0FBRCxDQUZIO0FBSUEsd0JBQVUsWUFBTTtBQUNkLFFBQU1LLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBcUIsQ0FBQzFELEtBQUQsRUFBVztBQUNwQyxVQUNFdUQsVUFBVSxDQUFDSSxPQUFYLElBQ0EsQ0FBQ0osVUFBVSxDQUFDSSxPQUFYLENBQW1CQyxRQUFuQixDQUE0QjVELEtBQUssQ0FBQzZELE1BQWxDLENBREQsSUFFQSxDQUFDN0QsS0FBSyxDQUFDNkQsTUFBTixDQUFhQyxPQUFiLENBQXFCLG9CQUFyQixDQUhILEVBSUU7QUFDQVIsUUFBQUEsY0FBYyxDQUFDLEtBQUQsQ0FBZDtBQUNEO0FBQ0YsS0FSRDs7QUFVQSxRQUFJRCxXQUFKLEVBQWlCO0FBQ2ZVLE1BQUFBLFFBQVEsQ0FBQ0MsZ0JBQVQsQ0FBMEIsV0FBMUIsRUFBdUNOLGtCQUF2QztBQUNELEtBRkQsTUFFTztBQUNMSyxNQUFBQSxRQUFRLENBQUNFLG1CQUFULENBQTZCLFdBQTdCLEVBQTBDUCxrQkFBMUM7QUFDRDs7QUFFRCxXQUFPO0FBQUEsYUFBTUssUUFBUSxDQUFDRSxtQkFBVCxDQUE2QixXQUE3QixFQUEwQ1Asa0JBQTFDLENBQU47QUFBQSxLQUFQO0FBQ0QsR0FsQkQsRUFrQkcsQ0FBQ0wsV0FBRCxDQWxCSDs7QUFvQkEsTUFBTWEsWUFBWSxHQUFHLFNBQWZBLFlBQWUsQ0FBQ0MsUUFBRCxFQUFjO0FBQ2pDaEIsSUFBQUEsZ0JBQWdCLENBQUM7QUFBRXpCLE1BQUFBLEtBQUssRUFBRXlDO0FBQVQsS0FBRCxDQUFoQjtBQUNELEdBRkQ7O0FBSUEsTUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQWEsQ0FBQ0QsUUFBRCxFQUFjO0FBQy9CaEIsSUFBQUEsZ0JBQWdCLENBQUM7QUFBRXpCLE1BQUFBLEtBQUssRUFBRXlDO0FBQVQsS0FBRCxDQUFoQjtBQUNBYixJQUFBQSxjQUFjLENBQUMsS0FBRCxDQUFkO0FBRUFmLElBQUFBLE1BQU0sQ0FBQ2tCLGNBQVAsR0FBd0IsS0FBeEI7QUFFQSx3QkFBK0JsQixNQUFNLENBQUN0QyxLQUF0QztBQUFBLFFBQVFFLFNBQVIsaUJBQVFBLFNBQVI7QUFBQSxRQUFtQnZCLEVBQW5CLGlCQUFtQkEsRUFBbkI7QUFBQSxRQUF1QkcsR0FBdkIsaUJBQXVCQSxHQUF2Qjs7QUFDQSxRQUFNNEQsR0FBRyxHQUFHeEIsZ0NBQWNELE1BQWQsQ0FBcUJuQyxHQUFyQixFQUEwQm9CLFNBQVMsQ0FBQ0MsSUFBVixHQUFpQixDQUEzQyxDQUFaLENBUCtCLENBUy9COzs7QUFDQXhCLElBQUFBLEVBQUUsQ0FBQ29DLFlBQUgsQ0FBZ0IyQixHQUFoQjtBQUNBSixJQUFBQSxNQUFNLENBQUN4QyxJQUFQLENBQVlHLFFBQVosQ0FBcUJ0QixFQUFyQjtBQUNBMkQsSUFBQUEsTUFBTSxDQUFDOEIsUUFBUCxDQUFnQkMsS0FBaEI7QUFDRCxHQWJEOztBQWVBLHNCQUNFLGdDQUFDLHVCQUFEO0FBQ0UsSUFBQSxTQUFTLEVBQUMsV0FEWjtBQUVFLElBQUEsS0FBSyxFQUFFO0FBQ0xDLE1BQUFBLE9BQU8sRUFBRSxhQURKO0FBRUxDLE1BQUFBLE1BQU0sRUFBRSxTQUZIO0FBR0xDLE1BQUFBLE1BQU0sRUFBRTtBQUhILEtBRlQ7QUFPRSxxQkFBZXJCO0FBUGpCLGtCQVNFO0FBQUssSUFBQSxPQUFPLEVBQUU7QUFBQSxhQUFNRSxjQUFjLENBQUMsSUFBRCxDQUFwQjtBQUFBLEtBQWQ7QUFBMEMsSUFBQSxlQUFlLEVBQUU7QUFBM0Qsa0JBQ0UsZ0NBQUMsd0JBQUQ7QUFBYSxJQUFBLEtBQUssRUFBRTVCO0FBQXBCLElBREYsQ0FURixFQWFHMkIsV0FBVyxpQkFDVjtBQUNFLElBQUEsR0FBRyxFQUFFRSxVQURQO0FBRUUsSUFBQSxLQUFLLEVBQUU7QUFDTG1CLE1BQUFBLFFBQVEsRUFBRSxVQURMO0FBRUxDLE1BQUFBLEdBQUcsRUFBRSxNQUZBO0FBR0xDLE1BQUFBLElBQUksRUFBRSxDQUhEO0FBSUxDLE1BQUFBLE1BQU0sRUFBRSxFQUpIO0FBS0xDLE1BQUFBLFVBQVUsRUFBRSwwQ0FMUDtBQU1MQyxNQUFBQSxTQUFTLEVBQ1A7QUFQRztBQUZULGtCQVlFLGdDQUFDLHdCQUFEO0FBQWEsSUFBQSxLQUFLLEVBQUVyRCxLQUFwQjtBQUEyQixJQUFBLFNBQVMsTUFBcEM7QUFBcUMsSUFBQSxRQUFRLEVBQUV3QyxZQUEvQztBQUE2RCxJQUFBLE1BQU0sRUFBRUUsVUFBckU7QUFBaUYsSUFBQSxVQUFVLEVBQUM7QUFBNUYsSUFaRixDQWRKLENBREY7QUFnQ0QsQ0F4Rk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRXh0ZW5zaW9uLCBOb2RlLCBtZXJnZUF0dHJpYnV0ZXMgfSBmcm9tICdAdGlwdGFwL2NvcmUnO1xuaW1wb3J0IHsgTm9kZVZpZXdXcmFwcGVyLCBSZWFjdFJlbmRlcmVyLCBSZWFjdE5vZGVWaWV3UmVuZGVyZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCB7IFBsdWdpbiwgUGx1Z2luS2V5LCBOb2RlU2VsZWN0aW9uLCBUZXh0U2VsZWN0aW9uIH0gZnJvbSAncHJvc2VtaXJyb3Itc3RhdGUnO1xuaW1wb3J0IHsgTWF0aFByZXZpZXcsIE1hdGhUb29sYmFyIH0gZnJvbSAnQHBpZS1saWIvbWF0aC10b29sYmFyJztcbmltcG9ydCB7IHdyYXBNYXRoLCBtbWxUb0xhdGV4LCByZW5kZXJNYXRoIH0gZnJvbSAnQHBpZS1saWIvbWF0aC1yZW5kZXJpbmcnO1xuXG5jb25zdCBlbnN1cmVUZXh0QWZ0ZXJNYXRoUGx1Z2luS2V5ID0gbmV3IFBsdWdpbktleSgnZW5zdXJlVGV4dEFmdGVyTWF0aCcpO1xuXG5leHBvcnQgY29uc3QgRW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbiA9IChtYXRoTm9kZU5hbWUpID0+XG4gIG5ldyBQbHVnaW4oe1xuICAgIGtleTogZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSxcbiAgICBhcHBlbmRUcmFuc2FjdGlvbjogKHRyYW5zYWN0aW9ucywgb2xkU3RhdGUsIG5ld1N0YXRlKSA9PiB7XG4gICAgICAvLyBPbmx5IGFjdCB3aGVuIHRoZSBkb2MgYWN0dWFsbHkgY2hhbmdlZFxuICAgICAgaWYgKCF0cmFuc2FjdGlvbnMuc29tZSgodHIpID0+IHRyLmRvY0NoYW5nZWQpKSByZXR1cm4gbnVsbDtcblxuICAgICAgY29uc3QgdHIgPSBuZXdTdGF0ZS50cjtcbiAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgIG5ld1N0YXRlLmRvYy5kZXNjZW5kYW50cygobm9kZSwgcG9zKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnR5cGUubmFtZSA9PT0gbWF0aE5vZGVOYW1lKSB7XG4gICAgICAgICAgY29uc3QgbmV4dFBvcyA9IHBvcyArIG5vZGUubm9kZVNpemU7XG4gICAgICAgICAgY29uc3QgbmV4dE5vZGUgPSBuZXdTdGF0ZS5kb2Mubm9kZUF0KG5leHRQb3MpO1xuXG4gICAgICAgICAgLy8gSWYgdGhlcmUncyBubyBub2RlIGFmdGVyLCBvciB0aGUgbmV4dCBub2RlIGlzbid0IHRleHQsIGluc2VydCBhIHNwYWNlXG4gICAgICAgICAgaWYgKCFuZXh0Tm9kZSB8fCBuZXh0Tm9kZS50eXBlLm5hbWUgIT09ICd0ZXh0Jykge1xuICAgICAgICAgICAgdHIuaW5zZXJ0KG5leHRQb3MsIG5ld1N0YXRlLnNjaGVtYS50ZXh0KCdcXHUyMDBiJykpO1xuICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGNoYW5nZWQgPyB0ciA6IG51bGw7XG4gICAgfSxcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBaZXJvV2lkdGhTcGFjZUhhbmRsaW5nUGx1Z2luID0gbmV3IFBsdWdpbih7XG4gIGtleTogbmV3IFBsdWdpbktleSgnemVyb1dpZHRoU3BhY2VIYW5kbGluZycpLFxuICBwcm9wczoge1xuICAgIGhhbmRsZUtleURvd24odmlldywgZXZlbnQpIHtcbiAgICAgIGNvbnN0IHsgc3RhdGUsIGRpc3BhdGNoIH0gPSB2aWV3O1xuICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIGRvYyB9ID0gc3RhdGU7XG4gICAgICBjb25zdCB7IGZyb20sIGVtcHR5IH0gPSBzZWxlY3Rpb247XG5cbiAgICAgIGlmIChlbXB0eSAmJiBldmVudC5rZXkgPT09ICdCYWNrc3BhY2UnICYmIGZyb20gPiAwKSB7XG4gICAgICAgIGNvbnN0IHByZXZDaGFyID0gZG9jLnRleHRCZXR3ZWVuKGZyb20gLSAxLCBmcm9tLCAnXFx1RkZGQycsICdcXHVGRkZDJyk7XG4gICAgICAgIGlmIChwcmV2Q2hhciA9PT0gJ1xcdTIwMGInKSB7XG4gICAgICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5kZWxldGUoZnJvbSAtIDIsIGZyb20pO1xuICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gaGFuZGxlZFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChlbXB0eSAmJiBldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnICYmIGZyb20gPiAwKSB7XG4gICAgICAgIGNvbnN0IHByZXZDaGFyID0gZG9jLnRleHRCZXR3ZWVuKGZyb20gLSAxLCBmcm9tLCAnXFx1RkZGQycsICdcXHVGRkZDJyk7XG4gICAgICAgIC8vIElmIHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgaXMgdGhlIHplcm8td2lkdGggc3BhY2UuLi5cbiAgICAgICAgaWYgKHByZXZDaGFyID09PSAnXFx1MjAwYicpIHtcbiAgICAgICAgICBjb25zdCBwb3NCZWZvcmUgPSBmcm9tIC0gMTtcbiAgICAgICAgICBjb25zdCByZXNvbHZlZCA9IHN0YXRlLmRvYy5yZXNvbHZlKHBvc0JlZm9yZSAtIDEpOyAvLyBsb29rIGp1c3QgYmVmb3JlIHRoZSB6d3NwXG4gICAgICAgICAgY29uc3QgbWF5YmVOb2RlID0gcmVzb2x2ZWQubm9kZUFmdGVyIHx8IHJlc29sdmVkLm5vZGVCZWZvcmU7XG5cbiAgICAgICAgICAvLyBDaGVjayBpZiB0aGVyZSdzIGFuIGlubGluZSBzZWxlY3RhYmxlIG5vZGUgKGUuZy4sIHlvdXIgbWF0aCBub2RlKVxuICAgICAgICAgIGlmIChtYXliZU5vZGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVQb3MgPSBwb3NCZWZvcmUgLSBtYXliZU5vZGUubm9kZVNpemU7XG4gICAgICAgICAgICBjb25zdCBub2RlUmVzb2x2ZWQgPSBzdGF0ZS5kb2MucmVzb2x2ZShub2RlUG9zKTtcbiAgICAgICAgICAgIGNvbnN0IHRyID0gc3RhdGUudHIuc2V0U2VsZWN0aW9uKE5vZGVTZWxlY3Rpb24uY3JlYXRlKHN0YXRlLmRvYywgbm9kZVJlc29sdmVkLnBvcykpO1xuICAgICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEp1c3QgbW92ZSB0aGUgdGV4dCBjdXJzb3IgYmVmb3JlIHRoZSB6d3NwXG4gICAgICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyLnNldFNlbGVjdGlvbihUZXh0U2VsZWN0aW9uLmNyZWF0ZShzdGF0ZS5kb2MsIGZyb20gLSAyKSk7XG4gICAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IE1hdGhOb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWF0aCcsXG4gIGdyb3VwOiAnaW5saW5lJyxcbiAgaW5saW5lOiB0cnVlLFxuICBhdG9tOiB0cnVlLFxuXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhdGV4OiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgICB3cmFwcGVyOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGh0bWw6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgIH07XG4gIH0sXG5cbiAgYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCkge1xuICAgIHJldHVybiBbRW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbih0aGlzLm5hbWUpLCBaZXJvV2lkdGhTcGFjZUhhbmRsaW5nUGx1Z2luXTtcbiAgfSxcblxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLWxhdGV4XScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgbGF0ZXg6IGVsLmdldEF0dHJpYnV0ZSgnZGF0YS1yYXcnKSB8fCBlbC50ZXh0Q29udGVudCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtdHlwZT1cIm1hdGhtbFwiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaHRtbDogZWwuaW5uZXJIVE1MLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcblxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5zZXJ0TWF0aDogKGxhdGV4ID0gJycpID0+ICh7IHRyLCBlZGl0b3IsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgLy8gMikgTm93IHRoZSBlZGl0b3Iudmlldy5zdGF0ZSByZWZsZWN0cyB0aGUgaW5zZXJ0aW9uXG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvci52aWV3O1xuICAgICAgICBjb25zdCBub2RlID0gc3RhdGUuc2NoZW1hLm5vZGVzLm1hdGguY3JlYXRlKHtcbiAgICAgICAgICBsYXRleCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcblxuICAgICAgICAvLyBUaGUgaW5zZXJ0ZWQgbm9kZSBpcyB0eXBpY2FsbHkganVzdCBiZWZvcmUgdGhlIGN1cnNvclxuICAgICAgICBjb25zdCBwb3MgPSBzZWxlY3Rpb24uJGZyb20ucG9zO1xuXG4gICAgICAgIHRyLmluc2VydChwb3MsIG5vZGUpO1xuXG4gICAgICAgIGlmIChub2RlPy50eXBlPy5uYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgICAvLyBDcmVhdGUgYSBOb2RlU2VsZWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgZG9jXG4gICAgICAgICAgY29uc3Qgc2VsID0gTm9kZVNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCBzZWxlY3Rpb24uJGZyb20ucG9zKTtcblxuICAgICAgICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BhdGNoKHRyKTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICAvLyBpbnNlcnRNYXRoOiAobGF0ZXggPSAnJykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgLy8gICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7XG4gICAgICAvLyAgICAgdHlwZTogdGhpcy5uYW1lLFxuICAgICAgLy8gICAgIGF0dHJzOiB7IGxhdGV4IH0sXG4gICAgICAvLyAgIH0pO1xuICAgICAgLy8gfSxcbiAgICB9O1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgaWYgKEhUTUxBdHRyaWJ1dGVzLmh0bWwpIHtcbiAgICAgIHJldHVybiBbJ3NwYW4nLCB7ICdkYXRhLXR5cGUnOiAnbWF0aG1sJywgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHsgX19odG1sOiBIVE1MQXR0cmlidXRlcy5odG1sIH0gfV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHsgJ2RhdGEtbGF0ZXgnOiAnJywgJ2RhdGEtcmF3JzogSFRNTEF0dHJpYnV0ZXMubGF0ZXggfSxcbiAgICAgIHdyYXBNYXRoKEhUTUxBdHRyaWJ1dGVzLmxhdGV4LCBIVE1MQXR0cmlidXRlcy53cmFwcGVyKSxcbiAgICBdO1xuICB9LFxuXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8TWF0aE5vZGVWaWV3IHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZVZpZXcgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBub2RlLCB1cGRhdGVBdHRyaWJ1dGVzLCBlZGl0b3IsIHNlbGVjdGVkLCBvcHRpb25zIH0gPSBwcm9wcztcbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShzZWxlY3RlZCk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG5cbiAgY29uc3QgbGF0ZXggPSBub2RlLmF0dHJzLmxhdGV4IHx8ICcnO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBzZXRTaG93VG9vbGJhcih0cnVlKTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gISFzaG93VG9vbGJhcjtcbiAgfSwgW3Nob3dUb29sYmFyXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgdG9vbGJhclJlZi5jdXJyZW50ICYmXG4gICAgICAgICF0b29sYmFyUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxuICAgICAgICAhZXZlbnQudGFyZ2V0LmNsb3Nlc3QoJ1tkYXRhLWlubGluZS1ub2RlXScpXG4gICAgICApIHtcbiAgICAgICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtzaG93VG9vbGJhcl0pO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChuZXdMYXRleCkgPT4ge1xuICAgIHVwZGF0ZUF0dHJpYnV0ZXMoeyBsYXRleDogbmV3TGF0ZXggfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRG9uZSA9IChuZXdMYXRleCkgPT4ge1xuICAgIHVwZGF0ZUF0dHJpYnV0ZXMoeyBsYXRleDogbmV3TGF0ZXggfSk7XG4gICAgc2V0U2hvd1Rvb2xiYXIoZmFsc2UpO1xuXG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB7IHNlbGVjdGlvbiwgdHIsIGRvYyB9ID0gZWRpdG9yLnN0YXRlO1xuICAgIGNvbnN0IHNlbCA9IFRleHRTZWxlY3Rpb24uY3JlYXRlKGRvYywgc2VsZWN0aW9uLmZyb20gKyAxKTtcblxuICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICBlZGl0b3Iudmlldy5kaXNwYXRjaCh0cik7XG4gICAgZWRpdG9yLmNvbW1hbmRzLmZvY3VzKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Tm9kZVZpZXdXcmFwcGVyXG4gICAgICBjbGFzc05hbWU9XCJtYXRoLW5vZGVcIlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgZGlzcGxheTogJ2lubGluZS1mbGV4JyxcbiAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgIG1hcmdpbjogJzAgNHB4JyxcbiAgICAgIH19XG4gICAgICBkYXRhLXNlbGVjdGVkPXtzZWxlY3RlZH1cbiAgICA+XG4gICAgICA8ZGl2IG9uQ2xpY2s9eygpID0+IHNldFNob3dUb29sYmFyKHRydWUpfSBjb250ZW50RWRpdGFibGU9e2ZhbHNlfT5cbiAgICAgICAgPE1hdGhQcmV2aWV3IGxhdGV4PXtsYXRleH0gLz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7c2hvd1Rvb2xiYXIgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgcmVmPXt0b29sYmFyUmVmfVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICAgIHRvcDogJzEwMCUnLFxuICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgIHpJbmRleDogMjAsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAndmFyKC0tZWRpdGFibGUtaHRtbC10b29sYmFyLWJnLCAjZWZlZmVmKScsXG4gICAgICAgICAgICBib3hTaGFkb3c6XG4gICAgICAgICAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPE1hdGhUb29sYmFyIGxhdGV4PXtsYXRleH0gYXV0b0ZvY3VzIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9IG9uRG9uZT17aGFuZGxlRG9uZX0ga2V5cGFkTW9kZT1cImJhc2ljXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgIDwvTm9kZVZpZXdXcmFwcGVyPlxuICApO1xufTtcbiJdfQ==
|
|
350
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL21hdGguanMiXSwibmFtZXMiOlsiZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSIsIlBsdWdpbktleSIsIkVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4iLCJtYXRoTm9kZU5hbWUiLCJQbHVnaW4iLCJrZXkiLCJhcHBlbmRUcmFuc2FjdGlvbiIsInRyYW5zYWN0aW9ucyIsIm9sZFN0YXRlIiwibmV3U3RhdGUiLCJzb21lIiwidHIiLCJkb2NDaGFuZ2VkIiwiY2hhbmdlZCIsImRvYyIsImRlc2NlbmRhbnRzIiwibm9kZSIsInBvcyIsInR5cGUiLCJuYW1lIiwibmV4dFBvcyIsIm5vZGVTaXplIiwibmV4dE5vZGUiLCJub2RlQXQiLCJpbnNlcnQiLCJzY2hlbWEiLCJ0ZXh0IiwiWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiIsInByb3BzIiwiaGFuZGxlS2V5RG93biIsInZpZXciLCJldmVudCIsInN0YXRlIiwiZGlzcGF0Y2giLCJzZWxlY3Rpb24iLCJmcm9tIiwiZW1wdHkiLCJwcmV2Q2hhciIsInRleHRCZXR3ZWVuIiwicG9zQmVmb3JlIiwicmVzb2x2ZWQiLCJyZXNvbHZlIiwibWF5YmVOb2RlIiwibm9kZUFmdGVyIiwibm9kZUJlZm9yZSIsIm5vZGVQb3MiLCJub2RlUmVzb2x2ZWQiLCJzZXRTZWxlY3Rpb24iLCJOb2RlU2VsZWN0aW9uIiwiY3JlYXRlIiwiVGV4dFNlbGVjdGlvbiIsIk1hdGhOb2RlIiwiTm9kZSIsImdyb3VwIiwiaW5saW5lIiwiYXRvbSIsImFkZEF0dHJpYnV0ZXMiLCJsYXRleCIsIndyYXBwZXIiLCJodG1sIiwiYWRkUHJvc2VNaXJyb3JQbHVnaW5zIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImdldEF0dHJpYnV0ZSIsInRleHRDb250ZW50IiwiaW5uZXJIVE1MIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRNYXRoIiwiZWRpdG9yIiwibm9kZXMiLCJtYXRoIiwiJGZyb20iLCJzZWwiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImFkZE5vZGVWaWV3Iiwib3B0aW9ucyIsIk1hdGhOb2RlVmlldyIsInVwZGF0ZUF0dHJpYnV0ZXMiLCJzZWxlY3RlZCIsInNob3dUb29sYmFyIiwic2V0U2hvd1Rvb2xiYXIiLCJ0b29sYmFyUmVmIiwidG9wIiwibGVmdCIsInBvc2l0aW9uIiwic2V0UG9zaXRpb24iLCJhdHRycyIsIl90b29sYmFyT3BlbmVkIiwiYm9keVJlY3QiLCJkb2N1bWVudCIsImJvZHkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJzdGFydCIsImNvb3Jkc0F0UG9zIiwiTWF0aCIsImFicyIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImNsb3Nlc3QiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZUNoYW5nZSIsIm5ld0xhdGV4IiwiaGFuZGxlRG9uZSIsImNvbW1hbmRzIiwiZm9jdXMiLCJkaXNwbGF5IiwiY3Vyc29yIiwibWFyZ2luIiwiUmVhY3RET00iLCJjcmVhdGVQb3J0YWwiLCJ6SW5kZXgiLCJiYWNrZ3JvdW5kIiwiYm94U2hhZG93Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLElBQU1BLDRCQUE0QixHQUFHLElBQUlDLDJCQUFKLENBQWMscUJBQWQsQ0FBckM7O0FBRU8sSUFBTUMseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUE0QixDQUFDQyxZQUFEO0FBQUEsU0FDdkMsSUFBSUMsd0JBQUosQ0FBVztBQUNUQyxJQUFBQSxHQUFHLEVBQUVMLDRCQURJO0FBRVRNLElBQUFBLGlCQUFpQixFQUFFLDJCQUFDQyxZQUFELEVBQWVDLFFBQWYsRUFBeUJDLFFBQXpCLEVBQXNDO0FBQ3ZEO0FBQ0Es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UUFBUSxDQUFDQyxJQWZYLENBYkosQ0FERjtBQWlDRCxDQW5HTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IEV4dGVuc2lvbiwgTm9kZSwgbWVyZ2VBdHRyaWJ1dGVzIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE5vZGVWaWV3V3JhcHBlciwgUmVhY3RSZW5kZXJlciwgUmVhY3ROb2RlVmlld1JlbmRlcmVyIH0gZnJvbSAnQHRpcHRhcC9yZWFjdCc7XG5pbXBvcnQgeyBQbHVnaW4sIFBsdWdpbktleSwgTm9kZVNlbGVjdGlvbiwgVGV4dFNlbGVjdGlvbiB9IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcbmltcG9ydCB7IE1hdGhQcmV2aWV3LCBNYXRoVG9vbGJhciB9IGZyb20gJ0BwaWUtbGliL21hdGgtdG9vbGJhcic7XG5pbXBvcnQgeyB3cmFwTWF0aCwgbW1sVG9MYXRleCwgcmVuZGVyTWF0aCB9IGZyb20gJ0BwaWUtbGliL21hdGgtcmVuZGVyaW5nJztcblxuY29uc3QgZW5zdXJlVGV4dEFmdGVyTWF0aFBsdWdpbktleSA9IG5ldyBQbHVnaW5LZXkoJ2Vuc3VyZVRleHRBZnRlck1hdGgnKTtcblxuZXhwb3J0IGNvbnN0IEVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4gPSAobWF0aE5vZGVOYW1lKSA9PlxuICBuZXcgUGx1Z2luKHtcbiAgICBrZXk6IGVuc3VyZVRleHRBZnRlck1hdGhQbHVnaW5LZXksXG4gICAgYXBwZW5kVHJhbnNhY3Rpb246ICh0cmFuc2FjdGlvbnMsIG9sZFN0YXRlLCBuZXdTdGF0ZSkgPT4ge1xuICAgICAgLy8gT25seSBhY3Qgd2hlbiB0aGUgZG9jIGFjdHVhbGx5IGNoYW5nZWRcbiAgICAgIGlmICghdHJhbnNhY3Rpb25zLnNvbWUoKHRyKSA9PiB0ci5kb2NDaGFuZ2VkKSkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHRyID0gbmV3U3RhdGUudHI7XG4gICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgICBuZXdTdGF0ZS5kb2MuZGVzY2VuZGFudHMoKG5vZGUsIHBvcykgPT4ge1xuICAgICAgICBpZiAobm9kZS50eXBlLm5hbWUgPT09IG1hdGhOb2RlTmFtZSkge1xuICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBwb3MgKyBub2RlLm5vZGVTaXplO1xuICAgICAgICAgIGNvbnN0IG5leHROb2RlID0gbmV3U3RhdGUuZG9jLm5vZGVBdChuZXh0UG9zKTtcblxuICAgICAgICAgIC8vIElmIHRoZXJlJ3Mgbm8gbm9kZSBhZnRlciwgb3IgdGhlIG5leHQgbm9kZSBpc24ndCB0ZXh0LCBpbnNlcnQgYSBzcGFjZVxuICAgICAgICAgIGlmICghbmV4dE5vZGUgfHwgbmV4dE5vZGUudHlwZS5uYW1lICE9PSAndGV4dCcpIHtcbiAgICAgICAgICAgIHRyLmluc2VydChuZXh0UG9zLCBuZXdTdGF0ZS5zY2hlbWEudGV4dCgnXFx1MjAwYicpKTtcbiAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBjaGFuZ2VkID8gdHIgOiBudWxsO1xuICAgIH0sXG4gIH0pO1xuXG5leHBvcnQgY29uc3QgWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbiA9IG5ldyBQbHVnaW4oe1xuICBrZXk6IG5ldyBQbHVnaW5LZXkoJ3plcm9XaWR0aFNwYWNlSGFuZGxpbmcnKSxcbiAgcHJvcHM6IHtcbiAgICBoYW5kbGVLZXlEb3duKHZpZXcsIGV2ZW50KSB7XG4gICAgICBjb25zdCB7IHN0YXRlLCBkaXNwYXRjaCB9ID0gdmlldztcbiAgICAgIGNvbnN0IHsgc2VsZWN0aW9uLCBkb2MgfSA9IHN0YXRlO1xuICAgICAgY29uc3QgeyBmcm9tLCBlbXB0eSB9ID0gc2VsZWN0aW9uO1xuXG4gICAgICBpZiAoZW1wdHkgJiYgZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJyAmJiBmcm9tID4gMCkge1xuICAgICAgICBjb25zdCBwcmV2Q2hhciA9IGRvYy50ZXh0QmV0d2Vlbihmcm9tIC0gMSwgZnJvbSwgJ1xcdUZGRkMnLCAnXFx1RkZGQycpO1xuICAgICAgICBpZiAocHJldkNoYXIgPT09ICdcXHUyMDBiJykge1xuICAgICAgICAgIGNvbnN0IHRyID0gc3RhdGUudHIuZGVsZXRlKGZyb20gLSAyLCBmcm9tKTtcbiAgICAgICAgICBkaXNwYXRjaCh0cik7XG4gICAgICAgICAgcmV0dXJuIHRydWU7IC8vIGhhbmRsZWRcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZW1wdHkgJiYgZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0JyAmJiBmcm9tID4gMCkge1xuICAgICAgICBjb25zdCBwcmV2Q2hhciA9IGRvYy50ZXh0QmV0d2Vlbihmcm9tIC0gMSwgZnJvbSwgJ1xcdUZGRkMnLCAnXFx1RkZGQycpO1xuICAgICAgICAvLyBJZiB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIGlzIHRoZSB6ZXJvLXdpZHRoIHNwYWNlLi4uXG4gICAgICAgIGlmIChwcmV2Q2hhciA9PT0gJ1xcdTIwMGInKSB7XG4gICAgICAgICAgY29uc3QgcG9zQmVmb3JlID0gZnJvbSAtIDE7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBzdGF0ZS5kb2MucmVzb2x2ZShwb3NCZWZvcmUgLSAxKTsgLy8gbG9vayBqdXN0IGJlZm9yZSB0aGUgendzcFxuICAgICAgICAgIGNvbnN0IG1heWJlTm9kZSA9IHJlc29sdmVkLm5vZGVBZnRlciB8fCByZXNvbHZlZC5ub2RlQmVmb3JlO1xuXG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBhbiBpbmxpbmUgc2VsZWN0YWJsZSBub2RlIChlLmcuLCB5b3VyIG1hdGggbm9kZSlcbiAgICAgICAgICBpZiAobWF5YmVOb2RlKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlUG9zID0gcG9zQmVmb3JlIC0gbWF5YmVOb2RlLm5vZGVTaXplO1xuICAgICAgICAgICAgY29uc3Qgbm9kZVJlc29sdmVkID0gc3RhdGUuZG9jLnJlc29sdmUobm9kZVBvcyk7XG4gICAgICAgICAgICBjb25zdCB0ciA9IHN0YXRlLnRyLnNldFNlbGVjdGlvbihOb2RlU2VsZWN0aW9uLmNyZWF0ZShzdGF0ZS5kb2MsIG5vZGVSZXNvbHZlZC5wb3MpKTtcbiAgICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBKdXN0IG1vdmUgdGhlIHRleHQgY3Vyc29yIGJlZm9yZSB0aGUgendzcFxuICAgICAgICAgICAgY29uc3QgdHIgPSBzdGF0ZS50ci5zZXRTZWxlY3Rpb24oVGV4dFNlbGVjdGlvbi5jcmVhdGUoc3RhdGUuZG9jLCBmcm9tIC0gMikpO1xuICAgICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LFxuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ21hdGgnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcblxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBsYXRleDogeyBkZWZhdWx0OiAnJyB9LFxuICAgICAgd3JhcHBlcjogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBodG1sOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICB9O1xuICB9LFxuXG4gIGFkZFByb3NlTWlycm9yUGx1Z2lucygpIHtcbiAgICByZXR1cm4gW0Vuc3VyZVRleHRBZnRlck1hdGhQbHVnaW4odGhpcy5uYW1lKSwgWmVyb1dpZHRoU3BhY2VIYW5kbGluZ1BsdWdpbl07XG4gIH0sXG5cbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS1sYXRleF0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGxhdGV4OiBlbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtcmF3JykgfHwgZWwudGV4dENvbnRlbnQsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJtYXRobWxcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGh0bWw6IGVsLmlubmVySFRNTCxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG5cbiAgYWRkQ29tbWFuZHMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluc2VydE1hdGg6IChsYXRleCA9ICcnKSA9PiAoeyB0ciwgZWRpdG9yLCBkaXNwYXRjaCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhdGUgfSA9IGVkaXRvci52aWV3O1xuICAgICAgICBjb25zdCBub2RlID0gc3RhdGUuc2NoZW1hLm5vZGVzLm1hdGguY3JlYXRlKHtcbiAgICAgICAgICBsYXRleCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uIH0gPSBzdGF0ZTtcblxuICAgICAgICAvLyBUaGUgaW5zZXJ0ZWQgbm9kZSBpcyB0eXBpY2FsbHkganVzdCBiZWZvcmUgdGhlIGN1cnNvclxuICAgICAgICBjb25zdCBwb3MgPSBzZWxlY3Rpb24uJGZyb20ucG9zO1xuXG4gICAgICAgIHRyLmluc2VydChwb3MsIG5vZGUpO1xuXG4gICAgICAgIGlmIChub2RlPy50eXBlPy5uYW1lID09PSB0aGlzLm5hbWUpIHtcbiAgICAgICAgICAvLyBDcmVhdGUgYSBOb2RlU2VsZWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgZG9jXG4gICAgICAgICAgY29uc3Qgc2VsID0gTm9kZVNlbGVjdGlvbi5jcmVhdGUodHIuZG9jLCBzZWxlY3Rpb24uJGZyb20ucG9zKTtcblxuICAgICAgICAgIC8vIEJ1aWxkIGEgZnJlc2ggdHJhbnNhY3Rpb24gZnJvbSB0aGUgY3VycmVudCBzdGF0ZSBhbmQgc2V0IHRoZSBzZWxlY3Rpb25cbiAgICAgICAgICB0ci5zZXRTZWxlY3Rpb24oc2VsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BhdGNoKHRyKTtcblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0sXG4gICAgICAvLyBpbnNlcnRNYXRoOiAobGF0ZXggPSAnJykgPT4gKHsgY29tbWFuZHMgfSkgPT4ge1xuICAgICAgLy8gICByZXR1cm4gY29tbWFuZHMuaW5zZXJ0Q29udGVudCh7XG4gICAgICAvLyAgICAgdHlwZTogdGhpcy5uYW1lLFxuICAgICAgLy8gICAgIGF0dHJzOiB7IGxhdGV4IH0sXG4gICAgICAvLyAgIH0pO1xuICAgICAgLy8gfSxcbiAgICB9O1xuICB9LFxuXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgaWYgKEhUTUxBdHRyaWJ1dGVzLmh0bWwpIHtcbiAgICAgIHJldHVybiBbJ3NwYW4nLCB7ICdkYXRhLXR5cGUnOiAnbWF0aG1sJywgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHsgX19odG1sOiBIVE1MQXR0cmlidXRlcy5odG1sIH0gfV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHsgJ2RhdGEtbGF0ZXgnOiAnJywgJ2RhdGEtcmF3JzogSFRNTEF0dHJpYnV0ZXMubGF0ZXggfSxcbiAgICAgIHdyYXBNYXRoKEhUTUxBdHRyaWJ1dGVzLmxhdGV4LCBIVE1MQXR0cmlidXRlcy53cmFwcGVyKSxcbiAgICBdO1xuICB9LFxuXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8TWF0aE5vZGVWaWV3IHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBNYXRoTm9kZVZpZXcgPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBub2RlLCB1cGRhdGVBdHRyaWJ1dGVzLCBlZGl0b3IsIHNlbGVjdGVkLCBvcHRpb25zIH0gPSBwcm9wcztcbiAgY29uc3QgW3Nob3dUb29sYmFyLCBzZXRTaG93VG9vbGJhcl0gPSB1c2VTdGF0ZShzZWxlY3RlZCk7XG4gIGNvbnN0IHRvb2xiYXJSZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoeyB0b3A6IDAsIGxlZnQ6IDAgfSk7XG5cbiAgY29uc3QgbGF0ZXggPSBub2RlLmF0dHJzLmxhdGV4IHx8ICcnO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICBzZXRTaG93VG9vbGJhcih0cnVlKTtcbiAgICB9XG4gIH0sIFtzZWxlY3RlZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLl90b29sYmFyT3BlbmVkID0gISFzaG93VG9vbGJhcjtcbiAgfSwgW3Nob3dUb29sYmFyXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBDYWxjdWxhdGUgcG9zaXRpb24gcmVsYXRpdmUgdG8gc2VsZWN0aW9uXG4gICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IHsgZnJvbSB9ID0gZWRpdG9yLnN0YXRlLnNlbGVjdGlvbjtcbiAgICBjb25zdCBzdGFydCA9IGVkaXRvci52aWV3LmNvb3Jkc0F0UG9zKGZyb20pO1xuICAgIHNldFBvc2l0aW9uKHtcbiAgICAgIHRvcDogc3RhcnQudG9wICsgTWF0aC5hYnMoYm9keVJlY3QudG9wKSArIDQwLCAvLyBzaGlmdCBhYm92ZVxuICAgICAgbGVmdDogc3RhcnQubGVmdCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudCkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICB0b29sYmFyUmVmLmN1cnJlbnQgJiZcbiAgICAgICAgIXRvb2xiYXJSZWYuY3VycmVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAgICFldmVudC50YXJnZXQuY2xvc2VzdCgnW2RhdGEtaW5saW5lLW5vZGVdJylcbiAgICAgICkge1xuICAgICAgICBzZXRTaG93VG9vbGJhcihmYWxzZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGlmIChzaG93VG9vbGJhcikge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfSwgW2VkaXRvciwgc2hvd1Rvb2xiYXJdKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURvbmUgPSAobmV3TGF0ZXgpID0+IHtcbiAgICB1cGRhdGVBdHRyaWJ1dGVzKHsgbGF0ZXg6IG5ld0xhdGV4IH0pO1xuICAgIHNldFNob3dUb29sYmFyKGZhbHNlKTtcblxuICAgIGVkaXRvci5fdG9vbGJhck9wZW5lZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgeyBzZWxlY3Rpb24sIHRyLCBkb2MgfSA9IGVkaXRvci5zdGF0ZTtcbiAgICBjb25zdCBzZWwgPSBUZXh0U2VsZWN0aW9uLmNyZWF0ZShkb2MsIHNlbGVjdGlvbi5mcm9tICsgMSk7XG5cbiAgICAvLyBCdWlsZCBhIGZyZXNoIHRyYW5zYWN0aW9uIGZyb20gdGhlIGN1cnJlbnQgc3RhdGUgYW5kIHNldCB0aGUgc2VsZWN0aW9uXG4gICAgdHIuc2V0U2VsZWN0aW9uKHNlbCk7XG4gICAgZWRpdG9yLnZpZXcuZGlzcGF0Y2godHIpO1xuICAgIGVkaXRvci5jb21tYW5kcy5mb2N1cygpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPE5vZGVWaWV3V3JhcHBlclxuICAgICAgY2xhc3NOYW1lPVwibWF0aC1ub2RlXCJcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGRpc3BsYXk6ICdpbmxpbmUtZmxleCcsXG4gICAgICAgIGN1cnNvcjogJ3BvaW50ZXInLFxuICAgICAgICBtYXJnaW46ICcwIDRweCcsXG4gICAgICB9fVxuICAgICAgZGF0YS1zZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgPlxuICAgICAgPGRpdiBvbkNsaWNrPXsoKSA9PiBzZXRTaG93VG9vbGJhcih0cnVlKX0gY29udGVudEVkaXRhYmxlPXtmYWxzZX0+XG4gICAgICAgIDxNYXRoUHJldmlldyBsYXRleD17bGF0ZXh9IC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIHtzaG93VG9vbGJhciAmJlxuICAgICAgICBSZWFjdERPTS5jcmVhdGVQb3J0YWwoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgcmVmPXt0b29sYmFyUmVmfVxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgIHRvcDogYCR7cG9zaXRpb24udG9wfXB4YCxcbiAgICAgICAgICAgICAgbGVmdDogYCR7cG9zaXRpb24ubGVmdH1weGAsXG4gICAgICAgICAgICAgIHpJbmRleDogMjAsXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd2YXIoLS1lZGl0YWJsZS1odG1sLXRvb2xiYXItYmcsICNlZmVmZWYpJyxcbiAgICAgICAgICAgICAgYm94U2hhZG93OlxuICAgICAgICAgICAgICAgICcwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpJyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPE1hdGhUb29sYmFyIGxhdGV4PXtsYXRleH0gYXV0b0ZvY3VzIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9IG9uRG9uZT17aGFuZGxlRG9uZX0ga2V5cGFkTW9kZT1cImJhc2ljXCIgLz5cbiAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgZG9jdW1lbnQuYm9keSxcbiAgICAgICAgKX1cbiAgICA8L05vZGVWaWV3V3JhcHBlcj5cbiAgKTtcbn07XG4iXX0=
|
|
@@ -21,10 +21,6 @@ var _InlineDropdown = _interopRequireDefault(require("../components/respArea/Inl
|
|
|
21
21
|
|
|
22
22
|
var _core = require("@tiptap/core");
|
|
23
23
|
|
|
24
|
-
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
25
|
-
|
|
26
|
-
var _tippy = _interopRequireDefault(require("tippy.js"));
|
|
27
|
-
|
|
28
24
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
25
|
|
|
30
26
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -275,4 +271,4 @@ var InlineDropdownNode = _react2.Node.create({
|
|
|
275
271
|
});
|
|
276
272
|
|
|
277
273
|
exports.InlineDropdownNode = InlineDropdownNode;
|
|
278
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYS5qcyJdLCJuYW1lcyI6WyJSZXNwb25zZUFyZWFFeHRlbnNpb24iLCJFeHRlbnNpb24iLCJjcmVhdGUiLCJuYW1lIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRSZXNwb25zZUFyZWEiLCJ0eXBlIiwidHIiLCJzdGF0ZSIsImRpc3BhdGNoIiwic2NoZW1hIiwic2VsZWN0aW9uIiwicG9zaXRpb24iLCIkZnJvbSIsInBvcyIsIlJFU1BfTUFQIiwibm9kZSIsIm5vZGVzIiwiaW5kZXgiLCJpZCIsInZhbHVlIiwiaW5zZXJ0IiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIk5vZGUiLCJncm91cCIsImlubGluZSIsImF0b20iLCJhZGRBdHRyaWJ1dGVzIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImRhdGFzZXQiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJhZGROb2RlVmlldyIsInByb3BzIiwib3B0aW9ucyIsIk1hdGhUZW1wbGF0ZWROb2RlIiwiRHJhZ0luVGhlQmxhbmtOb2RlIiwiaW5UYWJsZSIsIklubGluZURyb3Bkb3duTm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEscUJBQXFCLEdBQUdDLGdCQUFVQyxNQUFWLENBQWlCO0FBQ3BEQyxFQUFBQSxJQUFJLEVBQUUsY0FEOEM7QUFFcERDLEVBQUFBLFdBRm9ELHlCQUV0QztBQUNaLFdBQU87QUFDTEMsTUFBQUEsa0JBQWtCLEVBQUUsNEJBQUNDLElBQUQ7QUFBQSxlQUFVLGdCQUE2QjtBQUFBLGNBQTFCQyxFQUEwQixRQUExQkEsRUFBMEI7QUFBQSxjQUF0QkMsS0FBc0IsUUFBdEJBLEtBQXNCO0FBQUEsY0FBZkMsUUFBZSxRQUFmQSxRQUFlO0FBQ3pELGNBQVFDLE1BQVIsR0FBOEJG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SW5saW5lTm9kZXMuanNcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOb2RlLCBSZWFjdE5vZGVWaWV3UmVuZGVyZXIsIFJlYWN0UmVuZGVyZXIgfSBmcm9tICdAdGlwdGFwL3JlYWN0JztcbmltcG9ydCBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UgZnJvbSAnLi4vY29tcG9uZW50cy9yZXNwQXJlYS9FeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UnO1xuaW1wb3J0IERyYWdJblRoZUJsYW5rIGZyb20gJy4uL2NvbXBvbmVudHMvcmVzcEFyZWEvRHJhZ0luVGhlQmxhbmsvRHJhZ0luVGhlQmxhbmsnO1xuaW1wb3J0IElubGluZURyb3Bkb3duIGZyb20gJy4uL2NvbXBvbmVudHMvcmVzcEFyZWEvSW5saW5lRHJvcGRvd24nO1xuaW1wb3J0IHsgRXh0ZW5zaW9uIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE1hdGhUb29sYmFyIH0gZnJvbSAnQHBpZS1saWIvbWF0aC10b29sYmFyJztcbmltcG9ydCB0aXBweSBmcm9tICd0aXBweS5qcyc7XG5cbmV4cG9ydCBjb25zdCBSZXNwb25zZUFyZWFFeHRlbnNpb24gPSBFeHRlbnNpb24uY3JlYXRlKHtcbiAgbmFtZTogJ3Jlc3BvbnNlQXJlYScsXG4gIGFkZENvbW1hbmRzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbnNlcnRSZXNwb25zZUFyZWE6ICh0eXBlKSA9PiAoeyB0ciwgc3RhdGUsIGRpc3BhdGNoIH0pID0+IHtcbiAgICAgICAgY29uc3QgeyBzY2hlbWEsIHNlbGVjdGlvbiB9ID0gc3RhdGU7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gc2VsZWN0aW9uLiRmcm9tLnBvcztcbiAgICAgICAgY29uc3QgUkVTUF9NQVAgPSB7XG4gICAgICAgICAgJ2RyYWctaW4tdGhlLWJsYW5rJzogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgICAgICAgICAnZXhwbGljaXQtY29uc3RydWN0ZWQtcmVzcG9uc2UnOiAnZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2UnLFxuICAgICAgICAgICdpbmxpbmUtZHJvcGRvd24nOiAnaW5saW5lX2Ryb3Bkb3duJyxcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBub2RlID0gc2NoZW1hLm5vZGVzW1JFU1BfTUFQW3R5cGVdXS5jcmVhdGUoe1xuICAgICAgICAgIGluZGV4OiAnMScsXG4gICAgICAgICAgaWQ6ICcxJyxcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkaXNwYXRjaCkge1xuICAgICAgICAgIHRyLmluc2VydChwb3NpdGlvbiwgbm9kZSk7XG4gICAgICAgICAgZGlzcGF0Y2godHIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH07XG4gIH0sXG59KTtcblxuLyoqXG4gKiBFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2UgTm9kZVxuICovXG5leHBvcnQgY29uc3QgRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwiZXhwbGljaXRfY29uc3RydWN0ZWRfcmVzcG9uc2VcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGluZGV4OiBlbC5kYXRhc2V0LmluZGV4LFxuICAgICAgICAgIHZhbHVlOiBlbC5kYXRhc2V0LnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICAnZGF0YS10eXBlJzogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgICAgICAgJ2RhdGEtaW5kZXgnOiBIVE1MQXR0cmlidXRlcy5pbmRleCxcbiAgICAgICAgJ2RhdGEtdmFsdWUnOiBIVE1MQXR0cmlidXRlcy52YWx1ZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxFeHBsaWNpdENvbnN0cnVjdGVkUmVzcG9uc2Ugey4uLnsgLi4ucHJvcHMsIG9wdGlvbnM6IHRoaXMub3B0aW9ucyB9fSAvPik7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBNYXRoVGVtcGxhdGVkIE5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IE1hdGhUZW1wbGF0ZWROb2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnbWF0aF90ZW1wbGF0ZWQnLFxuICBncm91cDogJ2lubGluZScsXG4gIGlubGluZTogdHJ1ZSxcbiAgYXRvbTogdHJ1ZSxcbiAgYWRkQXR0cmlidXRlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5kZXg6IHsgZGVmYXVsdDogbnVsbCB9LFxuICAgICAgdmFsdWU6IHsgZGVmYXVsdDogJycgfSxcbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJtYXRoX3RlbXBsYXRlZFwiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgICdkYXRhLXR5cGUnOiAnbWF0aF90ZW1wbGF0ZWQnLFxuICAgICAgICAnZGF0YS1pbmRleCc6IEhUTUxBdHRyaWJ1dGVzLmluZGV4LFxuICAgICAgICAnZGF0YS12YWx1ZSc6IEhUTUxBdHRyaWJ1dGVzLnZhbHVlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKCgpID0+IDxkaXY+PC9kaXY+KTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIERyYWdJblRoZUJsYW5rIE5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IERyYWdJblRoZUJsYW5rTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIGlkOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgICBpblRhYmxlOiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICB9O1xuICB9LFxuICBwYXJzZUhUTUwoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdGFnOiAnc3BhbltkYXRhLXR5cGU9XCJkcmFnX2luX3RoZV9ibGFua1wiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgaWQ6IGVsLmRhdGFzZXQuaWQsXG4gICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgICAgaW5UYWJsZTogZWwuZGF0YXNldC5pblRhYmxlLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICAnZGF0YS10eXBlJzogJ2RyYWdfaW5fdGhlX2JsYW5rJyxcbiAgICAgICAgJ2RhdGEtaW5kZXgnOiBIVE1MQXR0cmlidXRlcy5pbmRleCxcbiAgICAgICAgJ2RhdGEtaWQnOiBIVE1MQXR0cmlidXRlcy5pZCxcbiAgICAgICAgJ2RhdGEtdmFsdWUnOiBIVE1MQXR0cmlidXRlcy52YWx1ZSxcbiAgICAgICAgJ2RhdGEtaW4tdGFibGUnOiBIVE1MQXR0cmlidXRlcy5pblRhYmxlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPERyYWdJblRoZUJsYW5rIHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbi8qKlxuICogSW5saW5lRHJvcGRvd24gTm9kZVxuICovXG5leHBvcnQgY29uc3QgSW5saW5lRHJvcGRvd25Ob2RlID0gTm9kZS5jcmVhdGUoe1xuICBuYW1lOiAnaW5saW5lX2Ryb3Bkb3duJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwiaW5saW5lX2Ryb3Bkb3duXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBpbmRleDogZWwuZGF0YXNldC5pbmRleCxcbiAgICAgICAgICB2YWx1ZTogZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgJ2RhdGEtdHlwZSc6ICdpbmxpbmVfZHJvcGRvd24nLFxuICAgICAgICAnZGF0YS1pbmRleCc6IEhUTUxBdHRyaWJ1dGVzLmluZGV4LFxuICAgICAgICAnZGF0YS12YWx1ZSc6IEhUTUxBdHRyaWJ1dGVzLnZhbHVlLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICBhZGROb2RlVmlldygpIHtcbiAgICByZXR1cm4gUmVhY3ROb2RlVmlld1JlbmRlcmVyKChwcm9wcykgPT4gPElubGluZURyb3Bkb3duIHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG4iXX0=
|
|
274
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leHRlbnNpb25zL3Jlc3BvbnNlQXJlYS5qcyJdLCJuYW1lcyI6WyJSZXNwb25zZUFyZWFFeHRlbnNpb24iLCJFeHRlbnNpb24iLCJjcmVhdGUiLCJuYW1lIiwiYWRkQ29tbWFuZHMiLCJpbnNlcnRSZXNwb25zZUFyZWEiLCJ0eXBlIiwidHIiLCJzdGF0ZSIsImRpc3BhdGNoIiwic2NoZW1hIiwic2VsZWN0aW9uIiwicG9zaXRpb24iLCIkZnJvbSIsInBvcyIsIlJFU1BfTUFQIiwibm9kZSIsIm5vZGVzIiwiaW5kZXgiLCJpZCIsInZhbHVlIiwiaW5zZXJ0IiwiRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlTm9kZSIsIk5vZGUiLCJncm91cCIsImlubGluZSIsImF0b20iLCJhZGRBdHRyaWJ1dGVzIiwicGFyc2VIVE1MIiwidGFnIiwiZ2V0QXR0cnMiLCJlbCIsImRhdGFzZXQiLCJyZW5kZXJIVE1MIiwiSFRNTEF0dHJpYnV0ZXMiLCJhZGROb2RlVmlldyIsInByb3BzIiwib3B0aW9ucyIsIk1hdGhUZW1wbGF0ZWROb2RlIiwiRHJhZ0luVGhlQmxhbmtOb2RlIiwiaW5UYWJsZSIsIklubGluZURyb3Bkb3duTm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEscUJBQXFCLEdBQUdDLGdCQUFVQyxNQUFWLENBQWlCO0FBQ3BEQyxFQUFBQSxJQUFJLEVBQUUsY0FEOEM7QUFFcERDLEVBQUFBLFdBRm9ELHlCQUV0QztBQUNaLFdBQU87QUFDTEMsTUFBQUEsa0JBQWtCLEVBQUUsNEJBQUNDLElBQUQ7QUFBQSxlQUFVLGdCQUE2QjtBQUFBLGNBQTFCQyxFQUEwQixRQUExQkEsRUFBMEI7QUFBQSxjQUF0QkMsS0FBc0IsUUFBdEJBLEtBQXNCO0FBQUEsY0FBZkMsUUFBZSxRQUFmQSxRQUFlO0FBQ3pELGNBQVFDLE1BQVIsR0FBOEJGLEtBQTlCLENBQVFF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b20gJ3JlYWN0JztcbmltcG9ydCB7IE5vZGUsIFJlYWN0Tm9kZVZpZXdSZW5kZXJlciwgUmVhY3RSZW5kZXJlciB9IGZyb20gJ0B0aXB0YXAvcmVhY3QnO1xuaW1wb3J0IEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSBmcm9tICcuLi9jb21wb25lbnRzL3Jlc3BBcmVhL0V4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZSc7XG5pbXBvcnQgRHJhZ0luVGhlQmxhbmsgZnJvbSAnLi4vY29tcG9uZW50cy9yZXNwQXJlYS9EcmFnSW5UaGVCbGFuay9EcmFnSW5UaGVCbGFuayc7XG5pbXBvcnQgSW5saW5lRHJvcGRvd24gZnJvbSAnLi4vY29tcG9uZW50cy9yZXNwQXJlYS9JbmxpbmVEcm9wZG93bic7XG5pbXBvcnQgeyBFeHRlbnNpb24gfSBmcm9tICdAdGlwdGFwL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgUmVzcG9uc2VBcmVhRXh0ZW5zaW9uID0gRXh0ZW5zaW9uLmNyZWF0ZSh7XG4gIG5hbWU6ICdyZXNwb25zZUFyZWEnLFxuICBhZGRDb21tYW5kcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5zZXJ0UmVzcG9uc2VBcmVhOiAodHlwZSkgPT4gKHsgdHIsIHN0YXRlLCBkaXNwYXRjaCB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc2NoZW1hLCBzZWxlY3Rpb24gfSA9IHN0YXRlO1xuICAgICAgICBjb25zdCBwb3NpdGlvbiA9IHNlbGVjdGlvbi4kZnJvbS5wb3M7XG4gICAgICAgIGNvbnN0IFJFU1BfTUFQID0ge1xuICAgICAgICAgICdkcmFnLWluLXRoZS1ibGFuayc6ICdkcmFnX2luX3RoZV9ibGFuaycsXG4gICAgICAgICAgJ2V4cGxpY2l0LWNvbnN0cnVjdGVkLXJlc3BvbnNlJzogJ2V4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlJyxcbiAgICAgICAgICAnaW5saW5lLWRyb3Bkb3duJzogJ2lubGluZV9kcm9wZG93bicsXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgbm9kZSA9IHNjaGVtYS5ub2Rlc1tSRVNQX01BUFt0eXBlXV0uY3JlYXRlKHtcbiAgICAgICAgICBpbmRleDogJzEnLFxuICAgICAgICAgIGlkOiAnMScsXG4gICAgICAgICAgdmFsdWU6ICcnLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoZGlzcGF0Y2gpIHtcbiAgICAgICAgICB0ci5pbnNlcnQocG9zaXRpb24sIG5vZGUpO1xuICAgICAgICAgIGRpc3BhdGNoKHRyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICB9O1xuICB9LFxufSk7XG5cbi8qKlxuICogRXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIE5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IEV4cGxpY2l0Q29uc3RydWN0ZWRSZXNwb25zZU5vZGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6ICdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScsXG4gIGdyb3VwOiAnaW5saW5lJyxcbiAgaW5saW5lOiB0cnVlLFxuICBhdG9tOiB0cnVlLFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmRleDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB2YWx1ZTogeyBkZWZhdWx0OiAnJyB9LFxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtdHlwZT1cImV4cGxpY2l0X2NvbnN0cnVjdGVkX3Jlc3BvbnNlXCJdJyxcbiAgICAgICAgZ2V0QXR0cnM6IChlbCkgPT4gKHtcbiAgICAgICAgICBpbmRleDogZWwuZGF0YXNldC5pbmRleCxcbiAgICAgICAgICB2YWx1ZTogZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgJ2RhdGEtdHlwZSc6ICdleHBsaWNpdF9jb25zdHJ1Y3RlZF9yZXNwb25zZScsXG4gICAgICAgICdkYXRhLWluZGV4JzogSFRNTEF0dHJpYnV0ZXMuaW5kZXgsXG4gICAgICAgICdkYXRhLXZhbHVlJzogSFRNTEF0dHJpYnV0ZXMudmFsdWUsXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIGFkZE5vZGVWaWV3KCkge1xuICAgIHJldHVybiBSZWFjdE5vZGVWaWV3UmVuZGVyZXIoKHByb3BzKSA9PiA8RXhwbGljaXRDb25zdHJ1Y3RlZFJlc3BvbnNlIHsuLi57IC4uLnByb3BzLCBvcHRpb25zOiB0aGlzLm9wdGlvbnMgfX0gLz4pO1xuICB9LFxufSk7XG5cbi8qKlxuICogTWF0aFRlbXBsYXRlZCBOb2RlXG4gKi9cbmV4cG9ydCBjb25zdCBNYXRoVGVtcGxhdGVkTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ21hdGhfdGVtcGxhdGVkJyxcbiAgZ3JvdXA6ICdpbmxpbmUnLFxuICBpbmxpbmU6IHRydWUsXG4gIGF0b206IHRydWUsXG4gIGFkZEF0dHJpYnV0ZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluZGV4OiB7IGRlZmF1bHQ6IG51bGwgfSxcbiAgICAgIHZhbHVlOiB7IGRlZmF1bHQ6ICcnIH0sXG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwibWF0aF90ZW1wbGF0ZWRcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGluZGV4OiBlbC5kYXRhc2V0LmluZGV4LFxuICAgICAgICAgIHZhbHVlOiBlbC5kYXRhc2V0LnZhbHVlLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgcmVuZGVySFRNTCh7IEhUTUxBdHRyaWJ1dGVzIH0pIHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3NwYW4nLFxuICAgICAge1xuICAgICAgICAnZGF0YS10eXBlJzogJ21hdGhfdGVtcGxhdGVkJyxcbiAgICAgICAgJ2RhdGEtaW5kZXgnOiBIVE1MQXR0cmlidXRlcy5pbmRleCxcbiAgICAgICAgJ2RhdGEtdmFsdWUnOiBIVE1MQXR0cmlidXRlcy52YWx1ZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigoKSA9PiA8ZGl2PjwvZGl2Pik7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBEcmFnSW5UaGVCbGFuayBOb2RlXG4gKi9cbmV4cG9ydCBjb25zdCBEcmFnSW5UaGVCbGFua05vZGUgPSBOb2RlLmNyZWF0ZSh7XG4gIG5hbWU6ICdkcmFnX2luX3RoZV9ibGFuaycsXG4gIGdyb3VwOiAnaW5saW5lJyxcbiAgaW5saW5lOiB0cnVlLFxuICBhdG9tOiB0cnVlLFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmRleDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICBpZDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB2YWx1ZTogeyBkZWZhdWx0OiAnJyB9LFxuICAgICAgaW5UYWJsZTogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgfTtcbiAgfSxcbiAgcGFyc2VIVE1MKCkge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIHRhZzogJ3NwYW5bZGF0YS10eXBlPVwiZHJhZ19pbl90aGVfYmxhbmtcIl0nLFxuICAgICAgICBnZXRBdHRyczogKGVsKSA9PiAoe1xuICAgICAgICAgIGluZGV4OiBlbC5kYXRhc2V0LmluZGV4LFxuICAgICAgICAgIGlkOiBlbC5kYXRhc2V0LmlkLFxuICAgICAgICAgIHZhbHVlOiBlbC5kYXRhc2V0LnZhbHVlLFxuICAgICAgICAgIGluVGFibGU6IGVsLmRhdGFzZXQuaW5UYWJsZSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIF07XG4gIH0sXG4gIHJlbmRlckhUTUwoeyBIVE1MQXR0cmlidXRlcyB9KSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICdzcGFuJyxcbiAgICAgIHtcbiAgICAgICAgJ2RhdGEtdHlwZSc6ICdkcmFnX2luX3RoZV9ibGFuaycsXG4gICAgICAgICdkYXRhLWluZGV4JzogSFRNTEF0dHJpYnV0ZXMuaW5kZXgsXG4gICAgICAgICdkYXRhLWlkJzogSFRNTEF0dHJpYnV0ZXMuaWQsXG4gICAgICAgICdkYXRhLXZhbHVlJzogSFRNTEF0dHJpYnV0ZXMudmFsdWUsXG4gICAgICAgICdkYXRhLWluLXRhYmxlJzogSFRNTEF0dHJpYnV0ZXMuaW5UYWJsZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxEcmFnSW5UaGVCbGFuayB7Li4ueyAuLi5wcm9wcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH19IC8+KTtcbiAgfSxcbn0pO1xuXG4vKipcbiAqIElubGluZURyb3Bkb3duIE5vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IElubGluZURyb3Bkb3duTm9kZSA9IE5vZGUuY3JlYXRlKHtcbiAgbmFtZTogJ2lubGluZV9kcm9wZG93bicsXG4gIGdyb3VwOiAnaW5saW5lJyxcbiAgaW5saW5lOiB0cnVlLFxuICBhdG9tOiB0cnVlLFxuICBhZGRBdHRyaWJ1dGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBpbmRleDogeyBkZWZhdWx0OiBudWxsIH0sXG4gICAgICB2YWx1ZTogeyBkZWZhdWx0OiAnJyB9LFxuICAgIH07XG4gIH0sXG4gIHBhcnNlSFRNTCgpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdzcGFuW2RhdGEtdHlwZT1cImlubGluZV9kcm9wZG93blwiXScsXG4gICAgICAgIGdldEF0dHJzOiAoZWwpID0+ICh7XG4gICAgICAgICAgaW5kZXg6IGVsLmRhdGFzZXQuaW5kZXgsXG4gICAgICAgICAgdmFsdWU6IGVsLmRhdGFzZXQudmFsdWUsXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICBdO1xuICB9LFxuICByZW5kZXJIVE1MKHsgSFRNTEF0dHJpYnV0ZXMgfSkge1xuICAgIHJldHVybiBbXG4gICAgICAnc3BhbicsXG4gICAgICB7XG4gICAgICAgICdkYXRhLXR5cGUnOiAnaW5saW5lX2Ryb3Bkb3duJyxcbiAgICAgICAgJ2RhdGEtaW5kZXgnOiBIVE1MQXR0cmlidXRlcy5pbmRleCxcbiAgICAgICAgJ2RhdGEtdmFsdWUnOiBIVE1MQXR0cmlidXRlcy52YWx1ZSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfSxcbiAgYWRkTm9kZVZpZXcoKSB7XG4gICAgcmV0dXJuIFJlYWN0Tm9kZVZpZXdSZW5kZXJlcigocHJvcHMpID0+IDxJbmxpbmVEcm9wZG93biB7Li4ueyAuLi5wcm9wcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH19IC8+KTtcbiAgfSxcbn0pO1xuIl19
|