@uiw/react-md-editor 3.3.6 → 3.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +2 -8
  2. package/dist/markdown-editor.css +3 -7
  3. package/lib/cjs/Context.js +2 -8
  4. package/lib/cjs/Editor.js +54 -86
  5. package/lib/cjs/commands/bold.js +5 -9
  6. package/lib/cjs/commands/code.js +5 -11
  7. package/lib/cjs/commands/comment.js +5 -7
  8. package/lib/cjs/commands/divider.js +1 -1
  9. package/lib/cjs/commands/fullscreen.js +1 -5
  10. package/lib/cjs/commands/group.js +3 -10
  11. package/lib/cjs/commands/hr.js +1 -4
  12. package/lib/cjs/commands/image.js +5 -9
  13. package/lib/cjs/commands/index.d.ts +11 -12
  14. package/lib/cjs/commands/index.js +52 -87
  15. package/lib/cjs/commands/italic.js +5 -9
  16. package/lib/cjs/commands/link.js +5 -9
  17. package/lib/cjs/commands/list.js +7 -11
  18. package/lib/cjs/commands/preview.js +2 -5
  19. package/lib/cjs/commands/quote.js +3 -6
  20. package/lib/cjs/commands/strikeThrough.js +5 -9
  21. package/lib/cjs/commands/title.js +1 -6
  22. package/lib/cjs/commands/title1.js +1 -6
  23. package/lib/cjs/commands/title2.js +1 -6
  24. package/lib/cjs/commands/title3.js +1 -6
  25. package/lib/cjs/commands/title4.js +1 -6
  26. package/lib/cjs/commands/title5.js +1 -6
  27. package/lib/cjs/commands/title6.js +1 -6
  28. package/lib/cjs/components/DragBar/index.js +3 -14
  29. package/lib/cjs/components/TextArea/Markdown.js +8 -20
  30. package/lib/cjs/components/TextArea/Textarea.js +17 -36
  31. package/lib/cjs/components/TextArea/handleKeyDown.js +1 -19
  32. package/lib/cjs/components/TextArea/index.js +11 -27
  33. package/lib/cjs/components/TextArea/shortcuts.js +1 -17
  34. package/lib/cjs/components/Toolbar/Child.js +9 -18
  35. package/lib/cjs/components/Toolbar/index.js +14 -34
  36. package/lib/cjs/index.js +2 -11
  37. package/lib/cjs/utils/InsertTextAtPosition.js +28 -33
  38. package/lib/cjs/utils/getSurroundingWord.js +9 -12
  39. package/lib/cjs/utils/index.js +1 -1
  40. package/lib/cjs/utils/markdownUtils.js +12 -23
  41. package/lib/esm/Context.js +1 -1
  42. package/lib/esm/Editor.js +54 -71
  43. package/lib/esm/commands/bold.js +5 -5
  44. package/lib/esm/commands/code.js +5 -7
  45. package/lib/esm/commands/comment.js +5 -5
  46. package/lib/esm/commands/divider.js +1 -1
  47. package/lib/esm/commands/fullscreen.js +1 -2
  48. package/lib/esm/commands/group.js +3 -5
  49. package/lib/esm/commands/hr.js +1 -1
  50. package/lib/esm/commands/image.js +5 -5
  51. package/lib/esm/commands/index.d.ts +11 -12
  52. package/lib/esm/commands/index.js +8 -18
  53. package/lib/esm/commands/italic.js +5 -5
  54. package/lib/esm/commands/link.js +5 -5
  55. package/lib/esm/commands/list.js +5 -5
  56. package/lib/esm/commands/preview.js +1 -1
  57. package/lib/esm/commands/quote.js +3 -2
  58. package/lib/esm/commands/strikeThrough.js +5 -5
  59. package/lib/esm/commands/title.js +1 -1
  60. package/lib/esm/commands/title1.js +1 -3
  61. package/lib/esm/commands/title2.js +1 -3
  62. package/lib/esm/commands/title3.js +1 -3
  63. package/lib/esm/commands/title4.js +1 -3
  64. package/lib/esm/commands/title5.js +1 -3
  65. package/lib/esm/commands/title6.js +1 -3
  66. package/lib/esm/components/DragBar/index.js +3 -12
  67. package/lib/esm/components/TextArea/Markdown.js +9 -13
  68. package/lib/esm/components/TextArea/Textarea.js +17 -20
  69. package/lib/esm/components/TextArea/handleKeyDown.js +2 -14
  70. package/lib/esm/components/TextArea/index.css +1 -2
  71. package/lib/esm/components/TextArea/index.js +11 -14
  72. package/lib/esm/components/TextArea/shortcuts.js +1 -14
  73. package/lib/esm/components/Toolbar/Child.js +9 -10
  74. package/lib/esm/components/Toolbar/index.css +2 -5
  75. package/lib/esm/components/Toolbar/index.js +14 -25
  76. package/lib/esm/index.js +1 -1
  77. package/lib/esm/utils/InsertTextAtPosition.js +28 -31
  78. package/lib/esm/utils/getSurroundingWord.js +9 -10
  79. package/lib/esm/utils/index.js +1 -1
  80. package/lib/esm/utils/markdownUtils.js +10 -16
  81. package/package.json +14 -66
  82. package/src/commands/index.ts +17 -13
  83. package/src/components/Toolbar/index.tsx +2 -4
@@ -1,33 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = Child;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _ = _interopRequireDefault(require("./"));
17
-
18
12
  var _Context = require("../../Context");
19
-
20
13
  function Child(props) {
21
14
  var _ref = props || {},
22
- prefixCls = _ref.prefixCls,
23
- groupName = _ref.groupName,
24
- commands = _ref.commands,
25
- children = _ref.children;
26
-
15
+ prefixCls = _ref.prefixCls,
16
+ groupName = _ref.groupName,
17
+ commands = _ref.commands,
18
+ children = _ref.children;
27
19
  var _useContext = (0, _react.useContext)(_Context.EditorContext),
28
- _useContext$barPopup = _useContext.barPopup,
29
- barPopup = _useContext$barPopup === void 0 ? {} : _useContext$barPopup;
30
-
20
+ _useContext$barPopup = _useContext.barPopup,
21
+ barPopup = _useContext$barPopup === void 0 ? {} : _useContext$barPopup;
31
22
  return (0, _react.useMemo)(function () {
32
23
  return /*#__PURE__*/_react.default.createElement("div", {
33
24
  className: "".concat(prefixCls, "-toolbar-child ").concat(groupName && barPopup[groupName] ? 'active' : ''),
@@ -40,9 +31,9 @@ function Child(props) {
40
31
  height: "",
41
32
  isChild: true
42
33
  })) : children);
43
- }, // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ },
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
44
36
  [commands, barPopup, groupName, prefixCls]);
45
37
  }
46
-
47
38
  module.exports = exports.default;
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1Rvb2xiYXIvQ2hpbGQudHN4Il0sIm5hbWVzIjpbIkNoaWxkIiwicHJvcHMiLCJwcmVmaXhDbHMiLCJncm91cE5hbWUiLCJjb21tYW5kcyIsImNoaWxkcmVuIiwiRWRpdG9yQ29udGV4dCIsImJhclBvcHVwIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQU9lLFNBQVNBLEtBQVQsQ0FBZUMsS0FBZixFQUFrQztBQUMvQyxhQUFxREEsS0FBSyxJQUFJLEVBQTlEO0FBQUEsTUFBUUMsU0FBUixRQUFRQSxTQUFSO0FBQUEsTUFBbUJDLFNBQW5CLFFBQW1CQSxTQUFuQjtBQUFBLE1BQThCQyxRQUE5QixRQUE4QkEsUUFBOUI7QUFBQSxNQUF3Q0MsUUFBeEMsUUFBd0NBLFFBQXhDOztBQUNBLG9CQUEwQix1QkFBV0Msc0JBQVgsQ0FBMUI7QUFBQSx5Q0FBUUMsUUFBUjtBQUFBLE1BQVFBLFFBQVIscUNBQW1CLEVBQW5COztBQUNBLFNBQU8sb0JBQ0w7QUFBQSx3QkFDRTtBQUNFLE1BQUEsU0FBUyxZQUFLTCxTQUFMLDRCQUFnQ0MsU0FBUyxJQUFJSSxRQUFRLENBQUNKLFNBQUQsQ0FBckIsR0FBbUMsUUFBbkMsR0FBOEMsRUFBOUUsQ0FEWDtBQUVFLE1BQUEsT0FBTyxFQUFFLGlCQUFDSyxDQUFEO0FBQUEsZUFBT0EsQ0FBQyxDQUFDQyxlQUFGLEVBQVA7QUFBQTtBQUZYLE9BSUdDLEtBQUssQ0FBQ0MsT0FBTixDQUFjUCxRQUFkLGlCQUEwQiw2QkFBQyxTQUFEO0FBQVMsTUFBQSxRQUFRLEVBQUVBO0FBQW5CLE9BQWlDSCxLQUFqQztBQUF3QyxNQUFBLE1BQU0sRUFBQyxFQUEvQztBQUFrRCxNQUFBLE9BQU87QUFBekQsT0FBMUIsR0FBeUZJLFFBSjVGLENBREY7QUFBQSxHQURLLEVBU0w7QUFDQSxHQUFDRCxRQUFELEVBQVdHLFFBQVgsRUFBcUJKLFNBQXJCLEVBQWdDRCxTQUFoQyxDQVZLLENBQVA7QUFZRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICcuL0NoaWxkLmxlc3MnO1xuaW1wb3J0IFRvb2xiYXIsIHsgSVRvb2xiYXJQcm9wcyB9IGZyb20gJy4vJztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcblxuZXhwb3J0IHR5cGUgQ2hpbGRQcm9wcyA9IElUb29sYmFyUHJvcHMgJiB7XG4gIGNoaWxkcmVuPzogSlNYLkVsZW1lbnQ7XG4gIGdyb3VwTmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoaWxkKHByb3BzOiBDaGlsZFByb3BzKSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzLCBncm91cE5hbWUsIGNvbW1hbmRzLCBjaGlsZHJlbiB9ID0gcHJvcHMgfHwge307XG4gIGNvbnN0IHsgYmFyUG9wdXAgPSB7fSB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgcmV0dXJuIHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeENsc30tdG9vbGJhci1jaGlsZCAke2dyb3VwTmFtZSAmJiBiYXJQb3B1cFtncm91cE5hbWVdID8gJ2FjdGl2ZScgOiAnJ31gfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgID5cbiAgICAgICAge0FycmF5LmlzQXJyYXkoY29tbWFuZHMpID8gPFRvb2xiYXIgY29tbWFuZHM9e2NvbW1hbmRzfSB7Li4ucHJvcHN9IGhlaWdodD1cIlwiIGlzQ2hpbGQgLz4gOiBjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICksXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIFtjb21tYW5kcywgYmFyUG9wdXAsIGdyb3VwTmFtZSwgcHJlZml4Q2xzXSxcbiAgKTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGlsZCIsInByb3BzIiwicHJlZml4Q2xzIiwiZ3JvdXBOYW1lIiwiY29tbWFuZHMiLCJjaGlsZHJlbiIsInVzZUNvbnRleHQiLCJFZGl0b3JDb250ZXh0IiwiYmFyUG9wdXAiLCJ1c2VNZW1vIiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1Rvb2xiYXIvQ2hpbGQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0ICcuL0NoaWxkLmxlc3MnO1xuaW1wb3J0IFRvb2xiYXIsIHsgSVRvb2xiYXJQcm9wcyB9IGZyb20gJy4vJztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcblxuZXhwb3J0IHR5cGUgQ2hpbGRQcm9wcyA9IElUb29sYmFyUHJvcHMgJiB7XG4gIGNoaWxkcmVuPzogSlNYLkVsZW1lbnQ7XG4gIGdyb3VwTmFtZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENoaWxkKHByb3BzOiBDaGlsZFByb3BzKSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzLCBncm91cE5hbWUsIGNvbW1hbmRzLCBjaGlsZHJlbiB9ID0gcHJvcHMgfHwge307XG4gIGNvbnN0IHsgYmFyUG9wdXAgPSB7fSB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgcmV0dXJuIHVzZU1lbW8oXG4gICAgKCkgPT4gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeENsc30tdG9vbGJhci1jaGlsZCAke2dyb3VwTmFtZSAmJiBiYXJQb3B1cFtncm91cE5hbWVdID8gJ2FjdGl2ZScgOiAnJ31gfVxuICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgID5cbiAgICAgICAge0FycmF5LmlzQXJyYXkoY29tbWFuZHMpID8gPFRvb2xiYXIgY29tbWFuZHM9e2NvbW1hbmRzfSB7Li4ucHJvcHN9IGhlaWdodD1cIlwiIGlzQ2hpbGQgLz4gOiBjaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICksXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICAgIFtjb21tYW5kcywgYmFyUG9wdXAsIGdyb3VwTmFtZSwgcHJlZml4Q2xzXSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFFQTtBQUNBO0FBT2UsU0FBU0EsS0FBSyxDQUFDQyxLQUFpQixFQUFFO0VBQy9DLFdBQXFEQSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQXhEQyxTQUFTLFFBQVRBLFNBQVM7SUFBRUMsU0FBUyxRQUFUQSxTQUFTO0lBQUVDLFFBQVEsUUFBUkEsUUFBUTtJQUFFQyxRQUFRLFFBQVJBLFFBQVE7RUFDaEQsa0JBQTBCLElBQUFDLGlCQUFVLEVBQUNDLHNCQUFhLENBQUM7SUFBQSxtQ0FBM0NDLFFBQVE7SUFBUkEsUUFBUSxxQ0FBRyxDQUFDLENBQUM7RUFDckIsT0FBTyxJQUFBQyxjQUFPLEVBQ1o7SUFBQSxvQkFDRTtNQUNFLFNBQVMsWUFBS1AsU0FBUyw0QkFBa0JDLFNBQVMsSUFBSUssUUFBUSxDQUFDTCxTQUFTLENBQUMsR0FBRyxRQUFRLEdBQUcsRUFBRSxDQUFHO01BQzVGLE9BQU8sRUFBRSxpQkFBQ08sQ0FBQztRQUFBLE9BQUtBLENBQUMsQ0FBQ0MsZUFBZSxFQUFFO01BQUE7SUFBQyxHQUVuQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNULFFBQVEsQ0FBQyxnQkFBRyw2QkFBQyxTQUFPO01BQUMsUUFBUSxFQUFFQTtJQUFTLEdBQUtILEtBQUs7TUFBRSxNQUFNLEVBQUMsRUFBRTtNQUFDLE9BQU87SUFBQSxHQUFHLEdBQUdJLFFBQVEsQ0FDOUY7RUFBQSxDQUNQO0VBQ0Q7RUFDQSxDQUFDRCxRQUFRLEVBQUVJLFFBQVEsRUFBRUwsU0FBUyxFQUFFRCxTQUFTLENBQUMsQ0FDM0M7QUFDSDtBQUFDIn0=
@@ -1,50 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.ToolbarItems = ToolbarItems;
11
9
  exports.default = Toolbar;
