highmark-markdown 0.0.413 → 0.0.415

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.
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
12
12
  var _content = require("../../utilities/content");
13
- var _node = require("../../utilities/node");
14
13
  function _assert_this_initialized(self) {
15
14
  if (self === void 0) {
16
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -128,7 +127,7 @@ var BlockLineMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
128
127
  var content;
129
128
  var tokens = context.tokens, node = this; ///
130
129
  content = (0, _content.contentFromNode)(node, context);
131
- var leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens), previousTokenIndex = leadingIndex - 1, previousToken = tokens[previousTokenIndex], previousTokenWhitespaceToken = previousToken.isWhitespaceToken();
130
+ var firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens), previousTokenIndex = firstSignificantTokenIndex - 1, previousToken = tokens[previousTokenIndex], previousTokenWhitespaceToken = previousToken.isWhitespaceToken();
132
131
  if (previousTokenWhitespaceToken) {
133
132
  var whitespaceToken = previousToken, whitespaceTokenContent = whitespaceToken.getContent();
134
133
  content = "".concat(whitespaceTokenContent).concat(content);
@@ -185,4 +184,4 @@ var BlockLineMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
185
184
  }(_markdown.default);
186
185
  _define_property(BlockLineMarkdownNode, "lines", 1);
187
186
 
188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2Jsb2NrTGluZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuXG5pbXBvcnQgeyBjb250ZW50RnJvbU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcbmltcG9ydCB7IGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9ub2RlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJsb2NrTGluZU1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIGNvbnRlbnQoY29udGV4dCkge1xuICAgIGxldCBjb250ZW50O1xuXG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IGNvbnRleHQsXG4gICAgICAgICAgbm9kZSA9IHRoaXM7ICAvLy9cblxuICAgIGNvbnRlbnQgPSBjb250ZW50RnJvbU5vZGUobm9kZSwgY29udGV4dCk7XG5cbiAgICBjb25zdCBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHByZXZpb3VzVG9rZW5JbmRleCA9IGxlYWRpbmdJbmRleCAtIDEsXG4gICAgICAgICAgcHJldmlvdXNUb2tlbiA9IHRva2Vuc1twcmV2aW91c1Rva2VuSW5kZXhdLFxuICAgICAgICAgIHByZXZpb3VzVG9rZW5XaGl0ZXNwYWNlVG9rZW4gPSBwcmV2aW91c1Rva2VuLmlzV2hpdGVzcGFjZVRva2VuKCk7XG5cbiAgICBpZiAocHJldmlvdXNUb2tlbldoaXRlc3BhY2VUb2tlbikge1xuICAgICAgY29uc3Qgd2hpdGVzcGFjZVRva2VuID0gcHJldmlvdXNUb2tlbiwgIC8vL1xuICAgICAgICAgICAgd2hpdGVzcGFjZVRva2VuQ29udGVudCA9IHdoaXRlc3BhY2VUb2tlbi5nZXRDb250ZW50KCk7XG5cbiAgICAgIGNvbnRlbnQgPSBgJHt3aGl0ZXNwYWNlVG9rZW5Db250ZW50fSR7Y29udGVudH1gO1xuICAgIH1cblxuICAgIGNvbnN0IGNoaWxkTm9kZXNIVE1MID0gY29udGVudDsgLy8vXG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc0hUTUw7XG4gIH1cblxuICBhc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY2hpbGROb2Rlc0hUTUwgPSB0aGlzLmNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSxcbiAgICAgICAgICBzdGFydGluZ1RhZyA9IHRoaXMuc3RhcnRpbmdUYWcoY29udGV4dCksXG4gICAgICAgICAgY2xvc2luZ1RhZyA9IHRoaXMuY2xvc2luZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICBodG1sID0gYCR7c3RhcnRpbmdUYWd9JHtjaGlsZE5vZGVzSFRNTH0ke2Nsb3NpbmdUYWd9YDtcblxuICAgIHJldHVybiBodG1sO1xuICB9XG5cbiAgY3JlYXRlRE9NRWxlbWVudChjb250ZXh0KSB7XG4gICAgY29uc3QgdGFnTmFtZSA9IHRoaXMudGFnTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBjbGFzc05hbWUgPSB0aGlzLmNsYXNzTmFtZShjb250ZXh0KSxcbiAgICAgICAgICBkb21FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcblxuICAgIE9iamVjdC5hc3NpZ24oZG9tRWxlbWVudCwge1xuICAgICAgY2xhc3NOYW1lXG4gICAgfSk7XG5cbiAgICB0aGlzLnNldERPTUVsZW1lbnQoZG9tRWxlbWVudCk7XG5cbiAgICB0aGlzLmNyZWF0ZUNoaWxkTm9kZURPTUVsZW1lbnRzKGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGRvbUVsZW1lbnQ7XG4gIH1cblxuICBjaGlsZE5vZGVzQXNIVE1MKGluZGVudCwgY29udGV4dCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQoY29udGV4dCksXG4gICAgICAgICAgY2hpbGROb2Rlc0hUTUwgPSBjb250ZW50OyAvLy9cblxuICAgIHJldHVybiBjaGlsZE5vZGVzSFRNTDtcbiAgfVxuXG4gIGNyZWF0ZUNoaWxkTm9kZURPTUVsZW1lbnRzKGNvbnRleHQpIHtcbiAgICBsZXQgZG9tRWxlbWVudDtcblxuICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcblxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmNvbnRlbnQoY29udGV4dCksXG4gICAgICAgICAgdGV4dE5vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSxcbiAgICAgICAgICBwYXJlbnRET01FbGVtZW50ID0gZG9tRWxlbWVudDsgIC8vL1xuXG4gICAgZG9tRWxlbWVudCA9IHRleHROb2RlOyAvLy9cblxuICAgIHBhcmVudERPTUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbWVudCk7XG4gIH1cblxuICBzdGF0aWMgbGluZXMgPSAxO1xuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSkgeyByZXR1cm4gTWFya2Rvd25Ob2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KEJsb2NrTGluZU1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpOyB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tMaW5lTWFya2Rvd25Ob2RlIiwiY29udGVudCIsImNvbnRleHQiLCJ0b2tlbnMiLCJub2RlIiwiY29udGVudEZyb21Ob2RlIiwibGVhZGluZ0luZGV4IiwibGVhZGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMiLCJwcmV2aW91c1Rva2VuSW5kZXgiLCJwcmV2aW91c1Rva2VuIiwicHJldmlvdXNUb2tlbldoaXRlc3BhY2VUb2tlbiIsImlzV2hpdGVzcGFjZVRva2VuIiwid2hpdGVzcGFjZVRva2VuIiwid2hpdGVzcGFjZVRva2VuQ29udGVudCIsImdldENvbnRlbnQiLCJjaGlsZE5vZGVzSFRNTCIsImFzSFRNTCIsImluZGVudCIsImNoaWxkTm9kZXNBc0hUTUwiLCJzdGFydGluZ1RhZyIsImNsb3NpbmdUYWciLCJodG1sIiwiY3JlYXRlRE9NRWxlbWVudCIsInRhZ05hbWUiLCJjbGFzc05hbWUiLCJkb21FbGVtZW50IiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwic2V0RE9NRWxlbWVudCIsImNyZWF0ZUNoaWxkTm9kZURPTUVsZW1lbnRzIiwiZ2V0RE9NRWxlbWVudCIsInRleHROb2RlIiwiY3JlYXRlVGV4dE5vZGUiLCJwYXJlbnRET01FbGVtZW50IiwiYXBwZW5kQ2hpbGQiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eSIsInJ1bGVOYW1lIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJNYXJrZG93bk5vZGUiLCJsaW5lcyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7K0RBTEk7dUJBRU87b0JBQ2M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9CLElBQUEsQUFBTUEsc0NBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQ2IsSUFBSUQ7Z0JBRUosSUFBTSxBQUFFRSxTQUFXRCxRQUFYQyxRQUNGQyxPQUFPLElBQUksRUFBRyxHQUFHO2dCQUV2QkgsVUFBVUksSUFBQUEsd0JBQWUsRUFBQ0QsTUFBTUY7Z0JBRWhDLElBQU1JLGVBQWVDLElBQUFBLG1DQUE2QixFQUFDSCxNQUFNRCxTQUNuREsscUJBQXFCRixlQUFlLEdBQ3BDRyxnQkFBZ0JOLE1BQU0sQ0FBQ0ssbUJBQW1CLEVBQzFDRSwrQkFBK0JELGNBQWNFLGlCQUFpQjtnQkFFcEUsSUFBSUQsOEJBQThCO29CQUNoQyxJQUFNRSxrQkFBa0JILGVBQ2xCSSx5QkFBeUJELGdCQUFnQkUsVUFBVTtvQkFFekRiLFVBQVUsQUFBQyxHQUEyQkEsT0FBekJZLHdCQUFpQyxPQUFSWjtnQkFDeEM7Z0JBRUEsSUFBTWMsaUJBQWlCZCxTQUFTLEdBQUc7Z0JBRW5DLE9BQU9jO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0MsTUFBTSxFQUFFZixPQUFPO2dCQUNwQixJQUFNYSxpQkFBaUIsSUFBSSxDQUFDRyxnQkFBZ0IsQ0FBQ0QsUUFBUWYsVUFDL0NpQixjQUFjLElBQUksQ0FBQ0EsV0FBVyxDQUFDakIsVUFDL0JrQixhQUFhLElBQUksQ0FBQ0EsVUFBVSxDQUFDbEIsVUFDN0JtQixPQUFPLEFBQUMsR0FBZ0JOLE9BQWRJLGFBQStCQyxPQUFqQkwsZ0JBQTRCLE9BQVhLO2dCQUUvQyxPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQnBCLE9BQU87Z0JBQ3RCLElBQU1xQixVQUFVLElBQUksQ0FBQ0EsT0FBTyxDQUFDckIsVUFDdkJzQixZQUFZLElBQUksQ0FBQ0EsU0FBUyxDQUFDdEIsVUFDM0J1QixhQUFhQyxTQUFTQyxhQUFhLENBQUNKO2dCQUUxQ0ssT0FBT0MsTUFBTSxDQUFDSixZQUFZO29CQUN4QkQsV0FBQUE7Z0JBQ0Y7Z0JBRUEsSUFBSSxDQUFDTSxhQUFhLENBQUNMO2dCQUVuQixJQUFJLENBQUNNLDBCQUEwQixDQUFDN0I7Z0JBRWhDLE9BQU91QjtZQUNUOzs7WUFFQVAsS0FBQUE7bUJBQUFBLFNBQUFBLGlCQUFpQkQsTUFBTSxFQUFFZixPQUFPO2dCQUM5QixJQUFNRCxVQUFVLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxVQUN2QmEsaUJBQWlCZCxTQUFTLEdBQUc7Z0JBRW5DLE9BQU9jO1lBQ1Q7OztZQUVBZ0IsS0FBQUE7bUJBQUFBLFNBQUFBLDJCQUEyQjdCLE9BQU87Z0JBQ2hDLElBQUl1QjtnQkFFSkEsYUFBYSxJQUFJLENBQUNPLGFBQWE7Z0JBRS9CLElBQU0vQixVQUFVLElBQUksQ0FBQ0EsT0FBTyxDQUFDQyxVQUN2QitCLFdBQVdQLFNBQVNRLGNBQWMsQ0FBQ2pDLFVBQ25Da0MsbUJBQW1CVixZQUFhLEdBQUc7Z0JBRXpDQSxhQUFhUSxVQUFVLEdBQUc7Z0JBRTFCRSxpQkFBaUJDLFdBQVcsQ0FBQ1g7WUFDL0I7Ozs7WUFJT1ksS0FBQUE7bUJBQVAsU0FBT0EsaUNBQWlDQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsT0FBTztnQkFBSSxPQUFPQyxpQkFBWSxDQUFDSixnQ0FBZ0MsQ0ExRTFHckMsdUJBMEVrSXNDLFVBQVVDLFlBQVlDO1lBQVU7OztXQTFFbEt4QztFQUE4QnlDLGlCQUFZO0FBd0U3RCxpQkF4RW1CekMsdUJBd0VaMEMsU0FBUSJ9
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2Jsb2NrTGluZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuXG5pbXBvcnQgeyBjb250ZW50RnJvbU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRlbnRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmxvY2tMaW5lTWFya2Rvd25Ob2RlIGV4dGVuZHMgTWFya2Rvd25Ob2RlIHtcbiAgY29udGVudChjb250ZXh0KSB7XG4gICAgbGV0IGNvbnRlbnQ7XG5cbiAgICBjb25zdCB7IHRva2VucyB9ID0gY29udGV4dCxcbiAgICAgICAgICBub2RlID0gdGhpczsgIC8vL1xuXG4gICAgY29udGVudCA9IGNvbnRlbnRGcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICAgIHByZXZpb3VzVG9rZW5JbmRleCA9IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IC0gMSxcbiAgICAgICAgICBwcmV2aW91c1Rva2VuID0gdG9rZW5zW3ByZXZpb3VzVG9rZW5JbmRleF0sXG4gICAgICAgICAgcHJldmlvdXNUb2tlbldoaXRlc3BhY2VUb2tlbiA9IHByZXZpb3VzVG9rZW4uaXNXaGl0ZXNwYWNlVG9rZW4oKTtcblxuICAgIGlmIChwcmV2aW91c1Rva2VuV2hpdGVzcGFjZVRva2VuKSB7XG4gICAgICBjb25zdCB3aGl0ZXNwYWNlVG9rZW4gPSBwcmV2aW91c1Rva2VuLCAgLy8vXG4gICAgICAgICAgICB3aGl0ZXNwYWNlVG9rZW5Db250ZW50ID0gd2hpdGVzcGFjZVRva2VuLmdldENvbnRlbnQoKTtcblxuICAgICAgY29udGVudCA9IGAke3doaXRlc3BhY2VUb2tlbkNvbnRlbnR9JHtjb250ZW50fWA7XG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGROb2Rlc0hUTUwgPSBjb250ZW50OyAvLy9cblxuICAgIHJldHVybiBjaGlsZE5vZGVzSFRNTDtcbiAgfVxuXG4gIGFzSFRNTChpbmRlbnQsIGNvbnRleHQpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzSFRNTCA9IHRoaXMuY2hpbGROb2Rlc0FzSFRNTChpbmRlbnQsIGNvbnRleHQpLFxuICAgICAgICAgIHN0YXJ0aW5nVGFnID0gdGhpcy5zdGFydGluZ1RhZyhjb250ZXh0KSxcbiAgICAgICAgICBjbG9zaW5nVGFnID0gdGhpcy5jbG9zaW5nVGFnKGNvbnRleHQpLFxuICAgICAgICAgIGh0bWwgPSBgJHtzdGFydGluZ1RhZ30ke2NoaWxkTm9kZXNIVE1MfSR7Y2xvc2luZ1RhZ31gO1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjcmVhdGVET01FbGVtZW50KGNvbnRleHQpIHtcbiAgICBjb25zdCB0YWdOYW1lID0gdGhpcy50YWdOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lKGNvbnRleHQpLFxuICAgICAgICAgIGRvbUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpO1xuXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XG4gICAgICBjbGFzc05hbWVcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0RE9NRWxlbWVudChkb21FbGVtZW50KTtcblxuICAgIHRoaXMuY3JlYXRlQ2hpbGROb2RlRE9NRWxlbWVudHMoY29udGV4dCk7XG5cbiAgICByZXR1cm4gZG9tRWxlbWVudDtcbiAgfVxuXG4gIGNoaWxkTm9kZXNBc0hUTUwoaW5kZW50LCBjb250ZXh0KSB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudChjb250ZXh0KSxcbiAgICAgICAgICBjaGlsZE5vZGVzSFRNTCA9IGNvbnRlbnQ7IC8vL1xuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNIVE1MO1xuICB9XG5cbiAgY3JlYXRlQ2hpbGROb2RlRE9NRWxlbWVudHMoY29udGV4dCkge1xuICAgIGxldCBkb21FbGVtZW50O1xuXG4gICAgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpO1xuXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuY29udGVudChjb250ZXh0KSxcbiAgICAgICAgICB0ZXh0Tm9kZSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNvbnRlbnQpLFxuICAgICAgICAgIHBhcmVudERPTUVsZW1lbnQgPSBkb21FbGVtZW50OyAgLy8vXG5cbiAgICBkb21FbGVtZW50ID0gdGV4dE5vZGU7IC8vL1xuXG4gICAgcGFyZW50RE9NRWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtZW50KTtcbiAgfVxuXG4gIHN0YXRpYyBsaW5lcyA9IDE7XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7IHJldHVybiBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoQmxvY2tMaW5lTWFya2Rvd25Ob2RlLCBydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSk7IH1cbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0xpbmVNYXJrZG93bk5vZGUiLCJjb250ZW50IiwiY29udGV4dCIsInRva2VucyIsIm5vZGUiLCJjb250ZW50RnJvbU5vZGUiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwicHJldmlvdXNUb2tlbkluZGV4IiwicHJldmlvdXNUb2tlbiIsInByZXZpb3VzVG9rZW5XaGl0ZXNwYWNlVG9rZW4iLCJpc1doaXRlc3BhY2VUb2tlbiIsIndoaXRlc3BhY2VUb2tlbiIsIndoaXRlc3BhY2VUb2tlbkNvbnRlbnQiLCJnZXRDb250ZW50IiwiY2hpbGROb2Rlc0hUTUwiLCJhc0hUTUwiLCJpbmRlbnQiLCJjaGlsZE5vZGVzQXNIVE1MIiwic3RhcnRpbmdUYWciLCJjbG9zaW5nVGFnIiwiaHRtbCIsImNyZWF0ZURPTUVsZW1lbnQiLCJ0YWdOYW1lIiwiY2xhc3NOYW1lIiwiZG9tRWxlbWVudCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsInNldERPTUVsZW1lbnQiLCJjcmVhdGVDaGlsZE5vZGVET01FbGVtZW50cyIsImdldERPTUVsZW1lbnQiLCJ0ZXh0Tm9kZSIsImNyZWF0ZVRleHROb2RlIiwicGFyZW50RE9NRWxlbWVudCIsImFwcGVuZENoaWxkIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIiwibGluZXMiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7K0RBSkk7dUJBRU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpCLElBQUEsQUFBTUEsc0NBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQ2IsSUFBSUQ7Z0JBRUosSUFBTSxBQUFFRSxTQUFXRCxRQUFYQyxRQUNGQyxPQUFPLElBQUksRUFBRyxHQUFHO2dCQUV2QkgsVUFBVUksSUFBQUEsd0JBQWUsRUFBQ0QsTUFBTUY7Z0JBRWhDLElBQU1JLDZCQUE2QkYsS0FBS0csNkJBQTZCLENBQUNKLFNBQ2hFSyxxQkFBcUJGLDZCQUE2QixHQUNsREcsZ0JBQWdCTixNQUFNLENBQUNLLG1CQUFtQixFQUMxQ0UsK0JBQStCRCxjQUFjRSxpQkFBaUI7Z0JBRXBFLElBQUlELDhCQUE4QjtvQkFDaEMsSUFBTUUsa0JBQWtCSCxlQUNsQkkseUJBQXlCRCxnQkFBZ0JFLFVBQVU7b0JBRXpEYixVQUFVLEFBQUMsR0FBMkJBLE9BQXpCWSx3QkFBaUMsT0FBUlo7Z0JBQ3hDO2dCQUVBLElBQU1jLGlCQUFpQmQsU0FBUyxHQUFHO2dCQUVuQyxPQUFPYztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9DLE1BQU0sRUFBRWYsT0FBTztnQkFDcEIsSUFBTWEsaUJBQWlCLElBQUksQ0FBQ0csZ0JBQWdCLENBQUNELFFBQVFmLFVBQy9DaUIsY0FBYyxJQUFJLENBQUNBLFdBQVcsQ0FBQ2pCLFVBQy9Ca0IsYUFBYSxJQUFJLENBQUNBLFVBQVUsQ0FBQ2xCLFVBQzdCbUIsT0FBTyxBQUFDLEdBQWdCTixPQUFkSSxhQUErQkMsT0FBakJMLGdCQUE0QixPQUFYSztnQkFFL0MsT0FBT0M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJwQixPQUFPO2dCQUN0QixJQUFNcUIsVUFBVSxJQUFJLENBQUNBLE9BQU8sQ0FBQ3JCLFVBQ3ZCc0IsWUFBWSxJQUFJLENBQUNBLFNBQVMsQ0FBQ3RCLFVBQzNCdUIsYUFBYUMsU0FBU0MsYUFBYSxDQUFDSjtnQkFFMUNLLE9BQU9DLE1BQU0sQ0FBQ0osWUFBWTtvQkFDeEJELFdBQUFBO2dCQUNGO2dCQUVBLElBQUksQ0FBQ00sYUFBYSxDQUFDTDtnQkFFbkIsSUFBSSxDQUFDTSwwQkFBMEIsQ0FBQzdCO2dCQUVoQyxPQUFPdUI7WUFDVDs7O1lBRUFQLEtBQUFBO21CQUFBQSxTQUFBQSxpQkFBaUJELE1BQU0sRUFBRWYsT0FBTztnQkFDOUIsSUFBTUQsVUFBVSxJQUFJLENBQUNBLE9BQU8sQ0FBQ0MsVUFDdkJhLGlCQUFpQmQsU0FBUyxHQUFHO2dCQUVuQyxPQUFPYztZQUNUOzs7WUFFQWdCLEtBQUFBO21CQUFBQSxTQUFBQSwyQkFBMkI3QixPQUFPO2dCQUNoQyxJQUFJdUI7Z0JBRUpBLGFBQWEsSUFBSSxDQUFDTyxhQUFhO2dCQUUvQixJQUFNL0IsVUFBVSxJQUFJLENBQUNBLE9BQU8sQ0FBQ0MsVUFDdkIrQixXQUFXUCxTQUFTUSxjQUFjLENBQUNqQyxVQUNuQ2tDLG1CQUFtQlYsWUFBYSxHQUFHO2dCQUV6Q0EsYUFBYVEsVUFBVSxHQUFHO2dCQUUxQkUsaUJBQWlCQyxXQUFXLENBQUNYO1lBQy9COzs7O1lBSU9ZLEtBQUFBO21CQUFQLFNBQU9BLGlDQUFpQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU87Z0JBQUksT0FBT0MsaUJBQVksQ0FBQ0osZ0NBQWdDLENBMUUxR3JDLHVCQTBFa0lzQyxVQUFVQyxZQUFZQztZQUFVOzs7V0ExRWxLeEM7RUFBOEJ5QyxpQkFBWTtBQXdFN0QsaUJBeEVtQnpDLHVCQXdFWjBDLFNBQVEifQ==
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _necessary = require("necessary");
12
- var _node = require("./utilities/node");
13
12
  var _replacement = require("./utilities/replacement");
