occam-parsers 23.3.28 → 23.3.30

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.
@@ -96,11 +96,7 @@ class DefinitionContext extends _context.default {
96
96
  frame = _frame.default.fromChildNode(childNode);
97
97
  } else {
98
98
  const committed = nonTerminalNode.isCommitted();
99
- if (committed) {
100
- frame = _frame.abortedFrame;
101
- } else {
102
- frame = _frame.nullifiedFrame;
103
- }
99
+ frame = committed ? _frame.abortedFrame : _frame.nullifiedFrame;
104
100
  }
105
101
  return frame;
106
102
  }
@@ -117,4 +113,4 @@ function nonTerminalNodeFromFrame(frame, context) {
117
113
  return nonTerminalNode;
118
114
  }
119
115
 
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2RlZmluaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmltcG9ydCB7IGFib3J0ZWRGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vZnJhbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVmaW5pdGlvbkNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHByZWNlZGVuY2UpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZShmcmFtZSkge1xuICAgIGxldCBwcmVjZWRlbmNlO1xuXG4gICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKTtcblxuICAgIHByZWNlZGVuY2UgPSBwcmVjZWRlbmNlIHx8IHRoaXMucHJlY2VkZW5jZTsgLy8vXG5cbiAgICByZXR1cm4gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFJ1bGUoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHJ1bGVDb250ZXh0ID0gY29udGV4dCwgIC8vL1xuICAgICAgICAgIHJ1bGUgPSBydWxlQ29udGV4dC5nZXRSdWxlKCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7XG4gICAgY29uc3QgaXNvbGF0ZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiBpc29sYXRlZDtcbiAgfVxuXG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbW1pdHRlZDtcbiAgfVxuXG4gIGNvbXBvc2UoZnJhbWUpIHtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IHRoaXMuZ2V0UHJlY2VkZW5jZShmcmFtZSk7XG5cbiAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIGNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZUZyb21GcmFtZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc29sYXRlZCA9IGNvbnRleHQuaXNJc29sYXRlZCgpO1xuXG4gICAgaWYgKGlzb2xhdGVkKSB7XG4gICAgICBub25UZXJtaW5hbE5vZGUubnVsbGlmeVByZWNlZGVuY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWxhdGFibGUgPSBub25UZXJtaW5hbE5vZGUuaXNQYWxhdGFibGUoKTtcblxuICAgIGlmIChwYWxhdGFibGUpIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gICAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29tbWl0dGVkID0gbm9uVGVybWluYWxOb2RlLmlzQ29tbWl0dGVkKCk7XG5cbiAgICAgIGlmIChjb21taXR0ZWQpIHtcbiAgICAgICAgZnJhbWUgPSBhYm9ydGVkRnJhbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZSA9IG51bGxpZmllZEZyYW1lO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tRGVmaW5pdGlvbihkZWZpbml0aW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcHJlY2VkZW5jZSA9IGRlZmluaXRpb24uZ2V0UHJlY2VkZW5jZSgpLFxuICAgICAgICAgIGRlZmluaXRpb25Db250ZXh0ID0gQ29udGV4dC5mcm9tTm90aGluZyhEZWZpbml0aW9uQ29udGV4dCwgcHJlY2VkZW5jZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZGVmaW5pdGlvbkNvbnRleHQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gbm9uVGVybWluYWxOb2RlRnJvbUZyYW1lKGZyYW1lLCBjb250ZXh0KSB7XG4gIGxldCBub25UZXJtaW5hbE5vZGU7XG5cbiAgY29uc3QgcnVsZSA9IGNvbnRleHQuZ2V0UnVsZSgpLFxuICAgICAgICBvcGFjaXR5ID0gcnVsZS5nZXRPcGFjaXR5KCksXG4gICAgICAgIHJ1bGVOYW1lID0gcnVsZS5nZXROYW1lKCksXG4gICAgICAgIGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgIHByZWNlZGVuY2UgPSBmcmFtZS5nZXRQcmVjZWRlbmNlKCksXG4gICAgICAgIE5vblRlcm1pbmFsTm9kZSA9IHJ1bGUuTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lLCBjb250ZXh0KTtcblxuICBub25UZXJtaW5hbE5vZGUgPSBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTtcblxuICBub25UZXJtaW5hbE5vZGUgPSBub25UZXJtaW5hbE5vZGUucmV3cml0ZShjb250ZXh0KTsgIC8vL1xuXG4gIHJldHVybiBub25UZXJtaW5hbE5vZGU7XG59XG4iXSwibmFtZXMiOlsiRGVmaW5pdGlvbkNvbnRleHQiLCJDb250ZXh0IiwiY29udGV4dCIsInN0YXRlIiwiY29udGludWF0aW9ucyIsInByZWNlZGVuY2UiLCJnZXRQcmVjZWRlbmNlIiwiZnJhbWUiLCJnZXRSdWxlIiwiZ2V0Q29udGV4dCIsInJ1bGVDb250ZXh0IiwicnVsZSIsImlzSXNvbGF0ZWQiLCJpc29sYXRlZCIsImlzQ29tbWl0dGVkIiwiY29tbWl0dGVkIiwiY29tcG9zZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiRnJhbWUiLCJmcm9tQ2hpbGROb2Rlc0FuZFByZWNlZGVuY2UiLCJub25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVGcm9tRnJhbWUiLCJudWxsaWZ5UHJlY2VkZW5jZSIsInBhbGF0YWJsZSIsImlzUGFsYXRhYmxlIiwiY2hpbGROb2RlIiwiZnJvbUNoaWxkTm9kZSIsImFib3J0ZWRGcmFtZSIsIm51bGxpZmllZEZyYW1lIiwiZnJvbURlZmluaXRpb24iLCJkZWZpbml0aW9uIiwiZGVmaW5pdGlvbkNvbnRleHQiLCJmcm9tTm90aGluZyIsIm9wYWNpdHkiLCJnZXRPcGFjaXR5IiwicnVsZU5hbWUiLCJnZXROYW1lIiwiTm9uVGVybWluYWxOb2RlIiwiTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwicmV3cml0ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFxQkE7OzsrREFMSDtnRUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJTCxNQUFNQSwwQkFBMEJDLGdCQUFPO0lBQ3BELFlBQVlDLE9BQU8sRUFBRUMsS0FBSyxFQUFFQyxhQUFhLEVBQUVDLFVBQVUsQ0FBRTtRQUNyRCxLQUFLLENBQUNILFNBQVNDLE9BQU9DO1FBRXRCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtJQUNwQjtJQUVBQyxjQUFjQyxLQUFLLEVBQUU7UUFDbkIsSUFBSUY7UUFFSkEsYUFBYUUsTUFBTUQsYUFBYTtRQUVoQ0QsYUFBYUEsY0FBYyxJQUFJLENBQUNBLFVBQVUsRUFBRSxHQUFHO1FBRS9DLE9BQU9BO0lBQ1Q7SUFFQUcsVUFBVTtRQUNSLE1BQU1OLFVBQVUsSUFBSSxDQUFDTyxVQUFVLElBQ3pCQyxjQUFjUixTQUNkUyxPQUFPRCxZQUFZRixPQUFPO1FBRWhDLE9BQU9HO0lBQ1Q7SUFFQUMsYUFBYTtRQUNYLE1BQU1DLFdBQVc7UUFFakIsT0FBT0E7SUFDVDtJQUVBQyxjQUFjO1FBQ1osTUFBTUMsWUFBWTtRQUVsQixPQUFPQTtJQUNUO0lBRUFDLFFBQVFULEtBQUssRUFBRTtRQUNiLElBQUlMO1FBRUosTUFBTWUsYUFBYVYsTUFBTVcsYUFBYSxJQUNoQ2IsYUFBYSxJQUFJLENBQUNDLGFBQWEsQ0FBQ0M7UUFFdENBLFFBQVFZLGNBQUssQ0FBQ0MsMkJBQTJCLENBQUNILFlBQVlaO1FBRXRESCxVQUFVLElBQUksRUFBRSxHQUFHO1FBRW5CLE1BQU1tQixrQkFBa0JDLHlCQUF5QmYsT0FBT0w7UUFFeERBLFVBQVUsSUFBSSxDQUFDTyxVQUFVO1FBRXpCLE1BQU1JLFdBQVdYLFFBQVFVLFVBQVU7UUFFbkMsSUFBSUMsVUFBVTtZQUNaUSxnQkFBZ0JFLGlCQUFpQjtRQUNuQztRQUVBLE1BQU1DLFlBQVlILGdCQUFnQkksV0FBVztRQUU3QyxJQUFJRCxXQUFXO1lBQ2IsTUFBTUUsWUFBWUwsaUJBQWtCLEdBQUc7WUFFdkNkLFFBQVFZLGNBQUssQ0FBQ1EsYUFBYSxDQUFDRDtRQUM5QixPQUFPO1lBQ0wsTUFBTVgsWUFBWU0sZ0JBQWdCUCxXQUFXO1lBRTdDLElBQUlDLFdBQVc7Z0JBQ2JSLFFBQVFxQixtQkFBWTtZQUN0QixPQUFPO2dCQUNMckIsUUFBUXNCLHFCQUFjO1lBQ3hCO1FBQ0Y7UUFFQSxPQUFPdEI7SUFDVDtJQUVBLE9BQU91QixlQUFlQyxVQUFVLEVBQUU3QixPQUFPLEVBQUU7UUFDekMsTUFBTUcsYUFBYTBCLFdBQVd6QixhQUFhLElBQ3JDMEIsb0JBQW9CL0IsZ0JBQU8sQ0FBQ2dDLFdBQVcsQ0FBQ2pDLG1CQUFtQkssWUFBWUg7UUFFN0UsT0FBTzhCO0lBQ1Q7QUFDRjtBQUVBLFNBQVNWLHlCQUF5QmYsS0FBSyxFQUFFTCxPQUFPO0lBQzlDLElBQUltQjtJQUVKLE1BQU1WLE9BQU9ULFFBQVFNLE9BQU8sSUFDdEIwQixVQUFVdkIsS0FBS3dCLFVBQVUsSUFDekJDLFdBQVd6QixLQUFLMEIsT0FBTyxJQUN2QnBCLGFBQWFWLE1BQU1XLGFBQWEsSUFDaENiLGFBQWFFLE1BQU1ELGFBQWEsSUFDaENnQyxrQkFBa0IzQixLQUFLNEIsMkJBQTJCLENBQUNILFVBQVVsQztJQUVuRW1CLGtCQUFrQmlCLGdCQUFnQkUsMENBQTBDLENBQUNKLFVBQVVuQixZQUFZaUIsU0FBUzdCO0lBRTVHZ0Isa0JBQWtCQSxnQkFBZ0JvQixPQUFPLENBQUN2QyxVQUFXLEdBQUc7SUFFeEQsT0FBT21CO0FBQ1QifQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L2RlZmluaXRpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBGcmFtZSBmcm9tIFwiLi4vZnJhbWVcIjtcbmltcG9ydCBDb250ZXh0IGZyb20gXCIuLi9jb250ZXh0XCI7XG5cbmltcG9ydCB7IGFib3J0ZWRGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vZnJhbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGVmaW5pdGlvbkNvbnRleHQgZXh0ZW5kcyBDb250ZXh0IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RhdGUsIGNvbnRpbnVhdGlvbnMsIHByZWNlZGVuY2UpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdGF0ZSwgY29udGludWF0aW9ucyk7XG5cbiAgICB0aGlzLnByZWNlZGVuY2UgPSBwcmVjZWRlbmNlO1xuICB9XG5cbiAgZ2V0UHJlY2VkZW5jZShmcmFtZSkge1xuICAgIGxldCBwcmVjZWRlbmNlO1xuXG4gICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKTtcblxuICAgIHByZWNlZGVuY2UgPSBwcmVjZWRlbmNlIHx8IHRoaXMucHJlY2VkZW5jZTsgLy8vXG5cbiAgICByZXR1cm4gcHJlY2VkZW5jZTtcbiAgfVxuXG4gIGdldFJ1bGUoKSB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHJ1bGVDb250ZXh0ID0gY29udGV4dCwgIC8vL1xuICAgICAgICAgIHJ1bGUgPSBydWxlQ29udGV4dC5nZXRSdWxlKCk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxuXG4gIGlzSXNvbGF0ZWQoKSB7XG4gICAgY29uc3QgaXNvbGF0ZWQgPSBmYWxzZTtcblxuICAgIHJldHVybiBpc29sYXRlZDtcbiAgfVxuXG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IGZhbHNlO1xuXG4gICAgcmV0dXJuIGNvbW1pdHRlZDtcbiAgfVxuXG4gIGNvbXBvc2UoZnJhbWUpIHtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBmcmFtZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgcHJlY2VkZW5jZSA9IHRoaXMuZ2V0UHJlY2VkZW5jZShmcmFtZSk7XG5cbiAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZShjaGlsZE5vZGVzLCBwcmVjZWRlbmNlKTtcblxuICAgIGNvbnRleHQgPSB0aGlzOyAvLy9cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZUZyb21GcmFtZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCk7XG5cbiAgICBjb25zdCBpc29sYXRlZCA9IGNvbnRleHQuaXNJc29sYXRlZCgpO1xuXG4gICAgaWYgKGlzb2xhdGVkKSB7XG4gICAgICBub25UZXJtaW5hbE5vZGUubnVsbGlmeVByZWNlZGVuY2UoKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYWxhdGFibGUgPSBub25UZXJtaW5hbE5vZGUuaXNQYWxhdGFibGUoKTtcblxuICAgIGlmIChwYWxhdGFibGUpIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuXG4gICAgICBmcmFtZSA9IEZyYW1lLmZyb21DaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY29tbWl0dGVkID0gbm9uVGVybWluYWxOb2RlLmlzQ29tbWl0dGVkKCk7XG5cbiAgICAgIGZyYW1lID0gY29tbWl0dGVkID9cbiAgICAgICAgICAgICAgICBhYm9ydGVkRnJhbWUgOlxuICAgICAgICAgICAgICAgICAgbnVsbGlmaWVkRnJhbWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21EZWZpbml0aW9uKGRlZmluaXRpb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCBwcmVjZWRlbmNlID0gZGVmaW5pdGlvbi5nZXRQcmVjZWRlbmNlKCksXG4gICAgICAgICAgZGVmaW5pdGlvbkNvbnRleHQgPSBDb250ZXh0LmZyb21Ob3RoaW5nKERlZmluaXRpb25Db250ZXh0LCBwcmVjZWRlbmNlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBkZWZpbml0aW9uQ29udGV4dDtcbiAgfVxufVxuXG5mdW5jdGlvbiBub25UZXJtaW5hbE5vZGVGcm9tRnJhbWUoZnJhbWUsIGNvbnRleHQpIHtcbiAgbGV0IG5vblRlcm1pbmFsTm9kZTtcblxuICBjb25zdCBydWxlID0gY29udGV4dC5nZXRSdWxlKCksXG4gICAgICAgIG9wYWNpdHkgPSBydWxlLmdldE9wYWNpdHkoKSxcbiAgICAgICAgcnVsZU5hbWUgPSBydWxlLmdldE5hbWUoKSxcbiAgICAgICAgY2hpbGROb2RlcyA9IGZyYW1lLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgcHJlY2VkZW5jZSA9IGZyYW1lLmdldFByZWNlZGVuY2UoKSxcbiAgICAgICAgTm9uVGVybWluYWxOb2RlID0gcnVsZS5Ob25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUsIGNvbnRleHQpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpO1xuXG4gIG5vblRlcm1pbmFsTm9kZSA9IG5vblRlcm1pbmFsTm9kZS5yZXdyaXRlKGNvbnRleHQpOyAgLy8vXG5cbiAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJEZWZpbml0aW9uQ29udGV4dCIsIkNvbnRleHQiLCJjb250ZXh0Iiwic3RhdGUiLCJjb250aW51YXRpb25zIiwicHJlY2VkZW5jZSIsImdldFByZWNlZGVuY2UiLCJmcmFtZSIsImdldFJ1bGUiLCJnZXRDb250ZXh0IiwicnVsZUNvbnRleHQiLCJydWxlIiwiaXNJc29sYXRlZCIsImlzb2xhdGVkIiwiaXNDb21taXR0ZWQiLCJjb21taXR0ZWQiLCJjb21wb3NlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJGcmFtZSIsImZyb21DaGlsZE5vZGVzQW5kUHJlY2VkZW5jZSIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUZyb21GcmFtZSIsIm51bGxpZnlQcmVjZWRlbmNlIiwicGFsYXRhYmxlIiwiaXNQYWxhdGFibGUiLCJjaGlsZE5vZGUiLCJmcm9tQ2hpbGROb2RlIiwiYWJvcnRlZEZyYW1lIiwibnVsbGlmaWVkRnJhbWUiLCJmcm9tRGVmaW5pdGlvbiIsImRlZmluaXRpb24iLCJkZWZpbml0aW9uQ29udGV4dCIsImZyb21Ob3RoaW5nIiwib3BhY2l0eSIsImdldE9wYWNpdHkiLCJydWxlTmFtZSIsImdldE5hbWUiLCJOb25UZXJtaW5hbE5vZGUiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJyZXdyaXRlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQXFCQTs7OytEQUxIO2dFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlMLE1BQU1BLDBCQUEwQkMsZ0JBQU87SUFDcEQsWUFBWUMsT0FBTyxFQUFFQyxLQUFLLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxDQUFFO1FBQ3JELEtBQUssQ0FBQ0gsU0FBU0MsT0FBT0M7UUFFdEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO0lBQ3BCO0lBRUFDLGNBQWNDLEtBQUssRUFBRTtRQUNuQixJQUFJRjtRQUVKQSxhQUFhRSxNQUFNRCxhQUFhO1FBRWhDRCxhQUFhQSxjQUFjLElBQUksQ0FBQ0EsVUFBVSxFQUFFLEdBQUc7UUFFL0MsT0FBT0E7SUFDVDtJQUVBRyxVQUFVO1FBQ1IsTUFBTU4sVUFBVSxJQUFJLENBQUNPLFVBQVUsSUFDekJDLGNBQWNSLFNBQ2RTLE9BQU9ELFlBQVlGLE9BQU87UUFFaEMsT0FBT0c7SUFDVDtJQUVBQyxhQUFhO1FBQ1gsTUFBTUMsV0FBVztRQUVqQixPQUFPQTtJQUNUO0lBRUFDLGNBQWM7UUFDWixNQUFNQyxZQUFZO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQUMsUUFBUVQsS0FBSyxFQUFFO1FBQ2IsSUFBSUw7UUFFSixNQUFNZSxhQUFhVixNQUFNVyxhQUFhLElBQ2hDYixhQUFhLElBQUksQ0FBQ0MsYUFBYSxDQUFDQztRQUV0Q0EsUUFBUVksY0FBSyxDQUFDQywyQkFBMkIsQ0FBQ0gsWUFBWVo7UUFFdERILFVBQVUsSUFBSSxFQUFFLEdBQUc7UUFFbkIsTUFBTW1CLGtCQUFrQkMseUJBQXlCZixPQUFPTDtRQUV4REEsVUFBVSxJQUFJLENBQUNPLFVBQVU7UUFFekIsTUFBTUksV0FBV1gsUUFBUVUsVUFBVTtRQUVuQyxJQUFJQyxVQUFVO1lBQ1pRLGdCQUFnQkUsaUJBQWlCO1FBQ25DO1FBRUEsTUFBTUMsWUFBWUgsZ0JBQWdCSSxXQUFXO1FBRTdDLElBQUlELFdBQVc7WUFDYixNQUFNRSxZQUFZTCxpQkFBa0IsR0FBRztZQUV2Q2QsUUFBUVksY0FBSyxDQUFDUSxhQUFhLENBQUNEO1FBQzlCLE9BQU87WUFDTCxNQUFNWCxZQUFZTSxnQkFBZ0JQLFdBQVc7WUFFN0NQLFFBQVFRLFlBQ0VhLG1CQUFZLEdBQ1ZDLHFCQUFjO1FBQzVCO1FBRUEsT0FBT3RCO0lBQ1Q7SUFFQSxPQUFPdUIsZUFBZUMsVUFBVSxFQUFFN0IsT0FBTyxFQUFFO1FBQ3pDLE1BQU1HLGFBQWEwQixXQUFXekIsYUFBYSxJQUNyQzBCLG9CQUFvQi9CLGdCQUFPLENBQUNnQyxXQUFXLENBQUNqQyxtQkFBbUJLLFlBQVlIO1FBRTdFLE9BQU84QjtJQUNUO0FBQ0Y7QUFFQSxTQUFTVix5QkFBeUJmLEtBQUssRUFBRUwsT0FBTztJQUM5QyxJQUFJbUI7SUFFSixNQUFNVixPQUFPVCxRQUFRTSxPQUFPLElBQ3RCMEIsVUFBVXZCLEtBQUt3QixVQUFVLElBQ3pCQyxXQUFXekIsS0FBSzBCLE9BQU8sSUFDdkJwQixhQUFhVixNQUFNVyxhQUFhLElBQ2hDYixhQUFhRSxNQUFNRCxhQUFhLElBQ2hDZ0Msa0JBQWtCM0IsS0FBSzRCLDJCQUEyQixDQUFDSCxVQUFVbEM7SUFFbkVtQixrQkFBa0JpQixnQkFBZ0JFLDBDQUEwQyxDQUFDSixVQUFVbkIsWUFBWWlCLFNBQVM3QjtJQUU1R2dCLGtCQUFrQkEsZ0JBQWdCb0IsT0FBTyxDQUFDdkMsVUFBVyxHQUFHO0lBRXhELE9BQU9tQjtBQUNUIn0=
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  const _context = /*#__PURE__*/ _interop_require_default(require("../../context"));
12
+ const _frame = require("../../frame");
12
13
  function _interop_require_default(obj) {
13
14
  return obj && obj.__esModule ? obj : {
14
15
  default: obj
@@ -19,6 +20,13 @@ class CommittedPartPartContext extends _context.default {
19
20
  const committed = true;
20
21
  return committed;
21
22
  }
23
+ compose(frame, partFrame = _frame.nullifiedFrame) {
24
+ const partFrameValid = partFrame.isValid();
25
+ if (partFrameValid) {
26
+ frame = frame.merge(partFrame);
27
+ }
28
+ return frame;
29
+ }
22
30
  continued(frame, context) {
23
31
  frame = this.compose(frame);
24
32
  const frameValid = frame.isValid();
@@ -32,4 +40,4 @@ class CommittedPartPartContext extends _context.default {
32
40
  }
33
41
  }
34
42
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29tbWl0dGVkUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gY29tbWl0dGVkO1xuICB9XG5cbiAgY29udGludWVkKGZyYW1lLCBjb250ZXh0KSB7XG4gICAgZnJhbWUgPSB0aGlzLmNvbXBvc2UoZnJhbWUpO1xuXG4gICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICBjb250ZXh0LmNvbW1pdCh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoY29udGV4dCkge1xuICAgIHJldHVybiBDb250ZXh0LmZyb21Ob3RoaW5nKENvbW1pdHRlZFBhcnRQYXJ0Q29udGV4dCwgY29udGV4dCk7XG4gIH1cbn0iXSwibmFtZXMiOlsiQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IiwiQ29udGV4dCIsImlzQ29tbWl0dGVkIiwiY29tbWl0dGVkIiwiY29udGludWVkIiwiZnJhbWUiLCJjb250ZXh0IiwiY29tcG9zZSIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tbWl0IiwiZnJvbU5vdGhpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7Z0VBRkQ7Ozs7OztBQUVMLE1BQU1BLGlDQUFpQ0MsZ0JBQU87SUFDM0RDLGNBQWM7UUFDWixNQUFNQyxZQUFZO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQUMsVUFBVUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7UUFDeEJELFFBQVEsSUFBSSxDQUFDRSxPQUFPLENBQUNGO1FBRXJCLE1BQU1HLGFBQWFILE1BQU1JLE9BQU87UUFFaEMsSUFBSUQsWUFBWTtZQUNkRixRQUFRSSxNQUFNLENBQUMsSUFBSTtRQUNyQjtRQUVBLE9BQU9MO0lBQ1Q7SUFFQSxPQUFPTSxZQUFZTCxPQUFPLEVBQUU7UUFDMUIsT0FBT0wsZ0JBQU8sQ0FBQ1UsV0FBVyxDQUFDWCwwQkFBMEJNO0lBQ3ZEO0FBQ0YifQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0L3BhcnQvY29tbWl0dGVkUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IENvbnRleHQgZnJvbSBcIi4uLy4uL2NvbnRleHRcIjtcblxuaW1wb3J0IHsgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0IGV4dGVuZHMgQ29udGV4dCB7XG4gIGlzQ29tbWl0dGVkKCkge1xuICAgIGNvbnN0IGNvbW1pdHRlZCA9IHRydWU7XG5cbiAgICByZXR1cm4gY29tbWl0dGVkO1xuICB9XG5cbiAgY29tcG9zZShmcmFtZSwgcGFydEZyYW1lID0gbnVsbGlmaWVkRnJhbWUpIHtcbiAgICBjb25zdCBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICBpZiAocGFydEZyYW1lVmFsaWQpIHtcbiAgICAgIGZyYW1lID0gZnJhbWUubWVyZ2UocGFydEZyYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBjb250aW51ZWQoZnJhbWUsIGNvbnRleHQpIHtcbiAgICBmcmFtZSA9IHRoaXMuY29tcG9zZShmcmFtZSk7XG5cbiAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgaWYgKGZyYW1lVmFsaWQpIHtcbiAgICAgIGNvbnRleHQuY29tbWl0KHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm90aGluZyhjb250ZXh0KSB7XG4gICAgcmV0dXJuIENvbnRleHQuZnJvbU5vdGhpbmcoQ29tbWl0dGVkUGFydFBhcnRDb250ZXh0LCBjb250ZXh0KTtcbiAgfVxufSJdLCJuYW1lcyI6WyJDb21taXR0ZWRQYXJ0UGFydENvbnRleHQiLCJDb250ZXh0IiwiaXNDb21taXR0ZWQiLCJjb21taXR0ZWQiLCJjb21wb3NlIiwiZnJhbWUiLCJwYXJ0RnJhbWUiLCJudWxsaWZpZWRGcmFtZSIsInBhcnRGcmFtZVZhbGlkIiwiaXNWYWxpZCIsIm1lcmdlIiwiY29udGludWVkIiwiY29udGV4dCIsImZyYW1lVmFsaWQiLCJjb21taXQiLCJmcm9tTm90aGluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OztnRUFKRDt1QkFFVzs7Ozs7O0FBRWhCLE1BQU1BLGlDQUFpQ0MsZ0JBQU87SUFDM0RDLGNBQWM7UUFDWixNQUFNQyxZQUFZO1FBRWxCLE9BQU9BO0lBQ1Q7SUFFQUMsUUFBUUMsS0FBSyxFQUFFQyxZQUFZQyxxQkFBYyxFQUFFO1FBQ3pDLE1BQU1DLGlCQUFpQkYsVUFBVUcsT0FBTztRQUV4QyxJQUFJRCxnQkFBZ0I7WUFDbEJILFFBQVFBLE1BQU1LLEtBQUssQ0FBQ0o7UUFDdEI7UUFFQSxPQUFPRDtJQUNUO0lBRUFNLFVBQVVOLEtBQUssRUFBRU8sT0FBTyxFQUFFO1FBQ3hCUCxRQUFRLElBQUksQ0FBQ0QsT0FBTyxDQUFDQztRQUVyQixNQUFNUSxhQUFhUixNQUFNSSxPQUFPO1FBRWhDLElBQUlJLFlBQVk7WUFDZEQsUUFBUUUsTUFBTSxDQUFDLElBQUk7UUFDckI7UUFFQSxPQUFPVDtJQUNUO0lBRUEsT0FBT1UsWUFBWUgsT0FBTyxFQUFFO1FBQzFCLE9BQU9YLGdCQUFPLENBQUNjLFdBQVcsQ0FBQ2YsMEJBQTBCWTtJQUN2RDtBQUNGIn0=
@@ -42,7 +42,9 @@ class ChoiceOfPartsPart extends _nonTerminal.default {
42
42
  frame = partChoice.parse(frame, context);
43
43
  } else {
44
44
  const partFrame = partChoice.parse(_frame.emptyFrame, context), partFrameValid = partFrame.isValid(), partFrameAborted = partFrame.isAborted();
45
- if (partFrameValid) {
45
+ if (false) {
46
+ ///
47
+ } else if (partFrameValid) {
46
48
  frame = context.compose(frame, partFrame);
47
49
  } else if (partFrameAborted) {
48
50
  frame = partFrame; ///
@@ -80,4 +82,4 @@ class ChoiceOfPartsPart extends _nonTerminal.default {
80
82
  }
81
83
  }
82
84
 
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL2Nob2ljZU9mUGFydHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IENob2ljZU9mUGFydHNQYXJ0VHlwZSB9IGZyb20gXCIuLi8uLi9wYXJ0VHlwZXNcIjtcbmltcG9ydCB7IGVtcHR5RnJhbWUsIG51bGxpZmllZEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob2ljZU9mUGFydHNQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcykge1xuICAgIHN1cGVyKHR5cGUsIGNvbnRpbnVhdGlvbik7XG4gICAgXG4gICAgdGhpcy5wYXJ0Q2hvaWNlcyA9IHBhcnRDaG9pY2VzO1xuICB9XG4gIFxuICBnZXRQYXJ0Q2hvaWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0Q2hvaWNlcztcbiAgfVxuXG4gIGdldFBhcnRzKCkge1xuICAgIGNvbnN0IHBhcnRzID0gdGhpcy5wYXJ0Q2hvaWNlcy5tYXAoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgIGNvbnN0IHBhcnQgPSBwYXJ0Q2hvaWNlLmdldFBhcnQoKTtcblxuICAgICAgcmV0dXJuIHBhcnQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFydHM7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCksXG4gICAgICAgICAgICBzYXZlZEZyYW1lID0gZnJhbWU7IC8vL1xuXG4gICAgICB0aGlzLnBhcnRDaG9pY2VzLnNvbWUoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgICAgZnJhbWUgPSBzYXZlZEZyYW1lOyAvLy9cblxuICAgICAgICBpZiAoY29udGludWluZykge1xuICAgICAgICAgIGZyYW1lID0gcGFydENob2ljZS5wYXJzZShmcmFtZSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcGFydEZyYW1lID0gcGFydENob2ljZS5wYXJzZShlbXB0eUZyYW1lLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCksXG4gICAgICAgICAgICAgICAgcGFydEZyYW1lQWJvcnRlZCA9IHBhcnRGcmFtZS5pc0Fib3J0ZWQoKTtcblxuICAgICAgICAgIGlmIChwYXJ0RnJhbWVWYWxpZCkge1xuICAgICAgICAgICAgZnJhbWUgPSBjb250ZXh0LmNvbXBvc2UoZnJhbWUsIHBhcnRGcmFtZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0RnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgICBmcmFtZSA9IHBhcnRGcmFtZTsgLy8vXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZyYW1lID0gbnVsbGlmaWVkRnJhbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKSxcbiAgICAgICAgICAgICAgZnJhbWVBYm9ydGVkID0gZnJhbWUuaXNBYm9ydGVkKCk7XG5cbiAgICAgICAgaWYgKGZyYW1lVmFsaWQgfHwgZnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgICAgfVxuICAgIH0sIHBhcnQsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcGFydENob2ljZXNTdHJpbmcgPSB0aGlzLnBhcnRDaG9pY2VzLnJlZHVjZSgocGFydENob2ljZXNTdHJpbmcsIHBhcnRDaG9pY2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRDaG9pY2VTdHJpbmcgPSBwYXJ0Q2hvaWNlLmFzU3RyaW5nKCk7XG4gICAgXG4gICAgICAgICAgICBpZiAocGFydENob2ljZXNTdHJpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcGFydENob2ljZXNTdHJpbmcgPSBwYXJ0Q2hvaWNlU3RyaW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGFydENob2ljZXNTdHJpbmcgPSBgJHtwYXJ0Q2hvaWNlc1N0cmluZ30gfCAke3BhcnRDaG9pY2VTdHJpbmd9YDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIHJldHVybiBwYXJ0Q2hvaWNlc1N0cmluZztcbiAgICAgICAgICB9LCBudWxsKSxcbiAgICAgICAgICBzdHJpbmcgPSBgKCAke3BhcnRDaG9pY2VzU3RyaW5nfSApYDtcbiAgICBcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0Q2hvaWNlcyhwYXJ0Q2hvaWNlcykge1xuICAgIGNvbnN0IHR5cGUgPSBDaG9pY2VPZlBhcnRzUGFydFR5cGUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gZmFsc2UsXG4gICAgICAgICAgY2hvaWNlT2ZQYXJ0c1BhcnQgPSBuZXcgQ2hvaWNlT2ZQYXJ0c1BhcnQodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcyk7XG5cbiAgICByZXR1cm4gY2hvaWNlT2ZQYXJ0c1BhcnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDaG9pY2VPZlBhcnRzUGFydCIsIk5vblRlcm1pbmFsUGFydCIsInR5cGUiLCJjb250aW51YXRpb24iLCJwYXJ0Q2hvaWNlcyIsImdldFBhcnRDaG9pY2VzIiwiZ2V0UGFydHMiLCJwYXJ0cyIsIm1hcCIsInBhcnRDaG9pY2UiLCJwYXJ0IiwiZ2V0UGFydCIsInBhcnNlIiwiZnJhbWUiLCJjb250ZXh0IiwicGFydENvbnRleHQiLCJjb250aW51aW5nIiwiaXNDb250aW51aW5nIiwic2F2ZWRGcmFtZSIsInNvbWUiLCJwYXJ0RnJhbWUiLCJlbXB0eUZyYW1lIiwicGFydEZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwicGFydEZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImNvbXBvc2UiLCJudWxsaWZpZWRGcmFtZSIsImZyYW1lVmFsaWQiLCJmcmFtZUFib3J0ZWQiLCJjb21taXQiLCJhc1N0cmluZyIsInBhcnRDaG9pY2VzU3RyaW5nIiwicmVkdWNlIiwicGFydENob2ljZVN0cmluZyIsInN0cmluZyIsImZyb21QYXJ0Q2hvaWNlcyIsIkNob2ljZU9mUGFydHNQYXJ0VHlwZSIsImNob2ljZU9mUGFydHNQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXFCQTs7O29FQU5PO3lCQUVBOzJCQUNVO3VCQUNLOzs7Ozs7QUFFNUIsTUFBTUEsMEJBQTBCQyxvQkFBZTtJQUM1RCxZQUFZQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsV0FBVyxDQUFFO1FBQzNDLEtBQUssQ0FBQ0YsTUFBTUM7UUFFWixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNELFdBQVc7SUFDekI7SUFFQUUsV0FBVztRQUNULE1BQU1DLFFBQVEsSUFBSSxDQUFDSCxXQUFXLENBQUNJLEdBQUcsQ0FBQyxDQUFDQztZQUNsQyxNQUFNQyxPQUFPRCxXQUFXRSxPQUFPO1lBRS9CLE9BQU9EO1FBQ1Q7UUFFQSxPQUFPSDtJQUNUO0lBRUFLLE1BQU1DLEtBQUssRUFBRUMsT0FBTyxFQUFFO1FBQ3BCLE1BQU1KLE9BQU8sSUFBSSxFQUFHLEdBQUc7UUFFdkJLLElBQUFBLG9CQUFXLEVBQUMsQ0FBQ0Q7WUFDWCxNQUFNRSxhQUFhRixRQUFRRyxZQUFZLElBQ2pDQyxhQUFhTCxPQUFPLEdBQUc7WUFFN0IsSUFBSSxDQUFDVCxXQUFXLENBQUNlLElBQUksQ0FBQyxDQUFDVjtnQkFDckJJLFFBQVFLLFlBQVksR0FBRztnQkFFdkIsSUFBSUYsWUFBWTtvQkFDZEgsUUFBUUosV0FBV0csS0FBSyxDQUFDQyxPQUFPQztnQkFDbEMsT0FBTztvQkFDTCxNQUFNTSxZQUFZWCxXQUFXRyxLQUFLLENBQUNTLGlCQUFVLEVBQUVQLFVBQ3pDUSxpQkFBaUJGLFVBQVVHLE9BQU8sSUFDbENDLG1CQUFtQkosVUFBVUssU0FBUztvQkFFNUMsSUFBSUgsZ0JBQWdCO3dCQUNsQlQsUUFBUUMsUUFBUVksT0FBTyxDQUFDYixPQUFPTztvQkFDakMsT0FBTyxJQUFJSSxrQkFBa0I7d0JBQzNCWCxRQUFRTyxXQUFXLEdBQUc7b0JBQ3hCLE9BQU87d0JBQ0xQLFFBQVFjLHFCQUFjO29CQUN4QjtnQkFDRjtnQkFFQSxNQUFNQyxhQUFhZixNQUFNVSxPQUFPLElBQzFCTSxlQUFlaEIsTUFBTVksU0FBUztnQkFFcEMsSUFBSUcsY0FBY0MsY0FBYztvQkFDOUIsT0FBTztnQkFDVDtZQUNGO1lBRUEsTUFBTUQsYUFBYWYsTUFBTVUsT0FBTztZQUVoQyxJQUFJSyxZQUFZO2dCQUNkZCxRQUFRZ0IsTUFBTTtZQUNoQjtRQUNGLEdBQUdwQixNQUFNSTtRQUVULE9BQU9EO0lBQ1Q7SUFFQWtCLFdBQVc7UUFDVCxNQUFNQyxvQkFBb0IsSUFBSSxDQUFDNUIsV0FBVyxDQUFDNkIsTUFBTSxDQUFDLENBQUNELG1CQUFtQnZCO1lBQzlELE1BQU15QixtQkFBbUJ6QixXQUFXc0IsUUFBUTtZQUU1QyxJQUFJQyxzQkFBc0IsTUFBTTtnQkFDOUJBLG9CQUFvQkU7WUFDdEIsT0FBTztnQkFDTEYsb0JBQW9CLEdBQUdBLGtCQUFrQixHQUFHLEVBQUVFLGtCQUFrQjtZQUNsRTtZQUVBLE9BQU9GO1FBQ1QsR0FBRyxPQUNIRyxTQUFTLENBQUMsRUFBRSxFQUFFSCxrQkFBa0IsRUFBRSxDQUFDO1FBRXpDLE9BQU9HO0lBQ1Q7SUFFQSxPQUFPQyxnQkFBZ0JoQyxXQUFXLEVBQUU7UUFDbEMsTUFBTUYsT0FBT21DLGdDQUFxQixFQUM1QmxDLGVBQWUsT0FDZm1DLG9CQUFvQixJQUFJdEMsa0JBQWtCRSxNQUFNQyxjQUFjQztRQUVwRSxPQUFPa0M7SUFDVDtBQUNGIn0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL2Nob2ljZU9mUGFydHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IENob2ljZU9mUGFydHNQYXJ0VHlwZSB9IGZyb20gXCIuLi8uLi9wYXJ0VHlwZXNcIjtcbmltcG9ydCB7IGVtcHR5RnJhbWUsIG51bGxpZmllZEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENob2ljZU9mUGFydHNQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcykge1xuICAgIHN1cGVyKHR5cGUsIGNvbnRpbnVhdGlvbik7XG4gICAgXG4gICAgdGhpcy5wYXJ0Q2hvaWNlcyA9IHBhcnRDaG9pY2VzO1xuICB9XG4gIFxuICBnZXRQYXJ0Q2hvaWNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJ0Q2hvaWNlcztcbiAgfVxuXG4gIGdldFBhcnRzKCkge1xuICAgIGNvbnN0IHBhcnRzID0gdGhpcy5wYXJ0Q2hvaWNlcy5tYXAoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgIGNvbnN0IHBhcnQgPSBwYXJ0Q2hvaWNlLmdldFBhcnQoKTtcblxuICAgICAgcmV0dXJuIHBhcnQ7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFydHM7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCksXG4gICAgICAgICAgICBzYXZlZEZyYW1lID0gZnJhbWU7IC8vL1xuXG4gICAgICB0aGlzLnBhcnRDaG9pY2VzLnNvbWUoKHBhcnRDaG9pY2UpID0+IHtcbiAgICAgICAgZnJhbWUgPSBzYXZlZEZyYW1lOyAvLy9cblxuICAgICAgICBpZiAoY29udGludWluZykge1xuICAgICAgICAgIGZyYW1lID0gcGFydENob2ljZS5wYXJzZShmcmFtZSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgcGFydEZyYW1lID0gcGFydENob2ljZS5wYXJzZShlbXB0eUZyYW1lLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgICBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCksXG4gICAgICAgICAgICAgICAgcGFydEZyYW1lQWJvcnRlZCA9IHBhcnRGcmFtZS5pc0Fib3J0ZWQoKTtcblxuICAgICAgICAgIGlmIChmYWxzZSkge1xuICAgICAgICAgICAgLy8vXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0RnJhbWVWYWxpZCkge1xuICAgICAgICAgICAgZnJhbWUgPSBjb250ZXh0LmNvbXBvc2UoZnJhbWUsIHBhcnRGcmFtZSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwYXJ0RnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgICBmcmFtZSA9IHBhcnRGcmFtZTsgLy8vXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZyYW1lID0gbnVsbGlmaWVkRnJhbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKSxcbiAgICAgICAgICAgICAgZnJhbWVBYm9ydGVkID0gZnJhbWUuaXNBYm9ydGVkKCk7XG5cbiAgICAgICAgaWYgKGZyYW1lVmFsaWQgfHwgZnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgICAgfVxuICAgIH0sIHBhcnQsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcGFydENob2ljZXNTdHJpbmcgPSB0aGlzLnBhcnRDaG9pY2VzLnJlZHVjZSgocGFydENob2ljZXNTdHJpbmcsIHBhcnRDaG9pY2UpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnRDaG9pY2VTdHJpbmcgPSBwYXJ0Q2hvaWNlLmFzU3RyaW5nKCk7XG4gICAgXG4gICAgICAgICAgICBpZiAocGFydENob2ljZXNTdHJpbmcgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcGFydENob2ljZXNTdHJpbmcgPSBwYXJ0Q2hvaWNlU3RyaW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcGFydENob2ljZXNTdHJpbmcgPSBgJHtwYXJ0Q2hvaWNlc1N0cmluZ30gfCAke3BhcnRDaG9pY2VTdHJpbmd9YDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIHJldHVybiBwYXJ0Q2hvaWNlc1N0cmluZztcbiAgICAgICAgICB9LCBudWxsKSxcbiAgICAgICAgICBzdHJpbmcgPSBgKCAke3BhcnRDaG9pY2VzU3RyaW5nfSApYDtcbiAgICBcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0Q2hvaWNlcyhwYXJ0Q2hvaWNlcykge1xuICAgIGNvbnN0IHR5cGUgPSBDaG9pY2VPZlBhcnRzUGFydFR5cGUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gZmFsc2UsXG4gICAgICAgICAgY2hvaWNlT2ZQYXJ0c1BhcnQgPSBuZXcgQ2hvaWNlT2ZQYXJ0c1BhcnQodHlwZSwgY29udGludWF0aW9uLCBwYXJ0Q2hvaWNlcyk7XG5cbiAgICByZXR1cm4gY2hvaWNlT2ZQYXJ0c1BhcnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJDaG9pY2VPZlBhcnRzUGFydCIsIk5vblRlcm1pbmFsUGFydCIsInR5cGUiLCJjb250aW51YXRpb24iLCJwYXJ0Q2hvaWNlcyIsImdldFBhcnRDaG9pY2VzIiwiZ2V0UGFydHMiLCJwYXJ0cyIsIm1hcCIsInBhcnRDaG9pY2UiLCJwYXJ0IiwiZ2V0UGFydCIsInBhcnNlIiwiZnJhbWUiLCJjb250ZXh0IiwicGFydENvbnRleHQiLCJjb250aW51aW5nIiwiaXNDb250aW51aW5nIiwic2F2ZWRGcmFtZSIsInNvbWUiLCJwYXJ0RnJhbWUiLCJlbXB0eUZyYW1lIiwicGFydEZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwicGFydEZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImNvbXBvc2UiLCJudWxsaWZpZWRGcmFtZSIsImZyYW1lVmFsaWQiLCJmcmFtZUFib3J0ZWQiLCJjb21taXQiLCJhc1N0cmluZyIsInBhcnRDaG9pY2VzU3RyaW5nIiwicmVkdWNlIiwicGFydENob2ljZVN0cmluZyIsInN0cmluZyIsImZyb21QYXJ0Q2hvaWNlcyIsIkNob2ljZU9mUGFydHNQYXJ0VHlwZSIsImNob2ljZU9mUGFydHNQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXFCQTs7O29FQU5PO3lCQUVBOzJCQUNVO3VCQUNLOzs7Ozs7QUFFNUIsTUFBTUEsMEJBQTBCQyxvQkFBZTtJQUM1RCxZQUFZQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsV0FBVyxDQUFFO1FBQzNDLEtBQUssQ0FBQ0YsTUFBTUM7UUFFWixJQUFJLENBQUNDLFdBQVcsR0FBR0E7SUFDckI7SUFFQUMsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNELFdBQVc7SUFDekI7SUFFQUUsV0FBVztRQUNULE1BQU1DLFFBQVEsSUFBSSxDQUFDSCxXQUFXLENBQUNJLEdBQUcsQ0FBQyxDQUFDQztZQUNsQyxNQUFNQyxPQUFPRCxXQUFXRSxPQUFPO1lBRS9CLE9BQU9EO1FBQ1Q7UUFFQSxPQUFPSDtJQUNUO0lBRUFLLE1BQU1DLEtBQUssRUFBRUMsT0FBTyxFQUFFO1FBQ3BCLE1BQU1KLE9BQU8sSUFBSSxFQUFHLEdBQUc7UUFFdkJLLElBQUFBLG9CQUFXLEVBQUMsQ0FBQ0Q7WUFDWCxNQUFNRSxhQUFhRixRQUFRRyxZQUFZLElBQ2pDQyxhQUFhTCxPQUFPLEdBQUc7WUFFN0IsSUFBSSxDQUFDVCxXQUFXLENBQUNlLElBQUksQ0FBQyxDQUFDVjtnQkFDckJJLFFBQVFLLFlBQVksR0FBRztnQkFFdkIsSUFBSUYsWUFBWTtvQkFDZEgsUUFBUUosV0FBV0csS0FBSyxDQUFDQyxPQUFPQztnQkFDbEMsT0FBTztvQkFDTCxNQUFNTSxZQUFZWCxXQUFXRyxLQUFLLENBQUNTLGlCQUFVLEVBQUVQLFVBQ3pDUSxpQkFBaUJGLFVBQVVHLE9BQU8sSUFDbENDLG1CQUFtQkosVUFBVUssU0FBUztvQkFFNUMsSUFBSSxPQUFPO29CQUNULEdBQUc7b0JBQ0wsT0FBTyxJQUFJSCxnQkFBZ0I7d0JBQ3pCVCxRQUFRQyxRQUFRWSxPQUFPLENBQUNiLE9BQU9PO29CQUNqQyxPQUFPLElBQUlJLGtCQUFrQjt3QkFDM0JYLFFBQVFPLFdBQVcsR0FBRztvQkFDeEIsT0FBTzt3QkFDTFAsUUFBUWMscUJBQWM7b0JBQ3hCO2dCQUNGO2dCQUVBLE1BQU1DLGFBQWFmLE1BQU1VLE9BQU8sSUFDMUJNLGVBQWVoQixNQUFNWSxTQUFTO2dCQUVwQyxJQUFJRyxjQUFjQyxjQUFjO29CQUM5QixPQUFPO2dCQUNUO1lBQ0Y7WUFFQSxNQUFNRCxhQUFhZixNQUFNVSxPQUFPO1lBRWhDLElBQUlLLFlBQVk7Z0JBQ2RkLFFBQVFnQixNQUFNO1lBQ2hCO1FBQ0YsR0FBR3BCLE1BQU1JO1FBRVQsT0FBT0Q7SUFDVDtJQUVBa0IsV0FBVztRQUNULE1BQU1DLG9CQUFvQixJQUFJLENBQUM1QixXQUFXLENBQUM2QixNQUFNLENBQUMsQ0FBQ0QsbUJBQW1CdkI7WUFDOUQsTUFBTXlCLG1CQUFtQnpCLFdBQVdzQixRQUFRO1lBRTVDLElBQUlDLHNCQUFzQixNQUFNO2dCQUM5QkEsb0JBQW9CRTtZQUN0QixPQUFPO2dCQUNMRixvQkFBb0IsR0FBR0Esa0JBQWtCLEdBQUcsRUFBRUUsa0JBQWtCO1lBQ2xFO1lBRUEsT0FBT0Y7UUFDVCxHQUFHLE9BQ0hHLFNBQVMsQ0FBQyxFQUFFLEVBQUVILGtCQUFrQixFQUFFLENBQUM7UUFFekMsT0FBT0c7SUFDVDtJQUVBLE9BQU9DLGdCQUFnQmhDLFdBQVcsRUFBRTtRQUNsQyxNQUFNRixPQUFPbUMsZ0NBQXFCLEVBQzVCbEMsZUFBZSxPQUNmbUMsb0JBQW9CLElBQUl0QyxrQkFBa0JFLE1BQU1DLGNBQWNDO1FBRXBFLE9BQU9rQztJQUNUO0FBQ0YifQ==
@@ -34,8 +34,12 @@ class OptionalPartPart extends _nonTerminal.default {
34
34
  if (continuing) {
35
35
  const savedFrame = frame; ///
36
36
  frame = this.part.parse(frame, context);
37
- const frameInvalid = frame.isInvalid();
38
- if (frameInvalid) {
37
+ const frameAborted = frame.isAborted(), frameNullified = frame.isNullified();
38
+ if (false) {
39
+ ///
40
+ } else if (frameAborted) {
41
+ frame = _frame.nullifiedFrame;
42
+ } else if (frameNullified) {
39
43
  frame = savedFrame; ///
40
44
  frame = context.continue(frame);
41
45
  }
@@ -67,4 +71,4 @@ class OptionalPartPart extends _nonTerminal.default {
67
71
  }
68
72
  }
69
73
 
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL29wdGlvbmFsUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IE9wdGlvbmFsUGFydFBhcnRUeXBlIH0gZnJvbSBcIi4uLy4uL3BhcnRUeXBlc1wiO1xuaW1wb3J0IHsgZW1wdHlGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcblxuY29uc3QgeyBxdWVzdGlvbk1hcmsgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPcHRpb25hbFBhcnRQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0KSB7XG4gICAgc3VwZXIodHlwZSwgY29udGludWF0aW9uKTtcblxuICAgIHRoaXMucGFydCA9IHBhcnQ7XG4gIH1cblxuICBnZXRQYXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBhcnQ7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCk7XG5cbiAgICAgIGlmIChjb250aW51aW5nKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkRnJhbWUgPSBmcmFtZTsgLy8vXG5cbiAgICAgICAgZnJhbWUgPSB0aGlzLnBhcnQucGFyc2UoZnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lSW52YWxpZCA9IGZyYW1lLmlzSW52YWxpZCgpO1xuXG4gICAgICAgIGlmIChmcmFtZUludmFsaWQpIHtcbiAgICAgICAgICBmcmFtZSA9IHNhdmVkRnJhbWU7IC8vL1xuXG4gICAgICAgICAgZnJhbWUgPSBjb250ZXh0LmNvbnRpbnVlKGZyYW1lKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHBhcnRGcmFtZTtcblxuICAgICAgICBwYXJ0RnJhbWUgPSBlbXB0eUZyYW1lOyAvLy9cblxuICAgICAgICBwYXJ0RnJhbWUgPSB0aGlzLnBhcnQucGFyc2UocGFydEZyYW1lLCBjb250ZXh0KTtcblxuICAgICAgICBjb25zdCBwYXJ0RnJhbWVJbnZhbGlkID0gcGFydEZyYW1lLmlzSW52YWxpZCgpO1xuXG4gICAgICAgIGlmIChwYXJ0RnJhbWVJbnZhbGlkKSB7XG4gICAgICAgICAgcGFydEZyYW1lID0gZW1wdHlGcmFtZTsgLy8vXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJ0RnJhbWVWYWxpZCA9IHBhcnRGcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICAgICAgZnJhbWUgPSBwYXJ0RnJhbWVWYWxpZCA/XG4gICAgICAgICAgICAgICAgICBjb250ZXh0LmNvbXBvc2UoZnJhbWUsIHBhcnRGcmFtZSkgOlxuICAgICAgICAgICAgICAgICAgICBudWxsaWZpZWRGcmFtZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgaWYgKGZyYW1lVmFsaWQpIHtcbiAgICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICAgIH1cbiAgICB9LCBwYXJ0LCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGNvbnN0IHBhcnRTdHJpbmcgPSB0aGlzLnBhcnQuYXNTdHJpbmcoKSxcbiAgICAgICAgICBzdHJpbmcgPSBgJHtwYXJ0U3RyaW5nfSR7cXVlc3Rpb25NYXJrfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21QYXJ0KHBhcnQpIHtcbiAgICBjb25zdCB0eXBlID0gT3B0aW9uYWxQYXJ0UGFydFR5cGUsXG4gICAgICAgICAgY29udGludWF0aW9uID0gZmFsc2UsXG4gICAgICAgICAgb3B0aW9uYWxQYXJ0UGFydCA9IG5ldyBPcHRpb25hbFBhcnRQYXJ0KHR5cGUsIGNvbnRpbnVhdGlvbiwgcGFydCk7XG5cbiAgICByZXR1cm4gb3B0aW9uYWxQYXJ0UGFydDtcbiAgfVxufSJdLCJuYW1lcyI6WyJPcHRpb25hbFBhcnRQYXJ0IiwicXVlc3Rpb25NYXJrIiwic3BlY2lhbFN5bWJvbHMiLCJOb25UZXJtaW5hbFBhcnQiLCJ0eXBlIiwiY29udGludWF0aW9uIiwicGFydCIsImdldFBhcnQiLCJwYXJzZSIsImZyYW1lIiwiY29udGV4dCIsInBhcnRDb250ZXh0IiwiY29udGludWluZyIsImlzQ29udGludWluZyIsInNhdmVkRnJhbWUiLCJmcmFtZUludmFsaWQiLCJpc0ludmFsaWQiLCJjb250aW51ZSIsInBhcnRGcmFtZSIsImVtcHR5RnJhbWUiLCJwYXJ0RnJhbWVJbnZhbGlkIiwicGFydEZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tcG9zZSIsIm51bGxpZmllZEZyYW1lIiwiZnJhbWVWYWxpZCIsImNvbW1pdCIsImFzU3RyaW5nIiwicGFydFN0cmluZyIsInN0cmluZyIsImZyb21QYXJ0IiwiT3B0aW9uYWxQYXJ0UGFydFR5cGUiLCJvcHRpb25hbFBhcnRQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXFCQTs7OzZCQVZVO29FQUVIO3lCQUVBOzJCQUNTO3VCQUNNOzs7Ozs7QUFFM0MsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsMkJBQWM7QUFFeEIsTUFBTUYseUJBQXlCRyxvQkFBZTtJQUMzRCxZQUFZQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsSUFBSSxDQUFFO1FBQ3BDLEtBQUssQ0FBQ0YsTUFBTUM7UUFFWixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7SUFDbEI7SUFFQUUsTUFBTUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7UUFDcEIsTUFBTUosT0FBTyxJQUFJLEVBQUcsR0FBRztRQUV2QkssSUFBQUEsb0JBQVcsRUFBQyxDQUFDRDtZQUNYLE1BQU1FLGFBQWFGLFFBQVFHLFlBQVk7WUFFdkMsSUFBSUQsWUFBWTtnQkFDZCxNQUFNRSxhQUFhTCxPQUFPLEdBQUc7Z0JBRTdCQSxRQUFRLElBQUksQ0FBQ0gsSUFBSSxDQUFDRSxLQUFLLENBQUNDLE9BQU9DO2dCQUUvQixNQUFNSyxlQUFlTixNQUFNTyxTQUFTO2dCQUVwQyxJQUFJRCxjQUFjO29CQUNoQk4sUUFBUUssWUFBWSxHQUFHO29CQUV2QkwsUUFBUUMsUUFBUU8sUUFBUSxDQUFDUjtnQkFDM0I7WUFDRixPQUFPO2dCQUNMLElBQUlTO2dCQUVKQSxZQUFZQyxpQkFBVSxFQUFFLEdBQUc7Z0JBRTNCRCxZQUFZLElBQUksQ0FBQ1osSUFBSSxDQUFDRSxLQUFLLENBQUNVLFdBQVdSO2dCQUV2QyxNQUFNVSxtQkFBbUJGLFVBQVVGLFNBQVM7Z0JBRTVDLElBQUlJLGtCQUFrQjtvQkFDcEJGLFlBQVlDLGlCQUFVLEVBQUUsR0FBRztnQkFDN0I7Z0JBRUEsTUFBTUUsaUJBQWlCSCxVQUFVSSxPQUFPO2dCQUV4Q2IsUUFBUVksaUJBQ0VYLFFBQVFhLE9BQU8sQ0FBQ2QsT0FBT1MsYUFDckJNLHFCQUFjO1lBQzVCO1lBRUEsTUFBTUMsYUFBYWhCLE1BQU1hLE9BQU87WUFFaEMsSUFBSUcsWUFBWTtnQkFDZGYsUUFBUWdCLE1BQU07WUFDaEI7UUFDRixHQUFHcEIsTUFBTUk7UUFFVCxPQUFPRDtJQUNUO0lBRUFrQixXQUFXO1FBQ1QsTUFBTUMsYUFBYSxJQUFJLENBQUN0QixJQUFJLENBQUNxQixRQUFRLElBQy9CRSxTQUFTLEdBQUdELGFBQWEzQixjQUFjO1FBRTdDLE9BQU80QjtJQUNUO0lBRUEsT0FBT0MsU0FBU3hCLElBQUksRUFBRTtRQUNwQixNQUFNRixPQUFPMkIsK0JBQW9CLEVBQzNCMUIsZUFBZSxPQUNmMkIsbUJBQW1CLElBQUloQyxpQkFBaUJJLE1BQU1DLGNBQWNDO1FBRWxFLE9BQU8wQjtJQUNUO0FBQ0YifQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJ0L25vblRlcm1pbmFsL29wdGlvbmFsUGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3BlY2lhbFN5bWJvbHMgfSBmcm9tIFwib2NjYW0tbGV4ZXJzXCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbFBhcnQgZnJvbSBcIi4uLy4uL3BhcnQvbm9uVGVybWluYWxcIjtcblxuaW1wb3J0IHsgcGFydENvbnRleHQgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcbmltcG9ydCB7IE9wdGlvbmFsUGFydFBhcnRUeXBlIH0gZnJvbSBcIi4uLy4uL3BhcnRUeXBlc1wiO1xuaW1wb3J0IHsgZW1wdHlGcmFtZSwgbnVsbGlmaWVkRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcblxuY29uc3QgeyBxdWVzdGlvbk1hcmsgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBPcHRpb25hbFBhcnRQYXJ0IGV4dGVuZHMgTm9uVGVybWluYWxQYXJ0IHtcbiAgY29uc3RydWN0b3IodHlwZSwgY29udGludWF0aW9uLCBwYXJ0KSB7XG4gICAgc3VwZXIodHlwZSwgY29udGludWF0aW9uKTtcblxuICAgIHRoaXMucGFydCA9IHBhcnQ7XG4gIH1cblxuICBnZXRQYXJ0KCkge1xuICAgIHJldHVybiB0aGlzLnBhcnQ7XG4gIH1cblxuICBwYXJzZShmcmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHBhcnQgPSB0aGlzOyAgLy8vXG5cbiAgICBwYXJ0Q29udGV4dCgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgY29udGludWluZyA9IGNvbnRleHQuaXNDb250aW51aW5nKCk7XG5cbiAgICAgIGlmIChjb250aW51aW5nKSB7XG4gICAgICAgIGNvbnN0IHNhdmVkRnJhbWUgPSBmcmFtZTsgLy8vXG5cbiAgICAgICAgZnJhbWUgPSB0aGlzLnBhcnQucGFyc2UoZnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lQWJvcnRlZCA9IGZyYW1lLmlzQWJvcnRlZCgpLFxuICAgICAgICAgICAgICBmcmFtZU51bGxpZmllZCA9IGZyYW1lLmlzTnVsbGlmaWVkKCk7XG5cbiAgICAgICAgaWYgKGZhbHNlKSB7XG4gICAgICAgICAgLy8vXG4gICAgICAgIH0gZWxzZSBpZiAoZnJhbWVBYm9ydGVkKSB7XG4gICAgICAgICAgZnJhbWUgPSBudWxsaWZpZWRGcmFtZTtcbiAgICAgICAgfSBlbHNlIGlmIChmcmFtZU51bGxpZmllZCkge1xuICAgICAgICAgIGZyYW1lID0gc2F2ZWRGcmFtZTsgLy8vXG5cbiAgICAgICAgICBmcmFtZSA9IGNvbnRleHQuY29udGludWUoZnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZXQgcGFydEZyYW1lO1xuXG4gICAgICAgIHBhcnRGcmFtZSA9IGVtcHR5RnJhbWU7IC8vL1xuXG4gICAgICAgIHBhcnRGcmFtZSA9IHRoaXMucGFydC5wYXJzZShwYXJ0RnJhbWUsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IHBhcnRGcmFtZUludmFsaWQgPSBwYXJ0RnJhbWUuaXNJbnZhbGlkKCk7XG5cbiAgICAgICAgaWYgKHBhcnRGcmFtZUludmFsaWQpIHtcbiAgICAgICAgICBwYXJ0RnJhbWUgPSBlbXB0eUZyYW1lOyAvLy9cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcnRGcmFtZVZhbGlkID0gcGFydEZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgICBmcmFtZSA9IHBhcnRGcmFtZVZhbGlkID9cbiAgICAgICAgICAgICAgICAgIGNvbnRleHQuY29tcG9zZShmcmFtZSwgcGFydEZyYW1lKSA6XG4gICAgICAgICAgICAgICAgICAgIG51bGxpZmllZEZyYW1lO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmcmFtZVZhbGlkID0gZnJhbWUuaXNWYWxpZCgpO1xuXG4gICAgICBpZiAoZnJhbWVWYWxpZCkge1xuICAgICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgICAgfVxuICAgIH0sIHBhcnQsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZyYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgY29uc3QgcGFydFN0cmluZyA9IHRoaXMucGFydC5hc1N0cmluZygpLFxuICAgICAgICAgIHN0cmluZyA9IGAke3BhcnRTdHJpbmd9JHtxdWVzdGlvbk1hcmt9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbVBhcnQocGFydCkge1xuICAgIGNvbnN0IHR5cGUgPSBPcHRpb25hbFBhcnRQYXJ0VHlwZSxcbiAgICAgICAgICBjb250aW51YXRpb24gPSBmYWxzZSxcbiAgICAgICAgICBvcHRpb25hbFBhcnRQYXJ0ID0gbmV3IE9wdGlvbmFsUGFydFBhcnQodHlwZSwgY29udGludWF0aW9uLCBwYXJ0KTtcblxuICAgIHJldHVybiBvcHRpb25hbFBhcnRQYXJ0O1xuICB9XG59Il0sIm5hbWVzIjpbIk9wdGlvbmFsUGFydFBhcnQiLCJxdWVzdGlvbk1hcmsiLCJzcGVjaWFsU3ltYm9scyIsIk5vblRlcm1pbmFsUGFydCIsInR5cGUiLCJjb250aW51YXRpb24iLCJwYXJ0IiwiZ2V0UGFydCIsInBhcnNlIiwiZnJhbWUiLCJjb250ZXh0IiwicGFydENvbnRleHQiLCJjb250aW51aW5nIiwiaXNDb250aW51aW5nIiwic2F2ZWRGcmFtZSIsImZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImZyYW1lTnVsbGlmaWVkIiwiaXNOdWxsaWZpZWQiLCJudWxsaWZpZWRGcmFtZSIsImNvbnRpbnVlIiwicGFydEZyYW1lIiwiZW1wdHlGcmFtZSIsInBhcnRGcmFtZUludmFsaWQiLCJpc0ludmFsaWQiLCJwYXJ0RnJhbWVWYWxpZCIsImlzVmFsaWQiLCJjb21wb3NlIiwiZnJhbWVWYWxpZCIsImNvbW1pdCIsImFzU3RyaW5nIiwicGFydFN0cmluZyIsInN0cmluZyIsImZyb21QYXJ0IiwiT3B0aW9uYWxQYXJ0UGFydFR5cGUiLCJvcHRpb25hbFBhcnRQYXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQXFCQTs7OzZCQVZVO29FQUVIO3lCQUVBOzJCQUNTO3VCQUNNOzs7Ozs7QUFFM0MsTUFBTSxFQUFFQyxZQUFZLEVBQUUsR0FBR0MsMkJBQWM7QUFFeEIsTUFBTUYseUJBQXlCRyxvQkFBZTtJQUMzRCxZQUFZQyxJQUFJLEVBQUVDLFlBQVksRUFBRUMsSUFBSSxDQUFFO1FBQ3BDLEtBQUssQ0FBQ0YsTUFBTUM7UUFFWixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7SUFDbEI7SUFFQUUsTUFBTUMsS0FBSyxFQUFFQyxPQUFPLEVBQUU7UUFDcEIsTUFBTUosT0FBTyxJQUFJLEVBQUcsR0FBRztRQUV2QkssSUFBQUEsb0JBQVcsRUFBQyxDQUFDRDtZQUNYLE1BQU1FLGFBQWFGLFFBQVFHLFlBQVk7WUFFdkMsSUFBSUQsWUFBWTtnQkFDZCxNQUFNRSxhQUFhTCxPQUFPLEdBQUc7Z0JBRTdCQSxRQUFRLElBQUksQ0FBQ0gsSUFBSSxDQUFDRSxLQUFLLENBQUNDLE9BQU9DO2dCQUUvQixNQUFNSyxlQUFlTixNQUFNTyxTQUFTLElBQzlCQyxpQkFBaUJSLE1BQU1TLFdBQVc7Z0JBRXhDLElBQUksT0FBTztnQkFDVCxHQUFHO2dCQUNMLE9BQU8sSUFBSUgsY0FBYztvQkFDdkJOLFFBQVFVLHFCQUFjO2dCQUN4QixPQUFPLElBQUlGLGdCQUFnQjtvQkFDekJSLFFBQVFLLFlBQVksR0FBRztvQkFFdkJMLFFBQVFDLFFBQVFVLFFBQVEsQ0FBQ1g7Z0JBQzNCO1lBQ0YsT0FBTztnQkFDTCxJQUFJWTtnQkFFSkEsWUFBWUMsaUJBQVUsRUFBRSxHQUFHO2dCQUUzQkQsWUFBWSxJQUFJLENBQUNmLElBQUksQ0FBQ0UsS0FBSyxDQUFDYSxXQUFXWDtnQkFFdkMsTUFBTWEsbUJBQW1CRixVQUFVRyxTQUFTO2dCQUU1QyxJQUFJRCxrQkFBa0I7b0JBQ3BCRixZQUFZQyxpQkFBVSxFQUFFLEdBQUc7Z0JBQzdCO2dCQUVBLE1BQU1HLGlCQUFpQkosVUFBVUssT0FBTztnQkFFeENqQixRQUFRZ0IsaUJBQ0VmLFFBQVFpQixPQUFPLENBQUNsQixPQUFPWSxhQUNyQkYscUJBQWM7WUFDNUI7WUFFQSxNQUFNUyxhQUFhbkIsTUFBTWlCLE9BQU87WUFFaEMsSUFBSUUsWUFBWTtnQkFDZGxCLFFBQVFtQixNQUFNO1lBQ2hCO1FBQ0YsR0FBR3ZCLE1BQU1JO1FBRVQsT0FBT0Q7SUFDVDtJQUVBcUIsV0FBVztRQUNULE1BQU1DLGFBQWEsSUFBSSxDQUFDekIsSUFBSSxDQUFDd0IsUUFBUSxJQUMvQkUsU0FBUyxHQUFHRCxhQUFhOUIsY0FBYztRQUU3QyxPQUFPK0I7SUFDVDtJQUVBLE9BQU9DLFNBQVMzQixJQUFJLEVBQUU7UUFDcEIsTUFBTUYsT0FBTzhCLCtCQUFvQixFQUMzQjdCLGVBQWUsT0FDZjhCLG1CQUFtQixJQUFJbkMsaUJBQWlCSSxNQUFNQyxjQUFjQztRQUVsRSxPQUFPNkI7SUFDVDtBQUNGIn0=
package/lib/rule.js CHANGED
@@ -8,9 +8,10 @@ Object.defineProperty(exports, "default", {
8
8
  return Rule;
9
9
  }
10
10
  });
11
+ const _occamlexers = require("occam-lexers");
11
12
  const _context = require("./utilities/context");
12
13
  const _constants = require("./constants");
13
- const _occamlexers = require("occam-lexers");
14
+ const _frame = require("./frame");
14
15
  const _string = require("./utilities/string");
15
16
  const { opaque: opaqueSpecialSymbol, semiOpaque: semiOpaqueSpecialSymbol } = _occamlexers.specialSymbols;
16
17
  class Rule {
@@ -55,8 +56,8 @@ class Rule {
55
56
  (0, _context.ruleContext)((context)=>{
56
57
  this.definitions.some((definition)=>{
57
58
  frame = definition.parse(context);
58
- const frameValid = frame.isValid(), frameAborted = frame.isAborted();
59
- if (frameValid || frameAborted) {
59
+ const frameNullified = frame.isNullified();
60
+ if (!frameNullified) {
60
61
  return true;
61
62
  }
62
63
  });
@@ -114,4 +115,4 @@ ${marginString} | ${definitionString}` : `${definitionsString} | ${definitionS
114
115
  return definitionsString;
115
116
  }
116
117
 
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBydWxlQ29udGV4dCB9IGZyb20gXCIuL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHNwZWNpYWxTeW1ib2xzIH0gZnJvbSBcIm9jY2FtLWxleGVyc1wiO1xuaW1wb3J0IHsgbWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuXG5jb25zdCB7IG9wYXF1ZTogb3BhcXVlU3BlY2lhbFN5bWJvbCwgc2VtaU9wYXF1ZTogc2VtaU9wYXF1ZVNwZWNpYWxTeW1ib2wgfSA9IHNwZWNpYWxTeW1ib2xzO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdWxlIHtcbiAgY29uc3RydWN0b3IobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMub3BhY2l0eSA9IG9wYWNpdHk7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0T3BhY2l0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcGFjaXR5O1xuICB9XG5cbiAgZ2V0RGVmaW5pdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnM7XG4gIH1cblxuICBzZXROYW1lKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgc2V0T3BhY2l0eShvcGFjaXR5KSB7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgfVxuXG4gIHNldERlZmluaXRpb25zKGRlZmluaXRpb25zKSB7XG4gICAgdGhpcy5kZWZpbml0aW9ucyA9IGRlZmluaXRpb25zO1xuICB9XG5cbiAgaXNPcGFxdWUoKSB7XG4gICAgY29uc3Qgb3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gb3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gb3BhcXVlO1xuICB9XG5cbiAgaXNTZW1pT3BhcXVlKCkge1xuICAgIGNvbnN0IHNlbWlPcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIGlzVHJhbnNwYXJlbnQoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IG51bGwpO1xuXG4gICAgcmV0dXJuIHNlbWlPcGFxdWU7XG4gIH1cblxuICBwYXJzZShjb250ZXh0KSB7XG4gICAgbGV0IGZyYW1lO1xuXG4gICAgY29uc3QgcnVsZSA9IHRoaXM7ICAvLy9cblxuICAgIHJ1bGVDb250ZXh0KChjb250ZXh0KSA9PiB7XG4gICAgICB0aGlzLmRlZmluaXRpb25zLnNvbWUoKGRlZmluaXRpb24pID0+IHtcbiAgICAgICAgZnJhbWUgPSBkZWZpbml0aW9uLnBhcnNlKGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCksXG4gICAgICAgICAgICAgIGZyYW1lQWJvcnRlZCA9IGZyYW1lLmlzQWJvcnRlZCgpO1xuXG4gICAgICAgIGlmIChmcmFtZVZhbGlkIHx8IGZyYW1lQWJvcnRlZCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgICAgaWYgKGZyYW1lVmFsaWQpIHtcbiAgICAgICAgY29udGV4dC5jb21taXQoKTtcbiAgICAgIH1cbiAgICB9LCBydWxlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmcmFtZTtcbiAgfVxuXG4gIE5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZShydWxlTmFtZSwgY29udGV4dCkgeyByZXR1cm4gY29udGV4dC5Ob25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUpOyB9XG5cbiAgYXNTdHJpbmcobWF4aW11bVJ1bGVOYW1lTGVuZ3RoLCBtdWx0aUxpbmUgPSB0cnVlKSB7XG4gICAgY29uc3QgZGVmaW5pdGlvbnNMZW5ndGggPSB0aGlzLmRlZmluaXRpb25zLmxlbmd0aDtcblxuICAgIG11bHRpTGluZSA9IG11bHRpTGluZSAmJiAoZGVmaW5pdGlvbnNMZW5ndGggPiAxKTsgIC8vL1xuXG4gICAgY29uc3Qgb3BhY2l0eVN0cmluZyA9IG9wYWNpdHlTdHJpbmdGcm9tT3BhY2l0eSh0aGlzLm9wYWNpdHkpLFxuICAgICAgICAgIHNlbWljb2xvblN0cmluZyA9IHNlbWljb2xvblN0cmluZ0Zyb21NdWx0aWxpbmVBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgobXVsdGlMaW5lLCBtYXhpbXVtUnVsZU5hbWVMZW5ndGgpLFxuICAgICAgICAgIGRlZmluaXRpb25zU3RyaW5nID0gZGVmaW5pdGlvbnNTdHJpbmdGcm9tTXVsdGlsaW5lRGVmaW5pdGlvbnNBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgobXVsdGlMaW5lLCB0aGlzLmRlZmluaXRpb25zLCBtYXhpbXVtUnVsZU5hbWVMZW5ndGgpLFxuICAgICAgICAgIHJ1bGVOYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICBydWxlTmFtZUxlbmd0aCA9IHJ1bGVOYW1lLmxlbmd0aCxcbiAgICAgICAgICBvcGFjaXR5U3RyaW5nTGVuZ3RoID0gb3BhY2l0eVN0cmluZy5sZW5ndGgsXG4gICAgICAgICAgbWFyZ2luV2lkdGggPSBtYXhpbXVtUnVsZU5hbWVMZW5ndGggLSBydWxlTmFtZUxlbmd0aCAtIG9wYWNpdHlTdHJpbmdMZW5ndGgsXG4gICAgICAgICAgbWFyZ2luU3RyaW5nID0gbWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoKG1hcmdpbldpZHRoKSxcbiAgICAgICAgICBzdHJpbmcgPSBgXG5cbiR7dGhpcy5uYW1lfSR7b3BhY2l0eVN0cmluZ30ke21hcmdpblN0cmluZ30gOjo9ICR7ZGVmaW5pdGlvbnNTdHJpbmd9JHtzZW1pY29sb25TdHJpbmd9YDtcblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVPcGFjaXR5QW5kRGVmaW5pdGlvbnMoQ2xhc3MsIG5hbWUsIG9wYWNpdHksIGRlZmluaXRpb25zKSB7XG4gICAgaWYgKGRlZmluaXRpb25zID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlZmluaXRpb25zID0gb3BhY2l0eTsgIC8vL1xuXG4gICAgICBvcGFjaXR5ID0gbmFtZTsgLy8vXG5cbiAgICAgIG5hbWUgPSBDbGFzczsgLy8vXG5cbiAgICAgIENsYXNzID0gUnVsZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcnVsZSA9IG5ldyBDbGFzcyhuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucyk7XG5cbiAgICByZXR1cm4gcnVsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvcGFjaXR5U3RyaW5nRnJvbU9wYWNpdHkob3BhY2l0eSkge1xuICBjb25zdCBvcGFjaXR5U3RyaW5nID0gKG9wYWNpdHkgIT09IG51bGwpP1xuICAgICAgICAgIG9wYWNpdHk6IC8vL1xuICAgICAgICAgICAgRU1QVFlfU1RSSU5HO1xuXG4gIHJldHVybiBvcGFjaXR5U3RyaW5nO1xufVxuXG5mdW5jdGlvbiBzZW1pY29sb25TdHJpbmdGcm9tTXVsdGlsaW5lQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoKG11bHRpTGluZSwgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSB7XG4gIGNvbnN0IG1hcmdpbldpZHRoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoLCAgLy8vXG4gICAgICAgIG1hcmdpblN0cmluZyA9IG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCksXG4gICAgICAgIHNlbWljb2xvblN0cmluZyA9IG11bHRpTGluZSA/XG4gICAgICBgXG5cbiR7bWFyZ2luU3RyaW5nfSAgIDtgIDpcbiAgICAgIFwiIDtcIjtcblxuICByZXR1cm4gc2VtaWNvbG9uU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWZpbml0aW9uc1N0cmluZ0Zyb21NdWx0aWxpbmVEZWZpbml0aW9uc0FuZE1heGltdW1SdWxlTmFtZUxlbmd0aChtdWx0aUxpbmUsIGRlZmluaXRpb25zLCBtYXhpbXVtUnVsZU5hbWVMZW5ndGgpIHtcbiAgY29uc3QgbWFyZ2luV2lkdGggPSBtYXhpbXVtUnVsZU5hbWVMZW5ndGgsICAvLy9cbiAgICAgICAgbWFyZ2luU3RyaW5nID0gbWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoKG1hcmdpbldpZHRoKSxcbiAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBkZWZpbml0aW9ucy5yZWR1Y2UoKGRlZmluaXRpb25zU3RyaW5nLCBkZWZpbml0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvblN0cmluZyA9IGRlZmluaXRpb24uYXNTdHJpbmcoKTtcblxuICAgICAgICAgIGlmIChkZWZpbml0aW9uc1N0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IGRlZmluaXRpb25TdHJpbmc7IC8vL1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IG11bHRpTGluZSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtkZWZpbml0aW9uc1N0cmluZ31cbiAgICBcbiR7bWFyZ2luU3RyaW5nfSAgIHwgJHtkZWZpbml0aW9uU3RyaW5nfWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtkZWZpbml0aW9uc1N0cmluZ30gfCAke2RlZmluaXRpb25TdHJpbmd9YDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZGVmaW5pdGlvbnNTdHJpbmc7XG4gICAgICAgIH0sIEVNUFRZX1NUUklORyk7XG5cbiAgcmV0dXJuIGRlZmluaXRpb25zU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIlJ1bGUiLCJvcGFxdWUiLCJvcGFxdWVTcGVjaWFsU3ltYm9sIiwic2VtaU9wYXF1ZSIsInNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sIiwic3BlY2lhbFN5bWJvbHMiLCJuYW1lIiwib3BhY2l0eSIsImRlZmluaXRpb25zIiwiZ2V0TmFtZSIsImdldE9wYWNpdHkiLCJnZXREZWZpbml0aW9ucyIsInNldE5hbWUiLCJzZXRPcGFjaXR5Iiwic2V0RGVmaW5pdGlvbnMiLCJpc09wYXF1ZSIsImlzU2VtaU9wYXF1ZSIsImlzVHJhbnNwYXJlbnQiLCJwYXJzZSIsImNvbnRleHQiLCJmcmFtZSIsInJ1bGUiLCJydWxlQ29udGV4dCIsInNvbWUiLCJkZWZpbml0aW9uIiwiZnJhbWVWYWxpZCIsImlzVmFsaWQiLCJmcmFtZUFib3J0ZWQiLCJpc0Fib3J0ZWQiLCJjb21taXQiLCJOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUiLCJydWxlTmFtZSIsImFzU3RyaW5nIiwibWF4aW11bVJ1bGVOYW1lTGVuZ3RoIiwibXVsdGlMaW5lIiwiZGVmaW5pdGlvbnNMZW5ndGgiLCJsZW5ndGgiLCJvcGFjaXR5U3RyaW5nIiwib3BhY2l0eVN0cmluZ0Zyb21PcGFjaXR5Iiwic2VtaWNvbG9uU3RyaW5nIiwic2VtaWNvbG9uU3RyaW5nRnJvbU11bHRpbGluZUFuZE1heGltdW1SdWxlTmFtZUxlbmd0aCIsImRlZmluaXRpb25zU3RyaW5nIiwiZGVmaW5pdGlvbnNTdHJpbmdGcm9tTXVsdGlsaW5lRGVmaW5pdGlvbnNBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgiLCJydWxlTmFtZUxlbmd0aCIsIm9wYWNpdHlTdHJpbmdMZW5ndGgiLCJtYXJnaW5XaWR0aCIsIm1hcmdpblN0cmluZyIsIm1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aCIsInN0cmluZyIsImZyb21OYW1lT3BhY2l0eUFuZERlZmluaXRpb25zIiwiQ2xhc3MiLCJ1bmRlZmluZWQiLCJFTVBUWV9TVFJJTkciLCJyZWR1Y2UiLCJkZWZpbml0aW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXFCQTs7O3lCQVBPOzJCQUNDOzZCQUNFO3dCQUNhO0FBRTVDLE1BQU0sRUFBRUMsUUFBUUMsbUJBQW1CLEVBQUVDLFlBQVlDLHVCQUF1QixFQUFFLEdBQUdDLDJCQUFjO0FBRTVFLE1BQU1MO0lBQ25CLFlBQVlNLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXLENBQUU7UUFDdEMsSUFBSSxDQUFDRixJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO0lBQ3JCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ0gsSUFBSTtJQUNsQjtJQUVBSSxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNILE9BQU87SUFDckI7SUFFQUksaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNILFdBQVc7SUFDekI7SUFFQUksUUFBUU4sSUFBSSxFQUFFO1FBQ1osSUFBSSxDQUFDQSxJQUFJLEdBQUdBO0lBQ2Q7SUFFQU8sV0FBV04sT0FBTyxFQUFFO1FBQ2xCLElBQUksQ0FBQ0EsT0FBTyxHQUFHQTtJQUNqQjtJQUVBTyxlQUFlTixXQUFXLEVBQUU7UUFDMUIsSUFBSSxDQUFDQSxXQUFXLEdBQUdBO0lBQ3JCO0lBRUFPLFdBQVc7UUFDVCxNQUFNZCxTQUFVLElBQUksQ0FBQ00sT0FBTyxLQUFLTDtRQUVqQyxPQUFPRDtJQUNUO0lBRUFlLGVBQWU7UUFDYixNQUFNYixhQUFjLElBQUksQ0FBQ0ksT0FBTyxLQUFLSDtRQUVyQyxPQUFPRDtJQUNUO0lBRUFjLGdCQUFnQjtRQUNkLE1BQU1kLGFBQWMsSUFBSSxDQUFDSSxPQUFPLEtBQUs7UUFFckMsT0FBT0o7SUFDVDtJQUVBZSxNQUFNQyxPQUFPLEVBQUU7UUFDYixJQUFJQztRQUVKLE1BQU1DLE9BQU8sSUFBSSxFQUFHLEdBQUc7UUFFdkJDLElBQUFBLG9CQUFXLEVBQUMsQ0FBQ0g7WUFDWCxJQUFJLENBQUNYLFdBQVcsQ0FBQ2UsSUFBSSxDQUFDLENBQUNDO2dCQUNyQkosUUFBUUksV0FBV04sS0FBSyxDQUFDQztnQkFFekIsTUFBTU0sYUFBYUwsTUFBTU0sT0FBTyxJQUMxQkMsZUFBZVAsTUFBTVEsU0FBUztnQkFFcEMsSUFBSUgsY0FBY0UsY0FBYztvQkFDOUIsT0FBTztnQkFDVDtZQUNGO1lBRUEsTUFBTUYsYUFBYUwsTUFBTU0sT0FBTztZQUVoQyxJQUFJRCxZQUFZO2dCQUNkTixRQUFRVSxNQUFNO1lBQ2hCO1FBQ0YsR0FBR1IsTUFBTUY7UUFFVCxPQUFPQztJQUNUO0lBRUFVLDRCQUE0QkMsUUFBUSxFQUFFWixPQUFPLEVBQUU7UUFBRSxPQUFPQSxRQUFRVywyQkFBMkIsQ0FBQ0M7SUFBVztJQUV2R0MsU0FBU0MscUJBQXFCLEVBQUVDLFlBQVksSUFBSSxFQUFFO1FBQ2hELE1BQU1DLG9CQUFvQixJQUFJLENBQUMzQixXQUFXLENBQUM0QixNQUFNO1FBRWpERixZQUFZQSxhQUFjQyxvQkFBb0IsR0FBSyxHQUFHO1FBRXRELE1BQU1FLGdCQUFnQkMseUJBQXlCLElBQUksQ0FBQy9CLE9BQU8sR0FDckRnQyxrQkFBa0JDLHFEQUFxRE4sV0FBV0Qsd0JBQ2xGUSxvQkFBb0JDLGtFQUFrRVIsV0FBVyxJQUFJLENBQUMxQixXQUFXLEVBQUV5Qix3QkFDbkhGLFdBQVcsSUFBSSxDQUFDekIsSUFBSSxFQUNwQnFDLGlCQUFpQlosU0FBU0ssTUFBTSxFQUNoQ1Esc0JBQXNCUCxjQUFjRCxNQUFNLEVBQzFDUyxjQUFjWix3QkFBd0JVLGlCQUFpQkMscUJBQ3ZERSxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0YsY0FDM0NHLFNBQVMsQ0FBQzs7QUFFcEIsRUFBRSxJQUFJLENBQUMxQyxJQUFJLEdBQUcrQixnQkFBZ0JTLGFBQWEsS0FBSyxFQUFFTCxvQkFBb0JGLGlCQUFpQjtRQUVuRixPQUFPUztJQUNUO0lBRUEsT0FBT0MsOEJBQThCQyxLQUFLLEVBQUU1QyxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsV0FBVyxFQUFFO1FBQ3RFLElBQUlBLGdCQUFnQjJDLFdBQVc7WUFDN0IzQyxjQUFjRCxTQUFVLEdBQUc7WUFFM0JBLFVBQVVELE1BQU0sR0FBRztZQUVuQkEsT0FBTzRDLE9BQU8sR0FBRztZQUVqQkEsUUFBUWxELE1BQU0sR0FBRztRQUNuQjtRQUVBLE1BQU1xQixPQUFPLElBQUk2QixNQUFNNUMsTUFBTUMsU0FBU0M7UUFFdEMsT0FBT2E7SUFDVDtBQUNGO0FBRUEsU0FBU2lCLHlCQUF5Qi9CLE9BQU87SUFDdkMsTUFBTThCLGdCQUFnQixBQUFDOUIsWUFBWSxPQUMzQkEsVUFDRTZDLHVCQUFZO0lBRXRCLE9BQU9mO0FBQ1Q7QUFFQSxTQUFTRyxxREFBcUROLFNBQVMsRUFBRUQscUJBQXFCO0lBQzVGLE1BQU1ZLGNBQWNaLHVCQUNkYSxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0YsY0FDM0NOLGtCQUFrQkwsWUFDcEIsQ0FBQzs7QUFFUCxFQUFFWSxhQUFhLElBQUksQ0FBQyxHQUNkO0lBRUosT0FBT1A7QUFDVDtBQUVBLFNBQVNHLGtFQUFrRVIsU0FBUyxFQUFFMUIsV0FBVyxFQUFFeUIscUJBQXFCO0lBQ3RILE1BQU1ZLGNBQWNaLHVCQUNkYSxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0YsY0FDM0NKLG9CQUFvQmpDLFlBQVk2QyxNQUFNLENBQUMsQ0FBQ1osbUJBQW1CakI7UUFDekQsTUFBTThCLG1CQUFtQjlCLFdBQVdRLFFBQVE7UUFFNUMsSUFBSVMsc0JBQXNCVyx1QkFBWSxFQUFFO1lBQ3RDWCxvQkFBb0JhLGtCQUFrQixHQUFHO1FBQzNDLE9BQU87WUFDTGIsb0JBQW9CUCxZQUNDLEdBQUdPLGtCQUFrQjs7QUFFdEQsRUFBRUssYUFBYSxLQUFLLEVBQUVRLGtCQUFrQixHQUNMLEdBQUdiLGtCQUFrQixHQUFHLEVBQUVhLGtCQUFrQjtRQUNyRTtRQUVBLE9BQU9iO0lBQ1QsR0FBR1csdUJBQVk7SUFFckIsT0FBT1g7QUFDVCJ9
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBzcGVjaWFsU3ltYm9scyB9IGZyb20gXCJvY2NhbS1sZXhlcnNcIjtcblxuaW1wb3J0IHsgcnVsZUNvbnRleHQgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBudWxsaWZpZWRGcmFtZSB9IGZyb20gXCIuL2ZyYW1lXCI7XG5pbXBvcnQgeyBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGggfSBmcm9tIFwiLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgb3BhcXVlOiBvcGFxdWVTcGVjaWFsU3ltYm9sLCBzZW1pT3BhcXVlOiBzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCB9ID0gc3BlY2lhbFN5bWJvbHM7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1bGUge1xuICBjb25zdHJ1Y3RvcihuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucykge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5vcGFjaXR5ID0gb3BhY2l0eTtcbiAgICB0aGlzLmRlZmluaXRpb25zID0gZGVmaW5pdGlvbnM7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRPcGFjaXR5KCkge1xuICAgIHJldHVybiB0aGlzLm9wYWNpdHk7XG4gIH1cblxuICBnZXREZWZpbml0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9ucztcbiAgfVxuXG4gIHNldE5hbWUobmFtZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBzZXRPcGFjaXR5KG9wYWNpdHkpIHtcbiAgICB0aGlzLm9wYWNpdHkgPSBvcGFjaXR5O1xuICB9XG5cbiAgc2V0RGVmaW5pdGlvbnMoZGVmaW5pdGlvbnMpIHtcbiAgICB0aGlzLmRlZmluaXRpb25zID0gZGVmaW5pdGlvbnM7XG4gIH1cblxuICBpc09wYXF1ZSgpIHtcbiAgICBjb25zdCBvcGFxdWUgPSAodGhpcy5vcGFjaXR5ID09PSBvcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBvcGFxdWU7XG4gIH1cblxuICBpc1NlbWlPcGFxdWUoKSB7XG4gICAgY29uc3Qgc2VtaU9wYXF1ZSA9ICh0aGlzLm9wYWNpdHkgPT09IHNlbWlPcGFxdWVTcGVjaWFsU3ltYm9sKTtcblxuICAgIHJldHVybiBzZW1pT3BhcXVlO1xuICB9XG5cbiAgaXNUcmFuc3BhcmVudCgpIHtcbiAgICBjb25zdCBzZW1pT3BhcXVlID0gKHRoaXMub3BhY2l0eSA9PT0gbnVsbCk7XG5cbiAgICByZXR1cm4gc2VtaU9wYXF1ZTtcbiAgfVxuXG4gIHBhcnNlKGNvbnRleHQpIHtcbiAgICBsZXQgZnJhbWU7XG5cbiAgICBjb25zdCBydWxlID0gdGhpczsgIC8vL1xuXG4gICAgcnVsZUNvbnRleHQoKGNvbnRleHQpID0+IHtcbiAgICAgIHRoaXMuZGVmaW5pdGlvbnMuc29tZSgoZGVmaW5pdGlvbikgPT4ge1xuICAgICAgICBmcmFtZSA9IGRlZmluaXRpb24ucGFyc2UoY29udGV4dCk7XG5cbiAgICAgICAgY29uc3QgZnJhbWVOdWxsaWZpZWQgPSBmcmFtZS5pc051bGxpZmllZCgpO1xuXG4gICAgICAgIGlmICghZnJhbWVOdWxsaWZpZWQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGZyYW1lVmFsaWQgPSBmcmFtZS5pc1ZhbGlkKCk7XG5cbiAgICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICAgIGNvbnRleHQuY29tbWl0KCk7XG4gICAgICB9XG4gICAgfSwgcnVsZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBOb25UZXJtaW5hbE5vZGVGcm9tUnVsZU5hbWUocnVsZU5hbWUsIGNvbnRleHQpIHsgcmV0dXJuIGNvbnRleHQuTm9uVGVybWluYWxOb2RlRnJvbVJ1bGVOYW1lKHJ1bGVOYW1lKTsgfVxuXG4gIGFzU3RyaW5nKG1heGltdW1SdWxlTmFtZUxlbmd0aCwgbXVsdGlMaW5lID0gdHJ1ZSkge1xuICAgIGNvbnN0IGRlZmluaXRpb25zTGVuZ3RoID0gdGhpcy5kZWZpbml0aW9ucy5sZW5ndGg7XG5cbiAgICBtdWx0aUxpbmUgPSBtdWx0aUxpbmUgJiYgKGRlZmluaXRpb25zTGVuZ3RoID4gMSk7ICAvLy9cblxuICAgIGNvbnN0IG9wYWNpdHlTdHJpbmcgPSBvcGFjaXR5U3RyaW5nRnJvbU9wYWNpdHkodGhpcy5vcGFjaXR5KSxcbiAgICAgICAgICBzZW1pY29sb25TdHJpbmcgPSBzZW1pY29sb25TdHJpbmdGcm9tTXVsdGlsaW5lQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoKG11bHRpTGluZSwgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSxcbiAgICAgICAgICBkZWZpbml0aW9uc1N0cmluZyA9IGRlZmluaXRpb25zU3RyaW5nRnJvbU11bHRpbGluZURlZmluaXRpb25zQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoKG11bHRpTGluZSwgdGhpcy5kZWZpbml0aW9ucywgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSxcbiAgICAgICAgICBydWxlTmFtZSA9IHRoaXMubmFtZSwgLy8vXG4gICAgICAgICAgcnVsZU5hbWVMZW5ndGggPSBydWxlTmFtZS5sZW5ndGgsXG4gICAgICAgICAgb3BhY2l0eVN0cmluZ0xlbmd0aCA9IG9wYWNpdHlTdHJpbmcubGVuZ3RoLFxuICAgICAgICAgIG1hcmdpbldpZHRoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoIC0gcnVsZU5hbWVMZW5ndGggLSBvcGFjaXR5U3RyaW5nTGVuZ3RoLFxuICAgICAgICAgIG1hcmdpblN0cmluZyA9IG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCksXG4gICAgICAgICAgc3RyaW5nID0gYFxuXG4ke3RoaXMubmFtZX0ke29wYWNpdHlTdHJpbmd9JHttYXJnaW5TdHJpbmd9IDo6PSAke2RlZmluaXRpb25zU3RyaW5nfSR7c2VtaWNvbG9uU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lT3BhY2l0eUFuZERlZmluaXRpb25zKENsYXNzLCBuYW1lLCBvcGFjaXR5LCBkZWZpbml0aW9ucykge1xuICAgIGlmIChkZWZpbml0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZWZpbml0aW9ucyA9IG9wYWNpdHk7ICAvLy9cblxuICAgICAgb3BhY2l0eSA9IG5hbWU7IC8vL1xuXG4gICAgICBuYW1lID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IFJ1bGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHJ1bGUgPSBuZXcgQ2xhc3MobmFtZSwgb3BhY2l0eSwgZGVmaW5pdGlvbnMpO1xuXG4gICAgcmV0dXJuIHJ1bGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gb3BhY2l0eVN0cmluZ0Zyb21PcGFjaXR5KG9wYWNpdHkpIHtcbiAgY29uc3Qgb3BhY2l0eVN0cmluZyA9IChvcGFjaXR5ICE9PSBudWxsKT9cbiAgICAgICAgICBvcGFjaXR5OiAvLy9cbiAgICAgICAgICAgIEVNUFRZX1NUUklORztcblxuICByZXR1cm4gb3BhY2l0eVN0cmluZztcbn1cblxuZnVuY3Rpb24gc2VtaWNvbG9uU3RyaW5nRnJvbU11bHRpbGluZUFuZE1heGltdW1SdWxlTmFtZUxlbmd0aChtdWx0aUxpbmUsIG1heGltdW1SdWxlTmFtZUxlbmd0aCkge1xuICBjb25zdCBtYXJnaW5XaWR0aCA9IG1heGltdW1SdWxlTmFtZUxlbmd0aCwgIC8vL1xuICAgICAgICBtYXJnaW5TdHJpbmcgPSBtYXJnaW5TdHJpbmdGcm9tTWFyZ2luV2lkdGgobWFyZ2luV2lkdGgpLFxuICAgICAgICBzZW1pY29sb25TdHJpbmcgPSBtdWx0aUxpbmUgP1xuICAgICAgYFxuXG4ke21hcmdpblN0cmluZ30gICA7YCA6XG4gICAgICBcIiA7XCI7XG5cbiAgcmV0dXJuIHNlbWljb2xvblN0cmluZztcbn1cblxuZnVuY3Rpb24gZGVmaW5pdGlvbnNTdHJpbmdGcm9tTXVsdGlsaW5lRGVmaW5pdGlvbnNBbmRNYXhpbXVtUnVsZU5hbWVMZW5ndGgobXVsdGlMaW5lLCBkZWZpbml0aW9ucywgbWF4aW11bVJ1bGVOYW1lTGVuZ3RoKSB7XG4gIGNvbnN0IG1hcmdpbldpZHRoID0gbWF4aW11bVJ1bGVOYW1lTGVuZ3RoLCAgLy8vXG4gICAgICAgIG1hcmdpblN0cmluZyA9IG1hcmdpblN0cmluZ0Zyb21NYXJnaW5XaWR0aChtYXJnaW5XaWR0aCksXG4gICAgICAgIGRlZmluaXRpb25zU3RyaW5nID0gZGVmaW5pdGlvbnMucmVkdWNlKChkZWZpbml0aW9uc1N0cmluZywgZGVmaW5pdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlZmluaXRpb25TdHJpbmcgPSBkZWZpbml0aW9uLmFzU3RyaW5nKCk7XG5cbiAgICAgICAgICBpZiAoZGVmaW5pdGlvbnNTdHJpbmcgPT09IEVNUFRZX1NUUklORykge1xuICAgICAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBkZWZpbml0aW9uU3RyaW5nOyAvLy9cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVmaW5pdGlvbnNTdHJpbmcgPSBtdWx0aUxpbmUgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZGVmaW5pdGlvbnNTdHJpbmd9XG4gICAgXG4ke21hcmdpblN0cmluZ30gICB8ICR7ZGVmaW5pdGlvblN0cmluZ31gIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7ZGVmaW5pdGlvbnNTdHJpbmd9IHwgJHtkZWZpbml0aW9uU3RyaW5nfWA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGRlZmluaXRpb25zU3RyaW5nO1xuICAgICAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBkZWZpbml0aW9uc1N0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJSdWxlIiwib3BhcXVlIiwib3BhcXVlU3BlY2lhbFN5bWJvbCIsInNlbWlPcGFxdWUiLCJzZW1pT3BhcXVlU3BlY2lhbFN5bWJvbCIsInNwZWNpYWxTeW1ib2xzIiwibmFtZSIsIm9wYWNpdHkiLCJkZWZpbml0aW9ucyIsImdldE5hbWUiLCJnZXRPcGFjaXR5IiwiZ2V0RGVmaW5pdGlvbnMiLCJzZXROYW1lIiwic2V0T3BhY2l0eSIsInNldERlZmluaXRpb25zIiwiaXNPcGFxdWUiLCJpc1NlbWlPcGFxdWUiLCJpc1RyYW5zcGFyZW50IiwicGFyc2UiLCJjb250ZXh0IiwiZnJhbWUiLCJydWxlIiwicnVsZUNvbnRleHQiLCJzb21lIiwiZGVmaW5pdGlvbiIsImZyYW1lTnVsbGlmaWVkIiwiaXNOdWxsaWZpZWQiLCJmcmFtZVZhbGlkIiwiaXNWYWxpZCIsImNvbW1pdCIsIk5vblRlcm1pbmFsTm9kZUZyb21SdWxlTmFtZSIsInJ1bGVOYW1lIiwiYXNTdHJpbmciLCJtYXhpbXVtUnVsZU5hbWVMZW5ndGgiLCJtdWx0aUxpbmUiLCJkZWZpbml0aW9uc0xlbmd0aCIsImxlbmd0aCIsIm9wYWNpdHlTdHJpbmciLCJvcGFjaXR5U3RyaW5nRnJvbU9wYWNpdHkiLCJzZW1pY29sb25TdHJpbmciLCJzZW1pY29sb25TdHJpbmdGcm9tTXVsdGlsaW5lQW5kTWF4aW11bVJ1bGVOYW1lTGVuZ3RoIiwiZGVmaW5pdGlvbnNTdHJpbmciLCJkZWZpbml0aW9uc1N0cmluZ0Zyb21NdWx0aWxpbmVEZWZpbml0aW9uc0FuZE1heGltdW1SdWxlTmFtZUxlbmd0aCIsInJ1bGVOYW1lTGVuZ3RoIiwib3BhY2l0eVN0cmluZ0xlbmd0aCIsIm1hcmdpbldpZHRoIiwibWFyZ2luU3RyaW5nIiwibWFyZ2luU3RyaW5nRnJvbU1hcmdpbldpZHRoIiwic3RyaW5nIiwiZnJvbU5hbWVPcGFjaXR5QW5kRGVmaW5pdGlvbnMiLCJDbGFzcyIsInVuZGVmaW5lZCIs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
@@ -13,8 +13,13 @@ function parsePartContinually(part, count, strict, frame, context) {
13
13
  (0, _context.continuationPartContext)((context)=>{
14
14
  const savedFrame = frame; ///
15
15
  frame = part.parse(frame, context);
16
- const frameInvalid = frame.isInvalid();
17
- if (frameInvalid) {
16
+ const frameAborted = frame.isAborted(), frameNullified = frame.isNullified();
17
+ if (false) {
18
+ ///
19
+ } else if (frameAborted) {
20
+ frame = savedFrame; ///
21
+ frame = context.continue(frame);
22
+ } else if (frameNullified) {
18
23
  const initial = count === 0;
19
24
  if (strict && initial) {
20
25
  ///
@@ -31,4 +36,4 @@ function parsePartContinually(part, count, strict, frame, context) {
31
36
  return frame;
32
37
  }
33
38
 
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgY29udGludWF0aW9uUGFydENvbnRleHQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGFydENvbnRpbnVhbGx5KHBhcnQsIGNvdW50LCBzdHJpY3QsIGZyYW1lLCBjb250ZXh0KSB7XG4gIGNvbnRpbnVhdGlvblBhcnRDb250ZXh0KChjb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRGcmFtZSA9IGZyYW1lOyAvLy9cblxuICAgIGZyYW1lID0gcGFydC5wYXJzZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb25zdCBmcmFtZUludmFsaWQgPSBmcmFtZS5pc0ludmFsaWQoKTtcblxuICAgIGlmIChmcmFtZUludmFsaWQpIHtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSAoY291bnQgPT09IDApO1xuXG4gICAgICBpZiAoc3RyaWN0ICYmIGluaXRpYWwpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZSA9IHNhdmVkRnJhbWU7IC8vL1xuXG4gICAgICAgIGZyYW1lID0gY29udGV4dC5jb250aW51ZShmcmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgIH1cbiAgfSwgcGFydCwgY291bnQsIHBhcnNlUGFydENvbnRpbnVhbGx5LCBjb250ZXh0KTtcblxuICByZXR1cm4gZnJhbWU7XG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJ0Q29udGludWFsbHkiLCJwYXJ0IiwiY291bnQiLCJzdHJpY3QiLCJmcmFtZSIsImNvbnRleHQiLCJjb250aW51YXRpb25QYXJ0Q29udGV4dCIsInNhdmVkRnJhbWUiLCJwYXJzZSIsImZyYW1lSW52YWxpZCIsImlzSW52YWxpZCIsImluaXRpYWwiLCJjb250aW51ZSIsImZyYW1lVmFsaWQiLCJpc1ZhbGlkIiwiY29tbWl0Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJZ0JBOzs7ZUFBQUE7Ozt5QkFGd0I7QUFFakMsU0FBU0EscUJBQXFCQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLE9BQU87SUFDdEVDLElBQUFBLGdDQUF1QixFQUFDLENBQUNEO1FBQ3ZCLE1BQU1FLGFBQWFILE9BQU8sR0FBRztRQUU3QkEsUUFBUUgsS0FBS08sS0FBSyxDQUFDSixPQUFPQztRQUUxQixNQUFNSSxlQUFlTCxNQUFNTSxTQUFTO1FBRXBDLElBQUlELGNBQWM7WUFDaEIsTUFBTUUsVUFBV1QsVUFBVTtZQUUzQixJQUFJQyxVQUFVUSxTQUFTO1lBQ3JCLEdBQUc7WUFDTCxPQUFPO2dCQUNMUCxRQUFRRyxZQUFZLEdBQUc7Z0JBRXZCSCxRQUFRQyxRQUFRTyxRQUFRLENBQUNSO1lBQzNCO1FBQ0Y7UUFFQSxNQUFNUyxhQUFhVCxNQUFNVSxPQUFPO1FBRWhDLElBQUlELFlBQVk7WUFDZFIsUUFBUVUsTUFBTTtRQUNoQjtJQUNGLEdBQUdkLE1BQU1DLE9BQU9GLHNCQUFzQks7SUFFdEMsT0FBT0Q7QUFDVCJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFydC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgY29udGludWF0aW9uUGFydENvbnRleHQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2NvbnRleHRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGFydENvbnRpbnVhbGx5KHBhcnQsIGNvdW50LCBzdHJpY3QsIGZyYW1lLCBjb250ZXh0KSB7XG4gIGNvbnRpbnVhdGlvblBhcnRDb250ZXh0KChjb250ZXh0KSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRGcmFtZSA9IGZyYW1lOyAvLy9cblxuICAgIGZyYW1lID0gcGFydC5wYXJzZShmcmFtZSwgY29udGV4dCk7XG5cbiAgICBjb25zdCBmcmFtZUFib3J0ZWQgPSBmcmFtZS5pc0Fib3J0ZWQoKSxcbiAgICAgICAgICBmcmFtZU51bGxpZmllZCA9IGZyYW1lLmlzTnVsbGlmaWVkKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAoZnJhbWVBYm9ydGVkKSB7XG4gICAgICBmcmFtZSA9IHNhdmVkRnJhbWU7IC8vL1xuXG4gICAgICBmcmFtZSA9IGNvbnRleHQuY29udGludWUoZnJhbWUpO1xuICAgIH0gZWxzZSBpZiAoZnJhbWVOdWxsaWZpZWQpIHtcbiAgICAgIGNvbnN0IGluaXRpYWwgPSAoY291bnQgPT09IDApO1xuXG4gICAgICBpZiAoc3RyaWN0ICYmIGluaXRpYWwpIHtcbiAgICAgICAgLy8vXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZSA9IHNhdmVkRnJhbWU7IC8vL1xuXG4gICAgICAgIGZyYW1lID0gY29udGV4dC5jb250aW51ZShmcmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZnJhbWVWYWxpZCA9IGZyYW1lLmlzVmFsaWQoKTtcblxuICAgIGlmIChmcmFtZVZhbGlkKSB7XG4gICAgICBjb250ZXh0LmNvbW1pdCgpO1xuICAgIH1cbiAgfSwgcGFydCwgY291bnQsIHBhcnNlUGFydENvbnRpbnVhbGx5LCBjb250ZXh0KTtcblxuICByZXR1cm4gZnJhbWU7XG59XG4iXSwibmFtZXMiOlsicGFyc2VQYXJ0Q29udGludWFsbHkiLCJwYXJ0IiwiY291bnQiLCJzdHJpY3QiLCJmcmFtZSIsImNvbnRleHQiLCJjb250aW51YXRpb25QYXJ0Q29udGV4dCIsInNhdmVkRnJhbWUiLCJwYXJzZSIsImZyYW1lQWJvcnRlZCIsImlzQWJvcnRlZCIsImZyYW1lTnVsbGlmaWVkIiwiaXNOdWxsaWZpZWQiLCJjb250aW51ZSIsImluaXRpYWwiLCJmcmFtZVZhbGlkIiwiaXNWYWxpZCIsImNvbW1pdCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSWdCQTs7O2VBQUFBOzs7eUJBRndCO0FBRWpDLFNBQVNBLHFCQUFxQkMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxPQUFPO0lBQ3RFQyxJQUFBQSxnQ0FBdUIsRUFBQyxDQUFDRDtRQUN2QixNQUFNRSxhQUFhSCxPQUFPLEdBQUc7UUFFN0JBLFFBQVFILEtBQUtPLEtBQUssQ0FBQ0osT0FBT0M7UUFFMUIsTUFBTUksZUFBZUwsTUFBTU0sU0FBUyxJQUM5QkMsaUJBQWlCUCxNQUFNUSxXQUFXO1FBRXhDLElBQUksT0FBTztRQUNULEdBQUc7UUFDTCxPQUFPLElBQUlILGNBQWM7WUFDdkJMLFFBQVFHLFlBQVksR0FBRztZQUV2QkgsUUFBUUMsUUFBUVEsUUFBUSxDQUFDVDtRQUMzQixPQUFPLElBQUlPLGdCQUFnQjtZQUN6QixNQUFNRyxVQUFXWixVQUFVO1lBRTNCLElBQUlDLFVBQVVXLFNBQVM7WUFDckIsR0FBRztZQUNMLE9BQU87Z0JBQ0xWLFFBQVFHLFlBQVksR0FBRztnQkFFdkJILFFBQVFDLFFBQVFRLFFBQVEsQ0FBQ1Q7WUFDM0I7UUFDRjtRQUVBLE1BQU1XLGFBQWFYLE1BQU1ZLE9BQU87UUFFaEMsSUFBSUQsWUFBWTtZQUNkVixRQUFRWSxNQUFNO1FBQ2hCO0lBQ0YsR0FBR2hCLE1BQU1DLE9BQU9GLHNCQUFzQks7SUFFdEMsT0FBT0Q7QUFDVCJ9
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-parsers",
3
3
  "author": "James Smith",
4
- "version": "23.3.28",
4
+ "version": "23.3.30",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-parsers",
7
7
  "description": "Occam's parsers.",
@@ -18,8 +18,8 @@
18
18
  "@swc/core": "1.13.20",
19
19
  "decaf-cli": "^1.1.3",
20
20
  "easy": "^25.1.2",
21
- "easy-layout": "^6.0.352",
22
- "easy-with-style": "^3.0.592",
21
+ "easy-layout": "^6.0.353",
22
+ "easy-with-style": "^3.0.593",
23
23
  "esbuild": "0.11.14",
24
24
  "express": "^4.17.1",
25
25
  "juxtapose": "^4.0.147",
@@ -71,11 +71,9 @@ export default class DefinitionContext extends Context {
71
71
  } else {
72
72
  const committed = nonTerminalNode.isCommitted();
73
73
 
74
- if (committed) {
75
- frame = abortedFrame;
76
- } else {
77
- frame = nullifiedFrame;
78
- }
74
+ frame = committed ?
75
+ abortedFrame :
76
+ nullifiedFrame;
79
77
  }
80
78
 
81
79
  return frame;
@@ -2,6 +2,8 @@
2
2
 
3
3
  import Context from "../../context";
4
4
 
5
+ import { nullifiedFrame } from "../../frame";
6
+
5
7
  export default class CommittedPartPartContext extends Context {
6
8
  isCommitted() {
7
9
  const committed = true;
@@ -9,6 +11,16 @@ export default class CommittedPartPartContext extends Context {
9
11
  return committed;
10
12
  }
11
13
 
14
+ compose(frame, partFrame = nullifiedFrame) {
15
+ const partFrameValid = partFrame.isValid();
16
+
17
+ if (partFrameValid) {
18
+ frame = frame.merge(partFrame);
19
+ }
20
+
21
+ return frame;
22
+ }
23
+
12
24
  continued(frame, context) {
13
25
  frame = this.compose(frame);
14
26
 
@@ -44,7 +44,9 @@ export default class ChoiceOfPartsPart extends NonTerminalPart {
44
44
  partFrameValid = partFrame.isValid(),
45
45
  partFrameAborted = partFrame.isAborted();
46
46
 
47
- if (partFrameValid) {
47
+ if (false) {
48
+ ///
49
+ } else if (partFrameValid) {
48
50
  frame = context.compose(frame, partFrame);
49
51
  } else if (partFrameAborted) {
50
52
  frame = partFrame; ///
@@ -32,9 +32,14 @@ export default class OptionalPartPart extends NonTerminalPart {
32
32
 
33
33
  frame = this.part.parse(frame, context);
34
34
 
35
- const frameInvalid = frame.isInvalid();
36
-
37
- if (frameInvalid) {
35
+ const frameAborted = frame.isAborted(),
36
+ frameNullified = frame.isNullified();
37
+
38
+ if (false) {
39
+ ///
40
+ } else if (frameAborted) {
41
+ frame = nullifiedFrame;
42
+ } else if (frameNullified) {
38
43
  frame = savedFrame; ///
39
44
 
40
45
  frame = context.continue(frame);
package/src/rule.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ import { specialSymbols } from "occam-lexers";
4
+
3
5
  import { ruleContext } from "./utilities/context";
4
6
  import { EMPTY_STRING } from "./constants";
5
- import { specialSymbols } from "occam-lexers";
7
+ import { nullifiedFrame } from "./frame";
6
8
  import { marginStringFromMarginWidth } from "./utilities/string";
7
9
 
8
10
  const { opaque: opaqueSpecialSymbol, semiOpaque: semiOpaqueSpecialSymbol } = specialSymbols;
@@ -65,10 +67,9 @@ export default class Rule {
65
67
  this.definitions.some((definition) => {
66
68
  frame = definition.parse(context);
67
69
 
68
- const frameValid = frame.isValid(),
69
- frameAborted = frame.isAborted();
70
+ const frameNullified = frame.isNullified();
70
71
 
71
- if (frameValid || frameAborted) {
72
+ if (!frameNullified) {
72
73
  return true;
73
74
  }
74
75
  });
@@ -8,9 +8,16 @@ export function parsePartContinually(part, count, strict, frame, context) {
8
8
 
9
9
  frame = part.parse(frame, context);
10
10
 
11
- const frameInvalid = frame.isInvalid();
11
+ const frameAborted = frame.isAborted(),
12
+ frameNullified = frame.isNullified();
12
13
 
13
- if (frameInvalid) {
14
+ if (false) {
15
+ ///
16
+ } else if (frameAborted) {
17
+ frame = savedFrame; ///
18
+
19
+ frame = context.continue(frame);
20
+ } else if (frameNullified) {
14
21
  const initial = (count === 0);
15
22
 
16
23
  if (strict && initial) {