12
-
13
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
-
15
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
-
17
12
  var _react = _interopRequireWildcard(require("react"));
18
-
19
13
  var _Context = require("../../Context");
20
-
21
14
  var _Child = _interopRequireDefault(require("./Child"));
22
-
23
15
  function ToolbarItems(props) {
24
16
  var prefixCls = props.prefixCls;
25
-
26
17
  var _useContext = (0, _react.useContext)(_Context.EditorContext),
27
- fullscreen = _useContext.fullscreen,
28
- preview = _useContext.preview,
29
- _useContext$barPopup = _useContext.barPopup,
30
- barPopup = _useContext$barPopup === void 0 ? {} : _useContext$barPopup,
31
- commandOrchestrator = _useContext.commandOrchestrator,
32
- dispatch = _useContext.dispatch;
33
-
18
+ fullscreen = _useContext.fullscreen,
19
+ preview = _useContext.preview,
20
+ _useContext$barPopup = _useContext.barPopup,
21
+ barPopup = _useContext$barPopup === void 0 ? {} : _useContext$barPopup,
22
+ commandOrchestrator = _useContext.commandOrchestrator,
23
+ dispatch = _useContext.dispatch;
34
24
  function handleClick(command, name) {
35
25
  if (!dispatch) return;
36
26
  var state = {
37
27
  barPopup: (0, _objectSpread2.default)({}, barPopup)
38
28
  };
39
-
40
29
  if (command.keyCommand === 'preview') {
41
30
  state.preview = command.value;
42
31
  }
43
-
44
32
  if (command.keyCommand === 'fullscreen') {
45
33
  state.fullscreen = !fullscreen;
46
34
  }
47
-
48
35
  if (props.commands && command.keyCommand === 'group') {
49
36
  props.commands.forEach(function (item) {
50
37
  if (name === item.groupName) {
@@ -58,14 +45,11 @@ function ToolbarItems(props) {
58
45
  state.barPopup[keyName] = false;
59
46
  });
60
47
  }
61
-
62
48
  if (Object.keys(state).length) {
63
49
  dispatch((0, _objectSpread2.default)({}, state));
64
50
  }
65
-
66
51
  commandOrchestrator && commandOrchestrator.executeCommand(command);
67
52
  }
68
-
69
53
  (0, _react.useEffect)(function () {
70
54
  if (document) {
71
55
  document.body.style.overflow = !fullscreen ? 'initial' : 'hidden';
@@ -79,10 +63,9 @@ function ToolbarItems(props) {
79
63
  className: "".concat(prefixCls, "-toolbar-divider")
80
64
  }));
81
65
  }
82
-
83
66
  if (!item.keyCommand) return /*#__PURE__*/_react.default.createElement(_react.Fragment, null);
84
67
  var activeBtn = fullscreen && item.keyCommand === 'fullscreen' || item.keyCommand === 'preview' && preview === item.value;
85
- var childNode = typeof item.children === 'function' ? item.children({
68
+ var childNode = item.children && typeof item.children === 'function' ? item.children({
86
69
  getState: function getState() {
87
70
  return commandOrchestrator.getState();
88
71
  },
@@ -114,22 +97,19 @@ function ToolbarItems(props) {
114
97
  groupName: item.groupName,
115
98
  prefixCls: prefixCls,
116
99
  children: childNode,
117
- commands: Array.isArray(item.children) && typeof item.children !== 'function' ? item.children : undefined
100
+ commands: Array.isArray(item.children) ? item.children : undefined
118
101
  }));
119
102
  }));
120
103
  }
121
-
122
104
  function Toolbar() {
123
105
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
124
106
  var prefixCls = props.prefixCls,
125
- _props$height = props.height,
126
- height = _props$height === void 0 ? 29 : _props$height,
127
- isChild = props.isChild;
128
-
107
+ _props$height = props.height,
108
+ height = _props$height === void 0 ? 29 : _props$height,
109
+ isChild = props.isChild;
129
110
  var _useContext2 = (0, _react.useContext)(_Context.EditorContext),
130
- commands = _useContext2.commands,
131
- extraCommands = _useContext2.extraCommands;
132
-
111
+ commands = _useContext2.commands,
112
+ extraCommands = _useContext2.extraCommands;
133
113
  return /*#__PURE__*/_react.default.createElement("div", {
134
114
  className: "".concat(prefixCls, "-toolbar"),
135
115
  style: {
@@ -141,4 +121,4 @@ function Toolbar() {
141
121
  commands: extraCommands || []
142
122
  })));
143
123
  }
144
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1Rvb2xiYXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlRvb2xiYXJJdGVtcyIsInByb3BzIiwicHJlZml4Q2xzIiwiRWRpdG9yQ29udGV4dCIsImZ1bGxzY3JlZW4iLCJwcmV2aWV3IiwiYmFyUG9wdXAiLCJjb21tYW5kT3JjaGVzdHJhdG9yIiwiZGlzcGF0Y2giLCJoYW5kbGVDbGljayIsImNvbW1hbmQiLCJuYW1lIiwic3RhdGUiLCJrZXlDb21tYW5kIiwidmFsdWUiLCJjb21tYW5kcyIsImZvckVhY2giLCJpdGVtIiwiZ3JvdXBOYW1lIiwicGFyZW50IiwiT2JqZWN0Iiwia2V5cyIsImtleU5hbWUiLCJsZW5ndGgiLCJleGVjdXRlQ29tbWFuZCIsImRvY3VtZW50IiwiYm9keSIsInN0eWxlIiwib3ZlcmZsb3ciLCJtYXAiLCJpZHgiLCJsaVByb3BzIiwiYWN0aXZlQnRuIiwiY2hpbGROb2RlIiwiY2hpbGRyZW4iLCJnZXRTdGF0ZSIsInRleHRBcGkiLCJ1bmRlZmluZWQiLCJjbG9zZSIsImV4ZWN1dGUiLCJkaXNhYmxlZCIsInRlc3QiLCJidXR0b25Qcm9wcyIsImljb24iLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJ0eXBlIiwib25DbGljayIsImV2biIsInN0b3BQcm9wYWdhdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsIlRvb2xiYXIiLCJoZWlnaHQiLCJpc0NoaWxkIiwiZXh0cmFDb21tYW5kcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUVBOztBQVVPLFNBQVNBLFlBQVQsQ0FBc0JDLEtBQXRCLEVBQTRDO0FBQ2pELE1BQVFDLFNBQVIsR0FBc0JELEtBQXRCLENBQVFDLFNBQVI7O0FBQ0Esb0JBQThFLHVCQUFXQyxzQkFBWCxDQUE5RTtBQUFBLE1BQVFDLFVBQVIsZUFBUUEsVUFBUjtBQUFBLE1BQW9CQyxPQUFwQixlQUFvQkEsT0FBcEI7QUFBQSx5Q0FBNkJDLFFB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QUVBLEtBQUssQ0FBQ2MsUUFBTixJQUFrQkEsUUFBbEIsSUFBOEI7QUFBakUsS0FERixFQUVHLENBQUN1QyxPQUFELGlCQUFZLDZCQUFDLFlBQUQsNkJBQWtCckQsS0FBbEI7QUFBeUIsSUFBQSxRQUFRLEVBQUVzRCxhQUFhLElBQUk7QUFBcEQsS0FGZixDQURGO0FBTUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRnJhZ21lbnQsIHVzZUNvbnRleHQsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElQcm9wcyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEVkaXRvckNvbnRleHQsIFByZXZpZXdUeXBlLCBDb250ZXh0U3RvcmUgfSBmcm9tICcuLi8uLi9Db250ZXh0JztcbmltcG9ydCB7IElDb21tYW5kIH0gZnJvbSAnLi4vLi4vY29tbWFuZHMnO1xuaW1wb3J0IENoaWxkIGZyb20gJy4vQ2hpbGQnO1xuaW1wb3J0ICcuL2luZGV4Lmxlc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUb29sYmFyUHJvcHMgZXh0ZW5kcyBJUHJvcHMge1xuICBoZWlnaHQ/OiBSZWFjdC5DU1NQcm9wZXJ0aWVzWydoZWlnaHQnXTtcbiAgb25Db21tYW5kPzogKGNvbW1hbmQ6IElDb21tYW5kPHN0cmluZz4sIGdyb3VwTmFtZT86IHN0cmluZykgPT4gdm9pZDtcbiAgY29tbWFuZHM/OiBJQ29tbWFuZDxzdHJpbmc+W107XG4gIGlzQ2hpbGQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVG9vbGJhckl0ZW1zKHByb3BzOiBJVG9vbGJhclByb3BzKSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzIH0gPSBwcm9wcztcbiAgY29uc3QgeyBmdWxsc2NyZWVuLCBwcmV2aWV3LCBiYXJQb3B1cCA9IHt9LCBjb21tYW5kT3JjaGVzdHJhdG9yLCBkaXNwYXRjaCB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgZnVuY3Rpb24gaGFuZGxlQ2xpY2soY29tbWFuZDogSUNvbW1hbmQ8c3RyaW5nPiwgbmFtZT86IHN0cmluZykge1xuICAgIGlmICghZGlzcGF0Y2gpIHJldHVybjtcbiAgICBjb25zdCBzdGF0ZTogQ29udGV4dFN0b3JlID0geyBiYXJQb3B1cDogeyAuLi5iYXJQb3B1cCB9IH07XG4gICAgaWYgKGNvbW1hbmQua2V5Q29tbWFuZCA9PT0gJ3ByZXZpZXcnKSB7XG4gICAgICBzdGF0ZS5wcmV2aWV3ID0gY29tbWFuZC52YWx1ZSBhcyBQcmV2aWV3VHlwZTtcbiAgICB9XG4gICAgaWYgKGNvbW1hbmQua2V5Q29tbWFuZCA9PT0gJ2Z1bGxzY3JlZW4nKSB7XG4gICAgICBzdGF0ZS5mdWxsc2NyZWVuID0gIWZ1bGxzY3JlZW47XG4gICAgfVxuICAgIGlmIChwcm9wcy5jb21tYW5kcyAmJiBjb21tYW5kLmtleUNvbW1hbmQgPT09ICdncm91cCcpIHtcbiAgICAgIHByb3BzLmNvbW1hbmRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaWYgKG5hbWUgPT09IGl0ZW0uZ3JvdXBOYW1lKSB7XG4gICAgICAgICAgc3RhdGUuYmFyUG9wdXAhW25hbWUhXSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5rZXlDb21tYW5kKSB7XG4gICAgICAgICAgc3RhdGUuYmFyUG9wdXAhW2l0ZW0uZ3JvdXBOYW1lIV0gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChuYW1lIHx8IGNvbW1hbmQucGFyZW50KSB7XG4gICAgICBPYmplY3Qua2V5cyhzdGF0ZS5iYXJQb3B1cCB8fCB7fSkuZm9yRWFjaCgoa2V5TmFtZSkgPT4ge1xuICAgICAgICBzdGF0ZS5iYXJQb3B1cCFba2V5TmFtZV0gPSBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhzdGF0ZSkubGVuZ3RoKSB7XG4gICAgICBkaXNwYXRjaCh7IC4uLnN0YXRlIH0pO1xuICAgIH1cbiAgICBjb21tYW5kT3JjaGVzdHJhdG9yICYmIGNvbW1hbmRPcmNoZXN0cmF0b3IuZXhlY3V0ZUNvbW1hbmQoY29tbWFuZCk7XG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudCkge1xuICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICFmdWxsc2NyZWVuID8gJ2luaXRpYWwnIDogJ2hpZGRlbic7XG4gICAgfVxuICB9LCBbZnVsbHNjcmVlbl0pO1xuXG4gIHJldHVybiAoXG4gICAgPHVsPlxuICAgICAgeyhwcm9wcy5jb21tYW5kcyB8fCBbXSkubWFwKChpdGVtLCBpZHgpID0+IHtcbiAgICAgICAgaWYgKGl0ZW0ua2V5Q29tbWFuZCA9PT0gJ2RpdmlkZXInKSB7XG4gICAgICAgICAgcmV0dXJuIDxsaSBrZXk9e2lkeH0gey4uLml0ZW0ubGlQcm9wc30gY2xhc3NOYW1lPXtgJHtwcmVmaXhDbHN9LXRvb2xiYXItZGl2aWRlcmB9IC8+O1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXRlbS5rZXlDb21tYW5kKSByZXR1cm4gPEZyYWdtZW50IC8+O1xuICAgICAgICBjb25zdCBhY3RpdmVCdG4gPVxuICAgICAgICAgIChmdWxsc2NyZWVuICYmIGl0ZW0ua2V5Q29tbWFuZCA9PT0gJ2Z1bGxzY3JlZW4nKSB8fCAoaXRlbS5rZXlDb21tYW5kID09PSAncHJldmlldycgJiYgcHJldmlldyA9PT0gaXRlbS52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGNoaWxkTm9kZSA9XG4gICAgICAgICAgdHlwZW9mIGl0ZW0uY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gaXRlbS5jaGlsZHJlbih7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGU6ICgpID0+IGNvbW1hbmRPcmNoZXN0cmF0b3IhLmdldFN0YXRlKCksXG4gICAgICAgICAgICAgICAgdGV4dEFwaTogY29tbWFuZE9yY2hlc3RyYXRvciA/IGNvbW1hbmRPcmNoZXN0cmF0b3IhLnRleHRBcGkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xvc2U6ICgpID0+IGhhbmRsZUNsaWNrKHt9LCBpdGVtLmdyb3VwTmFtZSksXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogKCkgPT4gaGFuZGxlQ2xpY2soeyBleGVjdXRlOiBpdGVtLmV4ZWN1dGUgfSksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBiYXJQb3B1cCAmJiBwcmV2aWV3ICYmIHByZXZpZXcgPT09ICdwcmV2aWV3JyAmJiAhLyhwcmV2aWV3fGZ1bGxzY3JlZW4pLy50ZXN0KGl0ZW0ua2V5Q29tbWFuZCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17aWR4fSB7Li4uaXRlbS5saVByb3BzfSBjbGFzc05hbWU9e2FjdGl2ZUJ0biA/IGBhY3RpdmVgIDogJyd9PlxuICAgICAgICAgICAgeyFpdGVtLmJ1dHRvblByb3BzICYmIGl0ZW0uaWNvbn1cbiAgICAgICAgICAgIHtpdGVtLmJ1dHRvblByb3BzICYmXG4gICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICdkYXRhLW5hbWUnOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAuLi5pdGVtLmJ1dHRvblByb3BzLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2bjogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZuLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljayhpdGVtLCBpdGVtLmdyb3VwTmFtZSk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaXRlbS5pY29uLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAge2l0ZW0uY2hpbGRyZW4gJiYgKFxuICAgICAgICAgICAgICA8Q2hpbGRcbiAgICAgICAgICAgICAgICBncm91cE5hbWU9e2l0ZW0uZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgIHByZWZpeENscz17cHJlZml4Q2xzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtjaGlsZE5vZGV9XG4gICAgICAgICAgICAgICAgY29tbWFuZHM9e1xuICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShpdGVtLmNoaWxkcmVuKSAmJiB0eXBlb2YgaXRlbS5jaGlsZHJlbiAhPT0gJ2Z1bmN0aW9uJyA/IGl0ZW0uY2hpbGRyZW4gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG4gICAgICB9KX1cbiAgICA8L3VsPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUb29sYmFyKHByb3BzOiBJVG9vbGJhclByb3BzID0ge30pIHtcbiAgY29uc3QgeyBwcmVmaXhDbHMsIGhlaWdodCA9IDI5LCBpc0NoaWxkIH0gPSBwcm9wcztcbiAgY29uc3QgeyBjb21tYW5kcywgZXh0cmFDb21tYW5kcyB9ID0gdXNlQ29udGV4dChFZGl0b3JDb250ZXh0KTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7cHJlZml4Q2xzfS10b29sYmFyYH0gc3R5bGU9e3sgaGVpZ2h0IH19PlxuICAgICAgPFRvb2xiYXJJdGVtcyB7Li4ucHJvcHN9IGNvbW1hbmRzPXtwcm9wcy5jb21tYW5kcyB8fCBjb21tYW5kcyB8fCBbXX0gLz5cbiAgICAgIHshaXNDaGlsZCAmJiA8VG9vbGJhckl0ZW1zIHsuLi5wcm9wc30gY29tbWFuZHM9e2V4dHJhQ29tbWFuZHMgfHwgW119IC8+fVxuICAgIDwvZGl2PlxuICApO1xufVxuIl19
124
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUb29sYmFySXRlbXMiLCJwcm9wcyIsInByZWZpeENscyIsInVzZUNvbnRleHQiLCJFZGl0b3JDb250ZXh0IiwiZnVsbHNjcmVlbiIsInByZXZpZXciLCJiYXJQb3B1cCIsImNvbW1hbmRPcmNoZXN0cmF0b3IiLCJkaXNwYXRjaCIsImhhbmRsZUNsaWNrIiwiY29tbWFuZCIsIm5hbWUiLCJzdGF0ZSIsImtleUNvbW1hbmQiLCJ2YWx1ZSIsImNvbW1hbmRzIiwiZm9yRWFjaCIsIml0ZW0iLCJncm91cE5hbWUiLCJwYXJlbnQiLCJPYmplY3QiLCJrZXlzIiwia2V5TmFtZSIsImxlbmd0aCIsImV4ZWN1dGVDb21tYW5kIiwidXNlRWZmZWN0IiwiZG9jdW1lbnQiLCJib2R5Iiwic3R5bGUiLCJvdmVyZmxvdyIsIm1hcCIsImlkeCIsImxpUHJvcHMiLCJhY3RpdmVCdG4iLCJjaGlsZE5vZGUiLCJjaGlsZHJlbiIsImdldFN0YXRlIiwidGV4dEFwaSIsInVuZGVmaW5lZCIsImNsb3NlIiwiZXhlY3V0ZSIsImRpc2FibGVkIiwidGVzdCIsImJ1dHRvblByb3BzIiwiaWNvbiIsIlJlYWN0IiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJvbkNsaWNrIiwiZXZuIiwic3RvcFByb3BhZ2F0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiVG9vbGJhciIsImhlaWdodCIsImlzQ2hpbGQiLCJleHRyYUNvbW1hbmRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvVG9vbGJhci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50LCB1c2VDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJUHJvcHMgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBFZGl0b3JDb250ZXh0LCBQcmV2aWV3VHlwZSwgQ29udGV4dFN0b3JlIH0gZnJvbSAnLi4vLi4vQ29udGV4dCc7XG5pbXBvcnQgeyBJQ29tbWFuZCB9IGZyb20gJy4uLy4uL2NvbW1hbmRzJztcbmltcG9ydCBDaGlsZCBmcm9tICcuL0NoaWxkJztcbmltcG9ydCAnLi9pbmRleC5sZXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBJVG9vbGJhclByb3BzIGV4dGVuZHMgSVByb3BzIHtcbiAgaGVpZ2h0PzogUmVhY3QuQ1NTUHJvcGVydGllc1snaGVpZ2h0J107XG4gIG9uQ29tbWFuZD86IChjb21tYW5kOiBJQ29tbWFuZDxzdHJpbmc+LCBncm91cE5hbWU/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNvbW1hbmRzPzogSUNvbW1hbmQ8c3RyaW5nPltdO1xuICBpc0NoaWxkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRvb2xiYXJJdGVtcyhwcm9wczogSVRvb2xiYXJQcm9wcykge1xuICBjb25zdCB7IHByZWZpeENscyB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgZnVsbHNjcmVlbiwgcHJldmlldywgYmFyUG9wdXAgPSB7fSwgY29tbWFuZE9yY2hlc3RyYXRvciwgZGlzcGF0Y2ggfSA9IHVzZUNvbnRleHQoRWRpdG9yQ29udGV4dCk7XG4gIGZ1bmN0aW9uIGhhbmRsZUNsaWNrKGNvbW1hbmQ6IElDb21tYW5kPHN0cmluZz4sIG5hbWU/OiBzdHJpbmcpIHtcbiAgICBpZiAoIWRpc3BhdGNoKSByZXR1cm47XG4gICAgY29uc3Qgc3RhdGU6IENvbnRleHRTdG9yZSA9IHsgYmFyUG9wdXA6IHsgLi4uYmFyUG9wdXAgfSB9O1xuICAgIGlmIChjb21tYW5kLmtleUNvbW1hbmQgPT09ICdwcmV2aWV3Jykge1xuICAgICAgc3RhdGUucHJldmlldyA9IGNvbW1hbmQudmFsdWUgYXMgUHJldmlld1R5cGU7XG4gICAgfVxuICAgIGlmIChjb21tYW5kLmtleUNvbW1hbmQgPT09ICdmdWxsc2NyZWVuJykge1xuICAgICAgc3RhdGUuZnVsbHNjcmVlbiA9ICFmdWxsc2NyZWVuO1xuICAgIH1cbiAgICBpZiAocHJvcHMuY29tbWFuZHMgJiYgY29tbWFuZC5rZXlDb21tYW5kID09PSAnZ3JvdXAnKSB7XG4gICAgICBwcm9wcy5jb21tYW5kcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIGlmIChuYW1lID09PSBpdGVtLmdyb3VwTmFtZSkge1xuICAgICAgICAgIHN0YXRlLmJhclBvcHVwIVtuYW1lIV0gPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ua2V5Q29tbWFuZCkge1xuICAgICAgICAgIHN0YXRlLmJhclBvcHVwIVtpdGVtLmdyb3VwTmFtZSFdID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAobmFtZSB8fCBjb21tYW5kLnBhcmVudCkge1xuICAgICAgT2JqZWN0LmtleXMoc3RhdGUuYmFyUG9wdXAgfHwge30pLmZvckVhY2goKGtleU5hbWUpID0+IHtcbiAgICAgICAgc3RhdGUuYmFyUG9wdXAhW2tleU5hbWVdID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoc3RhdGUpLmxlbmd0aCkge1xuICAgICAgZGlzcGF0Y2goeyAuLi5zdGF0ZSB9KTtcbiAgICB9XG4gICAgY29tbWFuZE9yY2hlc3RyYXRvciAmJiBjb21tYW5kT3JjaGVzdHJhdG9yLmV4ZWN1dGVDb21tYW5kKGNvbW1hbmQpO1xuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZG9jdW1lbnQpIHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSAhZnVsbHNjcmVlbiA/ICdpbml0aWFsJyA6ICdoaWRkZW4nO1xuICAgIH1cbiAgfSwgW2Z1bGxzY3JlZW5dKTtcblxuICByZXR1cm4gKFxuICAgIDx1bD5cbiAgICAgIHsocHJvcHMuY29tbWFuZHMgfHwgW10pLm1hcCgoaXRlbSwgaWR4KSA9PiB7XG4gICAgICAgIGlmIChpdGVtLmtleUNvbW1hbmQgPT09ICdkaXZpZGVyJykge1xuICAgICAgICAgIHJldHVybiA8bGkga2V5PXtpZHh9IHsuLi5pdGVtLmxpUHJvcHN9IGNsYXNzTmFtZT17YCR7cHJlZml4Q2xzfS10b29sYmFyLWRpdmlkZXJgfSAvPjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWl0ZW0ua2V5Q29tbWFuZCkgcmV0dXJuIDxGcmFnbWVudCAvPjtcbiAgICAgICAgY29uc3QgYWN0aXZlQnRuID1cbiAgICAgICAgICAoZnVsbHNjcmVlbiAmJiBpdGVtLmtleUNvbW1hbmQgPT09ICdmdWxsc2NyZWVuJykgfHwgKGl0ZW0ua2V5Q29tbWFuZCA9PT0gJ3ByZXZpZXcnICYmIHByZXZpZXcgPT09IGl0ZW0udmFsdWUpO1xuICAgICAgICBjb25zdCBjaGlsZE5vZGUgPVxuICAgICAgICAgIGl0ZW0uY2hpbGRyZW4gJiYgdHlwZW9mIGl0ZW0uY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gaXRlbS5jaGlsZHJlbih7XG4gICAgICAgICAgICAgICAgZ2V0U3RhdGU6ICgpID0+IGNvbW1hbmRPcmNoZXN0cmF0b3IhLmdldFN0YXRlKCksXG4gICAgICAgICAgICAgICAgdGV4dEFwaTogY29tbWFuZE9yY2hlc3RyYXRvciA/IGNvbW1hbmRPcmNoZXN0cmF0b3IhLnRleHRBcGkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY2xvc2U6ICgpID0+IGhhbmRsZUNsaWNrKHt9LCBpdGVtLmdyb3VwTmFtZSksXG4gICAgICAgICAgICAgICAgZXhlY3V0ZTogKCkgPT4gaGFuZGxlQ2xpY2soeyBleGVjdXRlOiBpdGVtLmV4ZWN1dGUgfSksXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBiYXJQb3B1cCAmJiBwcmV2aWV3ICYmIHByZXZpZXcgPT09ICdwcmV2aWV3JyAmJiAhLyhwcmV2aWV3fGZ1bGxzY3JlZW4pLy50ZXN0KGl0ZW0ua2V5Q29tbWFuZCk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17aWR4fSB7Li4uaXRlbS5saVByb3BzfSBjbGFzc05hbWU9e2FjdGl2ZUJ0biA/IGBhY3RpdmVgIDogJyd9PlxuICAgICAgICAgICAgeyFpdGVtLmJ1dHRvblByb3BzICYmIGl0ZW0uaWNvbn1cbiAgICAgICAgICAgIHtpdGVtLmJ1dHRvblByb3BzICYmXG4gICAgICAgICAgICAgIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICAgICAgJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAgICdkYXRhLW5hbWUnOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgICAuLi5pdGVtLmJ1dHRvblByb3BzLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogKGV2bjogUmVhY3QuTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZXZuLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVDbGljayhpdGVtLCBpdGVtLmdyb3VwTmFtZSk7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaXRlbS5pY29uLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAge2l0ZW0uY2hpbGRyZW4gJiYgKFxuICAgICAgICAgICAgICA8Q2hpbGRcbiAgICAgICAgICAgICAgICBncm91cE5hbWU9e2l0ZW0uZ3JvdXBOYW1lfVxuICAgICAgICAgICAgICAgIHByZWZpeENscz17cHJlZml4Q2xzfVxuICAgICAgICAgICAgICAgIGNoaWxkcmVuPXtjaGlsZE5vZGV9XG4gICAgICAgICAgICAgICAgY29tbWFuZHM9e0FycmF5LmlzQXJyYXkoaXRlbS5jaGlsZHJlbikgPyBpdGVtLmNoaWxkcmVuIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC91bD5cbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVG9vbGJhcihwcm9wczogSVRvb2xiYXJQcm9wcyA9IHt9KSB7XG4gIGNvbnN0IHsgcHJlZml4Q2xzLCBoZWlnaHQgPSAyOSwgaXNDaGlsZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHsgY29tbWFuZHMsIGV4dHJhQ29tbWFuZHMgfSA9IHVzZUNvbnRleHQoRWRpdG9yQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeENsc30tdG9vbGJhcmB9IHN0eWxlPXt7IGhlaWdodCB9fT5cbiAgICAgIDxUb29sYmFySXRlbXMgey4uLnByb3BzfSBjb21tYW5kcz17cHJvcHMuY29tbWFuZHMgfHwgY29tbWFuZHMgfHwgW119IC8+XG4gICAgICB7IWlzQ2hpbGQgJiYgPFRvb2xiYXJJdGVtcyB7Li4ucHJvcHN9IGNvbW1hbmRzPXtleHRyYUNvbW1hbmRzIHx8IFtdfSAvPn1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUVBO0FBRUE7QUFVTyxTQUFTQSxZQUFZLENBQUNDLEtBQW9CLEVBQUU7RUFDakQsSUFBUUMsU0FBUyxHQUFLRCxLQUFLLENBQW5CQyxTQUFTO0VBQ2pCLGtCQUE4RSxJQUFBQyxpQkFBVSxFQUFDQyxzQkFBYSxDQUFDO0lBQS9GQyxVQUFVLGVBQVZBLFVBQVU7SUFBRUMsT0FBTyxlQUFQQSxPQUFPO0lBQUEsbUNBQUVDLFFBQVE7SUFBUkEsUUFBUSxxQ0FBRyxDQUFDLENBQUM7SUFBRUMsbUJBQW1CLGVBQW5CQSxtQkFBbUI7SUFBRUMsUUFBUSxlQUFSQSxRQUFRO0VBQ3pFLFNBQVNDLFdBQVcsQ0FBQ0MsT0FBeUIsRUFBRUMsSUFBYSxFQUFFO0lBQzdELElBQUksQ0FBQ0gsUUFBUSxFQUFFO0lB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
package/lib/cjs/index.js CHANGED
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -9,10 +8,8 @@ var _exportNames = {
9
8
  commands: true,
10
9
  MarkdownUtil: true
11
10
  };
12
- exports.MarkdownUtil = exports.commands = exports.default = void 0;
13
-
11
+ exports.default = exports.commands = exports.MarkdownUtil = void 0;
14
12
  var _Editor = _interopRequireWildcard(require("./Editor"));
15
-
16
13
  Object.keys(_Editor).forEach(function (key) {
17
14
  if (key === "default" || key === "__esModule") return;
18
15
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -24,9 +21,7 @@ Object.keys(_Editor).forEach(function (key) {
24
21
  }
25
22
  });
26
23
  });