14
13
  function _array_like_to_array(arr, len) {
15
14
  if (len == null || len > arr.length) len = arr.length;
@@ -229,7 +228,7 @@ var Replacement = /*#__PURE__*/ function() {
229
228
  Class = Replacement; ///
230
229
  }
231
230
  var tokens = context.tokens;
232
- var clonedTokens = clonedTokensFromNodeAndTokens(node, tokens), leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens), offset = leadingIndex; ///
231
+ var clonedTokens = clonedTokensFromNodeAndTokens(node, tokens), firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens), offset = firstSignificantTokenIndex; ///
233
232
  node = node.clone(); ///
234
233
  overwriteNodeTokens(node, clonedTokens, tokens, offset);
235
234
  tokens = clonedTokens; ///
@@ -291,7 +290,7 @@ function overwriteNonTerminalNodeTokens(nonTerminalNode, clonedTokens, tokens, o
291
290
  });
292
291
  }
293
292
  function clonedTokensFromNodeAndTokens(node, tokens) {
294
- var leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens), trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens), start = leadingIndex, end = trailingIndex + 1;
293
+ var firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens), lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
295
294
  tokens = tokens.slice(start, end); ///
296
295
  var clonedTokens = tokens.map(function(token) {
297
296
  var clonedToken = token.clone();
@@ -300,4 +299,4 @@ function clonedTokensFromNodeAndTokens(node, tokens) {
300
299
  return clonedTokens;
301
300
  }
302
301
 
303
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXBsYWNlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zLCB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbm9kZVwiO1xuaW1wb3J0IHsgcmVtb3ZlTm9kZSwgYXBwZW5kTm9kZSwgcmVtb3ZlVG9rZW5zLCBhcHBlbmRUb2tlbnMsIHJlcGxhY2VOb2RlLCByZXBsYWNlTm9kZXMsIHJlcGxhY2VUb2tlbnMsIGFkZE5vZGVzQWZ0ZXIsIGFkZFRva2Vuc0FmdGVyIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3JlcGxhY2VtZW50XCI7XG5cbmNvbnN0IHsgcHVzaCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcGxhY2VtZW50IHtcbiAgY29uc3RydWN0b3Iobm9kZSwgdG9rZW5zKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLnRva2VucyA9IHRva2VucztcbiAgfVxuXG4gIGdldE5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZTtcbiAgfVxuXG4gIGdldFRva2Vucyh0b2tlbnMgPSBbXSkge1xuICAgIHB1c2godG9rZW5zLCB0aGlzLnRva2Vucyk7XG5cbiAgICByZXR1cm4gdGhpcy50b2tlbnM7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkgeyByZXR1cm4gdGhpcy5ub2RlLmdldENoaWxkTm9kZXMoKTsgfVxuXG4gIGNvbnRyYWN0KENsYXNzLCBkZXNjZW5kZW50Tm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgaWYgKGRlc2NlbmRlbnROb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlc2NlbmRlbnROb2RlID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IFJlcGxhY2VtZW50OyAgLy8vXG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IGRlc2NlbmRlbnROb2RlLCAgLy8vXG4gICAgICAgICAgdG9rZW5zID0gdGhpcy50b2tlbnMsIC8vL1xuICAgICAgICAgIGNvbnRleHQgPSB7IC8vL1xuICAgICAgICAgICAgdG9rZW5zXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXBsYWNlbWVudCA9IENsYXNzLmZyb21Ob2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcmVwbGFjZW1lbnQ7XG4gIH1cblxuICBleHBhbmQoQ2xhc3MsIGFzY2VuZGFudE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChhc2NlbmRhbnROb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGFzY2VuZGFudE5vZGUgPSBDbGFzcztcblxuICAgICAgQ2xhc3MgPSBSZXBsYWNlbWVudDsgIC8vL1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBhc2NlbmRhbnROb2RlLCAvLy9cbiAgICAgICAgICB0b2tlbnMgPSB0aGlzLnRva2VucywgLy8vXG4gICAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICAgIHRva2Vuc1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVwbGFjZW1lbnQgPSBDbGFzcy5mcm9tTm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJlcGxhY2VtZW50O1xuICB9XG5cbiAgYXBwZW5kVG8ocGFyZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgdG9rZW5zIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGFwcGVuZGVkTm9kZSA9IHRoaXMubm9kZSwgIC8vL1xuICAgICAgICAgIGFwcGVuZGVkVG9rZW5zID0gdGhpcy50b2tlbnM7ICAvLy9cblxuICAgIGFwcGVuZE5vZGUoYXBwZW5kZWROb2RlLCBwYXJlbnROb2RlKTtcblxuICAgIGFwcGVuZFRva2VucyhhcHBlbmRlZFRva2VucywgcGFyZW50Tm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIGFkZEFmdGVyKGV4aXN0aW5nTm9kZSwgcGFyZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgdG9rZW5zIH0gPSBjb250ZXh0LFxuICAgICAgICAgIGFkZGVkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKSwgLy8vXG4gICAgICAgICAgYWRkZWRUb2tlbnMgPSB0aGlzLnRva2VuczsgIC8vL1xuXG4gICAgYWRkTm9kZXNBZnRlcihleGlzdGluZ05vZGUsIGFkZGVkTm9kZXMsIHBhcmVudE5vZGUpO1xuXG4gICAgYWRkVG9rZW5zQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZFRva2VucywgdG9rZW5zKTtcbiAgfVxuXG4gIHJlcGxhY2UocmVwbGFjZWROb2RlLCBwYXJlbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IGNvbnRleHQsXG4gICAgICAgICAgcmVwbGFjZW1lbnROb2RlID0gdGhpcy5ub2RlLCAvLy9cbiAgICAgICAgICByZXBsYWNlbWVudFRva2VucyA9IHRoaXMudG9rZW5zOyAvLy9cblxuICAgIHJlcGxhY2VOb2RlKHJlcGxhY2VtZW50Tm9kZSwgcmVwbGFjZWROb2RlLCBwYXJlbnROb2RlKTtcblxuICAgIHJlcGxhY2VUb2tlbnMocmVwbGFjZW1lbnRUb2tlbnMsIHJlcGxhY2VkTm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIHJlcGxhY2VFeChyZXBsYWNlZE5vZGUsIHBhcmVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gY29udGV4dCxcbiAgICAgICAgICByZXBsYWNlbWVudENoaWxkTm9kZXMgPSB0aGlzLmdldENoaWxkTm9kZXMoKSwgLy8vXG4gICAgICAgICAgcmVwbGFjZW1lbnRUb2tlbnMgPSB0aGlzLnRva2VucywgIC8vL1xuICAgICAgICAgIHJlcGxhY2VtZW50Tm9kZXMgPSByZXBsYWNlbWVudENoaWxkTm9kZXM7IC8vL1xuXG4gICAgcmVwbGFjZU5vZGVzKHJlcGxhY2VtZW50Tm9kZXMsIHJlcGxhY2VkTm9kZSwgcGFyZW50Tm9kZSk7XG5cbiAgICByZXBsYWNlVG9rZW5zKHJlcGxhY2VtZW50VG9rZW5zLCByZXBsYWNlZE5vZGUsIHRva2Vucyk7XG4gIH1cblxuICByZW1vdmVGcm9tKHJlbW92ZWROb2RlLCBwYXJlbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IGNvbnRleHQ7XG5cbiAgICByZW1vdmVUb2tlbnMocmVtb3ZlZE5vZGUsIHRva2Vucyk7XG5cbiAgICByZW1vdmVOb2RlKHJlbW92ZWROb2RlLCBwYXJlbnROb2RlKTtcbiAgfVxuXG4gIGNsb25lKC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLm5vZGUuY2xvbmUoKSxcbiAgICAgICAgICBjbG9uZWRUb2tlbnMgPSBjbG9uZWRUb2tlbnNGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0aGlzLnRva2Vucyk7XG5cbiAgICBvdmVyd3JpdGVOb2RlVG9rZW5zKG5vZGUsIGNsb25lZFRva2VucywgdGhpcy50b2tlbnMpO1xuXG4gICAgY29uc3QgQ2xhc3MgPSB0aGlzLmNvbnN0cnVjdG9yLCAvLy9cbiAgICAgICAgICB0b2tlbnMgPSBjbG9uZWRUb2tlbnMsIC8vL1xuICAgICAgICAgIHJlcGxhY2VtZW50ID0gbmV3IENsYXNzKG5vZGUsIHRva2VucywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiByZXBsYWNlbWVudFxuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlKENsYXNzLCBub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnRleHQgPSBub2RlOyAvLy9cblxuICAgICAgbm9kZSA9IENsYXNzOyAvLy9cblxuICAgICAgQ2xhc3MgPSBSZXBsYWNlbWVudDsgIC8vL1xuICAgIH1cblxuICAgIGxldCB7IHRva2VucyB9ID0gY29udGV4dDtcblxuICAgIGNvbnN0IGNsb25lZFRva2VucyA9IGNsb25lZFRva2Vuc0Zyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucyksXG4gICAgICAgICAgbGVhZGluZ0luZGV4ID0gbGVhZGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBvZmZzZXQgPSBsZWFkaW5nSW5kZXg7ICAvLy9cblxuICAgIG5vZGUgPSBub2RlLmNsb25lKCk7ICAvLy9cblxuICAgIG92ZXJ3cml0ZU5vZGVUb2tlbnMobm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCk7XG5cbiAgICB0b2tlbnMgPSBjbG9uZWRUb2tlbnM7IC8vL1xuXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSBuZXcgQ2xhc3Mobm9kZSwgdG9rZW5zLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIHJlcGxhY2VtZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlQW5kVG9rZW5zKENsYXNzLCBub2RlLCB0b2tlbnMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmICh0b2tlbnMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdG9rZW5zID0gbm9kZTsgIC8vL1xuXG4gICAgICBub2RlID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IFJlcGxhY2VtZW50OyAgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcmVwbGFjZW1lbnQgPSBuZXcgQ2xhc3Mobm9kZSwgdG9rZW5zLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgcmV0dXJuIHJlcGxhY2VtZW50O1xuICB9XG59XG5cbmZ1bmN0aW9uIG92ZXJ3cml0ZU5vZGVUb2tlbnMobm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCA9IDApIHtcbiAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIG92ZXJ3cml0ZVRlcm1pbmFsTm9kZVRva2Vucyh0ZXJtaW5hbE5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIG92ZXJ3cml0ZU5vblRlcm1pbmFsTm9kZVRva2Vucyhub25UZXJtaW5hbE5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG92ZXJ3cml0ZVRlcm1pbmFsTm9kZVRva2Vucyh0ZXJtaW5hbE5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpIHtcbiAgbGV0IGluZGV4LFxuICAgICAgc2lnbmlmaWNhbnRUb2tlbjtcblxuICBzaWduaWZpY2FudFRva2VuID0gdGVybWluYWxOb2RlLmdldFNpZ25pZmljYW50VG9rZW4oKTtcblxuICBpZiAoc2lnbmlmaWNhbnRUb2tlbiAhPT0gbnVsbCkge1xuICAgIGluZGV4ID0gdG9rZW5zLmluZGV4T2Yoc2lnbmlmaWNhbnRUb2tlbik7XG5cbiAgICBpbmRleCAtPSBvZmZzZXQ7XG5cbiAgICBjb25zdCBjbG9uZWRUb2tlbiA9IGNsb25lZFRva2Vuc1tpbmRleF07XG5cbiAgICBzaWduaWZpY2FudFRva2VuID0gY2xvbmVkVG9rZW47ICAvLy9cblxuICAgIHRlcm1pbmFsTm9kZS5zZXRTaWduaWZpY2FudFRva2VuKHNpZ25pZmljYW50VG9rZW4pO1xuICB9XG59XG5cbmZ1bmN0aW9uIG92ZXJ3cml0ZU5vblRlcm1pbmFsTm9kZVRva2Vucyhub25UZXJtaW5hbE5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpIHtcbiAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgY2hpbGROb2Rlcy5mb3JFYWNoKChjaGlsZE5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlID0gY2hpbGROb2RlOyAvLy9cblxuICAgIG92ZXJ3cml0ZU5vZGVUb2tlbnMobm9kZSwgY2xvbmVkVG9rZW5zLCB0b2tlbnMsIG9mZnNldCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjbG9uZWRUb2tlbnNGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpIHtcbiAgY29uc3QgbGVhZGluZ0luZGV4ID0gbGVhZGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgdHJhaWxpbmdJbmRleCA9IHRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IGxlYWRpbmdJbmRleCwgIC8vL1xuICAgICAgICBlbmQgPSB0cmFpbGluZ0luZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7ICAvLy9cblxuICBjb25zdCBjbG9uZWRUb2tlbnMgPSB0b2tlbnMubWFwKCh0b2tlbikgPT4geyAgLy8vXG4gICAgY29uc3QgY2xvbmVkVG9rZW4gPSB0b2tlbi5jbG9uZSgpO1xuXG4gICAgcmV0dXJuIGNsb25lZFRva2VuO1xuICB9KTtcblxuICByZXR1cm4gY2xvbmVkVG9rZW5zO1xufVxuIl0sIm5hbWVzIjpbIlJlcGxhY2VtZW50IiwicHVzaCIsImFycmF5VXRpbGl0aWVzIiwibm9kZSIsInRva2VucyIsImdldE5vZGUiLCJnZXRUb2tlbnMiLCJnZXRDaGlsZE5vZGVzIiwiY29udHJhY3QiLCJDbGFzcyIsImRlc2NlbmRlbnROb2RlIiwicmVtYWluaW5nQXJndW1lbnRzIiwidW5kZWZpbmVkIiwiY29udGV4dCIsInJlcGxhY2VtZW50IiwiZnJvbU5vZGUiLCJleHBhbmQiLCJhc2NlbmRhbnROb2RlIiwiYXBwZW5kVG8iLCJwYXJlbnROb2RlIiwiYXBwZW5kZWROb2RlIiwiYXBwZW5kZWRUb2tlbnMiLCJhcHBlbmROb2RlIiwiYXBwZW5kVG9rZW5zIiwiYWRkQWZ0ZXIiLCJleGlzdGluZ05vZGUiLCJhZGRlZE5vZGVzIiwiYWRkZWRUb2tlbnMiLCJhZGROb2Rlc0FmdGVyIiwiYWRkVG9rZW5zQWZ0ZXIiLCJyZXBsYWNlIiwicmVwbGFjZWROb2RlIiwicmVwbGFjZW1lbnROb2RlIiwicmVwbGFjZW1lbnRUb2tlbnMiLCJyZXBsYWNlTm9kZSIsInJlcGxhY2VUb2tlbnMiLCJyZXBsYWNlRXgiLCJyZXBsYWNlbWVudENoaWxkTm9kZXMiLCJyZXBsYWNlbWVudE5vZGVzIiwicmVwbGFjZU5vZGVzIiwicmVtb3ZlRnJvbSIsInJlbW92ZWROb2RlIiwicmVtb3ZlVG9rZW5zIiwicmVtb3ZlTm9kZSIsImNsb25lIiwiY2xvbmVkVG9rZW5zIiwiY2xvbmVkVG9rZW5zRnJvbU5vZGVBbmRUb2tlbnMiLCJvdmVyd3JpdGVOb2RlVG9rZW5zIiwiY29uc3RydWN0b3IiLCJwb3AiLCJsZWFkaW5nSW5kZXgiLCJsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsIm9mZnNldCIsImZyb21Ob2RlQW5kVG9rZW5zIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwib3ZlcndyaXRlVGVybWluYWxOb2RlVG9rZW5zIiwibm9uVGVybWluYWxOb2RlIiwib3ZlcndyaXRlTm9uVGVybWluYWxOb2RlVG9rZW5zIiwiaW5kZXgiLCJzaWduaWZpY2FudFRva2VuIiwiZ2V0U2lnbmlmaWNhbnRUb2tlbiIsImluZGV4T2YiLCJjbG9uZWRUb2tlbiIsInNldFNpZ25pZmljYW50VG9rZW4iLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsInRyYWlsaW5nSW5kZXgiLCJ0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMiLCJzdGFydCIsImVuZCIsInNsaWNlIiwibWFwIiwidG9rZW4iXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVNxQkE7Ozt5QkFQVTtvQkFFK0M7MkJBQzhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU1SSxJQUFNLEFBQUVDLE9BQVNDLHlCQUFjLENBQXZCRDtBQUVPLElBQUEsQUFBTUQsNEJBQUQsQUFBTDthQUFNQSxZQUNQRyxJQUFJLEVBQUVDLE1BQU07Z0NBRExKO1FBRWpCLElBQUksQ0FBQ0csSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTs7a0JBSEdKOztZQU1uQkssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO29CQUFVRixTQUFBQSxpRUFBUyxFQUFFO2dCQUNuQkgsS0FBS0csUUFBUSxJQUFJLENBQUNBLE1BQU07Z0JBRXhCLE9BQU8sSUFBSSxDQUFDQSxNQUFNO1lBQ3BCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUFrQixPQUFPLElBQUksQ0FBQ0osSUFBSSxDQUFDSSxhQUFhO1lBQUk7OztZQUVwREMsS0FBQUE7bUJB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
302
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yZXBsYWNlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IHJlbW92ZU5vZGUsIGFwcGVuZE5vZGUsIHJlbW92ZVRva2VucywgYXBwZW5kVG9rZW5zLCByZXBsYWNlTm9kZSwgcmVwbGFjZU5vZGVzLCByZXBsYWNlVG9rZW5zLCBhZGROb2Rlc0FmdGVyLCBhZGRUb2tlbnNBZnRlciB9IGZyb20gXCIuL3V0aWxpdGllcy9yZXBsYWNlbWVudFwiO1xuXG5jb25zdCB7IHB1c2ggfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXBsYWNlbWVudCB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIHRva2Vucykge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gICAgdGhpcy50b2tlbnMgPSB0b2tlbnM7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRUb2tlbnModG9rZW5zID0gW10pIHtcbiAgICBwdXNoKHRva2VucywgdGhpcy50b2tlbnMpO1xuXG4gICAgcmV0dXJuIHRoaXMudG9rZW5zO1xuICB9XG5cbiAgZ2V0Q2hpbGROb2RlcygpIHsgcmV0dXJuIHRoaXMubm9kZS5nZXRDaGlsZE5vZGVzKCk7IH1cblxuICBjb250cmFjdChDbGFzcywgZGVzY2VuZGVudE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGlmIChkZXNjZW5kZW50Tm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXNjZW5kZW50Tm9kZSA9IENsYXNzOyAvLy9cblxuICAgICAgQ2xhc3MgPSBSZXBsYWNlbWVudDsgIC8vL1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBkZXNjZW5kZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIHRva2VucyA9IHRoaXMudG9rZW5zLCAvLy9cbiAgICAgICAgICBjb250ZXh0ID0geyAvLy9cbiAgICAgICAgICAgIHRva2Vuc1xuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVwbGFjZW1lbnQgPSBDbGFzcy5mcm9tTm9kZShub2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJlcGxhY2VtZW50O1xuICB9XG5cbiAgZXhwYW5kKENsYXNzLCBhc2NlbmRhbnROb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAoYXNjZW5kYW50Tm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBhc2NlbmRhbnROb2RlID0gQ2xhc3M7XG5cbiAgICAgIENsYXNzID0gUmVwbGFjZW1lbnQ7ICAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gYXNjZW5kYW50Tm9kZSwgLy8vXG4gICAgICAgICAgdG9rZW5zID0gdGhpcy50b2tlbnMsIC8vL1xuICAgICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgICB0b2tlbnNcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlcGxhY2VtZW50ID0gQ2xhc3MuZnJvbU5vZGUobm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiByZXBsYWNlbWVudDtcbiAgfVxuXG4gIGFwcGVuZFRvKHBhcmVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gY29udGV4dCxcbiAgICAgICAgICBhcHBlbmRlZE5vZGUgPSB0aGlzLm5vZGUsICAvLy9cbiAgICAgICAgICBhcHBlbmRlZFRva2VucyA9IHRoaXMudG9rZW5zOyAgLy8vXG5cbiAgICBhcHBlbmROb2RlKGFwcGVuZGVkTm9kZSwgcGFyZW50Tm9kZSk7XG5cbiAgICBhcHBlbmRUb2tlbnMoYXBwZW5kZWRUb2tlbnMsIHBhcmVudE5vZGUsIHRva2Vucyk7XG4gIH1cblxuICBhZGRBZnRlcihleGlzdGluZ05vZGUsIHBhcmVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHRva2VucyB9ID0gY29udGV4dCxcbiAgICAgICAgICBhZGRlZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksIC8vL1xuICAgICAgICAgIGFkZGVkVG9rZW5zID0gdGhpcy50b2tlbnM7ICAvLy9cblxuICAgIGFkZE5vZGVzQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZE5vZGVzLCBwYXJlbnROb2RlKTtcblxuICAgIGFkZFRva2Vuc0FmdGVyKGV4aXN0aW5nTm9kZSwgYWRkZWRUb2tlbnMsIHRva2Vucyk7XG4gIH1cblxuICByZXBsYWNlKHJlcGxhY2VkTm9kZSwgcGFyZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgdG9rZW5zIH0gPSBjb250ZXh0LFxuICAgICAgICAgIHJlcGxhY2VtZW50Tm9kZSA9IHRoaXMubm9kZSwgLy8vXG4gICAgICAgICAgcmVwbGFjZW1lbnRUb2tlbnMgPSB0aGlzLnRva2VuczsgLy8vXG5cbiAgICByZXBsYWNlTm9kZShyZXBsYWNlbWVudE5vZGUsIHJlcGxhY2VkTm9kZSwgcGFyZW50Tm9kZSk7XG5cbiAgICByZXBsYWNlVG9rZW5zKHJlcGxhY2VtZW50VG9rZW5zLCByZXBsYWNlZE5vZGUsIHRva2Vucyk7XG4gIH1cblxuICByZXBsYWNlRXgocmVwbGFjZWROb2RlLCBwYXJlbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgeyB0b2tlbnMgfSA9IGNvbnRleHQsXG4gICAgICAgICAgcmVwbGFjZW1lbnRDaGlsZE5vZGVzID0gdGhpcy5nZXRDaGlsZE5vZGVzKCksIC8vL1xuICAgICAgICAgIHJlcGxhY2VtZW50VG9rZW5zID0gdGhpcy50b2tlbnMsICAvLy9cbiAgICAgICAgICByZXBsYWNlbWVudE5vZGVzID0gcmVwbGFjZW1lbnRDaGlsZE5vZGVzOyAvLy9cblxuICAgIHJlcGxhY2VOb2RlcyhyZXBsYWNlbWVudE5vZGVzLCByZXBsYWNlZE5vZGUsIHBhcmVudE5vZGUpO1xuXG4gICAgcmVwbGFjZVRva2VucyhyZXBsYWNlbWVudFRva2VucywgcmVwbGFjZWROb2RlLCB0b2tlbnMpO1xuICB9XG5cbiAgcmVtb3ZlRnJvbShyZW1vdmVkTm9kZSwgcGFyZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gICAgcmVtb3ZlVG9rZW5zKHJlbW92ZWROb2RlLCB0b2tlbnMpO1xuXG4gICAgcmVtb3ZlTm9kZShyZW1vdmVkTm9kZSwgcGFyZW50Tm9kZSk7XG4gIH1cblxuICBjbG9uZSguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlLmNsb25lKCksXG4gICAgICAgICAgY2xvbmVkVG9rZW5zID0gY2xvbmVkVG9rZW5zRnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdGhpcy50b2tlbnMpO1xuXG4gICAgb3ZlcndyaXRlTm9kZVRva2Vucyhub2RlLCBjbG9uZWRUb2tlbnMsIHRoaXMudG9rZW5zKTtcblxuICAgIGNvbnN0IENsYXNzID0gdGhpcy5jb25zdHJ1Y3RvciwgLy8vXG4gICAgICAgICAgdG9rZW5zID0gY2xvbmVkVG9rZW5zLCAvLy9cbiAgICAgICAgICByZXBsYWNlbWVudCA9IG5ldyBDbGFzcyhub2RlLCB0b2tlbnMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICByZXR1cm4gcmVwbGFjZW1lbnRcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZShDbGFzcywgbm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNvbnRleHQgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgICBpZiAoY29udGV4dCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb250ZXh0ID0gbm9kZTsgLy8vXG5cbiAgICAgIG5vZGUgPSBDbGFzczsgLy8vXG5cbiAgICAgIENsYXNzID0gUmVwbGFjZW1lbnQ7ICAvLy9cbiAgICB9XG5cbiAgICBsZXQgeyB0b2tlbnMgfSA9IGNvbnRleHQ7XG5cbiAgICBjb25zdCBjbG9uZWRUb2tlbnMgPSBjbG9uZWRUb2tlbnNGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICAgIG9mZnNldCA9IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4OyAgLy8vXG5cbiAgICBub2RlID0gbm9kZS5jbG9uZSgpOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVOb2RlVG9rZW5zKG5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpO1xuXG4gICAgdG9rZW5zID0gY2xvbmVkVG9rZW5zOyAvLy9cblxuICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gbmV3IENsYXNzKG5vZGUsIHRva2VucywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiByZXBsYWNlbWVudDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZUFuZFRva2VucyhDbGFzcywgbm9kZSwgdG9rZW5zLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBpZiAodG9rZW5zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRva2VucyA9IG5vZGU7ICAvLy9cblxuICAgICAgbm9kZSA9IENsYXNzOyAvLy9cblxuICAgICAgQ2xhc3MgPSBSZXBsYWNlbWVudDsgIC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gbmV3IENsYXNzKG5vZGUsIHRva2VucywgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgIHJldHVybiByZXBsYWNlbWVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVOb2RlVG9rZW5zKG5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQgPSAwKSB7XG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnModGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMobm9uVGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVUZXJtaW5hbE5vZGVUb2tlbnModGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGxldCBpbmRleCxcbiAgICAgIHNpZ25pZmljYW50VG9rZW47XG5cbiAgc2lnbmlmaWNhbnRUb2tlbiA9IHRlcm1pbmFsTm9kZS5nZXRTaWduaWZpY2FudFRva2VuKCk7XG5cbiAgaWYgKHNpZ25pZmljYW50VG9rZW4gIT09IG51bGwpIHtcbiAgICBpbmRleCA9IHRva2Vucy5pbmRleE9mKHNpZ25pZmljYW50VG9rZW4pO1xuXG4gICAgaW5kZXggLT0gb2Zmc2V0O1xuXG4gICAgY29uc3QgY2xvbmVkVG9rZW4gPSBjbG9uZWRUb2tlbnNbaW5kZXhdO1xuXG4gICAgc2lnbmlmaWNhbnRUb2tlbiA9IGNsb25lZFRva2VuOyAgLy8vXG5cbiAgICB0ZXJtaW5hbE5vZGUuc2V0U2lnbmlmaWNhbnRUb2tlbihzaWduaWZpY2FudFRva2VuKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvdmVyd3JpdGVOb25UZXJtaW5hbE5vZGVUb2tlbnMobm9uVGVybWluYWxOb2RlLCBjbG9uZWRUb2tlbnMsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpO1xuXG4gIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTsgLy8vXG5cbiAgICBvdmVyd3JpdGVOb2RlVG9rZW5zKG5vZGUsIGNsb25lZFRva2VucywgdG9rZW5zLCBvZmZzZXQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2xvbmVkVG9rZW5zRnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCArIDE7XG5cbiAgdG9rZW5zID0gdG9rZW5zLnNsaWNlKHN0YXJ0LCBlbmQpOyAgLy8vXG5cbiAgY29uc3QgY2xvbmVkVG9rZW5zID0gdG9rZW5zLm1hcCgodG9rZW4pID0+IHsgIC8vL1xuICAgIGNvbnN0IGNsb25lZFRva2VuID0gdG9rZW4uY2xvbmUoKTtcblxuICAgIHJldHVybiBjbG9uZWRUb2tlbjtcbiAgfSk7XG5cbiAgcmV0dXJuIGNsb25lZFRva2Vucztcbn1cbiJdLCJuYW1lcyI6WyJSZXBsYWNlbWVudCIsInB1c2giLCJhcnJheVV0aWxpdGllcyIsIm5vZGUiLCJ0b2tlbnMiLCJnZXROb2RlIiwiZ2V0VG9rZW5zIiwiZ2V0Q2hpbGROb2RlcyIsImNvbnRyYWN0IiwiQ2xhc3MiLCJkZXNjZW5kZW50Tm9kZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInVuZGVmaW5lZCIsImNvbnRleHQiLCJyZXBsYWNlbWVudCIsImZyb21Ob2RlIiwiZXhwYW5kIiwiYXNjZW5kYW50Tm9kZSIsImFwcGVuZFRvIiwicGFyZW50Tm9kZSIsImFwcGVuZGVkTm9kZSIsImFwcGVuZGVkVG9rZW5zIiwiYXBwZW5kTm9kZSIsImFwcGVuZFRva2VucyIsImFkZEFmdGVyIiwiZXhpc3RpbmdOb2RlIiwiYWRkZWROb2RlcyIsImFkZGVkVG9rZW5zIiwiYWRkTm9kZXNBZnRlciIsImFkZFRva2Vuc0FmdGVyIiwicmVwbGFjZSIsInJlcGxhY2VkTm9kZSIsInJlcGxhY2VtZW50Tm9kZSIsInJlcGxhY2VtZW50VG9rZW5zIiwicmVwbGFjZU5vZGUiLCJyZXBsYWNlVG9rZW5zIiwicmVwbGFjZUV4IiwicmVwbGFjZW1lbnRDaGlsZE5vZGVzIiwicmVwbGFjZW1lbnROb2RlcyIsInJlcGxhY2VOb2RlcyIsInJlbW92ZUZyb20iLCJyZW1vdmVkTm9kZSIsInJlbW92ZVRva2VucyIsInJlbW92ZU5vZGUiLCJjbG9uZSIsImNsb25lZFRva2VucyIsImNsb25lZFRva2Vuc0Zyb21Ob2RlQW5kVG9rZW5zIiwib3ZlcndyaXRlTm9kZVRva2VucyIsImNvbnN0cnVjdG9yIiwicG9wIiwiZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJnZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsIm9mZnNldCIsImZyb21Ob2RlQW5kVG9rZW5zIiwibm9kZVRlcm1pbmFsTm9kZSIsImlzVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlIiwib3ZlcndyaXRlVGVybWluYWxOb2RlVG9rZW5zIiwibm9uVGVybWluYWxOb2RlIiwib3ZlcndyaXRlTm9uVGVybWluYWxOb2RlVG9rZW5zIiwiaW5kZXgiLCJzaWduaWZpY2FudFRva2VuIiwiZ2V0U2lnbmlmaWNhbnRUb2tlbiIsImluZGV4T2YiLCJjbG9uZWRUb2tlbiIsInNldFNpZ25pZmljYW50VG9rZW4iLCJjaGlsZE5vZGVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsImxhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJnZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4Iiwic3RhcnQiLCJlbmQiLCJzbGljZSIsIm1hcCIsInRva2VuIl0sInJhbmdlTWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVFxQkE7Ozt5QkFOVTsyQkFFNkc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVJLElBQU0sQUFBRUMsT0FBU0MseUJBQWMsQ0FBdkJEO0FBRU8sSUFBQSxBQUFNRCw0QkFBRCxBQUFMO2FBQU1BLFlBQ1BHLElBQUksRUFBRUMsTUFBTTtnQ0FETEo7UUFFakIsSUFBSSxDQUFDRyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxNQUFNLEdBQUdBOztrQkFIR0o7O1lBTW5CSyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7b0JBQVVGLFNBQUFBLGlFQUFTLEVBQUU7Z0JBQ25CSCxLQUFLRyxRQUFRLElBQUksQ0FBQ0EsTUFBTTtnQkFFeEIsT0FBTyxJQUFJLENBQUNBLE1BQU07WUFDcEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQWtCLE9BQU8sSUFBSSxDQUFDSixJQUFJLENBQUNJLGFBQWE7WUFBSTs7O1lBRXBEQyxLQUFBQTttQkFBQUEsU0FBQUEs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
@@ -25,12 +25,11 @@ _export(exports, {
25
25
  var _necessary = require("necessary");
26
26
  var _constants = require("../constants");
27
27
  var _tokenTypes = require("../tokenTypes");
28
- var _node = require("../utilities/node");
29
28
  var first = _necessary.arrayUtilities.first, last = _necessary.arrayUtilities.last;
30
29
  function contentFromNode(node, context) {
31
30
  var content = _constants.EMPTY_STRING;
32
31
  var tokens = context.tokens;
33
- var leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens), trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens), start = leadingIndex, end = trailingIndex + 1;
32
+ var firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens), lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1;
34
33
  tokens = tokens.slice(start, end);
35
34
  tokens.forEach(function(token) {
36
35
  var tokenContent = tokenContentFromToken(token);
@@ -41,8 +40,8 @@ function contentFromNode(node, context) {
41
40
  function contentFromNodes(nodes, augmentLeft, augmentRight, context) {
42
41
  var content = _constants.EMPTY_STRING;
43
42
  var tokens = context.tokens;
44
- var lastNode = last(nodes), firstNode = first(nodes), leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(firstNode, tokens), trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(lastNode, tokens);
45
- var firstTokenIndex = leadingIndex, lastTokenIndex = trailingIndex; ///
43
+ var lastNode = last(nodes), firstNode = first(nodes), firstSignificantTokenIndex = firstNode.getFirstSignificantTokenIndex(tokens), lastSignificantTokenIndex = lastNode.getLastSignificantTokenIndex(tokens);
44
+ var firstTokenIndex = firstSignificantTokenIndex, lastTokenIndex = lastSignificantTokenIndex; ///
46
45
  if (augmentLeft) {
47
46
  var previousTokenIndex = firstTokenIndex - 1;
48
47
  if (previousTokenIndex > -1) {
@@ -72,8 +71,10 @@ function contentFromNodes(nodes, augmentLeft, augmentRight, context) {
72
71
  function contentFromNodeAndTokens(node, tokens) {
73
72
  var offset = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
74
73
  var content = _constants.EMPTY_STRING;
75
- var leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens) + offset, trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens);
76
- for(var index = leadingIndex; index <= trailingIndex; index++){
74
+ var firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
75
+ var lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens);
76
+ firstSignificantTokenIndex += offset;
77
+ for(var index = firstSignificantTokenIndex; index <= lastSignificantTokenIndex; index++){
77
78
  var token = tokens[index], tokenContent = token.getContent();
78
79
  content += tokenContent;
79
80
  }
@@ -93,4 +94,4 @@ function tokenContentFromToken(token) {
93
94
  return tokenContent;
94
95
  }
95
96
 
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQ0FQRURfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5pbXBvcnQgeyBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucywgdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ub2RlXCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21Ob2RlKG5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IGxlYWRpbmdJbmRleCA9IGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucyksXG4gICAgICAgIHRyYWlsaW5nSW5kZXggPSB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSxcbiAgICAgICAgc3RhcnQgPSBsZWFkaW5nSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gdHJhaWxpbmdJbmRleCArIDE7XG5cbiAgdG9rZW5zID0gdG9rZW5zLnNsaWNlKHN0YXJ0LCBlbmQpO1xuXG4gIHRva2Vucy5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgIGNvbnN0IHRva2VuQ29udGVudCA9IHRva2VuQ29udGVudEZyb21Ub2tlbih0b2tlbik7XG5cbiAgICBjb250ZW50ICs9IHRva2VuQ29udGVudDtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50RnJvbU5vZGVzKG5vZGVzLCBhdWdtZW50TGVmdCwgYXVnbWVudFJpZ2h0LCBjb250ZXh0KSB7XG4gIGxldCBjb250ZW50ID0gRU1QVFlfU1RSSU5HO1xuXG4gIGxldCB7IHRva2VucyB9ID0gY29udGV4dDtcblxuICBjb25zdCBsYXN0Tm9kZSA9IGxhc3Qobm9kZXMpLFxuICAgICAgICBmaXJzdE5vZGUgPSBmaXJzdChub2RlcyksXG4gICAgICAgIGxlYWRpbmdJbmRleCA9IGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKGZpcnN0Tm9kZSwgdG9rZW5zKSxcbiAgICAgICAgdHJhaWxpbmdJbmRleCA9IHRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyhsYXN0Tm9kZSwgdG9rZW5zKTtcblxuICBsZXQgZmlyc3RUb2tlbkluZGV4ID0gbGVhZGluZ0luZGV4LCAgLy8vXG4gICAgICBsYXN0VG9rZW5JbmRleCA9IHRyYWlsaW5nSW5kZXg7IC8vL1xuXG4gIGlmIChhdWdtZW50TGVmdCkge1xuICAgIGNvbnN0IHByZXZpb3VzVG9rZW5JbmRleCA9IGZpcnN0VG9rZW5JbmRleCAtIDE7XG5cbiAgICBpZiAocHJldmlvdXNUb2tlbkluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVG9rZW4gPSB0b2tlbnNbcHJldmlvdXNUb2tlbkluZGV4XSxcbiAgICAgICAgICAgIHByZXZpb3VzVG9rZW5TaWduaWZpY2FudCA9IHByZXZpb3VzVG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gICAgICBpZiAoIXByZXZpb3VzVG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgICBmaXJzdFRva2VuSW5kZXgtLTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoYXVnbWVudFJpZ2h0KSB7XG4gICAgY29uc3QgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aCxcbiAgICAgICAgICBuZXh0VG9rZW5JbmRleCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICAgIGlmIChuZXh0VG9rZW5JbmRleCA8IHRva2Vuc0xlbmd0aCkge1xuICAgICAgY29uc3QgbmV4dFRva2VuID0gdG9rZW5zW25leHRUb2tlbkluZGV4XSxcbiAgICAgICAgICAgIG5leHRUb2tlblNpZ25pZmljYW50ID0gbmV4dFRva2VuLmlzU2lnbmlmaWNhbnQoKSxcbiAgICAgICAgICAgIG5leHRUb2tlbkVuZE9mTGluZVRva2VuID0gbmV4dFRva2VuLmlzRW5kT2ZMaW5lVG9rZW4oKTtcblxuICAgICAgaWYgKG5leHRUb2tlbkVuZE9mTGluZVRva2VuIHx8ICFuZXh0VG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgICBsYXN0VG9rZW5JbmRleCsrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0YXJ0ID0gZmlyc3RUb2tlbkluZGV4LCAgLy8vXG4gICAgICAgIGVuZCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgdG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29uc3QgdG9rZW5Db250ZW50ID0gdG9rZW5Db250ZW50RnJvbVRva2VuKHRva2VuKTtcblxuICAgIGNvbnRlbnQgKz0gdG9rZW5Db250ZW50O1xuICB9KTtcblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMsIG9mZnNldCA9IDApIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgY29uc3QgbGVhZGluZ0luZGV4ID0gbGVhZGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSArIG9mZnNldCxcbiAgICAgICAgdHJhaWxpbmdJbmRleCA9IHRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpO1xuXG4gIGZvciAobGV0IGluZGV4ID0gbGVhZGluZ0luZGV4OyBpbmRleCA8PSB0cmFpbGluZ0luZGV4OyBpbmRleCsrKSB7XG4gICAgY29uc3QgdG9rZW4gPSB0b2tlbnNbaW5kZXhdLFxuICAgICAgICAgIHRva2VuQ29udGVudCA9IHRva2VuLmdldENvbnRlbnQoKTtcblxuICAgIGNvbnRlbnQgKz0gdG9rZW5Db250ZW50O1xuICB9XG5cbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1haW5pbmdDb250ZW50RnJvbU5vZGVUb2tlbnNBbmRPZmZzZXQobm9kZSwgdG9rZW5zLCBvZmZzZXQpIHtcbiAgY29uc3QgY29udGVudCA9IGNvbnRlbnRGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMsIG9mZnNldCksXG4gICAgICAgIHJlbWFpbmluZ0NvbnRlbnQgPSBjb250ZW50OyAvLy9cblxuICByZXR1cm4gcmVtYWluaW5nQ29udGVudDtcbn1cblxuZnVuY3Rpb24gdG9rZW5Db250ZW50RnJvbVRva2VuKHRva2VuKSB7XG4gIGxldCB0b2tlbkNvbnRlbnQgPSB0b2tlbi5nZXRDb250ZW50KCk7XG5cbiAgY29uc3QgdHlwZSA9IHRva2VuLmdldFR5cGUoKTtcblxuICBpZiAodHlwZSA9PT0gRVNDQVBFRF9UT0tFTl9UWVBFKSB7XG4gICAgY29uc3Qgc3RhcnQgPSAxO1xuXG4gICAgdG9rZW5Db250ZW50ID0gdG9rZW5Db250ZW50LnN1YnN0cmluZyhzdGFydCk7XG4gIH1cblxuICByZXR1cm4gdG9rZW5Db250ZW50O1xufVxuIl0sIm5hbWVzIjpbImNvbnRlbnRGcm9tTm9kZSIsImNvbnRlbnRGcm9tTm9kZUFuZFRva2VucyIsImNvbnRlbnRGcm9tTm9kZXMiLCJyZW1haW5pbmdDb250ZW50RnJvbU5vZGVUb2tlbnNBbmRPZmZzZXQiLCJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwibGFzdCIsIm5vZGUiLCJjb250ZXh0IiwiY29udGVudCIsIkVNUFRZX1NUUklORyIsInRva2VucyIsImxlYWRpbmdJbmRleCIsImxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zIiwidHJhaWxpbmdJbmRleCIsInRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsInN0YXJ0IiwiZW5kIiwic2xpY2UiLCJmb3JFYWNoIiwidG9rZW4iLCJ0b2tlbkNvbnRlbnQiLCJ0b2tlbkNvbnRlbnRGcm9tVG9rZW4iLCJub2RlcyIsImF1Z21lbnRMZWZ0IiwiYXVnbWVudFJpZ2h0IiwibGFzdE5vZGUiLCJmaXJzdE5vZGUiLCJmaXJzdFRva2VuSW5kZXgiLCJsYXN0VG9rZW5JbmRleCIsInByZXZpb3VzVG9rZW5JbmRleCIsInByZXZpb3VzVG9rZW4iLCJwcmV2aW91c1Rva2VuU2lnbmlmaWNhbnQiLCJpc1NpZ25pZmljYW50IiwidG9rZW5zTGVuZ3RoIiwibGVuZ3RoIiwibmV4dFRva2VuSW5kZXgiLCJuZXh0VG9rZW4iLCJuZXh0VG9rZW5TaWduaWZpY2FudCIsIm5leHRUb2tlbkVuZE9mTGluZVRva2VuIiwiaXNFbmRPZkxpbmVUb2tlbiIsIm9mZnNldCIsImluZGV4IiwiZ2V0Q29udGVudCIsInJlbWFpbmluZ0NvbnRlbnQiLCJ0eXBlIiwiZ2V0VHlwZSIsIkVTQ0FQRURfVE9LRU5fVFlQRSIsInN1YnN0cmluZyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVVnQkEsZUFBZTtlQUFmQTs7SUE0RUFDLHdCQUF3QjtlQUF4QkE7O0lBdkRBQyxnQkFBZ0I7ZUFBaEJBOztJQXVFQUMsdUNBQXVDO2VBQXZDQTs7O3lCQXBHZTt5QkFFRjswQkFDTTtvQkFDMkM7QUFFOUUsSUFBUUMsUUFBZ0JDLHlCQUFjLENBQTlCRCxPQUFPRSxPQUFTRCx5QkFBYyxDQUF2QkM7QUFFUixTQUFTTixnQkFBZ0JPLElBQUksRUFBRUMsT0FBTztJQUMzQyxJQUFJ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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEVTQ0FQRURfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5cbmNvbnN0IHsgZmlyc3QsIGxhc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudEZyb21Ob2RlKG5vZGUsIGNvbnRleHQpIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IHsgdG9rZW5zIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgsICAvLy9cbiAgICAgICAgZW5kID0gbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCArIDE7XG5cbiAgdG9rZW5zID0gdG9rZW5zLnNsaWNlKHN0YXJ0LCBlbmQpO1xuXG4gIHRva2Vucy5mb3JFYWNoKCh0b2tlbikgPT4ge1xuICAgIGNvbnN0IHRva2VuQ29udGVudCA9IHRva2VuQ29udGVudEZyb21Ub2tlbih0b2tlbik7XG5cbiAgICBjb250ZW50ICs9IHRva2VuQ29udGVudDtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250ZW50RnJvbU5vZGVzKG5vZGVzLCBhdWdtZW50TGVmdCwgYXVnbWVudFJpZ2h0LCBjb250ZXh0KSB7XG4gIGxldCBjb250ZW50ID0gRU1QVFlfU1RSSU5HO1xuXG4gIGxldCB7IHRva2VucyB9ID0gY29udGV4dDtcblxuICBjb25zdCBsYXN0Tm9kZSA9IGxhc3Qobm9kZXMpLFxuICAgICAgICBmaXJzdE5vZGUgPSBmaXJzdChub2RlcyksXG4gICAgICAgIGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gZmlyc3ROb2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBsYXN0Tm9kZS5nZXRMYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2Vucyk7XG5cbiAgbGV0IGZpcnN0VG9rZW5JbmRleCA9IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4LCAgLy8vXG4gICAgICBsYXN0VG9rZW5JbmRleCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXg7IC8vL1xuXG4gIGlmIChhdWdtZW50TGVmdCkge1xuICAgIGNvbnN0IHByZXZpb3VzVG9rZW5JbmRleCA9IGZpcnN0VG9rZW5JbmRleCAtIDE7XG5cbiAgICBpZiAocHJldmlvdXNUb2tlbkluZGV4ID4gLTEpIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzVG9rZW4gPSB0b2tlbnNbcHJldmlvdXNUb2tlbkluZGV4XSxcbiAgICAgICAgICAgIHByZXZpb3VzVG9rZW5TaWduaWZpY2FudCA9IHByZXZpb3VzVG9rZW4uaXNTaWduaWZpY2FudCgpO1xuXG4gICAgICBpZiAoIXByZXZpb3VzVG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgICBmaXJzdFRva2VuSW5kZXgtLTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoYXVnbWVudFJpZ2h0KSB7XG4gICAgY29uc3QgdG9rZW5zTGVuZ3RoID0gdG9rZW5zLmxlbmd0aCxcbiAgICAgICAgICBuZXh0VG9rZW5JbmRleCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICAgIGlmIChuZXh0VG9rZW5JbmRleCA8IHRva2Vuc0xlbmd0aCkge1xuICAgICAgY29uc3QgbmV4dFRva2VuID0gdG9rZW5zW25leHRUb2tlbkluZGV4XSxcbiAgICAgICAgICAgIG5leHRUb2tlblNpZ25pZmljYW50ID0gbmV4dFRva2VuLmlzU2lnbmlmaWNhbnQoKSxcbiAgICAgICAgICAgIG5leHRUb2tlbkVuZE9mTGluZVRva2VuID0gbmV4dFRva2VuLmlzRW5kT2ZMaW5lVG9rZW4oKTtcblxuICAgICAgaWYgKG5leHRUb2tlbkVuZE9mTGluZVRva2VuIHx8ICFuZXh0VG9rZW5TaWduaWZpY2FudCkge1xuICAgICAgICBsYXN0VG9rZW5JbmRleCsrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHN0YXJ0ID0gZmlyc3RUb2tlbkluZGV4LCAgLy8vXG4gICAgICAgIGVuZCA9IGxhc3RUb2tlbkluZGV4ICsgMTtcblxuICB0b2tlbnMgPSB0b2tlbnMuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgdG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29uc3QgdG9rZW5Db250ZW50ID0gdG9rZW5Db250ZW50RnJvbVRva2VuKHRva2VuKTtcblxuICAgIGNvbnRlbnQgKz0gdG9rZW5Db250ZW50O1xuICB9KTtcblxuICByZXR1cm4gY29udGVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnRlbnRGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMsIG9mZnNldCA9IDApIHtcbiAgbGV0IGNvbnRlbnQgPSBFTVBUWV9TVFJJTkc7XG5cbiAgbGV0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpO1xuXG4gIGNvbnN0IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBub2RlLmdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKTtcblxuICBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCArPSBvZmZzZXQ7XG5cbiAgZm9yIChsZXQgaW5kZXggPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleDsgaW5kZXggPD0gbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleDsgaW5kZXgrKykge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2luZGV4XSxcbiAgICAgICAgICB0b2tlbkNvbnRlbnQgPSB0b2tlbi5nZXRDb250ZW50KCk7XG5cbiAgICBjb250ZW50ICs9IHRva2VuQ29udGVudDtcbiAgfVxuXG4gIHJldHVybiBjb250ZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0KG5vZGUsIHRva2Vucywgb2Zmc2V0KSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBjb250ZW50RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zLCBvZmZzZXQpLFxuICAgICAgICByZW1haW5pbmdDb250ZW50ID0gY29udGVudDsgLy8vXG5cbiAgcmV0dXJuIHJlbWFpbmluZ0NvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIHRva2VuQ29udGVudEZyb21Ub2tlbih0b2tlbikge1xuICBsZXQgdG9rZW5Db250ZW50ID0gdG9rZW4uZ2V0Q29udGVudCgpO1xuXG4gIGNvbnN0IHR5cGUgPSB0b2tlbi5nZXRUeXBlKCk7XG5cbiAgaWYgKHR5cGUgPT09IEVTQ0FQRURfVE9LRU5fVFlQRSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gMTtcblxuICAgIHRva2VuQ29udGVudCA9IHRva2VuQ29udGVudC5zdWJzdHJpbmcoc3RhcnQpO1xuICB9XG5cbiAgcmV0dXJuIHRva2VuQ29udGVudDtcbn1cbiJdLCJuYW1lcyI6WyJjb250ZW50RnJvbU5vZGUiLCJjb250ZW50RnJvbU5vZGVBbmRUb2tlbnMiLCJjb250ZW50RnJvbU5vZGVzIiwicmVtYWluaW5nQ29udGVudEZyb21Ob2RlVG9rZW5zQW5kT2Zmc2V0IiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJub2RlIiwiY29udGV4dCIsImNvbnRlbnQiLCJFTVBUWV9TVFJJTkciLCJ0b2tlbnMiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwibGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJzdGFydCIsImVuZCIsInNsaWNlIiwiZm9yRWFjaCIsInRva2VuIiwidG9rZW5Db250ZW50IiwidG9rZW5Db250ZW50RnJvbVRva2VuIiwibm9kZXMiLCJhdWdtZW50TGVmdCIsImF1Z21lbnRSaWdodCIsImxhc3ROb2RlIiwiZmlyc3ROb2RlIiwiZmlyc3RUb2tlbkluZGV4IiwibGFzdFRva2VuSW5kZXgiLCJwcmV2aW91c1Rva2VuSW5kZXgiLCJwcmV2aW91c1Rva2VuIiwicHJldmlvdXNUb2tlblNpZ25pZmljYW50IiwiaXNTaWduaWZpY2FudCIsInRva2Vuc0xlbmd0aCIsImxlbmd0aCIsIm5leHRUb2tlbkluZGV4IiwibmV4dFRva2VuIiwibmV4dFRva2VuU2lnbmlmaWNhbnQiLCJuZXh0VG9rZW5FbmRPZkxpbmVUb2tlbiIsImlzRW5kT2ZMaW5lVG9rZW4iLCJvZmZzZXQiLCJpbmRleCIsImdldENvbnRlbnQiLCJyZW1haW5pbmdDb250ZW50IiwidHlwZSIsImdldFR5cGUiLCJFU0NBUEVEX1RPS0VOX1RZUEUiLCJzdWJzdHJpbmciXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBU2dCQSxlQUFlO2VBQWZBOztJQTRFQUMsd0JBQXdCO2VBQXhCQTs7SUF2REFDLGdCQUFnQjtlQUFoQkE7O0lBMEVBQyx1Q0FBdUM7ZUFBdkNBOzs7eUJBdEdlO3lCQUVGOzBCQUNNO0FBRW5DLElB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
@@ -43,7 +43,6 @@ _export(exports, {
43
43
  return replaceTokens;
44
44
  }
45
45
  });
46
- var _node = require("../utilities/node");
47
46
  function _array_like_to_array(arr, len) {
48
47
  if (len == null || len > arr.length) len = arr.length;
49
48
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
@@ -95,19 +94,19 @@ function addNodesAfter(existingNode, addedNodes, parentNode) {
95
94
  }
96
95
  function appendTokens(appendedTokens, parentNode, tokens) {
97
96
  var _tokens;
98
- var node = parentNode, trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens), start = trailingIndex + 1, deleteCount = 0;
97
+ var node = parentNode, lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens), start = lastSignificantTokenIndex + 1, deleteCount = 0;
99
98
  (_tokens = tokens).splice.apply(_tokens, [
100
99
  start,
101
100
  deleteCount
102
101
  ].concat(_to_consumable_array(appendedTokens)));
103
102
  }
104
103
  function removeTokens(removedNode, tokens) {
105
- var node = removedNode, leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens), trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens), start = leadingIndex, end = trailingIndex + 1, deleteCount = end - start;
104
+ var node = removedNode, firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens), lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1, deleteCount = end - start;
106
105
  tokens.splice(start, deleteCount);
107
106
  }
108
107
  function replaceTokens(replacementTokens, replacedNode, tokens) {
109
108
  var _tokens;
110
- var node = replacedNode, leadingIndex = (0, _node.leadingIndexFromNodeAndTokens)(node, tokens), trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens), start = leadingIndex, end = trailingIndex + 1, deleteCount = end - start;
109
+ var node = replacedNode, firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens), lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens), start = firstSignificantTokenIndex, end = lastSignificantTokenIndex + 1, deleteCount = end - start;
111
110
  (_tokens = tokens).splice.apply(_tokens, [
112
111
  start,
113
112
  deleteCount
@@ -119,11 +118,11 @@ function addNodeAfter(existingNode, addedNode, parentNode) {
119
118
  }
120
119
  function addTokensAfter(existingNode, addedTokens, tokens) {
121
120
  var _tokens;
122
- var node = existingNode, trailingIndex = (0, _node.trailingIndexFromNodeAndTokens)(node, tokens), start = trailingIndex + 1, deleteCount = 0;
121
+ var node = existingNode, lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens), start = lastSignificantTokenIndex + 1, deleteCount = 0;
123
122
  (_tokens = tokens).splice.apply(_tokens, [
124
123
  start,
125
124
  deleteCount
126
125
  ].concat(_to_consumable_array(addedTokens)));
127
126
  }
128
127
 
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVwbGFjZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zLCB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZE5vZGUoYXBwZW5kZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IGFwcGVuZGVkQ2hpbGROb2RlID0gYXBwZW5kZWROb2RlOyAgLy8vXG5cbiAgcGFyZW50Tm9kZS5hcHBlbmRDaGlsZE5vZGUoYXBwZW5kZWRDaGlsZE5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTm9kZShyZW1vdmVkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZW1vdmVkQ2hpbGROb2RlID0gcmVtb3ZlZE5vZGU7IC8vL1xuXG4gIHBhcmVudE5vZGUucmVtb3ZlQ2hpbGROb2RlKHJlbW92ZWRDaGlsZE5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTm9kZXMocmVtb3ZlZE5vZGVzLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHJlbW92ZWRDaGlsZE5vZGVzID0gcmVtb3ZlZE5vZGVzOyAvLy9cblxuICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkTm9kZXMocmVtb3ZlZENoaWxkTm9kZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZU5vZGUocmVwbGFjZW1lbnROb2RlLCByZXBsYWNlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgcmVwbGFjZWRDaGlsZE5vZGUgPSByZXBsYWNlZE5vZGUsICAvLy9cbiAgICAgICAgcmVwbGFjZW1lbnRDaGlsZE5vZGUgPSByZXBsYWNlbWVudE5vZGU7IC8vL1xuXG4gIHBhcmVudE5vZGUucmVwbGFjZUNoaWxkTm9kZShyZXBsYWNlZENoaWxkTm9kZSwgcmVwbGFjZW1lbnRDaGlsZE5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZU5vZGVzKHJlcGxhY2VtZW50Tm9kZXMsIHJlcGxhY2VkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZXBsYWNlZENoaWxkTm9kZSA9IHJlcGxhY2VkTm9kZSwgIC8vL1xuICAgICAgICByZXBsYWNlbWVudENoaWxkTm9kZXMgPSByZXBsYWNlbWVudE5vZGVzOyAvLy9cblxuICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZE5vZGVzKHJlcGxhY2VkQ2hpbGROb2RlLCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkTm9kZXNBZnRlcihleGlzdGluZ05vZGUsIGFkZGVkTm9kZXMsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgZXhpc3RpbmdDaGlsZE5vZGUgPSBleGlzdGluZ05vZGUsIC8vL1xuICAgICAgICBhZGRlZENoaWxkTm9kZXMgPSBhZGRlZE5vZGVzOyAvLy9cblxuICBwYXJlbnROb2RlLmFkZENoaWxkTm9kZXNBZnRlcihleGlzdGluZ0NoaWxkTm9kZSwgYWRkZWRDaGlsZE5vZGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZFRva2VucyhhcHBlbmRlZFRva2VucywgcGFyZW50Tm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSBwYXJlbnROb2RlLCAvLy9cbiAgICAgICAgdHJhaWxpbmdJbmRleCA9IHRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IHRyYWlsaW5nSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFwcGVuZGVkVG9rZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVRva2VucyhyZW1vdmVkTm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSByZW1vdmVkTm9kZSwgIC8vL1xuICAgICAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gbGVhZGluZ0luZGV4LCAvLy9cbiAgICAgICAgZW5kID0gdHJhaWxpbmdJbmRleCArIDEsXG4gICAgICAgIGRlbGV0ZUNvdW50ID0gZW5kIC0gc3RhcnQ7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZVRva2VucyhyZXBsYWNlbWVudFRva2VucywgcmVwbGFjZWROb2RlLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZSA9IHJlcGxhY2VkTm9kZSwgIC8vL1xuICAgICAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpLFxuICAgICAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gbGVhZGluZ0luZGV4LCAvLy9cbiAgICAgICAgZW5kID0gdHJhaWxpbmdJbmRleCArIDEsXG4gICAgICAgIGRlbGV0ZUNvdW50ID0gZW5kIC0gc3RhcnQ7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLnJlcGxhY2VtZW50VG9rZW5zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE5vZGVBZnRlcihleGlzdGluZ05vZGUsIGFkZGVkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCBleGlzdGluZ0NoaWxkTm9kZSA9IGV4aXN0aW5nTm9kZSwgLy8vXG4gICAgICAgIGFkZGVkQ2hpbGROb2RlID0gYWRkZWROb2RlOyAvLy9cblxuICBwYXJlbnROb2RlLmFwcGVuZENoaWxkTm9kZUFmdGVyKGV4aXN0aW5nQ2hpbGROb2RlLCBhZGRlZENoaWxkTm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb2tlbnNBZnRlcihleGlzdGluZ05vZGUsIGFkZGVkVG9rZW5zLCB0b2tlbnMpIHtcbiAgY29uc3Qgbm9kZSA9IGV4aXN0aW5nTm9kZSwgIC8vL1xuICAgICAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2VucyksXG4gICAgICAgIHN0YXJ0ID0gdHJhaWxpbmdJbmRleCArIDEsXG4gICAgICAgIGRlbGV0ZUNvdW50ID0gMDtcblxuICB0b2tlbnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgLi4uYWRkZWRUb2tlbnMpO1xufVxuIl0sIm5hbWVzIjpbImFkZE5vZGVBZnRlciIsImFkZE5vZGVzQWZ0ZXIiLCJhZGRUb2tlbnNBZnRlciIsImFwcGVuZE5vZGUiLCJhcHBlbmRUb2tlbnMiLCJyZW1vdmVOb2RlIiwicmVtb3ZlTm9kZXMiLCJyZW1vdmVUb2tlbnMiLCJyZXBsYWNlTm9kZSIsInJlcGxhY2VOb2RlcyIsInJlcGxhY2VUb2tlbnMiLCJhcHBlbmRlZE5vZGUiLCJwYXJlbnROb2RlIiwiYXBwZW5kZWRDaGlsZE5vZGUiLCJhcHBlbmRDaGlsZE5vZGUiLCJyZW1vdmVkTm9kZSIsInJlbW92ZWRDaGlsZE5vZGUiLCJyZW1vdmVDaGlsZE5vZGUiLCJyZW1vdmVkTm9kZXMiLCJyZW1vdmVkQ2hpbGROb2RlcyIsInJlbW92ZUNoaWxkTm9kZXMiLCJyZXBsYWNlbWVudE5vZGUiLCJyZXBsYWNlZE5vZGUiLCJyZXBsYWNlZENoaWxkTm9kZSIsInJlcGxhY2VtZW50Q2hpbGROb2RlIiwicmVwbGFjZUNoaWxkTm9kZSIsInJlcGxhY2VtZW50Tm9kZXMiLCJyZXBsYWNlbWVudENoaWxkTm9kZXMiLCJyZXBsYWNlQ2hpbGROb2RlcyIsImV4aXN0aW5nTm9kZSIsImFkZGVkTm9kZXMiLCJleGlzdGluZ0NoaWxkTm9kZSIsImFkZGVkQ2hpbGROb2RlcyIsImFkZENoaWxkTm9kZXNBZnRlciIsImFwcGVuZGVkVG9rZW5zIiwidG9rZW5zIiwibm9kZSIsInRyYWlsaW5nSW5kZXgiLCJ0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMiLCJzdGFydCIsImRlbGV0ZUNvdW50Iiwic3BsaWNlIiwibGVhZGluZ0luZGV4IiwibGVhZGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMiLCJlbmQiLCJyZXBsYWNlbWVudFRva2VucyIsImFkZGVkTm9kZSIsImFkZGVkQ2hpbGROb2RlIiwiYXBwZW5kQ2hpbGROb2RlQWZ0ZXIiLCJhZGRlZFRva2VucyJdLCJyYW5nZU1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTBFZ0JBLFlBQVk7ZUFBWkE7O0lBdENBQyxhQUFhO2VBQWJBOztJQTZDQUMsY0FBYztlQUFkQTs7SUE3RUFDLFVBQVU7ZUFBVkE7O0lBdUNBQyxZQUFZO2VBQVpBOztJQWpDQUMsVUFBVTtlQUFWQTs7SUFNQUMsV0FBVztlQUFYQTs7SUFvQ0FDLFlBQVk7ZUFBWkE7O0lBOUJBQyxXQUFXO2VBQVhBOztJQU9BQyxZQUFZO2VBQVpBOztJQWtDQUMsYUFBYTtlQUFiQTs7O29CQTdEOEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZFLFNBQVNQLFdBQVdRLFlBQVksRUFBRUMsVUFBVTtJQUNqRCxJQUFNQyxvQkFBb0JGLGNBQWUsR0FBRztJQUU1Q0MsV0FBV0UsZUFBZSxDQUFDRDtBQUM3QjtBQUVPLFNBQVNSLFdBQVdVLFdBQVcsRUFBRUgsVUFBVTtJQUNoRCxJQUFNSSxtQkFBbUJELGFBQWEsR0FBRztJQUV6Q0gsV0FBV0ssZUFBZSxDQUFD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
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVwbGFjZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmROb2RlKGFwcGVuZGVkTm9kZSwgcGFyZW50Tm9kZSkge1xuICBjb25zdCBhcHBlbmRlZENoaWxkTm9kZSA9IGFwcGVuZGVkTm9kZTsgIC8vL1xuXG4gIHBhcmVudE5vZGUuYXBwZW5kQ2hpbGROb2RlKGFwcGVuZGVkQ2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGUocmVtb3ZlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgcmVtb3ZlZENoaWxkTm9kZSA9IHJlbW92ZWROb2RlOyAvLy9cblxuICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkTm9kZShyZW1vdmVkQ2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vZGVzKHJlbW92ZWROb2RlcywgcGFyZW50Tm9kZSkge1xuICBjb25zdCByZW1vdmVkQ2hpbGROb2RlcyA9IHJlbW92ZWROb2RlczsgLy8vXG5cbiAgcGFyZW50Tm9kZS5yZW1vdmVDaGlsZE5vZGVzKHJlbW92ZWRDaGlsZE5vZGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VOb2RlKHJlcGxhY2VtZW50Tm9kZSwgcmVwbGFjZWROb2RlLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IHJlcGxhY2VkQ2hpbGROb2RlID0gcmVwbGFjZWROb2RlLCAgLy8vXG4gICAgICAgIHJlcGxhY2VtZW50Q2hpbGROb2RlID0gcmVwbGFjZW1lbnROb2RlOyAvLy9cblxuICBwYXJlbnROb2RlLnJlcGxhY2VDaGlsZE5vZGUocmVwbGFjZWRDaGlsZE5vZGUsIHJlcGxhY2VtZW50Q2hpbGROb2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VOb2RlcyhyZXBsYWNlbWVudE5vZGVzLCByZXBsYWNlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgcmVwbGFjZWRDaGlsZE5vZGUgPSByZXBsYWNlZE5vZGUsICAvLy9cbiAgICAgICAgcmVwbGFjZW1lbnRDaGlsZE5vZGVzID0gcmVwbGFjZW1lbnROb2RlczsgLy8vXG5cbiAgcGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGROb2RlcyhyZXBsYWNlZENoaWxkTm9kZSwgcmVwbGFjZW1lbnRDaGlsZE5vZGVzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZE5vZGVzQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZE5vZGVzLCBwYXJlbnROb2RlKSB7XG4gIGNvbnN0IGV4aXN0aW5nQ2hpbGROb2RlID0gZXhpc3RpbmdOb2RlLCAvLy9cbiAgICAgICAgYWRkZWRDaGlsZE5vZGVzID0gYWRkZWROb2RlczsgLy8vXG5cbiAgcGFyZW50Tm9kZS5hZGRDaGlsZE5vZGVzQWZ0ZXIoZXhpc3RpbmdDaGlsZE5vZGUsIGFkZGVkQ2hpbGROb2Rlcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRUb2tlbnMoYXBwZW5kZWRUb2tlbnMsIHBhcmVudE5vZGUsIHRva2Vucykge1xuICBjb25zdCBub2RlID0gcGFyZW50Tm9kZSwgLy8vXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBub2RlLmdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSxcbiAgICAgICAgc3RhcnQgPSBsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ICsgMSxcbiAgICAgICAgZGVsZXRlQ291bnQgPSAwO1xuXG4gIHRva2Vucy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5hcHBlbmRlZFRva2Vucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUb2tlbnMocmVtb3ZlZE5vZGUsIHRva2Vucykge1xuICBjb25zdCBub2RlID0gcmVtb3ZlZE5vZGUsICAvLy9cbiAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBub2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBub2RlLmdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSxcbiAgICAgICAgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgLy8vXG4gICAgICAgIGVuZCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IGVuZCAtIHN0YXJ0O1xuXG4gIHRva2Vucy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2VUb2tlbnMocmVwbGFjZW1lbnRUb2tlbnMsIHJlcGxhY2VkTm9kZSwgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSByZXBsYWNlZE5vZGUsICAvLy9cbiAgICAgICAgZmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBub2RlLmdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KHRva2VucyksXG4gICAgICAgIGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggPSBub2RlLmdldExhc3RTaWduaWZpY2FudFRva2VuSW5kZXgodG9rZW5zKSxcbiAgICAgICAgc3RhcnQgPSBmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCwgLy8vXG4gICAgICAgIGVuZCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IGVuZCAtIHN0YXJ0O1xuXG4gIHRva2Vucy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCAuLi5yZXBsYWNlbWVudFRva2Vucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGROb2RlQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZE5vZGUsIHBhcmVudE5vZGUpIHtcbiAgY29uc3QgZXhpc3RpbmdDaGlsZE5vZGUgPSBleGlzdGluZ05vZGUsIC8vL1xuICAgICAgICBhZGRlZENoaWxkTm9kZSA9IGFkZGVkTm9kZTsgLy8vXG5cbiAgcGFyZW50Tm9kZS5hcHBlbmRDaGlsZE5vZGVBZnRlcihleGlzdGluZ0NoaWxkTm9kZSwgYWRkZWRDaGlsZE5vZGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9rZW5zQWZ0ZXIoZXhpc3RpbmdOb2RlLCBhZGRlZFRva2VucywgdG9rZW5zKSB7XG4gIGNvbnN0IG5vZGUgPSBleGlzdGluZ05vZGUsICAvLy9cbiAgICAgICAgbGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCA9IG5vZGUuZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpLFxuICAgICAgICBzdGFydCA9IGxhc3RTaWduaWZpY2FudFRva2VuSW5kZXggKyAxLFxuICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgdG9rZW5zLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFkZGVkVG9rZW5zKTtcbn1cbiJdLCJuYW1lcyI6WyJhZGROb2RlQWZ0ZXIiLCJhZGROb2Rlc0FmdGVyIiwiYWRkVG9rZW5zQWZ0ZXIiLCJhcHBlbmROb2RlIiwiYXBwZW5kVG9rZW5zIiwicmVtb3ZlTm9kZSIsInJlbW92ZU5vZGVzIiwicmVtb3ZlVG9rZW5zIiwicmVwbGFjZU5vZGUiLCJyZXBsYWNlTm9kZXMiLCJyZXBsYWNlVG9rZW5zIiwiYXBwZW5kZWROb2RlIiwicGFyZW50Tm9kZSIsImFwcGVuZGVkQ2hpbGROb2RlIiwiYXBwZW5kQ2hpbGROb2RlIiwicmVtb3ZlZE5vZGUiLCJyZW1vdmVkQ2hpbGROb2RlIiwicmVtb3ZlQ2hpbGROb2RlIiwicmVtb3ZlZE5vZGVzIiwicmVtb3ZlZENoaWxkTm9kZXMiLCJyZW1vdmVDaGlsZE5vZGVzIiwicmVwbGFjZW1lbnROb2RlIiwicmVwbGFjZWROb2RlIiwicmVwbGFjZWRDaGlsZE5vZGUiLCJyZXBsYWNlbWVudENoaWxkTm9kZSIsInJlcGxhY2VDaGlsZE5vZGUiLCJyZXBsYWNlbWVudE5vZGVzIiwicmVwbGFjZW1lbnRDaGlsZE5vZGVzIiwicmVwbGFjZUNoaWxkTm9kZXMiLCJleGlzdGluZ05vZGUiLCJhZGRlZE5vZGVzIiwiZXhpc3RpbmdDaGlsZE5vZGUiLCJhZGRlZENoaWxkTm9kZXMiLCJhZGRDaGlsZE5vZGVzQWZ0ZXIiLCJhcHBlbmRlZFRva2VucyIsInRva2VucyIsIm5vZGUiLCJsYXN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0TGFzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiLCJmaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCIsImdldEZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZW5kIiwicmVwbGFjZW1lbnRUb2tlbnMiLCJhZGRlZE5vZGUiLCJhZGRlZENoaWxkTm9kZSIsImFwcGVuZENoaWxkTm9kZUFmdGVyIiwiYWRkZWRUb2tlbnMiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7IiwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXdFZ0JBLFlBQVk7ZUFBWkE7O0lBdENBQyxhQUFhO2VBQWJBOztJQTZDQUMsY0FBYztlQUFkQTs7SUE3RUFDLFVBQVU7ZUFBVkE7O0lBdUNBQyxZQUFZO2VBQVpBOztJQWpDQUMsVUFBVTtlQUFWQTs7SUFNQUMsV0FBVztlQUFYQTs7SUFvQ0FDLFlBQVk7ZUFBWkE7O0lBOUJBQyxXQUFXO2VBQVhBOztJQU9BQyxZQUFZO2VBQVpBOztJQWtDQUMsYUFBYTtlQUFiQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTNEVCxTQUFTUCxXQUFXUSxZQUFZLEVBQUVDLFVBQVU7SUFDakQsSUFBTUMsb0JBQW9CRixjQUFlLEdBQUc7SUFFNUNDLFdBQVdFLGVBQWUsQ0FBQ0Q7QUFDN0I7QUFFTyxTQUFTUixXQUFXVSxXQUFXLEVBQUVILFVBQVU7SUFD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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "highmark-markdown",
3
3
  "author": "James Smith",
4
- "version": "0.0.413",
4
+ "version": "0.0.415",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/highmark-markdown",
7
7
  "description": "Highmark's Markdown and Markdown Style languages.",
@@ -11,16 +11,16 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^14.0.1",
14
- "occam-grammars": "^1.0.649",
14
+ "occam-grammars": "^1.0.651",
15
15
  "occam-lexers": "^22.0.44",
16
- "occam-parsers": "^22.0.61",
16
+ "occam-parsers": "^22.0.63",
17
17
  "occam-query": "^3.1.174"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@swc/core": "^1.5.6",
21
21
  "easy": "^19.0.1",
22
- "easy-layout": "^6.0.170",
23
- "easy-with-style": "^3.0.383",
22
+ "easy-layout": "^6.0.171",
23
+ "easy-with-style": "^3.0.385",
24
24
  "esbuild": "^0.9.2",
25
25
  "express": "^4.17.1",
26
26
  "juxtapose": "^4.0.96",
@@ -3,7 +3,6 @@
3
3
  import MarkdownNode from "../../node/markdown";
4
4
 
5
5
  import { contentFromNode } from "../../utilities/content";
6
- import { leadingIndexFromNodeAndTokens } from "../../utilities/node";
7
6
 
8
7
  export default class BlockLineMarkdownNode extends MarkdownNode {
9
8
  content(context) {
@@ -14,8 +13,8 @@ export default class BlockLineMarkdownNode extends MarkdownNode {
14
13
 
15
14
  content = contentFromNode(node, context);
16
15
 
17
- const leadingIndex = leadingIndexFromNodeAndTokens(node, tokens),
18
- previousTokenIndex = leadingIndex - 1,
16
+ const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
17
+ previousTokenIndex = firstSignificantTokenIndex - 1,
19
18
  previousToken = tokens[previousTokenIndex],
20
19
  previousTokenWhitespaceToken = previousToken.isWhitespaceToken();
21
20
 
@@ -2,7 +2,6 @@
2
2
 
3
3
  import { arrayUtilities } from "necessary";
4
4
 
5
- import { leadingIndexFromNodeAndTokens, trailingIndexFromNodeAndTokens } from "./utilities/node";
6
5
  import { removeNode, appendNode, removeTokens, appendTokens, replaceNode, replaceNodes, replaceTokens, addNodesAfter, addTokensAfter } from "./utilities/replacement";
7
6
 
8
7
  const { push } = arrayUtilities;
@@ -135,8 +134,8 @@ export default class Replacement {
135
134
  let { tokens } = context;
136
135
 
137
136
  const clonedTokens = clonedTokensFromNodeAndTokens(node, tokens),
138
- leadingIndex = leadingIndexFromNodeAndTokens(node, tokens),
139
- offset = leadingIndex; ///
137
+ firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
138
+ offset = firstSignificantTokenIndex; ///
140
139
 
141
140
  node = node.clone(); ///
142
141
 
@@ -208,10 +207,10 @@ function overwriteNonTerminalNodeTokens(nonTerminalNode, clonedTokens, tokens, o
208
207
  }
209
208
 
210
209
  function clonedTokensFromNodeAndTokens(node, tokens) {
211
- const leadingIndex = leadingIndexFromNodeAndTokens(node, tokens),
212
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens),
213
- start = leadingIndex, ///
214
- end = trailingIndex + 1;
210
+ const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
211
+ lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
212
+ start = firstSignificantTokenIndex, ///
213
+ end = lastSignificantTokenIndex + 1;
215
214
 
216
215
  tokens = tokens.slice(start, end); ///
217
216
 
@@ -4,7 +4,6 @@ import { arrayUtilities } from "necessary";
4
4
 
5
5
  import { EMPTY_STRING } from "../constants";
6
6
  import { ESCAPED_TOKEN_TYPE } from "../tokenTypes";
7
- import { leadingIndexFromNodeAndTokens, trailingIndexFromNodeAndTokens } from "../utilities/node";
8
7
 
9
8
  const { first, last } = arrayUtilities;
10
9
 
@@ -13,10 +12,10 @@ export function contentFromNode(node, context) {
13
12
 
14
13
  let { tokens } = context;
15
14
 
16
- const leadingIndex = leadingIndexFromNodeAndTokens(node, tokens),
17
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens),
18
- start = leadingIndex, ///
19
- end = trailingIndex + 1;
15
+ const firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
16
+ lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
17
+ start = firstSignificantTokenIndex, ///
18
+ end = lastSignificantTokenIndex + 1;
20
19
 
21
20
  tokens = tokens.slice(start, end);
22
21
 
@@ -36,11 +35,11 @@ export function contentFromNodes(nodes, augmentLeft, augmentRight, context) {
36
35
 
37
36
  const lastNode = last(nodes),
38
37
  firstNode = first(nodes),
39
- leadingIndex = leadingIndexFromNodeAndTokens(firstNode, tokens),
40
- trailingIndex = trailingIndexFromNodeAndTokens(lastNode, tokens);
38
+ firstSignificantTokenIndex = firstNode.getFirstSignificantTokenIndex(tokens),
39
+ lastSignificantTokenIndex = lastNode.getLastSignificantTokenIndex(tokens);
41
40
 
42
- let firstTokenIndex = leadingIndex, ///
43
- lastTokenIndex = trailingIndex; ///
41
+ let firstTokenIndex = firstSignificantTokenIndex, ///
42
+ lastTokenIndex = lastSignificantTokenIndex; ///
44
43
 
45
44
  if (augmentLeft) {
46
45
  const previousTokenIndex = firstTokenIndex - 1;
@@ -87,10 +86,13 @@ export function contentFromNodes(nodes, augmentLeft, augmentRight, context) {
87
86
  export function contentFromNodeAndTokens(node, tokens, offset = 0) {
88
87
  let content = EMPTY_STRING;
89
88
 
90
- const leadingIndex = leadingIndexFromNodeAndTokens(node, tokens) + offset,
91
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens);
89
+ let firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens);
92
90
 
93
- for (let index = leadingIndex; index <= trailingIndex; index++) {
91
+ const lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens);
92
+
93
+ firstSignificantTokenIndex += offset;
94
+
95
+ for (let index = firstSignificantTokenIndex; index <= lastSignificantTokenIndex; index++) {
94
96
  const token = tokens[index],
95
97
  tokenContent = token.getContent();
96
98
 
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- import { leadingIndexFromNodeAndTokens, trailingIndexFromNodeAndTokens } from "../utilities/node";
4
-
5
3
  export function appendNode(appendedNode, parentNode) {
6
4
  const appendedChildNode = appendedNode; ///
7
5
 
@@ -43,8 +41,8 @@ export function addNodesAfter(existingNode, addedNodes, parentNode) {
43
41
 
44
42
  export function appendTokens(appendedTokens, parentNode, tokens) {
45
43
  const node = parentNode, ///
46
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens),
47
- start = trailingIndex + 1,
44
+ lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
45
+ start = lastSignificantTokenIndex + 1,
48
46
  deleteCount = 0;
49
47
 
50
48
  tokens.splice(start, deleteCount, ...appendedTokens);
@@ -52,10 +50,10 @@ export function appendTokens(appendedTokens, parentNode, tokens) {
52
50
 
53
51
  export function removeTokens(removedNode, tokens) {
54
52
  const node = removedNode, ///
55
- leadingIndex = leadingIndexFromNodeAndTokens(node, tokens),
56
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens),
57
- start = leadingIndex, ///
58
- end = trailingIndex + 1,
53
+ firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
54
+ lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
55
+ start = firstSignificantTokenIndex, ///
56
+ end = lastSignificantTokenIndex + 1,
59
57
  deleteCount = end - start;
60
58
 
61
59
  tokens.splice(start, deleteCount);
@@ -63,10 +61,10 @@ export function removeTokens(removedNode, tokens) {
63
61
 
64
62
  export function replaceTokens(replacementTokens, replacedNode, tokens) {
65
63
  const node = replacedNode, ///
66
- leadingIndex = leadingIndexFromNodeAndTokens(node, tokens),
67
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens),
68
- start = leadingIndex, ///
69
- end = trailingIndex + 1,
64
+ firstSignificantTokenIndex = node.getFirstSignificantTokenIndex(tokens),
65
+ lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
66
+ start = firstSignificantTokenIndex, ///
67
+ end = lastSignificantTokenIndex + 1,
70
68
  deleteCount = end - start;
71
69
 
72
70
  tokens.splice(start, deleteCount, ...replacementTokens);
@@ -81,8 +79,8 @@ export function addNodeAfter(existingNode, addedNode, parentNode) {
81
79
 
82
80
  export function addTokensAfter(existingNode, addedTokens, tokens) {
83
81
  const node = existingNode, ///
84
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens),
85
- start = trailingIndex + 1,
82
+ lastSignificantTokenIndex = node.getLastSignificantTokenIndex(tokens),
83
+ start = lastSignificantTokenIndex + 1,
86
84
  deleteCount = 0;
87
85
 
88
86
  tokens.splice(start, deleteCount, ...addedTokens);
@@ -1,99 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- default: function() {
13
- return _default;
14
- },
15
- leadingIndexFromNodeAndTokens: function() {
16
- return leadingIndexFromNodeAndTokens;
17
- },
18
- trailingIndexFromNodeAndTokens: function() {
19
- return trailingIndexFromNodeAndTokens;
20
- }
21
- });
22
- var _necessary = require("necessary");
23
- var forwardsSome = _necessary.arrayUtilities.forwardsSome, backwardsSome = _necessary.arrayUtilities.backwardsSome;
24
- function leadingIndexFromNodeAndTokens(node, tokens) {
25
- var leadingIndex;
26
- var nodeTerminalNode = node.isTerminalNode();
27
- if (nodeTerminalNode) {
28
- var terminalNode = node; ///
29
- leadingIndex = leadingIndexFromTerminalNodeAndTokens(terminalNode, tokens);
30
- } else {
31
- var nonTerminalNode = node; ///
32
- leadingIndex = leadingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens);
33
- }
34
- return leadingIndex;
35
- }
36
- function trailingIndexFromNodeAndTokens(node, tokens) {
37
- var trailingIndex;
38
- var nodeTerminalNode = node.isTerminalNode();
39
- if (nodeTerminalNode) {
40
- var terminalNode = node; ///
41
- trailingIndex = trailingIndexFromTerminalNodeAndTokens(terminalNode, tokens);
42
- } else {
43
- var nonTerminalNode = node; ///
44
- trailingIndex = trailingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens);
45
- }
46
- return trailingIndex;
47
- }
48
- var _default = {
49
- leadingIndexFromNodeAndTokens: leadingIndexFromNodeAndTokens,
50
- trailingIndexFromNodeAndTokens: trailingIndexFromNodeAndTokens
51
- };
52
- function leadingIndexFromTerminalNodeAndTokens(terminalNode, tokens) {
53
- var leadingIndex;
54
- var significantToken = terminalNode.getSignificantToken();
55
- if (significantToken === null) {
56
- leadingIndex = -1;
57
- } else {
58
- var significantTokenIndex = tokens.indexOf(significantToken);
59
- leadingIndex = significantTokenIndex; ///
60
- }
61
- return leadingIndex;
62
- }
63
- function trailingIndexFromTerminalNodeAndTokens(terminalNode, tokens) {
64
- var trailingIndex;
65
- var significantToken = terminalNode.getSignificantToken();
66
- if (significantToken === null) {
67
- trailingIndex = -1;
68
- } else {
69
- var significantTokenIndex = tokens.indexOf(significantToken);
70
- trailingIndex = significantTokenIndex; ///
71
- }
72
- return trailingIndex;
73
- }
74
- function leadingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens) {
75
- var leadingIndex;
76
- var childNodes = nonTerminalNode.getChildNodes();
77
- forwardsSome(childNodes, function(childNode) {
78
- var node = childNode;
79
- leadingIndex = leadingIndexFromNodeAndTokens(node, tokens);
80
- if (leadingIndex !== -1) {
81
- return true;
82
- }
83
- });
84
- return leadingIndex;
85
- }
86
- function trailingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens) {
87
- var trailingIndex;
88
- var childNodes = nonTerminalNode.getChildNodes();
89
- backwardsSome(childNodes, function(childNode) {
90
- var node = childNode;
91
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens);
92
- if (trailingIndex !== -1) {
93
- return true;
94
- }
95
- });
96
- return trailingIndex;
97
- }
98
-
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmNvbnN0IHsgZm9yd2FyZHNTb21lLCBiYWNrd2FyZHNTb21lIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGxlYWRpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zKG5vZGUsIHRva2Vucykge1xuICBsZXQgbGVhZGluZ0luZGV4O1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zKG5vblRlcm1pbmFsTm9kZSwgdG9rZW5zKTtcbiAgfVxuXG4gIHJldHVybiBsZWFkaW5nSW5kZXg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGxldCB0cmFpbGluZ0luZGV4O1xuXG4gIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlOyAgLy8vXG5cbiAgICB0cmFpbGluZ0luZGV4ID0gdHJhaWxpbmdJbmRleEZyb21UZXJtaW5hbE5vZGVBbmRUb2tlbnModGVybWluYWxOb2RlLCB0b2tlbnMpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvLy9cblxuICAgIHRyYWlsaW5nSW5kZXggPSB0cmFpbGluZ0luZGV4RnJvbU5vblRlcm1pbmFsTm9kZUFuZFRva2Vucyhub25UZXJtaW5hbE5vZGUsIHRva2Vucyk7XG4gIH1cblxuICByZXR1cm4gdHJhaWxpbmdJbmRleDtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyxcbiAgdHJhaWxpbmdJbmRleEZyb21Ob2RlQW5kVG9rZW5zXG59O1xuXG5mdW5jdGlvbiBsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zKHRlcm1pbmFsTm9kZSwgdG9rZW5zKSB7XG4gIGxldCBsZWFkaW5nSW5kZXg7XG5cbiAgY29uc3Qgc2lnbmlmaWNhbnRUb2tlbiA9IHRlcm1pbmFsTm9kZS5nZXRTaWduaWZpY2FudFRva2VuKCk7XG5cbiAgaWYgKHNpZ25pZmljYW50VG9rZW4gPT09IG51bGwpIHtcbiAgICBsZWFkaW5nSW5kZXggPSAtMTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihzaWduaWZpY2FudFRva2VuKTtcblxuICAgIGxlYWRpbmdJbmRleCA9IHNpZ25pZmljYW50VG9rZW5JbmRleDsgLy8vXG4gIH1cblxuICByZXR1cm4gbGVhZGluZ0luZGV4O1xufVxuXG5mdW5jdGlvbiB0cmFpbGluZ0luZGV4RnJvbVRlcm1pbmFsTm9kZUFuZFRva2Vucyh0ZXJtaW5hbE5vZGUsIHRva2Vucykge1xuICBsZXQgdHJhaWxpbmdJbmRleDtcblxuICBjb25zdCBzaWduaWZpY2FudFRva2VuID0gdGVybWluYWxOb2RlLmdldFNpZ25pZmljYW50VG9rZW4oKTtcblxuICBpZiAoc2lnbmlmaWNhbnRUb2tlbiA9PT0gbnVsbCkge1xuICAgIHRyYWlsaW5nSW5kZXggPSAtMTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBzaWduaWZpY2FudFRva2VuSW5kZXggPSB0b2tlbnMuaW5kZXhPZihzaWduaWZpY2FudFRva2VuKTtcblxuICAgIHRyYWlsaW5nSW5kZXggPSBzaWduaWZpY2FudFRva2VuSW5kZXg7IC8vL1xuICB9XG5cbiAgcmV0dXJuIHRyYWlsaW5nSW5kZXg7XG59XG5cbmZ1bmN0aW9uIGxlYWRpbmdJbmRleEZyb21Ob25UZXJtaW5hbE5vZGVBbmRUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgbGV0IGxlYWRpbmdJbmRleDtcblxuICBjb25zdCBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKTtcblxuICBmb3J3YXJkc1NvbWUoY2hpbGROb2RlcywgKGNoaWxkTm9kZSkgPT4ge1xuICAgIGNvbnN0IG5vZGUgPSBjaGlsZE5vZGU7XG5cbiAgICBsZWFkaW5nSW5kZXggPSBsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2Vucyhub2RlLCB0b2tlbnMpO1xuXG4gICAgaWYgKGxlYWRpbmdJbmRleCAhPT0gLTEpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGxlYWRpbmdJbmRleDtcbn1cblxuZnVuY3Rpb24gdHJhaWxpbmdJbmRleEZyb21Ob25UZXJtaW5hbE5vZGVBbmRUb2tlbnMobm9uVGVybWluYWxOb2RlLCB0b2tlbnMpIHtcbiAgbGV0IHRyYWlsaW5nSW5kZXg7XG5cbiAgY29uc3QgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCk7XG5cbiAgYmFja3dhcmRzU29tZShjaGlsZE5vZGVzLCAoY2hpbGROb2RlKSA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGNoaWxkTm9kZTtcblxuICAgIHRyYWlsaW5nSW5kZXggPSB0cmFpbGluZ0luZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKTtcblxuICAgIGlmICh0cmFpbGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdHJhaWxpbmdJbmRleDtcbn1cbiJdLCJuYW1lcyI6WyJsZWFkaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXhGcm9tTm9kZUFuZFRva2VucyIsImZvcndhcmRzU29tZSIsImFycmF5VXRpbGl0aWVzIiwiYmFja3dhcmRzU29tZSIsIm5vZGUiLCJ0b2tlbnMiLCJsZWFkaW5nSW5kZXgiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJsZWFkaW5nSW5kZXhGcm9tVGVybWluYWxOb2RlQW5kVG9rZW5zIiwibm9uVGVybWluYWxOb2RlIiwibGVhZGluZ0luZGV4RnJvbU5vblRlcm1pbmFsTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXgiLCJ0cmFpbGluZ0luZGV4RnJvbVRlcm1pbmFsTm9kZUFuZFRva2VucyIsInRyYWlsaW5nSW5kZXhGcm9tTm9uVGVybWluYWxOb2RlQW5kVG9rZW5zIiwic2lnbmlmaWNhbnRUb2tlbiIsImdldFNpZ25pZmljYW50VG9rZW4iLCJzaWduaWZpY2FudFRva2VuSW5kZXgiLCJpbmRleE9mIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJjaGlsZE5vZGUiXSwicmFuZ2VNYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUEwQ0EsT0FHRTtlQUhGOztJQXBDZ0JBLDZCQUE2QjtlQUE3QkE7O0lBa0JBQyw4QkFBOEI7ZUFBOUJBOzs7eUJBdEJlO0FBRS9CLElBQVFDLGVBQWdDQyx5QkFBYyxDQUE5Q0QsY0FBY0UsZ0JBQWtCRCx5QkFBYyxDQUFoQ0M7QUFFZixTQUFTSiw4QkFBOEJLLElBQUksRUFBRUMsTUFBTTtJQUN4RCxJQUFJQztJQUVKLElBQU1DLG1CQUFtQkgsS0FBS0ksY0FBYztJQUU1QyxJQUFJRCxrQkFBa0I7UUFDcEIsSUFBTUUsZUFBZUwsTUFBTyxHQUFHO1FBRS9CRSxlQUFlSSxzQ0FBc0NELGNBQWNKO0lBQ3JFLE9BQU87UUFDTCxJQUFNTSxrQkFBa0JQLE1BQU8sR0FBRztRQUVsQ0UsZUFBZU0seUNBQXlDRCxpQkFBaUJOO0lBQzNFO0lBRUEsT0FBT0M7QUFDVDtBQUVPLFNBQVNOLCtCQUErQkksSUFBSSxFQUFFQyxNQUFNO0lBQ3pELElBQUlRO0lBRUosSUFBTU4sbUJBQW1CSCxLQUFLSSxjQUFjO0lBRTVDLElBQUlELGtCQUFrQjtRQUNwQixJQUFNRSxlQUFlTCxNQUFPLEdBQUc7UUFFL0JTLGdCQUFnQkMsdUNBQXVDTCxjQUFjSjtJQUN2RSxPQUFPO1FBQ0wsSUFBTU0sa0JBQWtCUCxNQUFPLEdBQUc7UUFFbENTLGdCQUFnQkUsMENBQTBDSixpQkFBaUJOO0lBQzdFO0lBRUEsT0FBT1E7QUFDVDtJQUVBLFdBQWU7SUFDYmQsK0JBQUFBO0lBQ0FDLGdDQUFBQTtBQUNGO0FBRUEsU0FBU1Usc0NBQXNDRCxZQUFZLEVBQUVKLE1BQU07SUFDakUsSUFBSUM7SUFFSixJQUFNVSxtQkFBbUJQLGFBQWFRLG1CQUFtQjtJQUV6RCxJQUFJRCxxQkFBcUIsTUFBTTtRQUM3QlYsZUFBZSxDQUFDO0lBQ2xCLE9BQU87UUFDTCxJQUFNWSx3QkFBd0JiLE9BQU9jLE9BQU8sQ0FBQ0g7UUFFN0NWLGVBQWVZLHVCQUF1QixHQUFHO0lBQzNDO0lBRUEsT0FBT1o7QUFDVDtBQUVBLFNBQVNRLHVDQUF1Q0wsWUFBWSxFQUFFSixNQUFNO0lBQ2xFLElBQUlRO0lBRUosSUFBTUcsbUJBQW1CUCxhQUFhUSxtQkFBbUI7SUFFekQsSUFBSUQscUJBQXFCLE1BQU07UUFDN0JILGdCQUFnQixDQUFDO0lBQ25CLE9BQU87UUFDTCxJQUFNSyx3QkFBd0JiLE9BQU9jLE9BQU8sQ0FBQ0g7UUFFN0NILGdCQUFnQkssdUJBQXVCLEdBQUc7SUFDNUM7SUFFQSxPQUFPTDtBQUNUO0FBRUEsU0FBU0QseUNBQXlDRCxlQUFlLEVBQUVOLE1BQU07SUFDdkUsSUFBSUM7SUFFSixJQUFNYyxhQUFhVCxnQkFBZ0JVLGFBQWE7SUFFaERwQixhQUFhbUIsWUFBWSxTQUFDRTtRQUN4QixJQUFNbEIsT0FBT2tCO1FBRWJoQixlQUFlUCw4QkFBOEJLLE1BQU1DO1FBRW5ELElBQUlDLGlCQUFpQixDQUFDLEdBQUc7WUFDdkIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPQTtBQUNUO0FBRUEsU0FBU1MsMENBQTBDSixlQUFlLEVBQUVOLE1BQU07SUFDeEUsSUFBSVE7SUFFSixJQUFNTyxhQUFhVCxnQkFBZ0JVLGFBQWE7SUFFaERsQixjQUFjaUIsWUFBWSxTQUFDRTtRQUN6QixJQUFNbEIsT0FBT2tCO1FBRWJULGdCQUFnQmIsK0JBQStCSSxNQUFNQztRQUVyRCxJQUFJUSxrQkFBa0IsQ0FBQyxHQUFHO1lBQ3hCLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0E7QUFDVCJ9
@@ -1,114 +0,0 @@
1
- "use strict";
2
-
3
- import { arrayUtilities } from "necessary";
4
-
5
- const { forwardsSome, backwardsSome } = arrayUtilities;
6
-
7
- export function leadingIndexFromNodeAndTokens(node, tokens) {
8
- let leadingIndex;
9
-
10
- const nodeTerminalNode = node.isTerminalNode();
11
-
12
- if (nodeTerminalNode) {
13
- const terminalNode = node; ///
14
-
15
- leadingIndex = leadingIndexFromTerminalNodeAndTokens(terminalNode, tokens);
16
- } else {
17
- const nonTerminalNode = node; ///
18
-
19
- leadingIndex = leadingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens);
20
- }
21
-
22
- return leadingIndex;
23
- }
24
-
25
- export function trailingIndexFromNodeAndTokens(node, tokens) {
26
- let trailingIndex;
27
-
28
- const nodeTerminalNode = node.isTerminalNode();
29
-
30
- if (nodeTerminalNode) {
31
- const terminalNode = node; ///
32
-
33
- trailingIndex = trailingIndexFromTerminalNodeAndTokens(terminalNode, tokens);
34
- } else {
35
- const nonTerminalNode = node; ///
36
-
37
- trailingIndex = trailingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens);
38
- }
39
-
40
- return trailingIndex;
41
- }
42
-
43
- export default {
44
- leadingIndexFromNodeAndTokens,
45
- trailingIndexFromNodeAndTokens
46
- };
47
-
48
- function leadingIndexFromTerminalNodeAndTokens(terminalNode, tokens) {
49
- let leadingIndex;
50
-
51
- const significantToken = terminalNode.getSignificantToken();
52
-
53
- if (significantToken === null) {
54
- leadingIndex = -1;
55
- } else {
56
- const significantTokenIndex = tokens.indexOf(significantToken);
57
-
58
- leadingIndex = significantTokenIndex; ///
59
- }
60
-
61
- return leadingIndex;
62
- }
63
-
64
- function trailingIndexFromTerminalNodeAndTokens(terminalNode, tokens) {
65
- let trailingIndex;
66
-
67
- const significantToken = terminalNode.getSignificantToken();
68
-
69
- if (significantToken === null) {
70
- trailingIndex = -1;
71
- } else {
72
- const significantTokenIndex = tokens.indexOf(significantToken);
73
-
74
- trailingIndex = significantTokenIndex; ///
75
- }
76
-
77
- return trailingIndex;
78
- }
79
-
80
- function leadingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens) {
81
- let leadingIndex;
82
-
83
- const childNodes = nonTerminalNode.getChildNodes();
84
-
85
- forwardsSome(childNodes, (childNode) => {
86
- const node = childNode;
87
-
88
- leadingIndex = leadingIndexFromNodeAndTokens(node, tokens);
89
-
90
- if (leadingIndex !== -1) {
91
- return true;
92
- }
93
- });
94
-
95
- return leadingIndex;
96
- }
97
-
98
- function trailingIndexFromNonTerminalNodeAndTokens(nonTerminalNode, tokens) {
99
- let trailingIndex;
100
-
101
- const childNodes = nonTerminalNode.getChildNodes();
102
-
103
- backwardsSome(childNodes, (childNode) => {
104
- const node = childNode;
105
-
106
- trailingIndex = trailingIndexFromNodeAndTokens(node, tokens);
107
-
108
- if (trailingIndex !== -1) {
109
- return true;
110
- }
111
- });
112
-
113
- return trailingIndex;
114
- }