27
-
28
24
  var commands = _interopRequireWildcard(require("./commands"));
29
-
30
25
  exports.commands = commands;
31
26
  Object.keys(commands).forEach(function (key) {
32
27
  if (key === "default" || key === "__esModule") return;
@@ -39,9 +34,7 @@ Object.keys(commands).forEach(function (key) {
39
34
  }
40
35
  });
41
36
  });
42
-
43
37
  var MarkdownUtil = _interopRequireWildcard(require("./utils/markdownUtils"));
44
-
45
38
  exports.MarkdownUtil = MarkdownUtil;
46
39
  Object.keys(MarkdownUtil).forEach(function (key) {
47
40
  if (key === "default" || key === "__esModule") return;
@@ -54,9 +47,7 @@ Object.keys(MarkdownUtil).forEach(function (key) {
54
47
  }
55
48
  });
56
49
  });
57
-
58
50
  var _Context = require("./Context");
59
-
60
51
  Object.keys(_Context).forEach(function (key) {
61
52
  if (key === "default" || key === "__esModule") return;
62
53
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -70,4 +61,4 @@ Object.keys(_Context).forEach(function (key) {
70
61
  });
71
62
  var _default = _Editor.default;
72
63
  exports.default = _default;
73
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50c3giXSwibmFtZXMiOlsiTURFZGl0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUxBOzs7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUZBOzs7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7ZUFJZUEsZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNREVkaXRvciBmcm9tICcuL0VkaXRvcic7XG5pbXBvcnQgKiBhcyBjb21tYW5kcyBmcm9tICcuL2NvbW1hbmRzJztcbmltcG9ydCAqIGFzIE1hcmtkb3duVXRpbCBmcm9tICcuL3V0aWxzL21hcmtkb3duVXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbW1hbmRzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvbWFya2Rvd25VdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL0VkaXRvcic7XG5leHBvcnQgKiBmcm9tICcuL0NvbnRleHQnO1xuXG5leHBvcnQgeyBNYXJrZG93blV0aWwsIGNvbW1hbmRzIH07XG5cbmV4cG9ydCBkZWZhdWx0IE1ERWRpdG9yO1xuIl19
64
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNREVkaXRvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IE1ERWRpdG9yIGZyb20gJy4vRWRpdG9yJztcbmltcG9ydCAqIGFzIGNvbW1hbmRzIGZyb20gJy4vY29tbWFuZHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25VdGlsIGZyb20gJy4vdXRpbHMvbWFya2Rvd25VdGlscyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZHMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9tYXJrZG93blV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vRWRpdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vQ29udGV4dCc7XG5cbmV4cG9ydCB7IE1hcmtkb3duVXRpbCwgY29tbWFuZHMgfTtcblxuZXhwb3J0IGRlZmF1bHQgTURFZGl0b3I7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFNQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0lBQUE7SUFBQTtNQUFBO0lBQUE7RUFBQTtBQUFBO0FBTEE7QUFBdUM7QUFHdkM7RUFBQTtFQUFBO0VBQUE7RUFBQTtJQUFBO0lBQUE7TUFBQTtJQUFBO0VBQUE7QUFBQTtBQUZBO0FBQXNEO0FBR3REO0VBQUE7RUFBQTtFQUFBO0VBQUE7SUFBQTtJQUFBO01BQUE7SUFBQTtFQUFBO0FBQUE7QUFFQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7SUFBQTtJQUFBO01BQUE7SUFBQTtFQUFBO0FBQUE7QUFBMEIsZUFJWEEsZUFBUTtBQUFBIn0=
@@ -4,70 +4,66 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = insertTextAtPosition;
7
-
8
7
  /**
9
8
  * The MIT License
10
9
  * Copyright (c) 2018 Dmitriy Kubyshkin
11
10
  * Copied from https://github.com/grassator/insert-text-at-cursor
12
11
  */
12
+
13
13
  var browserSupportsTextareaTextNodes;
14
+
14
15
  /**
15
16
  * @param {HTMLElement} input
16
17
  * @return {boolean}
17
18
  */
18
-
19
19
  function canManipulateViaTextNodes(input) {
20
20
  if (input.nodeName !== 'TEXTAREA') {
21
21
  return false;
22
22
  }
23
-
24
23
  if (typeof browserSupportsTextareaTextNodes === 'undefined') {
25
24
  var textarea = document.createElement('textarea');
26
25
  textarea.value = '1';
27
26
  browserSupportsTextareaTextNodes = !!textarea.firstChild;
28
27
  }
29
-
30
28
  return browserSupportsTextareaTextNodes;
31
29
  }
30
+
32
31
  /**
33
32
  * @param {HTMLTextAreaElement|HTMLInputElement} input
34
33
  * @param {string} text
35
34
  * @returns {void}
36
35
  */
37
-
38
-
39
36
  function insertTextAtPosition(input, text) {
40
37
  // Most of the used APIs only work with the field selected
41
- input.focus(); // IE 8-10
38
+ input.focus();
42
39
 
40
+ // IE 8-10
43
41
  if (document.selection) {
44
42
  var ieRange = document.selection.createRange();
45
- ieRange.text = text; // Move cursor after the inserted text
43
+ ieRange.text = text;
46
44
 
47
- ieRange.collapse(false
48
- /* to the end */
49
- );
45
+ // Move cursor after the inserted text
46
+ ieRange.collapse(false /* to the end */);
50
47
  ieRange.select();
51
48
  return;
52
- } // Webkit + Edge
53
-
49
+ }
54
50
 
51
+ // Webkit + Edge
55
52
  var isSuccess = document.execCommand('insertText', false, text);
56
-
57
53
  if (!isSuccess) {
58
54
  var start = input.selectionStart;
59
- var end = input.selectionEnd; // Firefox (non-standard method)
60
-
55
+ var end = input.selectionEnd;
56
+ // Firefox (non-standard method)
61
57
  if (typeof input.setRangeText === 'function') {
62
58
  input.setRangeText(text);
63
59
  } else {
64
60
  // To make a change we just need a Range, not a Selection
65
61
  var range = document.createRange();
66
62
  var textNode = document.createTextNode(text);
67
-
68
63
  if (canManipulateViaTextNodes(input)) {
69
- var node = input.firstChild; // If textarea is empty, just insert the text
64
+ var node = input.firstChild;
70
65
 
66
+ // If textarea is empty, just insert the text
71
67
  if (!node) {
72
68
  input.appendChild(textNode);
73
69
  } else {
@@ -75,35 +71,34 @@ function insertTextAtPosition(input, text) {
75
71
  var offset = 0;
76
72
  var startNode = null;
77
73
  var endNode = null;
78
-
79
74
  while (node && (startNode === null || endNode === null)) {
80
- var nodeLength = node.nodeValue.length; // if start of the selection falls into current node
75
+ var nodeLength = node.nodeValue.length;
81
76
 
77
+ // if start of the selection falls into current node
82
78
  if (start >= offset && start <= offset + nodeLength) {
83
79
  range.setStart(startNode = node, start - offset);
84
- } // if end of the selection falls into current node
85
-
80
+ }
86
81
 
82
+ // if end of the selection falls into current node
87
83
  if (end >= offset && end <= offset + nodeLength) {
88
84
  range.setEnd(endNode = node, end - offset);
89
85
  }
90
-
91
86
  offset += nodeLength;
92
87
  node = node.nextSibling;
93
- } // If there is some text selected, remove it as we should replace it
94
-
88
+ }
95
89
 
90
+ // If there is some text selected, remove it as we should replace it
96
91
  if (start !== end) {
97
92
  range.deleteContents();
98
93
  }
99
94
  }
100
- } // If the node is a textarea and the range doesn't span outside the element
95
+ }
96
+
97
+ // If the node is a textarea and the range doesn't span outside the element
101
98
  //
102
99
  // Get the commonAncestorContainer of the selected range and test its type
103
100
  // If the node is of type `#text` it means that we're still working with text nodes within our textarea element
104
101
  // otherwise, if it's of type `#document` for example it means our selection spans outside the textarea.
105
-
106
-
107
102
  if (canManipulateViaTextNodes(input) && range.commonAncestorContainer.nodeName === '#text') {
108
103
  // Finally insert a new node. The browser will automatically split start and end nodes into two if necessary
109
104
  range.insertNode(textNode);
@@ -112,16 +107,16 @@ function insertTextAtPosition(input, text) {
112
107
  var value = input.value;
113
108
  input.value = value.slice(0, start) + text + value.slice(end);
114
109
  }
115
- } // Correct the cursor position to be at the end of the insertion
116
-
110
+ }
117
111
 
118
- input.setSelectionRange(start + text.length, start + text.length); // Notify any possible listeners of the change
112
+ // Correct the cursor position to be at the end of the insertion
113
+ input.setSelectionRange(start + text.length, start + text.length);
119
114
 
115
+ // Notify any possible listeners of the change
120
116
  var e = document.createEvent('UIEvent');
121
117
  e.initEvent('input', true, false);
122
118
  input.dispatchEvent(e);
123
119
  }
124
120
  }
125
-
126
121
  module.exports = exports.default;
127
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9JbnNlcnRUZXh0QXRQb3NpdGlvbi50cyJdLCJuYW1lcyI6WyJicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyIsImNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMiLCJpbnB1dCIsIm5vZGVOYW1lIiwidGV4dGFyZWEiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ2YWx1ZSIsImZpcnN0Q2hpbGQiLCJpbnNlcnRUZXh0QXRQb3NpdGlvbiIsInRleHQiLCJmb2N1cyIsInNlbGVjdGlvbiIsImllUmFuZ2UiLCJjcmVhdGVSYW5nZSIsImNvbGxhcHNlIiwic2VsZWN0IiwiaXNTdWNjZXNzIiwiZXhlY0NvbW1hbmQiLCJzdGFydCIsInNlbGVjdGlvblN0YXJ0IiwiZW5kIiwic2VsZWN0aW9uRW5kIiwic2V0UmFuZ2VUZXh0IiwicmFuZ2UiLCJ0ZXh0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwibm9kZSIsImFwcGVuZENoaWxkIiwib2Zmc2V0Iiwic3RhcnROb2RlIiwiZW5kTm9kZSIsIm5vZGVMZW5ndGgiLCJub2RlVmFsdWUiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsIm5leHRTaWJsaW5nIiwiZGVsZXRlQ29udGVudHMiLCJjb21tb25BbmNlc3RvckNvbnRhaW5lciIsImluc2VydE5vZGUiLCJzbGljZSIsInNldFNlbGVjdGlvblJhbmdlIiwiZSIsImNyZWF0ZUV2ZW50IiwiaW5pdEV2ZW50IiwiZGlzcGF0Y2hFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQSxJQUFJQSxnQ0FBSjtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUNBLFNBQVNDLHlCQUFULENBQW1DQyxLQUFuQyxFQUFrRjtBQUNoRixNQUFJQSxLQUFLLENBQUNDLFFBQU4sS0FBbUIsVUFBdkIsRUFBbUM7QUFDakMsV0FBTyxLQUFQO0FBQ0Q7O0FBQ0QsTUFBSSxPQUFPSCxnQ0FBUCxLQUE0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LEtBQUssS0FBS0UsR0FBZCxFQUFtQjtBQUNqQkcsWUFBQUEsS0FBSyxDQUFDYyxjQUFOO0FBQ0Q7QUFDRjtBQUNGLE9BdkNJLENBeUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFVBQUlyQyx5QkFBeUIsQ0FBQ0MsS0FBRCxDQUF6QixJQUFvQ3NCLEtBQUssQ0FBQ2UsdUJBQU4sQ0FBOEJwQyxRQUE5QixLQUEyQyxPQUFuRixFQUE0RjtBQUMxRjtBQUNBcUIsUUFBQUEsS0FBSyxDQUFDZ0IsVUFBTixDQUFpQmYsUUFBakI7QUFDRCxPQUhELE1BR087QUFDTDtBQUNBLFlBQU1sQixLQUFLLEdBQUdMLEtBQUssQ0FBQ0ssS0FBcEI7QUFDQUwsUUFBQUEsS0FBSyxDQUFDSyxLQUFOLEdBQWNBLEtBQUssQ0FBQ2tDLEtBQU4sQ0FBWSxDQUFaLEVBQWV0QixLQUFmLElBQXdCVCxJQUF4QixHQUErQkgsS0FBSyxDQUFDa0MsS0FBTixDQUFZcEIsR0FBWixDQUE3QztBQUNEO0FBQ0YsS0E1RGEsQ0E4RGQ7OztBQUNBbkIsSUFBQUEsS0FBSyxDQUFDd0MsaUJBQU4sQ0FBd0J2QixLQUFLLEdBQUdULElBQUksQ0FBQ3dCLE1BQXJDLEVBQTZDZixLQUFLLEdBQUdULElBQUksQ0FBQ3dCLE1BQTFELEVBL0RjLENBaUVkOztBQUNBLFFBQU1TLENBQUMsR0FBR3RDLFFBQVEsQ0FBQ3VDLFdBQVQsQ0FBcUIsU0FBckIsQ0FBVjtBQUNBRCxJQUFBQSxDQUFDLENBQUNFLFNBQUYsQ0FBWSxPQUFaLEVBQXFCLElBQXJCLEVBQTJCLEtBQTNCO0FBQ0EzQyxJQUFBQSxLQUFLLENBQUM0QyxhQUFOLENBQW9CSCxDQUFwQjtBQUNEO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDE4IERtaXRyaXkgS3VieXNoa2luXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZ3Jhc3NhdG9yL2luc2VydC10ZXh0LWF0LWN1cnNvclxuICovXG5cbmxldCBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlczogYW55O1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGlucHV0XG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjYW5NYW5pcHVsYXRlVmlhVGV4dE5vZGVzKGlucHV0OiBIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudCkge1xuICBpZiAoaW5wdXQubm9kZU5hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCB0ZXh0YXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dGFyZWEudmFsdWUgPSAnMSc7XG4gICAgYnJvd3NlclN1cHBvcnRzVGV4dGFyZWFUZXh0Tm9kZXMgPSAhIXRleHRhcmVhLmZpcnN0Q2hpbGQ7XG4gIH1cbiAgcmV0dXJuIGJyb3dzZXJTdXBwb3J0c1RleHRhcmVhVGV4dE5vZGVzO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTFRleHRBcmVhRWxlbWVudHxIVE1MSW5wdXRFbGVtZW50fSBpbnB1dFxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpbnNlcnRUZXh0QXRQb3NpdGlvbihpbnB1dDogSFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQsIHRleHQ6IHN0cmluZykge1xuICAvLyBNb3N0IG9mIHRoZSB1c2VkIEFQSXMgb25seSB3b3JrIHdpdGggdGhlIGZpZWxkIHNlbGVjdGVkXG4gIGlucHV0LmZvY3VzKCk7XG5cbiAgLy8gSUUgOC0xMFxuICBpZiAoKGRvY3VtZW50IGFzIGFueSkuc2VsZWN0aW9uKSB7XG4gICAgY29uc3QgaWVSYW5nZSA9IChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO1xuICAgIGllUmFuZ2UudGV4dCA9IHRleHQ7XG5cbiAgICAvLyBNb3ZlIGN1cnNvciBhZnRlciB0aGUgaW5zZXJ0ZWQgdGV4dFxuICAgIGllUmFuZ2UuY29sbGFwc2UoZmFsc2UgLyogdG8gdGhlIGVuZCAqLyk7XG4gICAgaWVSYW5nZS5zZWxlY3QoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFdlYmtpdCArIEVkZ2VcbiAgY29uc3QgaXNTdWNjZXNzID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgdGV4dCk7XG4gIGlmICghaXNTdWNjZXNzKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XG4gICAgY29uc3QgZW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kITtcbiAgICAvLyBGaXJlZm94IChub24tc3RhbmRhcmQgbWV0aG9kKVxuICAgIGlmICh0eXBlb2YgaW5wdXQuc2V0UmFuZ2VUZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbnB1dC5zZXRSYW5nZVRleHQodGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRvIG1ha2UgYSBjaGFuZ2Ugd2UganVzdCBuZWVkIGEgUmFuZ2UsIG5vdCBhIFNlbGVjdGlvblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcblxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpKSB7XG4gICAgICAgIGxldCBub2RlID0gaW5wdXQuZmlyc3RDaGlsZDtcblxuICAgICAgICAvLyBJZiB0ZXh0YXJlYSBpcyBlbXB0eSwganVzdCBpbnNlcnQgdGhlIHRleHRcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgaW5wdXQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE90aGVyd2lzZSB3ZSBuZWVkIHRvIGZpbmQgYSBub2RlcyBmb3Igc3RhcnQgYW5kIGVuZFxuICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgIGxldCBzdGFydE5vZGUgPSBudWxsO1xuICAgICAgICAgIGxldCBlbmROb2RlID0gbnVsbDtcblxuICAgICAgICAgIHdoaWxlIChub2RlICYmIChzdGFydE5vZGUgPT09IG51bGwgfHwgZW5kTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVMZW5ndGggPSBub2RlLm5vZGVWYWx1ZSEubGVuZ3RoO1xuXG4gICAgICAgICAgICAvLyBpZiBzdGFydCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoc3RhcnQgPj0gb2Zmc2V0ICYmIHN0YXJ0IDw9IG9mZnNldCArIG5vZGVMZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoKHN0YXJ0Tm9kZSA9IG5vZGUpLCBzdGFydCAtIG9mZnNldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlmIGVuZCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoZW5kID49IG9mZnNldCAmJiBlbmQgPD0gb2Zmc2V0ICsgbm9kZUxlbmd0aCkge1xuICAgICAgICAgICAgICByYW5nZS5zZXRFbmQoKGVuZE5vZGUgPSBub2RlKSwgZW5kIC0gb2Zmc2V0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb2Zmc2V0ICs9IG5vZGVMZW5ndGg7XG4gICAgICAgICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBzb21lIHRleHQgc2VsZWN0ZWQsIHJlbW92ZSBpdCBhcyB3ZSBzaG91bGQgcmVwbGFjZSBpdFxuICAgICAgICAgIGlmIChzdGFydCAhPT0gZW5kKSB7XG4gICAgICAgICAgICByYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbm9kZSBpcyBhIHRleHRhcmVhIGFuZCB0aGUgcmFuZ2UgZG9lc24ndCBzcGFuIG91dHNpZGUgdGhlIGVsZW1lbnRcbiAgICAgIC8vXG4gICAgICAvLyBHZXQgdGhlIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIG9mIHRoZSBzZWxlY3RlZCByYW5nZSBhbmQgdGVzdCBpdHMgdHlwZVxuICAgICAgLy8gSWYgdGhlIG5vZGUgaXMgb2YgdHlwZSBgI3RleHRgIGl0IG1lYW5zIHRoYXQgd2UncmUgc3RpbGwgd29ya2luZyB3aXRoIHRleHQgbm9kZXMgd2l0aGluIG91ciB0ZXh0YXJlYSBlbGVtZW50XG4gICAgICAvLyBvdGhlcndpc2UsIGlmIGl0J3Mgb2YgdHlwZSBgI2RvY3VtZW50YCBmb3IgZXhhbXBsZSBpdCBtZWFucyBvdXIgc2VsZWN0aW9uIHNwYW5zIG91dHNpZGUgdGhlIHRleHRhcmVhLlxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpICYmIHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICAgIC8vIEZpbmFsbHkgaW5zZXJ0IGEgbmV3IG5vZGUuIFRoZSBicm93c2VyIHdpbGwgYXV0b21hdGljYWxseSBzcGxpdCBzdGFydCBhbmQgZW5kIG5vZGVzIGludG8gdHdvIGlmIG5lY2Vzc2FyeVxuICAgICAgICByYW5nZS5pbnNlcnROb2RlKHRleHROb2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBub2RlIGlzIG5vdCBhIHRleHRhcmVhIG9yIHRoZSByYW5nZSBzcGFucyBvdXRzaWRlIGEgdGV4dGFyZWEgdGhlIG9ubHkgd2F5IGlzIHRvIHJlcGxhY2UgdGhlIHdob2xlIHZhbHVlXG4gICAgICAgIGNvbnN0IHZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWUuc2xpY2UoMCwgc3RhcnQpICsgdGV4dCArIHZhbHVlLnNsaWNlKGVuZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHBvc2l0aW9uIHRvIGJlIGF0IHRoZSBlbmQgb2YgdGhlIGluc2VydGlvblxuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0ICsgdGV4dC5sZW5ndGgsIHN0YXJ0ICsgdGV4dC5sZW5ndGgpO1xuXG4gICAgLy8gTm90aWZ5IGFueSBwb3NzaWJsZSBsaXN0ZW5lcnMgb2YgdGhlIGNoYW5nZVxuICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICAgIGUuaW5pdEV2ZW50KCdpbnB1dCcsIHRydWUsIGZhbHNlKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGUpO1xuICB9XG59XG4iXX0=
122
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyIsImNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMiLCJpbnB1dCIsIm5vZGVOYW1lIiwidGV4dGFyZWEiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJ2YWx1ZSIsImZpcnN0Q2hpbGQiLCJpbnNlcnRUZXh0QXRQb3NpdGlvbiIsInRleHQiLCJmb2N1cyIsInNlbGVjdGlvbiIsImllUmFuZ2UiLCJjcmVhdGVSYW5nZSIsImNvbGxhcHNlIiwic2VsZWN0IiwiaXNTdWNjZXNzIiwiZXhlY0NvbW1hbmQiLCJzdGFydCIsInNlbGVjdGlvblN0YXJ0IiwiZW5kIiwic2VsZWN0aW9uRW5kIiwic2V0UmFuZ2VUZXh0IiwicmFuZ2UiLCJ0ZXh0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwibm9kZSIsImFwcGVuZENoaWxkIiwib2Zmc2V0Iiwic3RhcnROb2RlIiwiZW5kTm9kZSIsIm5vZGVMZW5ndGgiLCJub2RlVmFsdWUiLCJsZW5ndGgiLCJzZXRTdGFydCIsInNldEVuZCIsIm5leHRTaWJsaW5nIiwiZGVsZXRlQ29udGVudHMiLCJjb21tb25BbmNlc3RvckNvbnRhaW5lciIsImluc2VydE5vZGUiLCJzbGljZSIsInNldFNlbGVjdGlvblJhbmdlIiwiZSIsImNyZWF0ZUV2ZW50IiwiaW5pdEV2ZW50IiwiZGlzcGF0Y2hFdmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9JbnNlcnRUZXh0QXRQb3NpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDE4IERtaXRyaXkgS3VieXNoa2luXG4gKiBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZ3Jhc3NhdG9yL2luc2VydC10ZXh0LWF0LWN1cnNvclxuICovXG5cbmxldCBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlczogYW55O1xuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGlucHV0XG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjYW5NYW5pcHVsYXRlVmlhVGV4dE5vZGVzKGlucHV0OiBIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudCkge1xuICBpZiAoaW5wdXQubm9kZU5hbWUgIT09ICdURVhUQVJFQScpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBicm93c2VyU3VwcG9ydHNUZXh0YXJlYVRleHROb2RlcyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zdCB0ZXh0YXJlYTogSFRNTFRleHRBcmVhRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgdGV4dGFyZWEudmFsdWUgPSAnMSc7XG4gICAgYnJvd3NlclN1cHBvcnRzVGV4dGFyZWFUZXh0Tm9kZXMgPSAhIXRleHRhcmVhLmZpcnN0Q2hpbGQ7XG4gIH1cbiAgcmV0dXJuIGJyb3dzZXJTdXBwb3J0c1RleHRhcmVhVGV4dE5vZGVzO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTFRleHRBcmVhRWxlbWVudHxIVE1MSW5wdXRFbGVtZW50fSBpbnB1dFxuICogQHBhcmFtIHtzdHJpbmd9IHRleHRcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBpbnNlcnRUZXh0QXRQb3NpdGlvbihpbnB1dDogSFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQsIHRleHQ6IHN0cmluZykge1xuICAvLyBNb3N0IG9mIHRoZSB1c2VkIEFQSXMgb25seSB3b3JrIHdpdGggdGhlIGZpZWxkIHNlbGVjdGVkXG4gIGlucHV0LmZvY3VzKCk7XG5cbiAgLy8gSUUgOC0xMFxuICBpZiAoKGRvY3VtZW50IGFzIGFueSkuc2VsZWN0aW9uKSB7XG4gICAgY29uc3QgaWVSYW5nZSA9IChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpO1xuICAgIGllUmFuZ2UudGV4dCA9IHRleHQ7XG5cbiAgICAvLyBNb3ZlIGN1cnNvciBhZnRlciB0aGUgaW5zZXJ0ZWQgdGV4dFxuICAgIGllUmFuZ2UuY29sbGFwc2UoZmFsc2UgLyogdG8gdGhlIGVuZCAqLyk7XG4gICAgaWVSYW5nZS5zZWxlY3QoKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFdlYmtpdCArIEVkZ2VcbiAgY29uc3QgaXNTdWNjZXNzID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgdGV4dCk7XG4gIGlmICghaXNTdWNjZXNzKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCE7XG4gICAgY29uc3QgZW5kID0gaW5wdXQuc2VsZWN0aW9uRW5kITtcbiAgICAvLyBGaXJlZm94IChub24tc3RhbmRhcmQgbWV0aG9kKVxuICAgIGlmICh0eXBlb2YgaW5wdXQuc2V0UmFuZ2VUZXh0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpbnB1dC5zZXRSYW5nZVRleHQodGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRvIG1ha2UgYSBjaGFuZ2Ugd2UganVzdCBuZWVkIGEgUmFuZ2UsIG5vdCBhIFNlbGVjdGlvblxuICAgICAgY29uc3QgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpO1xuICAgICAgY29uc3QgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0ZXh0KTtcblxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpKSB7XG4gICAgICAgIGxldCBub2RlID0gaW5wdXQuZmlyc3RDaGlsZDtcblxuICAgICAgICAvLyBJZiB0ZXh0YXJlYSBpcyBlbXB0eSwganVzdCBpbnNlcnQgdGhlIHRleHRcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgaW5wdXQuYXBwZW5kQ2hpbGQodGV4dE5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIE90aGVyd2lzZSB3ZSBuZWVkIHRvIGZpbmQgYSBub2RlcyBmb3Igc3RhcnQgYW5kIGVuZFxuICAgICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICAgIGxldCBzdGFydE5vZGUgPSBudWxsO1xuICAgICAgICAgIGxldCBlbmROb2RlID0gbnVsbDtcblxuICAgICAgICAgIHdoaWxlIChub2RlICYmIChzdGFydE5vZGUgPT09IG51bGwgfHwgZW5kTm9kZSA9PT0gbnVsbCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVMZW5ndGggPSBub2RlLm5vZGVWYWx1ZSEubGVuZ3RoO1xuXG4gICAgICAgICAgICAvLyBpZiBzdGFydCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoc3RhcnQgPj0gb2Zmc2V0ICYmIHN0YXJ0IDw9IG9mZnNldCArIG5vZGVMZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoKHN0YXJ0Tm9kZSA9IG5vZGUpLCBzdGFydCAtIG9mZnNldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGlmIGVuZCBvZiB0aGUgc2VsZWN0aW9uIGZhbGxzIGludG8gY3VycmVudCBub2RlXG4gICAgICAgICAgICBpZiAoZW5kID49IG9mZnNldCAmJiBlbmQgPD0gb2Zmc2V0ICsgbm9kZUxlbmd0aCkge1xuICAgICAgICAgICAgICByYW5nZS5zZXRFbmQoKGVuZE5vZGUgPSBub2RlKSwgZW5kIC0gb2Zmc2V0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgb2Zmc2V0ICs9IG5vZGVMZW5ndGg7XG4gICAgICAgICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBJZiB0aGVyZSBpcyBzb21lIHRleHQgc2VsZWN0ZWQsIHJlbW92ZSBpdCBhcyB3ZSBzaG91bGQgcmVwbGFjZSBpdFxuICAgICAgICAgIGlmIChzdGFydCAhPT0gZW5kKSB7XG4gICAgICAgICAgICByYW5nZS5kZWxldGVDb250ZW50cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgbm9kZSBpcyBhIHRleHRhcmVhIGFuZCB0aGUgcmFuZ2UgZG9lc24ndCBzcGFuIG91dHNpZGUgdGhlIGVsZW1lbnRcbiAgICAgIC8vXG4gICAgICAvLyBHZXQgdGhlIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIG9mIHRoZSBzZWxlY3RlZCByYW5nZSBhbmQgdGVzdCBpdHMgdHlwZVxuICAgICAgLy8gSWYgdGhlIG5vZGUgaXMgb2YgdHlwZSBgI3RleHRgIGl0IG1lYW5zIHRoYXQgd2UncmUgc3RpbGwgd29ya2luZyB3aXRoIHRleHQgbm9kZXMgd2l0aGluIG91ciB0ZXh0YXJlYSBlbGVtZW50XG4gICAgICAvLyBvdGhlcndpc2UsIGlmIGl0J3Mgb2YgdHlwZSBgI2RvY3VtZW50YCBmb3IgZXhhbXBsZSBpdCBtZWFucyBvdXIgc2VsZWN0aW9uIHNwYW5zIG91dHNpZGUgdGhlIHRleHRhcmVhLlxuICAgICAgaWYgKGNhbk1hbmlwdWxhdGVWaWFUZXh0Tm9kZXMoaW5wdXQpICYmIHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm5vZGVOYW1lID09PSAnI3RleHQnKSB7XG4gICAgICAgIC8vIEZpbmFsbHkgaW5zZXJ0IGEgbmV3IG5vZGUuIFRoZSBicm93c2VyIHdpbGwgYXV0b21hdGljYWxseSBzcGxpdCBzdGFydCBhbmQgZW5kIG5vZGVzIGludG8gdHdvIGlmIG5lY2Vzc2FyeVxuICAgICAgICByYW5nZS5pbnNlcnROb2RlKHRleHROb2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBub2RlIGlzIG5vdCBhIHRleHRhcmVhIG9yIHRoZSByYW5nZSBzcGFucyBvdXRzaWRlIGEgdGV4dGFyZWEgdGhlIG9ubHkgd2F5IGlzIHRvIHJlcGxhY2UgdGhlIHdob2xlIHZhbHVlXG4gICAgICAgIGNvbnN0IHZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWUuc2xpY2UoMCwgc3RhcnQpICsgdGV4dCArIHZhbHVlLnNsaWNlKGVuZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHBvc2l0aW9uIHRvIGJlIGF0IHRoZSBlbmQgb2YgdGhlIGluc2VydGlvblxuICAgIGlucHV0LnNldFNlbGVjdGlvblJhbmdlKHN0YXJ0ICsgdGV4dC5sZW5ndGgsIHN0YXJ0ICsgdGV4dC5sZW5ndGgpO1xuXG4gICAgLy8gTm90aWZ5IGFueSBwb3NzaWJsZSBsaXN0ZW5lcnMgb2YgdGhlIGNoYW5nZVxuICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnVUlFdmVudCcpO1xuICAgIGUuaW5pdEV2ZW50KCdpbnB1dCcsIHRydWUsIGZhbHNlKTtcbiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGUpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSUEsZ0NBQXFDOztBQUV6QztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLHlCQUF5QixDQUFDQyxLQUE2QyxFQUFFO0VBQ2hGLElBQUlBLEtBQUssQ0FBQ0MsUUFBUSxLQUFLLFVBQVUsRUFBRTtJQUNqQyxPQUFPLEtBQUs7RUFDZDtFQUNBLElBQUksT0FBT0gsZ0NBQWdDLEtBQUssV0FBVyxFQUFFO0lBQzNELElBQU1JLFFBQTZCLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxDQUFDLFVBQVUsQ0FBQztJQUN4RUYsUUFBUSxDQUFDRyxLQUFLLEdBQUcsR0FBRztJQUNwQlAsZ0NBQWdDLEdBQUcsQ0FBQyxDQUFDSSxRQUFRLENBQUNJLFVBQVU7RUFDMUQ7RUFDQSxPQUFPUixnQ0FBZ0M7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNlLFNBQVNTLG9CQUFvQixDQUFDUCxLQUE2QyxFQUFFUSxJQUFZLEVBQUU7RUFDeEc7RUFDQVIsS0FB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
@@ -4,39 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = getSurroundingWord;
7
-
8
7
  function getSurroundingWord(text, position) {
9
8
  if (!text) throw Error("Argument 'text' should be truthy");
10
-
11
9
  var isWordDelimiter = function isWordDelimiter(c) {
12
10
  return c === ' ' || c.charCodeAt(0) === 10;
13
- }; // leftIndex is initialized to 0 because if selection is 0, it won't even enter the iteration
14
-
15
-
16
- var start = 0; // rightIndex is initialized to text.length because if selection is equal to text.length it won't even enter the interation
11
+ };
17
12
 
18
- var end = text.length; // iterate to the left
13
+ // leftIndex is initialized to 0 because if selection is 0, it won't even enter the iteration
14
+ var start = 0;
15
+ // rightIndex is initialized to text.length because if selection is equal to text.length it won't even enter the interation
16
+ var end = text.length;
19
17
 
18
+ // iterate to the left
20
19
  for (var i = position; i - 1 > -1; i--) {
21
20
  if (isWordDelimiter(text[i - 1])) {
22
21
  start = i;
23
22
  break;
24
23
  }
25
- } // iterate to the right
26
-
24
+ }
27
25
 
26
+ // iterate to the right
28
27
  for (var _i = position; _i < text.length; _i++) {
29
28
  if (isWordDelimiter(text[_i])) {
30
29
  end = _i;
31
30
  break;
32
31
  }
33
32
  }
34
-
35
33
  return {
36
34
  start: start,
37
35
  end: end
38
36
  };
39
37
  }
40
-
41
38
  module.exports = exports.default;
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9nZXRTdXJyb3VuZGluZ1dvcmQudHMiXSwibmFtZXMiOlsiZ2V0U3Vycm91bmRpbmdXb3JkIiwidGV4dCIsInBvc2l0aW9uIiwiRXJyb3IiLCJpc1dvcmREZWxpbWl0ZXIiLCJjIiwiY2hhckNvZGVBdCIsInN0YXJ0IiwiZW5kIiwibGVuZ3RoIiwiaSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUVlLFNBQVNBLGtCQUFULENBQTRCQyxJQUE1QixFQUEwQ0MsUUFBMUMsRUFBdUU7QUFDcEYsTUFBSSxDQUFDRCxJQUFMLEVBQVcsTUFBTUUsS0FBSyxDQUFDLGtDQUFELENBQVg7O0FBRVgsTUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxDQUFEO0FBQUEsV0FBZUEsQ0FBQyxLQUFLLEdBQU4sSUFBYUEsQ0FBQyxDQUFDQyxVQUFGLENBQWEsQ0FBYixNQUFvQixFQUFoRDtBQUFBLEdBQXhCLENBSG9GLENBS3BGOzs7QUFDQSxNQUFJQyxLQUFLLEdBQUcsQ0FBWixDQU5vRixDQU9wRjs7QUFDQSxNQUFJQyxHQUFHLEdBQUdQLElBQUksQ0FBQ1EsTUFBZixDQVJvRixDQVVwRjs7QUFDQSxPQUFLLElBQUlDLENBQUMsR0FBR1IsUUFBYixFQUF1QlEsQ0FBQyxHQUFHLENBQUosR0FBUSxDQUFDLENBQWhDLEVBQW1DQSxDQUFDLEVBQXBDLEVBQXdDO0FBQ3RDLFFBQUlOLGVBQWUsQ0FBQ0gsSUFBSSxDQUFDUyxDQUFDLEdBQUcsQ0FBTCxDQUFMLENBQW5CLEVBQWtDO0FBQ2hDSCxNQUFBQSxLQUFLLEdBQUdHLENBQVI7QUFDQTtBQUNEO0FBQ0YsR0FoQm1GLENBa0JwRjs7O0FBQ0EsT0FBSyxJQUFJQSxFQUFDLEdBQUdSLFFBQWIsRUFBdUJRLEVBQUMsR0FBR1QsSUFBSSxDQUFDUSxNQUFoQyxFQUF3Q0MsRUFBQyxFQUF6QyxFQUE2QztBQUMzQyxRQUFJTixlQUFlLENBQUNILElBQUksQ0FBQ1MsRUFBRCxDQUFMLENBQW5CLEVBQThCO0FBQzVCRixNQUFBQSxHQUFHLEdBQUdFLEVBQU47QUFDQTtBQUNEO0FBQ0Y7O0FBRUQsU0FBTztBQUFFSCxJQUFBQSxLQUFLLEVBQUxBLEtBQUY7QUFBU0MsSUFBQUEsR0FBRyxFQUFIQTtBQUFULEdBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRleHRSYW5nZSB9IGZyb20gJy4uL2NvbW1hbmRzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0U3Vycm91bmRpbmdXb3JkKHRleHQ6IHN0cmluZywgcG9zaXRpb246IG51bWJlcik6IFRleHRSYW5nZSB7XG4gIGlmICghdGV4dCkgdGhyb3cgRXJyb3IoXCJBcmd1bWVudCAndGV4dCcgc2hvdWxkIGJlIHRydXRoeVwiKTtcblxuICBjb25zdCBpc1dvcmREZWxpbWl0ZXIgPSAoYzogc3RyaW5nKSA9PiBjID09PSAnICcgfHwgYy5jaGFyQ29kZUF0KDApID09PSAxMDtcblxuICAvLyBsZWZ0SW5kZXggaXMgaW5pdGlhbGl6ZWQgdG8gMCBiZWNhdXNlIGlmIHNlbGVjdGlvbiBpcyAwLCBpdCB3b24ndCBldmVuIGVudGVyIHRoZSBpdGVyYXRpb25cbiAgbGV0IHN0YXJ0ID0gMDtcbiAgLy8gcmlnaHRJbmRleCBpcyBpbml0aWFsaXplZCB0byB0ZXh0Lmxlbmd0aCBiZWNhdXNlIGlmIHNlbGVjdGlvbiBpcyBlcXVhbCB0byB0ZXh0Lmxlbmd0aCBpdCB3b24ndCBldmVuIGVudGVyIHRoZSBpbnRlcmF0aW9uXG4gIGxldCBlbmQgPSB0ZXh0Lmxlbmd0aDtcblxuICAvLyBpdGVyYXRlIHRvIHRoZSBsZWZ0XG4gIGZvciAobGV0IGkgPSBwb3NpdGlvbjsgaSAtIDEgPiAtMTsgaS0tKSB7XG4gICAgaWYgKGlzV29yZERlbGltaXRlcih0ZXh0W2kgLSAxXSkpIHtcbiAgICAgIHN0YXJ0ID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIGl0ZXJhdGUgdG8gdGhlIHJpZ2h0XG4gIGZvciAobGV0IGkgPSBwb3NpdGlvbjsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoaXNXb3JkRGVsaW1pdGVyKHRleHRbaV0pKSB7XG4gICAgICBlbmQgPSBpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgc3RhcnQsIGVuZCB9O1xufVxuIl19
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRTdXJyb3VuZGluZ1dvcmQiLCJ0ZXh0IiwicG9zaXRpb24iLCJFcnJvciIsImlzV29yZERlbGltaXRlciIsImMiLCJjaGFyQ29kZUF0Iiwic3RhcnQiLCJlbmQiLCJsZW5ndGgiLCJpIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2dldFN1cnJvdW5kaW5nV29yZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0UmFuZ2UgfSBmcm9tICcuLi9jb21tYW5kcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFN1cnJvdW5kaW5nV29yZCh0ZXh0OiBzdHJpbmcsIHBvc2l0aW9uOiBudW1iZXIpOiBUZXh0UmFuZ2Uge1xuICBpZiAoIXRleHQpIHRocm93IEVycm9yKFwiQXJndW1lbnQgJ3RleHQnIHNob3VsZCBiZSB0cnV0aHlcIik7XG5cbiAgY29uc3QgaXNXb3JkRGVsaW1pdGVyID0gKGM6IHN0cmluZykgPT4gYyA9PT0gJyAnIHx8IGMuY2hhckNvZGVBdCgwKSA9PT0gMTA7XG5cbiAgLy8gbGVmdEluZGV4IGlzIGluaXRpYWxpemVkIHRvIDAgYmVjYXVzZSBpZiBzZWxlY3Rpb24gaXMgMCwgaXQgd29uJ3QgZXZlbiBlbnRlciB0aGUgaXRlcmF0aW9uXG4gIGxldCBzdGFydCA9IDA7XG4gIC8vIHJpZ2h0SW5kZXggaXMgaW5pdGlhbGl6ZWQgdG8gdGV4dC5sZW5ndGggYmVjYXVzZSBpZiBzZWxlY3Rpb24gaXMgZXF1YWwgdG8gdGV4dC5sZW5ndGggaXQgd29uJ3QgZXZlbiBlbnRlciB0aGUgaW50ZXJhdGlvblxuICBsZXQgZW5kID0gdGV4dC5sZW5ndGg7XG5cbiAgLy8gaXRlcmF0ZSB0byB0aGUgbGVmdFxuICBmb3IgKGxldCBpID0gcG9zaXRpb247IGkgLSAxID4gLTE7IGktLSkge1xuICAgIGlmIChpc1dvcmREZWxpbWl0ZXIodGV4dFtpIC0gMV0pKSB7XG4gICAgICBzdGFydCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvLyBpdGVyYXRlIHRvIHRoZSByaWdodFxuICBmb3IgKGxldCBpID0gcG9zaXRpb247IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGlzV29yZERlbGltaXRlcih0ZXh0W2ldKSkge1xuICAgICAgZW5kID0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IHN0YXJ0LCBlbmQgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRWUsU0FBU0Esa0JBQWtCLENBQUNDLElBQVksRUFBRUMsUUFBZ0IsRUFBYTtFQUNwRixJQUFJLENBQUNELElBQUksRUFBRSxNQUFNRSxLQUFLLENBQUMsa0NBQWtDLENBQUM7RUFFMUQsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFlLENBQUlDLENBQVM7SUFBQSxPQUFLQSxDQUFDLEtBQUssR0FBRyxJQUFJQSxDQUFDLENBQUNDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO0VBQUE7O0VBRTFFO0VBQ0EsSUFBSUMsS0FBSyxHQUFHLENBQUM7RUFDYjtFQUNBLElBQUlDLEdBQUcsR0FBR1AsSUFBSSxDQUFDUSxNQUFNOztFQUVyQjtFQUNBLEtBQUssSUFBSUMsQ0FBQyxHQUFHUixRQUFRLEVBQUVRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUVBLENBQUMsRUFBRSxFQUFFO0lBQ3RDLElBQUlOLGVBQWUsQ0FBQ0gsSUFBSSxDQUFDUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUNoQ0gsS0FBSyxHQUFHRyxDQUFDO01BQ1Q7SUFDRjtFQUNGOztFQUVBO0VBQ0EsS0FBSyxJQUFJQSxFQUFDLEdBQUdSLFFBQVEsRUFBRVEsRUFBQyxHQUFHVCxJQUFJLENBQUNRLE1BQU0sRUFBRUMsRUFBQyxFQUFFLEVBQUU7SUFDM0MsSUFBSU4sZUFBZSxDQUFDSCxJQUFJLENBQUNTLEVBQUMsQ0FBQyxDQUFDLEVBQUU7TUFDNUJGLEdBQUcsR0FBR0UsRUFBQztNQUNQO0lBQ0Y7RUFDRjtFQUVBLE9BQU87SUFBRUgsS0FBSyxFQUFMQSxLQUFLO0lBQUVDLEdBQUcsRUFBSEE7RUFBSSxDQUFDO0FBQ3ZCO0FBQUMifQ==
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVByb3BzIHtcbiAgcHJlZml4Q2xzPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiIifQ==