occam-furtle 3.0.516 → 3.0.520

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/lib/context/block.js +9 -1
  2. package/lib/context/file/furtle.js +66 -11
  3. package/lib/element/importBinding.js +108 -0
  4. package/lib/element/importBindings.js +17 -0
  5. package/lib/element/importStatement.js +67 -0
  6. package/lib/element/label.js +7 -5
  7. package/lib/element/parameters.js +7 -5
  8. package/lib/element/procedure.js +9 -5
  9. package/lib/element/procedureCall.js +10 -4
  10. package/lib/element/reference.js +21 -1
  11. package/lib/element/type.js +8 -5
  12. package/lib/element/values.js +2 -2
  13. package/lib/example/furtle/bnf.js +2 -2
  14. package/lib/example/furtle/entries.js +1 -1
  15. package/lib/node/importBinding.js +27 -0
  16. package/lib/node/importBindings.js +23 -0
  17. package/lib/node/importStatement.js +42 -0
  18. package/lib/node/procedure.js +8 -13
  19. package/lib/nonTerminalNodeMap.js +7 -1
  20. package/lib/preamble.js +4 -1
  21. package/lib/process/instantiate.js +20 -2
  22. package/lib/process/verify.js +9 -2
  23. package/lib/ruleNames.js +13 -1
  24. package/lib/utilities/element.js +87 -27
  25. package/lib/utilities/json.js +59 -6
  26. package/package.json +2 -2
  27. package/src/context/block.js +14 -0
  28. package/src/context/file/furtle.js +102 -19
  29. package/src/element/importBinding.js +165 -0
  30. package/src/element/importBindings.js +9 -0
  31. package/src/element/importStatement.js +89 -0
  32. package/src/element/label.js +9 -5
  33. package/src/element/parameters.js +9 -5
  34. package/src/element/procedure.js +19 -16
  35. package/src/element/procedureCall.js +12 -3
  36. package/src/element/reference.js +33 -0
  37. package/src/element/type.js +13 -8
  38. package/src/element/values.js +1 -1
  39. package/src/example/furtle/bnf.js +1 -1
  40. package/src/example/furtle/entries.js +1 -1
  41. package/src/node/importBinding.js +23 -0
  42. package/src/node/importBindings.js +16 -0
  43. package/src/node/importStatement.js +45 -0
  44. package/src/node/procedure.js +7 -14
  45. package/src/nonTerminalNodeMap.js +9 -0
  46. package/src/preamble.js +3 -0
  47. package/src/process/instantiate.js +11 -2
  48. package/src/process/verify.js +11 -2
  49. package/src/ruleNames.js +3 -0
  50. package/src/utilities/element.js +120 -43
  51. package/src/utilities/json.js +62 -5
@@ -59,6 +59,9 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
59
59
  getReturnStatement() {
60
60
  return this.returnBlock.getReturnStatement();
61
61
  }
62
+ compareReleaseName(releaseName) {
63
+ return this.context.compareReleaseName(releaseName);
64
+ }
62
65
  compareProcedureName(procedureName) {
63
66
  return this.label.compareProcedureName(procedureName);
64
67
  }
@@ -70,7 +73,6 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
70
73
  this.returnBlock = (0, _element.returnBlockFromProcedureNode)(procedureNode, context);
71
74
  }
72
75
  verify = breakable(function(context, forward, back) {
73
- let procedure;
74
76
  const procedureString = this.getString();
75
77
  context.trace(`Verifying the '${procedureString}' function...`);
76
78
  const procedureName = this.getProcedureName(), procedurePresent = context.isProcedurePresentByProcedureName(procedureName);
@@ -78,7 +80,7 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
78
80
  context.trace(`The '${procedureString}' function is already present.`);
79
81
  return back();
80
82
  }
81
- procedure = this; ///
83
+ const procedure = this; ///
82
84
  context.addProcedure(procedure);
83
85
  context.debug(`...verified the '${procedureString}' function.`);
84
86
  return forward(context, back);
@@ -111,12 +113,14 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
111
113
  }, back);
112
114
  }
113
115
  toJSON() {
114
- const typeJSON = (0, _json.typeToTypeJSON)(this.type), labelJSON = (0, _json.labelToLabelJSON)(this.label), exportedJJSON = (0, _json.exportedToExportedJSON)(this.label), parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters), string = this.getString();
116
+ let json;
117
+ const string = this.getString(), typeJSON = (0, _json.typeToTypeJSON)(this.type), labelJSON = (0, _json.labelToLabelJSON)(this.label), exportedJJSON = (0, _json.exportedToExportedJSON)(this.exported), parametersJSON = (0, _json.parametersToParametersJSON)(this.parameters);
115
118
  let breakPoint;
116
119
  breakPoint = this.getBreakPoint();
117
120
  const breakPointJSON = breakPointToBreakPointJSON(breakPoint);
118
121
  breakPoint = breakPointJSON; ///
119
- const type = typeJSON, label = labelJSON, exported = exportedJJSON, parameters = parametersJSON, json = {
122
+ const type = typeJSON, label = labelJSON, exported = exportedJJSON, parameters = parametersJSON; ///
123
+ json = {
120
124
  string,
121
125
  breakPoint,
122
126
  type,
@@ -133,4 +137,4 @@ const _default = (0, _elements.define)(class Procedure extends _occamlanguages.E
133
137
  }
134
138
  });
135
139
 
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcywgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVzXCI7XG5pbXBvcnQgeyByZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5pbXBvcnQgeyB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyYW1ldGVyc1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OLCBsYWJlbEZyb21KU09OLCBleHBvcnRlZEZyb21KU09OLCBwYXJhbWV0ZXJzRnJvbUpTT04sIHR5cGVUb1R5cGVKU09OLCBsYWJlbFRvTGFiZWxKU09OLCBleHBvcnRlZFRvRXhwb3J0ZWRKU09OLCBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IGN1dCB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyBicmVha2FibGUsIGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBQcm9jZWR1cmUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBsYWJlbCwgZXhwb3J0ZWQsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMuZXhwb3J0ZWQgPSBleHBvcnRlZDtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICB9XG5cbiAgaXNFeHBvcnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHBvcnRlZDtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMubGFiZWwuZ2V0TmFtZSgpOyB9XG5cbiAgaXNCb29sZWFuKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoKSxcbiAgICAgICAgICBib29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBib29sZWFuVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIGJvb2xlYW47XG4gIH1cblxuICBnZXRQcm9jZWR1cmVOYW1lKCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVOYW1lID0gbmFtZTsgLy8vXG5cbiAgICByZXR1cm4gcHJvY2VkdXJlTmFtZTtcbiAgfVxuXG4gIGdldFJldHVyblN0YXRlbWVudCgpIHsgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZ2V0UmV0dXJuU3RhdGVtZW50KCk7IH1cblxuICBjb21wYXJlUHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKSB7IHJldHVybiB0aGlzLmxhYmVsLmNvbXBhcmVQcm9jZWR1cmVOYW1lKHByb2NlZHVyZU5hbWUpOyB9XG5cbiAgZ3VhcmFudGVlUmV0dXJuQmxvY2soKSB7XG4gICAgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldE5vZGUoKSxcbiAgICAgICAgICBjb250ZXh0ID0gdGhpcy5nZXRDb250ZXh0KCksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IG5vZGU7XG5cbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2tGcm9tUHJvY2VkdXJlTm9kZShwcm9jZWR1cmVOb2RlLCBjb250ZXh0KTtcbiAgfVxuXG4gIHZlcmlmeSA9IGJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGxldCBwcm9jZWR1cmU7XG5cbiAgICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZVByZXNlbnQgPSBjb250ZXh0LmlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIGlmIChwcm9jZWR1cmVQcmVzZW50KSB7XG4gICAgICBjb250ZXh0LnRyYWNlKGBUaGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuXG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICB9KTtcblxuICBldmFsdWF0ZSA9IGJyZWFrYWJsZShmdW5jdGlvbiAodmFsdWVzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgZm9yd2FyZCA9IGN1dChmb3J3YXJkLCBiYWNrKTtcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmNvbXBhcmVWYWx1ZXModmFsdWVzLCBjb250ZXh0LCAoYmFjaykgPT4ge1xuICAgICAgdGhpcy5ndWFyYW50ZWVSZXR1cm5CbG9jaygpO1xuXG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyh2YWx1ZXMsIHRoaXMucGFyYW1ldGVycywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICAgICAgaWYgKCF0eXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICB2YWx1ZVR5cGVTdHJpbmcgPSB2YWx1ZVR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IGVxdWFsIHRvIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbidzICcke3R5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24uYCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH0pO1xuXG4gIGNhbGxOb21pbmFsbHkobm9taW5hbFZhbHVlcywgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBwcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDYWxsaW5nIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbiBub21pbmFsbHkuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlc0Zyb21Ob21pbmFsVmFsdWVzKG5vbWluYWxWYWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRoaXMuZXZhbHVhdGUodmFsdWVzLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gbm9taW5hbGx5LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgY29uc3QgdHlwZUpTT04gPSB0eXBlVG9UeXBlSlNPTih0aGlzLnR5cGUpLFxuICAgICAgICAgIGxhYmVsSlNPTiA9IGxhYmVsVG9MYWJlbEpTT04odGhpcy5sYWJlbCksXG4gICAgICAgICAgZXhwb3J0ZWRKSlNPTiA9IGV4cG9ydGVkVG9FeHBvcnRlZEpTT04odGhpcy5sYWJlbCksXG4gICAgICAgICAgcGFyYW1ldGVyc0pTT04gPSBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTih0aGlzLnBhcmFtZXRlcnMpLFxuICAgICAgICAgIHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBsZXQgYnJlYWtQb2ludDtcblxuICAgIGJyZWFrUG9pbnQgPSB0aGlzLmdldEJyZWFrUG9pbnQoKTtcblxuICAgIGNvbnN0IGJyZWFrUG9pbnRKU09OID0gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCk7XG5cbiAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEpTT047ICAvLy9cblxuICAgIGNvbnN0IHR5cGUgPSB0eXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGxhYmVsID0gbGFiZWxKU09OLCAgLy8vXG4gICAgICAgICAgZXhwb3J0ZWQgPSBleHBvcnRlZEpKU09OLCAvLy9cbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgc3RyaW5nLFxuICAgICAgICAgICAgYnJlYWtQb2ludCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGV4cG9ydGVkLFxuICAgICAgICAgICAgcGFyYW1ldGVyc1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVcIjtcblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50RnJvbUpTT04oanNvbiksXG4gICAgICAgICAgdHlwZSA9IHR5cGVGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBsYWJlbCA9IGxhYmVsRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgZXhwb3J0ZWQgPSBleHBvcnRlZEZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgcHJvY2VkdXJlTm9kZSA9IGNvbnRleHQuZmluZFByb2NlZHVyZU5vZGUobGFiZWwpLFxuICAgICAgICAgIHJldHVybkJsb2NrID0gbnVsbCwgLy8vXG4gICAgICAgICAgbm9kZSA9IHByb2NlZHVyZU5vZGUsIC8vL1xuICAgICAgICAgIHByb2NlZHVyZSA9IG5ldyBQcm9jZWR1cmUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBsYWJlbCwgZXhwb3J0ZWQsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmU7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbImN1dCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImJyZWFrYWJsZSIsImJyZWFrUG9pbnRGcm9tSlNPTiIsImJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIlByb2NlZHVyZSIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0eXBlIiwibGFiZWwiLCJleHBvcnRlZCIsInBhcmFtZXRlcnMiLCJyZXR1cm5CbG9jayIsImdldFR5cGUiLCJnZXRMYWJlbCIsImlzRXhwb3J0ZWQiLCJnZXRQYXJhbWV0ZXJzIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXROYW1lIiwiaXNCb29sZWFuIiwiYm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiYm9vbGVhbiIsImdldFByb2NlZHVyZU5hbWUiLCJuYW1lIiwicHJvY2VkdXJlTmFtZSIsImdldFJldHVyblN0YXRlbWVudCIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwiZ3VhcmFudGVlUmV0dXJuQmxvY2siLCJnZXROb2RlIiwiZ2V0Q29udGV4dCIsInByb2NlZHVyZU5vZGUiLCJyZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIiwidmVyaWZ5IiwiZm9yd2FyZCIsImJhY2siLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInByb2NlZHVyZVByZXNlbnQiLCJpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUiLCJhZGRQcm9jZWR1cmUiLCJkZWJ1ZyIsImV2YWx1YXRlIiwidmFsdWVzIiwiY29tcGFyZVZhbHVlcyIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInR5cGVTdHJpbmciLCJ2YWx1ZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImNhbGxOb21pbmFsbHkiLCJub21pbmFsVmFsdWVzIiwidmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMiLCJ0b0pTT04iLCJ0eXBlSlNPTiIsInR5cGVUb1R5cGVKU09OIiwibGFiZWxKU09OIiwibGFiZWxUb0xhYmVsSlNPTiIsImV4cG9ydGVkSkpTT04iLCJleHBvcnRlZFRvRXhwb3J0ZWRKU09OIiwicGFyYW1ldGVyc0pTT04iLCJwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiIsImdldEJyZWFrUG9pbnQiLCJicmVha1BvaW50SlNPTiIsImpzb24iLCJmcm9tSlNPTiIsInR5cGVGcm9tSlNPTiIsImxhYmVsRnJvbUpTT04iLCJleHBvcnRlZEZyb21KU09OIiwicGFyYW1ldGVyc0Zyb21KU09OIiwiZmluZFByb2NlZHVyZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWVBOzs7ZUFBQTs7O2dDQWJvRTtrRUFFOUM7MEJBRUM7d0JBQ2lCO3lCQUNLOzRCQUNJO3NCQUN1SDs7Ozs7O0FBRXhLLE1BQU0sRUFBRUEsR0FBRyxFQUFFLEdBQUdDLHFDQUFxQixFQUMvQixFQUFFQyxTQUFTLEVBQUVDLGtCQUFrQixFQUFFQywwQkFBMEIsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekYsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxrQkFBa0JDLHVCQUFPO0lBQ25ELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxXQUFXLENBQUU7UUFDN0YsS0FBSyxDQUFDUixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtJQUNyQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNMLElBQUk7SUFDbEI7SUFFQU0sV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDTCxLQUFLO0lBQ25CO0lBRUFNLGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQ0wsUUFBUTtJQUN0QjtJQUVBTSxnQkFBZ0I7UUFDZCxPQUFP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
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcywgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyB2YWx1ZXNGcm9tTm9taW5hbFZhbHVlcyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVzXCI7XG5pbXBvcnQgeyByZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5pbXBvcnQgeyB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGFyYW1ldGVyc1wiO1xuaW1wb3J0IHsgdHlwZUZyb21KU09OLCBsYWJlbEZyb21KU09OLCBleHBvcnRlZEZyb21KU09OLCBwYXJhbWV0ZXJzRnJvbUpTT04sIHR5cGVUb1R5cGVKU09OLCBsYWJlbFRvTGFiZWxKU09OLCBleHBvcnRlZFRvRXhwb3J0ZWRKU09OLCBwYXJhbWV0ZXJzVG9QYXJhbWV0ZXJzSlNPTiB9IGZyb20gXCIuLi91dGlsaXRpZXMvanNvblwiO1xuXG5jb25zdCB7IGN1dCB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyBicmVha2FibGUsIGJyZWFrUG9pbnRGcm9tSlNPTiwgYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04gfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBQcm9jZWR1cmUgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB0eXBlLCBsYWJlbCwgZXhwb3J0ZWQsIHBhcmFtZXRlcnMsIHJldHVybkJsb2NrKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICAgIHRoaXMuZXhwb3J0ZWQgPSBleHBvcnRlZDtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzO1xuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9jaztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICB9XG5cbiAgaXNFeHBvcnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5leHBvcnRlZDtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0TmFtZSgpIHsgcmV0dXJuIHRoaXMubGFiZWwuZ2V0TmFtZSgpOyB9XG5cbiAgaXNCb29sZWFuKCkge1xuICAgIGNvbnN0IHR5cGUgPSB0aGlzLmdldFR5cGUoKSxcbiAgICAgICAgICBib29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBib29sZWFuVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIGJvb2xlYW47XG4gIH1cblxuICBnZXRQcm9jZWR1cmVOYW1lKCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVOYW1lID0gbmFtZTsgLy8vXG5cbiAgICByZXR1cm4gcHJvY2VkdXJlTmFtZTtcbiAgfVxuXG4gIGdldFJldHVyblN0YXRlbWVudCgpIHsgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZ2V0UmV0dXJuU3RhdGVtZW50KCk7IH1cblxuICBjb21wYXJlUmVsZWFzZU5hbWUocmVsZWFzZU5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5jb21wYXJlUmVsZWFzZU5hbWUocmVsZWFzZU5hbWUpOyB9XG5cbiAgY29tcGFyZVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSkgeyByZXR1cm4gdGhpcy5sYWJlbC5jb21wYXJlUHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTsgfVxuXG4gIGd1YXJhbnRlZVJldHVybkJsb2NrKCkge1xuICAgIGlmICh0aGlzLnJldHVybkJsb2NrICE9IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5nZXROb2RlKCksXG4gICAgICAgICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBub2RlO1xuXG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrRnJvbVByb2NlZHVyZU5vZGUocHJvY2VkdXJlTm9kZSwgY29udGV4dCk7XG4gIH1cblxuICB2ZXJpZnkgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgY29uc3QgcHJvY2VkdXJlTmFtZSA9IHRoaXMuZ2V0UHJvY2VkdXJlTmFtZSgpLFxuICAgICAgICAgIHByb2NlZHVyZVByZXNlbnQgPSBjb250ZXh0LmlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIGlmIChwcm9jZWR1cmVQcmVzZW50KSB7XG4gICAgICBjb250ZXh0LnRyYWNlKGBUaGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gaXMgYWxyZWFkeSBwcmVzZW50LmApO1xuXG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2NlZHVyZSA9IHRoaXM7IC8vL1xuXG4gICAgY29udGV4dC5hZGRQcm9jZWR1cmUocHJvY2VkdXJlKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbi5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICB9KTtcblxuICBldmFsdWF0ZSA9IGJyZWFrYWJsZShmdW5jdGlvbiAodmFsdWVzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgZm9yd2FyZCA9IGN1dChmb3J3YXJkLCBiYWNrKTtcblxuICAgIGNvbnN0IHByb2NlZHVyZVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYENhbGxpbmcgdGhlICcke3Byb2NlZHVyZVN0cmluZ30nIGZ1bmN0aW9uLi4uYCk7XG5cbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmNvbXBhcmVWYWx1ZXModmFsdWVzLCBjb250ZXh0LCAoYmFjaykgPT4ge1xuICAgICAgdGhpcy5ndWFyYW50ZWVSZXR1cm5CbG9jaygpO1xuXG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSB2YXJpYWJsZXNGcm9tVmFsdWVzQW5kUGFyYW1ldGVycyh2YWx1ZXMsIHRoaXMucGFyYW1ldGVycywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKHZhcmlhYmxlcywgY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgdHlwZUVxdWFsVG9WYWx1ZVR5cGUgPSB0aGlzLnR5cGUuaXNFcXVhbFRvKHZhbHVlVHlwZSk7XG5cbiAgICAgICAgaWYgKCF0eXBlRXF1YWxUb1ZhbHVlVHlwZSkge1xuICAgICAgICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgICB2YWx1ZVR5cGVTdHJpbmcgPSB2YWx1ZVR5cGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZVN0cmluZ30nIHR5cGUgaXMgbm90IGVxdWFsIHRvIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbidzICcke3R5cGVTdHJpbmd9JyB0eXBlLmAsXG4gICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24uYCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH0pO1xuXG4gIGNhbGxOb21pbmFsbHkobm9taW5hbFZhbHVlcywgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKSxcbiAgICAgICAgICBwcm9jZWR1cmVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBDYWxsaW5nIHRoZSAnJHtwcm9jZWR1cmVTdHJpbmd9JyBmdW5jdGlvbiBub21pbmFsbHkuLi5gKTtcblxuICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlc0Zyb21Ob21pbmFsVmFsdWVzKG5vbWluYWxWYWx1ZXMsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHRoaXMuZXZhbHVhdGUodmFsdWVzLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLmNhbGxlZCB0aGUgJyR7cHJvY2VkdXJlU3RyaW5nfScgZnVuY3Rpb24gbm9taW5hbGx5LmApO1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgbGV0IGpzb247XG5cbiAgICBjb25zdCBzdHJpbmcgPSB0aGlzLmdldFN0cmluZygpLFxuICAgICAgICAgIHR5cGVKU09OID0gdHlwZVRvVHlwZUpTT04odGhpcy50eXBlKSxcbiAgICAgICAgICBsYWJlbEpTT04gPSBsYWJlbFRvTGFiZWxKU09OKHRoaXMubGFiZWwpLFxuICAgICAgICAgIGV4cG9ydGVkSkpTT04gPSBleHBvcnRlZFRvRXhwb3J0ZWRKU09OKHRoaXMuZXhwb3J0ZWQpLFxuICAgICAgICAgIHBhcmFtZXRlcnNKU09OID0gcGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04odGhpcy5wYXJhbWV0ZXJzKTtcblxuICAgIGxldCBicmVha1BvaW50O1xuXG4gICAgYnJlYWtQb2ludCA9IHRoaXMuZ2V0QnJlYWtQb2ludCgpO1xuXG4gICAgY29uc3QgYnJlYWtQb2ludEpTT04gPSBicmVha1BvaW50VG9CcmVha1BvaW50SlNPTihicmVha1BvaW50KTtcblxuICAgIGJyZWFrUG9pbnQgPSBicmVha1BvaW50SlNPTjsgIC8vL1xuXG4gICAgY29uc3QgdHlwZSA9IHR5cGVKU09OLCAgLy8vXG4gICAgICAgICAgbGFiZWwgPSBsYWJlbEpTT04sICAvLy9cbiAgICAgICAgICBleHBvcnRlZCA9IGV4cG9ydGVkSkpTT04sIC8vL1xuICAgICAgICAgIHBhcmFtZXRlcnMgPSBwYXJhbWV0ZXJzSlNPTjsgIC8vL1xuXG4gICAganNvbiA9IHtcbiAgICAgIHN0cmluZyxcbiAgICAgIGJyZWFrUG9pbnQsXG4gICAgICB0eXBlLFxuICAgICAgbGFiZWwsXG4gICAgICBleHBvcnRlZCxcbiAgICAgIHBhcmFtZXRlcnNcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUHJvY2VkdXJlXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICBicmVha1BvaW50ID0gYnJlYWtQb2ludEZyb21KU09OKGpzb24pLFxuICAgICAgICAgIHR5cGUgPSB0eXBlRnJvbUpTT04oanNvbiwgY29udGV4dCksXG4gICAgICAgICAgbGFiZWwgPSBsYWJlbEZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIGV4cG9ydGVkID0gZXhwb3J0ZWRGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICBwYXJhbWV0ZXJzID0gcGFyYW1ldGVyc0Zyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgIHByb2NlZHVyZU5vZGUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVOb2RlKGxhYmVsKSxcbiAgICAgICAgICByZXR1cm5CbG9jayA9IG51bGwsIC8vL1xuICAgICAgICAgIG5vZGUgPSBwcm9jZWR1cmVOb2RlLCAvLy9cbiAgICAgICAgICBwcm9jZWR1cmUgPSBuZXcgUHJvY2VkdXJlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdHlwZSwgbGFiZWwsIGV4cG9ydGVkLCBwYXJhbWV0ZXJzLCByZXR1cm5CbG9jayk7XG5cbiAgICByZXR1cm4gcHJvY2VkdXJlO1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJjdXQiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJicmVha2FibGUiLCJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJQcm9jZWR1cmUiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidHlwZSIsImxhYmVsIiwiZXhwb3J0ZWQiLCJwYXJhbWV0ZXJzIiwicmV0dXJuQmxvY2siLCJnZXRUeXBlIiwiZ2V0TGFiZWwiLCJpc0V4cG9ydGVkIiwiZ2V0UGFyYW1ldGVycyIsImdldFJldHVybkJsb2NrIiwiZ2V0TmFtZSIsImlzQm9vbGVhbiIsImJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsImJvb2xlYW4iLCJnZXRQcm9jZWR1cmVOYW1lIiwibmFtZSIsInByb2NlZHVyZU5hbWUiLCJnZXRSZXR1cm5TdGF0ZW1lbnQiLCJjb21wYXJlUmVsZWFzZU5hbWUiLCJyZWxlYXNlTmFtZSIsImNvbXBhcmVQcm9jZWR1cmVOYW1lIiwiZ3VhcmFudGVlUmV0dXJuQmxvY2siLCJnZXROb2RlIiwiZ2V0Q29udGV4dCIsInByb2NlZHVyZU5vZGUiLCJyZXR1cm5CbG9ja0Zyb21Qcm9jZWR1cmVOb2RlIiwidmVyaWZ5IiwiZm9yd2FyZCIsImJhY2siLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInByb2NlZHVyZVByZXNlbnQiLCJpc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmUiLCJhZGRQcm9jZWR1cmUiLCJkZWJ1ZyIsImV2YWx1YXRlIiwidmFsdWVzIiwiY29tcGFyZVZhbHVlcyIsInZhcmlhYmxlcyIsInZhcmlhYmxlc0Zyb21WYWx1ZXNBbmRQYXJhbWV0ZXJzIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJ0eXBlRXF1YWxUb1ZhbHVlVHlwZSIsImlzRXF1YWxUbyIsInR5cGVTdHJpbmciLCJ2YWx1ZVN0cmluZyIsInZhbHVlVHlwZVN0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImNhbGxOb21pbmFsbHkiLCJub21pbmFsVmFsdWVzIiwidmFsdWVzRnJvbU5vbWluYWxWYWx1ZXMiLCJ0b0pTT04iLCJqc29uIiwidHlwZUpTT04iLCJ0eXBlVG9UeXBlSlNPTiIsImxhYmVsSlNPTiIsImxhYmVsVG9MYWJlbEpTT04iLCJleHBvcnRlZEpKU09OIiwiZXhwb3J0ZWRUb0V4cG9ydGVkSlNPTiIsInBhcmFtZXRlcnNKU09OIiwicGFyYW1ldGVyc1RvUGFyYW1ldGVyc0pTT04iLCJnZXRCcmVha1BvaW50IiwiYnJlYWtQb2ludEpTT04iLCJmcm9tSlNPTiIsInR5cGVGcm9tSlNPTiIsImxhYmVsRnJvbUpTT04iLCJleHBvcnRlZEZyb21KU09OIiwicGFyYW1ldGVyc0Zyb21KU09OIiwiZmluZFByb2NlZHVyZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWVBOzs7ZUFBQTs7O2dDQWJvRTtrRUFFOUM7MEJBRUM7d0JBQ2lCO3lCQUNLOzRCQUNJO3NCQUN1SDs7Ozs7O0FBRXhLLE1BQU0sRUFBRUEsR0FBRyxFQUFFLEdBQUdDLHFDQUFxQixFQUMvQixFQUFFQyxTQUFTLEVBQUVDLGtCQUFrQixFQUFFQywwQkFBMEIsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFekYsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxrQkFBa0JDLHVCQUFPO0lBQ25ELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxXQUFXLENBQUU7UUFDN0YsS0FBSyxDQUFDUixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtJQUNyQjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNMLElBQUk7SUFDbEI7SUFFQU0sV0FBVztRQUNULE9BQU8s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
@@ -35,12 +35,18 @@ const _default = (0, _elements.define)(class ProcedureCall extends _occamlanguag
35
35
  evaluate(context, forward, back) {
36
36
  const procedureCallString = this.getString(); ///
37
37
  context.trace(`Evaluating the '${procedureCallString}' function call...`);
38
- const procedureName = this.getProcedureName(), procedurePresent = context.isProcedurePresentByProcedureName(procedureName);
39
- if (!procedurePresent) {
38
+ const procedureName = this.getProcedureName(), procedurePresent = context.isProcedurePresentByProcedureName(procedureName), importedProcedurePresent = context.isImportedProcedurePresentByProcedureName(procedureName);
39
+ if (!procedurePresent && !importedProcedurePresent) {
40
40
  const message = `The '${procedureCallString}' function is not present.'`, exception = _exception.default.fromMessage(message);
41
41
  return back(exception);
42
42
  }
43
- const procedure = context.findProcedureByProcedureName(procedureName);
43
+ let procedure;
44
+ if (!importedProcedurePresent) {
45
+ procedure = context.findProcedureByProcedureName(procedureName);
46
+ } else {
47
+ const importedProcedure = context.findImportedProcedureByProcedureName(procedureName);
48
+ procedure = importedProcedure; ///
49
+ }
44
50
  return this.values.evaluate(context, (values, back)=>{
45
51
  return (0, _context.free)((context)=>{
46
52
  return procedure.evaluate(values, context, (value, back)=>{
@@ -54,4 +60,4 @@ const _default = (0, _elements.define)(class ProcedureCall extends _occamlanguag
54
60
  static name = "ProcedureCall";
55
61
  });
56
62
 
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZUNhbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBmcmVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZUNhbGwgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCByZWZlcmVuY2UsIHZhbHVlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2U7XG4gIH1cblxuICBnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlTmFtZSgpIHsgcmV0dXJuIHRoaXMucmVmZXJlbmNlLmdldFByb2NlZHVyZU5hbWUoKTsgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIGZ1bmN0aW9uIGNhbGwuLi5gKTtcblxuICAgIGNvbnN0IHByb2NlZHVyZU5hbWUgPSB0aGlzLmdldFByb2NlZHVyZU5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gY29udGV4dC5pc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG5cbiAgICBpZiAoIXByb2NlZHVyZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBmdW5jdGlvbiBpcyBub3QgcHJlc2VudC4nYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9jZWR1cmUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG5cbiAgICByZXR1cm4gdGhpcy52YWx1ZXMuZXZhbHVhdGUoY29udGV4dCwgKHZhbHVlcywgYmFjaykgPT4ge1xuICAgICAgcmV0dXJuIGZyZWUoKGNvbnRleHQpID0+IHtcbiAgICAgICAgcmV0dXJuIHByb2NlZHVyZS5ldmFsdWF0ZSh2YWx1ZXMsIGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICAgICAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3Byb2NlZHVyZUNhbGxTdHJpbmd9JyBmdW5jdGlvbiBjYWxsIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgICAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gICAgICAgIH0sIGJhY2spO1xuICAgICAgfSwgY29udGV4dCk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUHJvY2VkdXJlQ2FsbFwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiUHJvY2VkdXJlQ2FsbCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJyZWZlcmVuY2UiLCJ2YWx1ZXMiLCJnZXRSZWZlcmVuY2UiLCJnZXRWYWx1ZXMiLCJnZXRQcm9jZWR1cmVOYW1lIiwiZXZhbHVhdGUiLCJmb3J3YXJkIiwiYmFjayIsInByb2NlZHVyZUNhbGxTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInByb2NlZHVyZU5hbWUiLCJwcm9jZWR1cmVQcmVzZW50IiwiaXNQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicHJvY2VkdXJlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsImZyZWUiLCJ2YWx1ZSIsInZhbHVlU3RyaW5nIiwiZGVidWciLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQd0I7a0VBRUY7eUJBRUQ7MEJBQ0U7Ozs7OztNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHNCQUFzQkMsdUJBQU87SUFDdkQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sQ0FBRTtRQUNoRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7SUFDaEI7SUFFQUMsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDRixTQUFTO0lBQ3ZCO0lBRUFHLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0YsTUFBTTtJQUNwQjtJQUVBRyxtQkFBbUI7UUFBRSxPQUFPLElBQUksQ0FBQ0osU0FBUyxDQUFDSSxnQkFBZ0I7SUFBSTtJQUUvREMsU0FBU1QsT0FBTyxFQUFFVSxPQUFPLEVBQUVDLElBQUksRUFBRTtRQUMvQixNQUFNQyxzQkFBc0IsSUFBSSxDQUFDQyxTQUFTLElBQUssR0FBRztRQUVsRGIsUUFBUWMsS0FBSyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVGLG9CQUFvQixrQkFBa0IsQ0FBQztRQUV4RSxNQUFNRyxnQkFBZ0IsSUFBSSxDQUFDUCxnQkFBZ0IsSUFDckNRLG1CQUFtQmhCLFFBQVFpQixpQ0FBaUMsQ0FBQ0Y7UUFFbkUsSUFBSSxDQUFDQyxrQkFBa0I7WUFDckIsTUFBTUUsVUFBVSxDQUFDLEtBQUssRUFBRU4sb0JBQW9CLDJCQUEyQixDQUFDLEVBQ2xFTyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO1lBRXhDLE9BQU9QLEtBQUtRO1FBQ2Q7UUFFQSxNQUFNRyxZQUFZdEIsUUFBUXVCLDRCQUE0QixDQUFDUjtRQUV2RCxPQUFPLElBQUksQ0FBQ1YsTUFBTSxDQUFDSSxRQUFRLENBQUNULFNBQVMsQ0FBQ0ssUUFBUU07WUFDNUMsT0FBT2EsSUFBQUEsYUFBSSxFQUFDLENBQUN4QjtnQkFDWCxPQUFPc0IsVUFBVWIsUUFBUSxDQUFDSixRQUFRTCxTQUFTLENBQUN5QixPQUFPZDtvQkFDakQsTUFBTWUsY0FBY0QsTUFBTVosU0FBUztvQkFFbkNiLFFBQVEyQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRWYsb0JBQW9CLG9CQUFvQixFQUFFYyxZQUFZLEVBQUUsQ0FBQztvQkFFNUYsT0FBT2hCLFFBQVFlLE9BQU9kO2dCQUN4QixHQUFHQTtZQUNMLEdBQUdYO1FBQ0wsR0FBR1c7SUFDTDtJQUVBLE9BQU9pQixPQUFPLGdCQUFnQjtBQUNoQyJ9
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3Byb2NlZHVyZUNhbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBmcmVlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIFByb2NlZHVyZUNhbGwgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCByZWZlcmVuY2UsIHZhbHVlcykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnJlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICB0aGlzLnZhbHVlcyA9IHZhbHVlcztcbiAgfVxuXG4gIGdldFJlZmVyZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2U7XG4gIH1cblxuICBnZXRWYWx1ZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVzO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlTmFtZSgpIHsgcmV0dXJuIHRoaXMucmVmZXJlbmNlLmdldFByb2NlZHVyZU5hbWUoKTsgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBwcm9jZWR1cmVDYWxsU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7cHJvY2VkdXJlQ2FsbFN0cmluZ30nIGZ1bmN0aW9uIGNhbGwuLi5gKTtcblxuICAgIGNvbnN0IHByb2NlZHVyZU5hbWUgPSB0aGlzLmdldFByb2NlZHVyZU5hbWUoKSxcbiAgICAgICAgICBwcm9jZWR1cmVQcmVzZW50ID0gY29udGV4dC5pc1Byb2NlZHVyZVByZXNlbnRCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSksXG4gICAgICAgICAgaW1wb3J0ZWRQcm9jZWR1cmVQcmVzZW50ID0gY29udGV4dC5pc0ltcG9ydGVkUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZShwcm9jZWR1cmVOYW1lKTtcblxuICAgIGlmICghcHJvY2VkdXJlUHJlc2VudCAmJiAhaW1wb3J0ZWRQcm9jZWR1cmVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgZnVuY3Rpb24gaXMgbm90IHByZXNlbnQuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgbGV0IHByb2NlZHVyZTtcblxuICAgIGlmICghaW1wb3J0ZWRQcm9jZWR1cmVQcmVzZW50KSB7XG4gICAgICBwcm9jZWR1cmUgPSBjb250ZXh0LmZpbmRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGltcG9ydGVkUHJvY2VkdXJlID0gY29udGV4dC5maW5kSW1wb3J0ZWRQcm9jZWR1cmVCeVByb2NlZHVyZU5hbWUocHJvY2VkdXJlTmFtZSk7XG5cbiAgICAgIHByb2NlZHVyZSA9IGltcG9ydGVkUHJvY2VkdXJlOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMudmFsdWVzLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZXMsIGJhY2spID0+IHtcbiAgICAgIHJldHVybiBmcmVlKChjb250ZXh0KSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9jZWR1cmUuZXZhbHVhdGUodmFsdWVzLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtwcm9jZWR1cmVDYWxsU3RyaW5nfScgZnVuY3Rpb24gY2FsbCBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICAgICAgICB9LCBiYWNrKTtcbiAgICAgIH0sIGNvbnRleHQpO1xuICAgIH0sIGJhY2spO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZUNhbGxcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIlByb2NlZHVyZUNhbGwiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwicmVmZXJlbmNlIiwidmFsdWVzIiwiZ2V0UmVmZXJlbmNlIiwiZ2V0VmFsdWVzIiwiZ2V0UHJvY2VkdXJlTmFtZSIsImV2YWx1YXRlIiwiZm9yd2FyZCIsImJhY2siLCJwcm9jZWR1cmVDYWxsU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJwcm9jZWR1cmVOYW1lIiwicHJvY2VkdXJlUHJlc2VudCIsImlzUHJvY2VkdXJlUHJlc2VudEJ5UHJvY2VkdXJlTmFtZSIsImltcG9ydGVkUHJvY2VkdXJlUHJlc2VudCIsImlzSW1wb3J0ZWRQcm9jZWR1cmVQcmVzZW50QnlQcm9jZWR1cmVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicHJvY2VkdXJlIiwiZmluZFByb2NlZHVyZUJ5UHJvY2VkdXJlTmFtZSIsImltcG9ydGVkUHJvY2VkdXJlIiwiZmluZEltcG9ydGVkUHJvY2VkdXJlQnlQcm9jZWR1cmVOYW1lIiwiZnJlZSIsInZhbHVlIiwidmFsdWVTdHJpbmciLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjtrRUFFRjt5QkFFRDswQkFDRTs7Ozs7O01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsc0JBQXNCQyx1QkFBTztJQUN2RCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxDQUFFO1FBQ2hFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtJQUNoQjtJQUVBQyxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUNGLFNBQVM7SUFDdkI7SUFFQUcsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDRixNQUFNO0lBQ3BCO0lBRUFHLG1CQUFtQjtRQUFFLE9BQU8sSUFBSSxDQUFDSixTQUFTLENBQUNJLGdCQUFnQjtJQUFJO0lBRS9EQyxTQUFTVCxPQUFPLEVBQUVVLE9BQU8sRUFBRUMsSUFBSSxFQUFFO1FBQy9CLE1BQU1DLHNCQUFzQixJQUFJLENBQUNDLFNBQVMsSUFBSyxHQUFHO1FBRWxEYixRQUFRYyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsb0JBQW9CLGtCQUFrQixDQUFDO1FBRXhFLE1BQU1HLGdCQUFnQixJQUFJLENBQUNQLGdCQUFnQixJQUNyQ1EsbUJBQW1CaEIsUUFBUWlCLGlDQUFpQyxDQUFDRixnQkFDN0RHLDJCQUEyQmxCLFFBQVFtQix5Q0FBeUMsQ0FBQ0o7UUFFbkYsSUFBSSxDQUFDQyxvQkFBb0IsQ0FBQ0UsMEJBQTBCO1lBQ2xELE1BQU1FLFVBQVUsQ0FBQyxLQUFLLEVBQUVSLG9CQUFvQiwyQkFBMkIsQ0FBQyxFQUNsRVMsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtZQUV4QyxPQUFPVCxLQUFLVTtRQUNkO1FBRUEsSUFBSUc7UUFFSixJQUFJLENBQUNOLDBCQUEwQjtZQUM3Qk0sWUFBWXhCLFFBQVF5Qiw0QkFBNEIsQ0FBQ1Y7UUFDbkQsT0FBTztZQUNMLE1BQU1XLG9CQUFvQjFCLFFBQVEyQixvQ0FBb0MsQ0FBQ1o7WUFFdkVTLFlBQVlFLG1CQUFvQixHQUFHO1FBQ3JDO1FBRUEsT0FBTyxJQUFJLENBQUNyQixNQUFNLENBQUNJLFFBQVEsQ0FBQ1QsU0FBUyxDQUFDSyxRQUFRTTtZQUM1QyxPQUFPaUIsSUFBQUEsYUFBSSxFQUFDLENBQUM1QjtnQkFDWCxPQUFPd0IsVUFBVWYsUUFBUSxDQUFDSixRQUFRTCxTQUFTLENBQUM2QixPQUFPbEI7b0JBQ2pELE1BQU1tQixjQUFjRCxNQUFNaEIsU0FBUztvQkFFbkNiLFFBQVErQixLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRW5CLG9CQUFvQixvQkFBb0IsRUFBRWtCLFlBQVksRUFBRSxDQUFDO29CQUU1RixPQUFPcEIsUUFBUW1CLE9BQU9sQjtnQkFDeEIsR0FBR0E7WUFDTCxHQUFHWDtRQUNMLEdBQUdXO0lBQ0w7SUFFQSxPQUFPcUIsT0FBTyxnQkFBZ0I7QUFDaEMifQ==
@@ -10,6 +10,9 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  const _occamlanguages = require("occam-languages");
12
12
  const _elements = require("../elements");
13
+ const _context = require("../utilities/context");
14
+ const _instantiate = require("../process/instantiate");
15
+ const _element = require("../utilities/element");
13
16
  const _default = (0, _elements.define)(class Reference extends _occamlanguages.Element {
14
17
  constructor(context, string, node, breakPoint, name){
15
18
  super(context, string, node, breakPoint);
@@ -22,7 +25,24 @@ const _default = (0, _elements.define)(class Reference extends _occamlanguages.E
22
25
  const procedureName = this.name; ///
23
26
  return procedureName;
24
27
  }
28
+ toJSON() {
29
+ let json;
30
+ const string = this.getString();
31
+ json = {
32
+ string
33
+ };
34
+ return json;
35
+ }
25
36
  static name = "Reference";
37
+ static fromJSON(json, context) {
38
+ let reference;
39
+ (0, _context.instantiate)((context)=>{
40
+ const { string } = json, referencelNode = (0, _instantiate.instantiateReference)(string, context), node = referencelNode, breakPoint = null, name = (0, _element.nameFromReferenceNode)(referencelNode, context);
41
+ context = null;
42
+ reference = new Reference(context, string, node, breakPoint, name);
43
+ }, context);
44
+ return reference;
45
+ }
26
46
  });
27
47
 
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3JlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBSZWZlcmVuY2UgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBuYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVOYW1lKCkge1xuICAgIGNvbnN0IHByb2NlZHVyZU5hbWUgPSB0aGlzLm5hbWU7ICAvLy9cblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlJlZmVyZW5jZVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiUmVmZXJlbmNlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJnZXROYW1lIiwiZ2V0UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O2dDQUp3QjswQkFFRDtNQUV2QixXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGtCQUFrQkMsdUJBQU87SUFDbkQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLENBQUU7UUFDbkQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7SUFDbEI7SUFFQUUsbUJBQW1CO1FBQ2pCLE1BQU1DLGdCQUFnQixJQUFJLENBQUNILElBQUksRUFBRyxHQUFHO1FBRXJDLE9BQU9HO0lBQ1Q7SUFFQSxPQUFPSCxPQUFPLFlBQVk7QUFDNUIifQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3JlZmVyZW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVSZWZlcmVuY2UgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuaW1wb3J0IHsgbmFtZUZyb21SZWZlcmVuY2VOb2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9lbGVtZW50XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBSZWZlcmVuY2UgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBuYW1lKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVOYW1lKCkge1xuICAgIGNvbnN0IHByb2NlZHVyZU5hbWUgPSB0aGlzLm5hbWU7ICAvLy9cblxuICAgIHJldHVybiBwcm9jZWR1cmVOYW1lO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGxldCBqc29uO1xuXG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGpzb24gPSB7XG4gICAgICBzdHJpbmdcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUmVmZXJlbmNlXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICBsZXQgcmVmZXJlbmNlO1xuXG4gICAgaW5zdGFudGlhdGUoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgICAgcmVmZXJlbmNlbE5vZGUgPSBpbnN0YW50aWF0ZVJlZmVyZW5jZShzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHJlZmVyZW5jZWxOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbVJlZmVyZW5jZU5vZGUocmVmZXJlbmNlbE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgcmVmZXJlbmNlID0gbmV3IFJlZmVyZW5jZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUpO1xuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiUmVmZXJlbmNlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJnZXROYW1lIiwiZ2V0UHJvY2VkdXJlTmFtZSIsInByb2NlZHVyZU5hbWUiLCJ0b0pTT04iLCJqc29uIiwiZ2V0U3RyaW5nIiwiZnJvbUpTT04iLCJyZWZlcmVuY2UiLCJpbnN0YW50aWF0ZSIsInJlZmVyZW5jZWxOb2RlIiwiaW5zdGFudGlhdGVSZWZlcmVuY2UiLCJuYW1lRnJvbVJlZmVyZW5jZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVNBOzs7ZUFBQTs7O2dDQVB3QjswQkFFRDt5QkFDSzs2QkFDUzt5QkFDQztNQUV0QyxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGtCQUFrQkMsdUJBQU87SUFDbkQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLENBQUU7UUFDbkQsS0FBSyxDQUFDSixTQUFTQyxRQUFRQyxNQUFNQztRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7SUFDZDtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNELElBQUk7SUFDbEI7SUFFQUUsbUJBQW1CO1FBQ2pCLE1BQU1DLGdCQUFnQixJQUFJLENBQUNILElBQUksRUFBRyxHQUFHO1FBRXJDLE9BQU9HO0lBQ1Q7SUFFQUMsU0FBUztRQUNQLElBQUlDO1FBRUosTUFBTVIsU0FBUyxJQUFJLENBQUNTLFNBQVM7UUFFN0JELE9BQU87WUFDTFI7UUFDRjtRQUVBLE9BQU9RO0lBQ1Q7SUFFQSxPQUFPTCxPQUFPLFlBQVk7SUFFMUIsT0FBT08sU0FBU0YsSUFBSSxFQUFFVCxPQUFPLEVBQUU7UUFDN0IsSUFBSVk7UUFFSkMsSUFBQUEsb0JBQVcsRUFBQyxDQUFDYjtZQUNYLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdRLE1BQ2JLLGlCQUFpQkMsSUFBQUEsaUNBQW9CLEVBQUNkLFFBQVFELFVBQzlDRSxPQUFPWSxnQkFDUFgsYUFBYSxNQUNiQyxPQUFPWSxJQUFBQSw4QkFBcUIsRUFBQ0YsZ0JBQWdCZDtZQUVuREEsVUFBVTtZQUVWWSxZQUFZLElBQUlkLFVBQVVFLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDO1FBQy9ELEdBQUdKO1FBRUgsT0FBT1k7SUFDVDtBQUNGIn0=
@@ -80,19 +80,22 @@ const _default = (0, _elements.define)(class Type extends _occamlanguages.Elemen
80
80
  return equalTo;
81
81
  }
82
82
  toJSON() {
83
- const string = this.getString(), json = {
83
+ let json;
84
+ const string = this.getString();
85
+ json = {
84
86
  string
85
87
  };
86
88
  return json;
87
89
  }
88
90
  static name = "Type";
89
91
  static fromJSON(json, context) {
90
- return (0, _context.instantiate)((context)=>{
92
+ let type;
93
+ (0, _context.instantiate)((context)=>{
91
94
  const { string } = json, typeNode = (0, _instantiate.instantiateType)(string, context), node = typeNode, breakPoint = null, name = (0, _element.nameFromTypeNode)(typeNode, context), argumentType = (0, _element.argumentTypeFromTypeNode)(typeNode, context);
92
95
  context = null;
93
- const type = new Type(context, string, node, breakPoint, name, argumentType);
94
- return type;
96
+ type = new Type(context, string, node, breakPoint, name, argumentType);
95
97
  }, context);
98
+ return type;
96
99
  }
97
100
  static fromTypeName(typeName, context) {
98
101
  let type = null;
@@ -111,4 +114,4 @@ const _default = (0, _elements.define)(class Type extends _occamlanguages.Elemen
111
114
  }
112
115
  });
113
116
 
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVUeXBlIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5hbWVGcm9tVHlwZU5vZGUsIGFyZ3VtZW50VHlwZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBJTlRFR0VSX1RZUEVfTkFNRSwgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBUeXBlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5hcmd1bWVudFR5cGUgPSBhcmd1bWVudFR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRBcmd1bWVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJndW1lbnRUeXBlO1xuICB9XG5cbiAgaXNMaXN0VHlwZSgpIHtcbiAgICBjb25zdCBsaXN0VHlwZSA9ICh0aGlzLm5hbWUgPT09IExJU1RfVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBsaXN0VHlwZTtcbiAgfVxuXG4gIGlzU3RyaW5nVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IFNUUklOR19UWVBFX05BTUUpO1xuXG4gICAgcmV0dXJuIGJvb2xlYW5UeXBlO1xuICB9XG5cbiAgaXNCb29sZWFuVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IEJPT0xFQU5fVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBib29sZWFuVHlwZTtcbiAgfVxuXG4gIGlzSW50ZWdlclR5cGUoKSB7XG4gICAgY29uc3QgaW50ZWdlclR5cGUgPSAodGhpcy5uYW1lID09PSBJTlRFR0VSX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gaW50ZWdlclR5cGU7XG4gIH1cblxuICBpc05vbWluYWxWYWx1ZVR5cGUoKSB7XG4gICAgY29uc3QgbGlzdFR5cGUgPSAodGhpcy5uYW1lID09PSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gbGlzdFR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgaWYgKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5uYW1lKSB7XG4gICAgICAgIGNhc2UgTElTVF9UWVBFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCB0eXBlQXJndW1lbnRUeXBlID0gdHlwZS5nZXRBcmd1bWVudFR5cGUoKTtcblxuICAgICAgICAgIGlmICgodGhpcy5hcmd1bWVudFR5cGUgPT09IG51bGwpIHx8ICh0eXBlQXJndW1lbnRUeXBlID09PSBudWxsKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXJndW1lbnRUeXBlID09PSB0eXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSA9IHRoaXMuYXJndW1lbnRUeXBlLmlzRXF1YWxUbyh0eXBlQXJndW1lbnRUeXBlKTtcblxuICAgICAgICAgICAgaWYgKGFyZ3VlbW50VHlwZUVxdWFsVG9UeXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBTVFJJTkdfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIEJPT0xFQU5fVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIElOVEVHRVJfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FOiB7XG4gICAgICAgICAgZXF1YWxUbyA9IHRydWU7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0cmluZ1xuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJUeXBlXCI7XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGNvbnRleHQpIHtcbiAgICByZXR1cm4gaW5zdGFudGlhdGUoKGNvbnRleHQpID0+IHtcbiAgICAgIGNvbnN0IHsgc3RyaW5nIH0gPSBqc29uLFxuICAgICAgICAgICAgdHlwZU5vZGUgPSBpbnN0YW50aWF0ZVR5cGUoc3RyaW5nLCBjb250ZXh0KSxcbiAgICAgICAgICAgIG5vZGUgPSB0eXBlTm9kZSwgIC8vL1xuICAgICAgICAgICAgYnJlYWtQb2ludCA9IG51bGwsXG4gICAgICAgICAgICBuYW1lID0gbmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgICBhcmd1bWVudFR5cGUgPSBhcmd1bWVudFR5cGVGcm9tVHlwZU5vZGUodHlwZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgY29uc3QgdHlwZSA9IG5ldyBUeXBlKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKTtcblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfSwgY29udGV4dCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lKHR5cGVOYW1lLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGUgPSBudWxsO1xuXG4gICAgaWYgKHR5cGVOYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlID0gbnVsbCwgIC8vL1xuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBhcmd1bWVudFR5cGUgPSBudWxsLFxuICAgICAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSB0eXBlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIGFyZ3VtZW50VHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSh0eXBlTmFtZSwgYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGUgPSBudWxsLCAgLy8vXG4gICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgYXJndW1lbnRUeXBlID0gVHlwZS5mcm9tVHlwZU5hbWUoYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCksXG4gICAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lKHR5cGVOYW1lLCBhcmd1bWVudFR5cGVOYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB0eXBlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHR5cGUgPSBuZXcgVHlwZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIGFyZ3VtZW50VHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUeXBlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJhcmd1bWVudFR5cGUiLCJnZXROYW1lIiwiZ2V0QXJndW1lbnRUeXBlIiwiaXNMaXN0VHlwZSIsImxpc3RUeXBlIiwiTElTVF9UWVBFX05BTUUiLCJpc1N0cmluZ1R5cGUiLCJib29sZWFuVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJpc0ludGVnZXJUeXBlIiwiaW50ZWdlclR5cGUiLCJJTlRFR0VSX1RZUEVfTkFNRSIsImlzTm9taW5hbFZhbHVlVHlwZSIsIk5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIiwiaXNFcXVhbFRvIiwidHlwZSIsImVxdWFsVG8iLCJ0eXBlTmFtZSIsInR5cGVBcmd1bWVudFR5cGUiLCJhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSIsInRvSlNPTiIsImdldFN0cmluZyIsImpzb24iLCJmcm9tSlNPTiIsImluc3RhbnRpYXRlIiwidHlwZU5vZGUiLCJpbnN0YW50aWF0ZVR5cGUiLCJuYW1lRnJvbVR5cGVOb2RlIiwiYXJndW1lbnRUeXBlRnJvbVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lIiwidHlwZVN0cmluZyIsImZyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiLCJhcmd1bWVudFR5cGVOYW1lIiwidHlwZVN0cmluZ0Zyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBQTs7O2dDQVZ3QjswQkFFRDt5QkFFSzs2QkFDSTt3QkFDMEI7eUJBQ0M7MkJBQ3FEO01BRWhILFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsYUFBYUMsdUJBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksQ0FBRTtRQUNqRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtJQUN0QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDRixZQUFZO0lBQzFCO0lBRUFHLGFBQWE7UUFDWCxNQUFNQyxXQUFZLElBQUksQ0FBQ0wsSUFBSSxLQUFLTSx5QkFBYztRQUU5QyxPQUFPRDtJQUNUO0lBRUFFLGVBQWU7UUFDYixNQUFNQyxjQUFlLElBQUksQ0FBQ1IsSUFBSSxLQUFLUywyQkFBZ0I7UUFFbkQsT0FBT0Q7SUFDVDtJQUVBRSxnQkFBZ0I7UUFDZCxNQUFNRixjQUFlLElBQUksQ0FBQ1IsSUFBSSxLQUFLVyw0QkFB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
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5pbXBvcnQgeyBpbnN0YW50aWF0ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvY29udGV4dFwiO1xuaW1wb3J0IHsgaW5zdGFudGlhdGVUeXBlIH0gZnJvbSBcIi4uL3Byb2Nlc3MvaW5zdGFudGlhdGVcIjtcbmltcG9ydCB7IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG5hbWVGcm9tVHlwZU5vZGUsIGFyZ3VtZW50VHlwZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBJTlRFR0VSX1RZUEVfTkFNRSwgTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBUeXBlIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgbmFtZSwgYXJndW1lbnRUeXBlKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5hcmd1bWVudFR5cGUgPSBhcmd1bWVudFR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRBcmd1bWVudFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJndW1lbnRUeXBlO1xuICB9XG5cbiAgaXNMaXN0VHlwZSgpIHtcbiAgICBjb25zdCBsaXN0VHlwZSA9ICh0aGlzLm5hbWUgPT09IExJU1RfVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBsaXN0VHlwZTtcbiAgfVxuXG4gIGlzU3RyaW5nVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IFNUUklOR19UWVBFX05BTUUpO1xuXG4gICAgcmV0dXJuIGJvb2xlYW5UeXBlO1xuICB9XG5cbiAgaXNCb29sZWFuVHlwZSgpIHtcbiAgICBjb25zdCBib29sZWFuVHlwZSA9ICh0aGlzLm5hbWUgPT09IEJPT0xFQU5fVFlQRV9OQU1FKTtcblxuICAgIHJldHVybiBib29sZWFuVHlwZTtcbiAgfVxuXG4gIGlzSW50ZWdlclR5cGUoKSB7XG4gICAgY29uc3QgaW50ZWdlclR5cGUgPSAodGhpcy5uYW1lID09PSBJTlRFR0VSX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gaW50ZWdlclR5cGU7XG4gIH1cblxuICBpc05vbWluYWxWYWx1ZVR5cGUoKSB7XG4gICAgY29uc3QgbGlzdFR5cGUgPSAodGhpcy5uYW1lID09PSBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSk7XG5cbiAgICByZXR1cm4gbGlzdFR5cGU7XG4gIH1cblxuICBpc0VxdWFsVG8odHlwZSkge1xuICAgIGxldCBlcXVhbFRvID0gZmFsc2U7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgaWYgKHRoaXMubmFtZSA9PT0gdHlwZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5uYW1lKSB7XG4gICAgICAgIGNhc2UgTElTVF9UWVBFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCB0eXBlQXJndW1lbnRUeXBlID0gdHlwZS5nZXRBcmd1bWVudFR5cGUoKTtcblxuICAgICAgICAgIGlmICgodGhpcy5hcmd1bWVudFR5cGUgPT09IG51bGwpIHx8ICh0eXBlQXJndW1lbnRUeXBlID09PSBudWxsKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXJndW1lbnRUeXBlID09PSB0eXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSA9IHRoaXMuYXJndW1lbnRUeXBlLmlzRXF1YWxUbyh0eXBlQXJndW1lbnRUeXBlKTtcblxuICAgICAgICAgICAgaWYgKGFyZ3VlbW50VHlwZUVxdWFsVG9UeXBlQXJndW1lbnRUeXBlKSB7XG4gICAgICAgICAgICAgIGVxdWFsVG8gPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBTVFJJTkdfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIEJPT0xFQU5fVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIElOVEVHRVJfVFlQRV9OQU1FOlxuICAgICAgICBjYXNlIE5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FOiB7XG4gICAgICAgICAgZXF1YWxUbyA9IHRydWU7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGxldCBqc29uO1xuXG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGpzb24gPSB7XG4gICAgICBzdHJpbmdcbiAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVHlwZVwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBpbnN0YW50aWF0ZSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICB0eXBlTm9kZSA9IGluc3RhbnRpYXRlVHlwZShzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IHR5cGVOb2RlLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbCxcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGFyZ3VtZW50VHlwZSA9IGFyZ3VtZW50VHlwZUZyb21UeXBlTm9kZSh0eXBlTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgICB0eXBlID0gbmV3IFR5cGUoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBuYW1lLCBhcmd1bWVudFR5cGUpO1xuICAgIH0sIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lKHR5cGVOYW1lLCBjb250ZXh0KSB7XG4gICAgbGV0IHR5cGUgPSBudWxsO1xuXG4gICAgaWYgKHR5cGVOYW1lICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlID0gbnVsbCwgIC8vL1xuICAgICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBhcmd1bWVudFR5cGUgPSBudWxsLFxuICAgICAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgICBzdHJpbmcgPSB0eXBlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICAgIHR5cGUgPSBuZXcgVHlwZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIGFyZ3VtZW50VHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVOYW1lQW5kQXJndW1lbnRUeXBlTmFtZSh0eXBlTmFtZSwgYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGUgPSBudWxsLCAgLy8vXG4gICAgICAgICAgbmFtZSA9IHR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgYXJndW1lbnRUeXBlID0gVHlwZS5mcm9tVHlwZU5hbWUoYXJndW1lbnRUeXBlTmFtZSwgY29udGV4dCksXG4gICAgICAgICAgdHlwZVN0cmluZyA9IHR5cGVTdHJpbmdGcm9tVHlwZU5hbWVBbmRBcmd1bWVudFR5cGVOYW1lKHR5cGVOYW1lLCBhcmd1bWVudFR5cGVOYW1lKSxcbiAgICAgICAgICBzdHJpbmcgPSB0eXBlU3RyaW5nLCAgLy8vXG4gICAgICAgICAgYnJlYWtQb2ludCA9IG51bGw7XG5cbiAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgIGNvbnN0IHR5cGUgPSBuZXcgVHlwZShjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIG5hbWUsIGFyZ3VtZW50VHlwZSk7XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG59KTtcbiJdLCJuYW1lcyI6WyJkZWZpbmUiLCJUeXBlIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsIm5hbWUiLCJhcmd1bWVudFR5cGUiLCJnZXROYW1lIiwiZ2V0QXJndW1lbnRUeXBlIiwiaXNMaXN0VHlwZSIsImxpc3RUeXBlIiwiTElTVF9UWVBFX05BTUUiLCJpc1N0cmluZ1R5cGUiLCJib29sZWFuVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJpc0ludGVnZXJUeXBlIiwiaW50ZWdlclR5cGUiLCJJTlRFR0VSX1RZUEVfTkFNRSIsImlzTm9taW5hbFZhbHVlVHlwZSIsIk5PTUlOQUxfVkFMVUVfVFlQRV9OQU1FIiwiaXNFcXVhbFRvIiwidHlwZSIsImVxdWFsVG8iLCJ0eXBlTmFtZSIsInR5cGVBcmd1bWVudFR5cGUiLCJhcmd1ZW1udFR5cGVFcXVhbFRvVHlwZUFyZ3VtZW50VHlwZSIsInRvSlNPTiIsImpzb24iLCJnZXRTdHJpbmciLCJmcm9tSlNPTiIsImluc3RhbnRpYXRlIiwidHlwZU5vZGUiLCJpbnN0YW50aWF0ZVR5cGUiLCJuYW1lRnJvbVR5cGVOb2RlIiwiYXJndW1lbnRUeXBlRnJvbVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lIiwidHlwZVN0cmluZyIsImZyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiLCJhcmd1bWVudFR5cGVOYW1lIiwidHlwZVN0cmluZ0Zyb21UeXBlTmFtZUFuZEFyZ3VtZW50VHlwZU5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVlBOzs7ZUFBQTs7O2dDQVZ3QjswQkFFRDt5QkFFSzs2QkFDSTt3QkFDMEI7eUJBQ0M7MkJBQ3FEO01BRWhILFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsYUFBYUMsdUJBQU87SUFDOUMsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLFlBQVksQ0FBRTtRQUNqRSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsWUFBWSxHQUFHQTtJQUN0QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNGLElBQUk7SUFDbEI7SUFFQUcsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDRixZQUFZO0lBQzFCO0lBRUFHLGFBQWE7UUFDWCxNQUFNQyxXQUFZLElBQUksQ0FBQ0wsSUFBSSxLQUFLTSx5QkFBYztRQUU5QyxPQUFPRDtJQUNUO0lBRUFFLGVBQWU7UUFDYixNQUFNQyxjQUFlLElBQUksQ0FBQ1IsSUFBSSxLQUFLUywyQkFBZ0I7UUFFbkQsT0FBT0Q7SUFDVDtJQUVBRSxnQkFBZ0I7UUFDZCxNQUFNRixjQUFlLElBQUksQ0FBQ1IsSUFBSSxLQUFLVyw0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
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  const _occamlanguages = require("occam-languages");
12
12
  const _elements = require("../elements");
13
13
  const _string = require("../utilities/string");
14
- const { map, forEach } = _occamlanguages.continuationUtilities;
14
+ const { map } = _occamlanguages.continuationUtilities;
15
15
  const _default = (0, _elements.define)(class Values extends _occamlanguages.Element {
16
16
  constructor(context, string, node, breakPoint, array){
17
17
  super(context, string, node, breakPoint);
@@ -58,4 +58,4 @@ const _default = (0, _elements.define)(class Values extends _occamlanguages.Elem
58
58
  }
59
59
  });
60
60
 
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhbHVlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgbWFwLCBmb3JFYWNoIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBWYWx1ZXMgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheTtcbiAgfVxuXG4gIGdldExlbmd0aCgpIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmFycmF5Lmxlbmd0aDtcblxuICAgIHJldHVybiBsZW5ndGg7XG4gIH1cblxuICBnZXRWYWx1ZShpbmRleCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDsgIC8vL1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYWRkVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLmFycmF5LnB1c2godmFsdWUpO1xuICB9XG5cbiAgbWFwVmFsdWUoY2FsbGJhY2ssIGZvcndhcmQsIGJhY2spIHtcbiAgICByZXR1cm4gbWFwKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBmb3J3YXJkLCBiYWNrKTtcbiAgfVxuXG4gIGZvckVhY2hWYWx1ZShjYWxsYmFjaykge1xuICAgIHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwVmFsdWUoKHZhbHVlLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSwgKHZhbHVlc0FycmF5LCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkodmFsdWVzQXJyYXksIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICAgIGFycmF5ID0gdmFsdWVzQXJyYXksIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICAgIGNvbnN0IHZhbHVlcyA9IG5ldyBWYWx1ZXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlcywgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFsdWVzXCI7XG5cbiAgc3RhdGljIGZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gW1xuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZhbHVlc1N0cmluZyA9IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHZhbHVlc0FycmF5LCAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVzID0gbmV3IFZhbHVlcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbIm1hcCIsImZvckVhY2giLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJkZWZpbmUiLCJWYWx1ZXMiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwiYXJyYXkiLCJnZXRBcnJheSIsImdldExlbmd0aCIsImxlbmd0aCIsImdldFZhbHVlIiwiaW5kZXgiLCJ2YWx1ZSIsImFkZFZhbHVlIiwicHVzaCIsIm1hcFZhbHVlIiwiY2FsbGJhY2siLCJmb3J3YXJkIiwiYmFjayIsImZvckVhY2hWYWx1ZSIsImV2YWx1YXRlIiwidmFsdWVzQXJyYXkiLCJ2YWx1ZXNTdHJpbmciLCJ2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkiLCJ2YWx1ZXMiLCJuYW1lIiwiZnJvbVZhbHVlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQK0M7MEJBRXhCO3dCQUNxQjtBQUU1QyxNQUFNLEVBQUVBLEdBQUcsRUFBRUMsT0FBTyxFQUFFLEdBQUdDLHFDQUFxQjtNQUU5QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLGVBQWVDLHVCQUFPO0lBQ2hELFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFFO1FBQ3BELEtBQUssQ0FBQ0osU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxLQUFLLEdBQUdBO0lBQ2Y7SUFFQUMsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDRCxLQUFLO0lBQ25CO0lBRUFFLFlBQVk7UUFDVixNQUFNQyxTQUFTLElBQUksQ0FBQ0gsS0FBSyxDQUFDRyxNQUFNO1FBRWhDLE9BQU9BO0lBQ1Q7SUFFQUMsU0FBU0MsS0FBSyxFQUFFO1FBQ2QsTUFBTUMsUUFBUSxJQUFJLENBQUNOLEtBQUssQ0FBQ0ssTUFBTSxJQUFJLE1BQU8sR0FBRztRQUU3QyxPQUFPQztJQUNUO0lBRUFDLFNBQVNELEtBQUssRUFBRTtRQUNkLElBQUksQ0FBQ04sS0FBSyxDQUFDUSxJQUFJLENBQUNGO0lBQ2xCO0lBRUFHLFNBQVNDLFFBQVEsRUFBRUMsT0FBTyxFQUFFQyxJQUFJLEVBQUU7UUFDaEMsT0FBT3RCLElBQUksSUFBSSxDQUFDVSxLQUFLLEVBQUVVLFVBQVVDLFNBQVNDO0lBQzVDO0lBRUFDLGFBQWFILFFBQVEsRUFBRTtRQUNyQixJQUFJLENBQUNWLEtBQUssQ0FBQ1QsT0FBTyxDQUFDbUI7SUFDckI7SUFFQUksU0FBU2xCLE9BQU8sRUFBRWUsT0FBTyxFQUFFQyxJQUFJLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUNILFFBQVEsQ0FBQyxDQUFDSCxPQUFPSyxTQUFTQztZQUNwQyxPQUFPTixNQUFNUSxRQUFRLENBQUNsQixTQUFTZSxTQUFTQztRQUMxQyxHQUFHLENBQUNHLGFBQWFIO1lBQ2YsTUFBTUksZUFBZUMsSUFBQUEsbUNBQTJCLEVBQUNGLGFBQWFuQixVQUN4REMsU0FBU21CLGNBQ1RoQixRQUFRZSxhQUNSakIsT0FBTyxNQUNQQyxhQUFhO1lBRW5CSCxVQUFVO1lBRVYsTUFBTXNCLFNBQVMsSUFBSXhCLE9BQU9FLFNBQVNDLFFBQVFDLE1BQU1DLFlBQVlDO1lBRTdELE9BQU9XLFFBQVFPLFFBQVFOO1FBQ3pCLEdBQUdBO0lBQ0w7SUFFQSxPQUFPTyxPQUFPLFNBQVM7SUFFdkIsT0FBT0MsVUFBVWQsS0FBSyxFQUFFVixPQUFPLEVBQUU7UUFDL0IsTUFBTW1CLGNBQWM7WUFDWlQ7U0FDRCxFQUNEVSxlQUFlQyxJQUFBQSxtQ0FBMkIsRUFBQ0YsYUFBYW5CLFVBQ3hEQyxTQUFTbUIsY0FDVGhCLFFBQVFlLGFBQ1JqQixPQUFPLE1BQ1BDLGFBQWE7UUFFbkJILFVBQVU7UUFFVixNQUFNc0IsU0FBUyxJQUFJeEIsT0FBT0UsU0FBU0MsUUFBUUMsTUFBTUMsWUFBWUM7UUFFN0QsT0FBT2tCO0lBQ1Q7QUFDRiJ9
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3ZhbHVlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSB9IGZyb20gXCIuLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmNvbnN0IHsgbWFwIH0gPSBjb250aW51YXRpb25VdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBWYWx1ZXMgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLmFycmF5ID0gYXJyYXk7XG4gIH1cblxuICBnZXRBcnJheSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcnJheTtcbiAgfVxuXG4gIGdldExlbmd0aCgpIHtcbiAgICBjb25zdCBsZW5ndGggPSB0aGlzLmFycmF5Lmxlbmd0aDtcblxuICAgIHJldHVybiBsZW5ndGg7XG4gIH1cblxuICBnZXRWYWx1ZShpbmRleCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5hcnJheVtpbmRleF0gfHwgbnVsbDsgIC8vL1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYWRkVmFsdWUodmFsdWUpIHtcbiAgICB0aGlzLmFycmF5LnB1c2godmFsdWUpO1xuICB9XG5cbiAgbWFwVmFsdWUoY2FsbGJhY2ssIGZvcndhcmQsIGJhY2spIHtcbiAgICByZXR1cm4gbWFwKHRoaXMuYXJyYXksIGNhbGxiYWNrLCBmb3J3YXJkLCBiYWNrKTtcbiAgfVxuXG4gIGZvckVhY2hWYWx1ZShjYWxsYmFjaykge1xuICAgIHRoaXMuYXJyYXkuZm9yRWFjaChjYWxsYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwVmFsdWUoKHZhbHVlLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSwgKHZhbHVlc0FycmF5LCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXNTdHJpbmcgPSB2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkodmFsdWVzQXJyYXksIGNvbnRleHQpLFxuICAgICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICAgIGFycmF5ID0gdmFsdWVzQXJyYXksIC8vL1xuICAgICAgICAgICAgbm9kZSA9IG51bGwsXG4gICAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgICAgY29udGV4dCA9IG51bGw7XG5cbiAgICAgIGNvbnN0IHZhbHVlcyA9IG5ldyBWYWx1ZXMoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCBhcnJheSk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlcywgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFsdWVzXCI7XG5cbiAgc3RhdGljIGZyb21WYWx1ZSh2YWx1ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHZhbHVlc0FycmF5ID0gW1xuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIHZhbHVlc1N0cmluZyA9IHZhbHVlc1N0cmluZ0Zyb21WYWx1ZXNBcnJheSh2YWx1ZXNBcnJheSwgY29udGV4dCksXG4gICAgICAgICAgc3RyaW5nID0gdmFsdWVzU3RyaW5nLCAvLy9cbiAgICAgICAgICBhcnJheSA9IHZhbHVlc0FycmF5LCAvLy9cbiAgICAgICAgICBub2RlID0gbnVsbCxcbiAgICAgICAgICBicmVha1BvaW50ID0gbnVsbDtcblxuICAgIGNvbnRleHQgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVzID0gbmV3IFZhbHVlcyhjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIGFycmF5KTtcblxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cbn0pO1xuIl0sIm5hbWVzIjpbIm1hcCIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsImRlZmluZSIsIlZhbHVlcyIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJhcnJheSIsImdldEFycmF5IiwiZ2V0TGVuZ3RoIiwibGVuZ3RoIiwiZ2V0VmFsdWUiLCJpbmRleCIsInZhbHVlIiwiYWRkVmFsdWUiLCJwdXNoIiwibWFwVmFsdWUiLCJjYWxsYmFjayIsImZvcndhcmQiLCJiYWNrIiwiZm9yRWFjaFZhbHVlIiwiZm9yRWFjaCIsImV2YWx1YXRlIiwidmFsdWVzQXJyYXkiLCJ2YWx1ZXNTdHJpbmciLCJ2YWx1ZXNTdHJpbmdGcm9tVmFsdWVzQXJyYXkiLCJ2YWx1ZXMiLCJuYW1lIiwiZnJvbVZhbHVlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnQ0FQK0M7MEJBRXhCO3dCQUNxQjtBQUU1QyxNQUFNLEVBQUVBLEdBQUcsRUFBRSxHQUFHQyxxQ0FBcUI7TUFFckMsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxlQUFlQyx1QkFBTztJQUNoRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLEtBQUssQ0FBRTtRQUNwRCxLQUFLLENBQUNKLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtJQUNmO0lBRUFDLFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQ0QsS0FBSztJQUNuQjtJQUVBRSxZQUFZO1FBQ1YsTUFBTUMsU0FBUyxJQUFJLENBQUNILEtBQUssQ0FBQ0csTUFBTTtRQUVoQyxPQUFPQTtJQUNUO0lBRUFDLFNBQVNDLEtBQUssRUFBRTtRQUNkLE1BQU1DLFFBQVEsSUFBSSxDQUFDTixLQUFLLENBQUNLLE1BQU0sSUFBSSxNQUFPLEdBQUc7UUFFN0MsT0FBT0M7SUFDVDtJQUVBQyxTQUFTRCxLQUFLLEVBQUU7UUFDZCxJQUFJLENBQUNOLEtBQUssQ0FBQ1EsSUFBSSxDQUFDRjtJQUNsQjtJQUVBRyxTQUFTQyxRQUFRLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFO1FBQ2hDLE9BQU9yQixJQUFJLElBQUksQ0FBQ1MsS0FBSyxFQUFFVSxVQUFVQyxTQUFTQztJQUM1QztJQUVBQyxhQUFhSCxRQUFRLEVBQUU7UUFDckIsSUFBSSxDQUFDVixLQUFLLENBQUNjLE9BQU8sQ0FBQ0o7SUFDckI7SUFFQUssU0FBU25CLE9BQU8sRUFBRWUsT0FBTyxFQUFFQyxJQUFJLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUNILFFBQVEsQ0FBQyxDQUFDSCxPQUFPSyxTQUFTQztZQUNwQyxPQUFPTixNQUFNUyxRQUFRLENBQUNuQixTQUFTZSxTQUFTQztRQUMxQyxHQUFHLENBQUNJLGFBQWFKO1lBQ2YsTUFBTUssZUFBZUMsSUFBQUEsbUNBQTJCLEVBQUNGLGFBQWFwQixVQUN4REMsU0FBU29CLGNBQ1RqQixRQUFRZ0IsYUFDUmxCLE9BQU8sTUFDUEMsYUFBYTtZQUVuQkgsVUFBVTtZQUVWLE1BQU11QixTQUFTLElBQUl6QixPQUFPRSxTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQztZQUU3RCxPQUFPVyxRQUFRUSxRQUFRUDtRQUN6QixHQUFHQTtJQUNMO0lBRUEsT0FBT1EsT0FBTyxTQUFTO0lBRXZCLE9BQU9DLFVBQVVmLEtBQUssRUFBRVYsT0FBTyxFQUFFO1FBQy9CLE1BQU1vQixjQUFjO1lBQ1pWO1NBQ0QsRUFDRFcsZUFBZUMsSUFBQUEsbUNBQTJCLEVBQUNGLGFBQWFwQixVQUN4REMsU0FBU29CLGNBQ1RqQixRQUFRZ0IsYUFDUmxCLE9BQU8sTUFDUEMsYUFBYTtRQUVuQkgsVUFBVTtRQUVWLE1BQU11QixTQUFTLElBQUl6QixPQUFPRSxTQUFTQyxRQUFRQyxNQUFNQyxZQUFZQztRQUU3RCxPQUFPbUI7SUFDVDtBQUNGIn0=
@@ -36,7 +36,7 @@ const bnf = `
36
36
 
37
37
  objectAssignment ::= "{" namedBindings "}" "=" variable ";" ;
38
38
 
39
- listAssignment ::= "[" bindings "]" "=" variable ";" ;
39
+ listAssignment ::= "[" bindings "]" "=" variable ";" ;
40
40
 
41
41
 
42
42
 
@@ -215,4 +215,4 @@ const bnf = `
215
215
  `;
216
216
  const _default = bnf;
217
217
 
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Z1cnRsZS9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgIDo6PSAgKCBpbXBvcnRTdGF0ZW1lbnQgfCBwcm9jZWR1cmUgfCBlcnJvciApKyA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgcHJvY2VkdXJlICAgICAgICAgICAgICAgOjo9ICBcImV4cG9ydFwiPyB0eXBlIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuICAgIFxuICAgIGltcG9ydFN0YXRlbWVudCAgICAgICAgIDo6PSAgXCJpbXBvcnRcIiBpbXBvcnRCaW5kaW5ncyBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIFwiO1wiIDtcbiAgICBcbiAgICBhbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIHR5cGUgXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuICAgIFxuICAgIHN0YXRlbWVudCAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGVBc3NpZ25tZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbGlzdEFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgXG4gICAgICBcbiAgICAgIFxuICAgIFxuICAgIHZhcmlhYmxlQXNzaWdubWVudHMgICAgIDo6PSAgdHlwZSB2YXJpYWJsZUFzc2lnbm1lbnQgKCBcIixcIiB2YXJpYWJsZUFzc2lnbm1lbnQgKSogXCI7XCIgO1xuICAgIFxuICAgIHZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgZXhwcmVzc2lvbiA7XG4gICAgXG4gICAgb2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZEJpbmRpbmdzIFwifVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICBcbiAgICBsaXN0QXNzaWdubWVudCAgICAgICAgICA6Oj0gIFwiW1wiIGJpbmRpbmdzIFwiXVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICBcblxuXG4gICAgaW1wb3J0QmluZGluZ3MgICAgICAgICAgOjo9ICBpbXBvcnRCaW5kaW5nICggXCIsXCIgaW1wb3J0QmluZGluZyApKiA7XG4gICAgXG4gICAgbmFtZWRCaW5kaW5ncyAgICAgICAgICAgOjo9ICBuYW1lZEJpbmRpbmcgKCBcIixcIiBuYW1lZEJpbmRpbmcgKSogO1xuICAgIFxuICAgIHBhcmFtZXRlcnMgICAgICAgICAgICAgIDo6PSAgcGFyYW1ldGVyICggXCIsXCIgcGFyYW1ldGVyICkqIDtcbiAgICBcbiAgICBiaW5kaW5ncyAgICAgICAgICAgICAgICA6Oj0gIGJpbmRpbmcgKCBcIixcIiBiaW5kaW5nICkqIDtcbiAgICBcbiAgICB2YWx1ZXMgICAgICAgICAgICAgICAgICA6Oj0gIHZhbHVlICggXCIsXCIgdmFsdWUgKSogO1xuICAgIFxuICAgIHRlcm1zICAgICAgICAgICAgICAgICAgIDo6PSAgdGVybSAoIFwiLFwiIHRlcm0gKSogO1xuICAgIFxuXG5cbiAgICBpbXBvcnRCaW5kaW5nICAgICAgICAgICA6Oj0gIHJlZmVyZW5jZSAoIFwiYXNcIiBsYWJlbCApPyA7ICAgXG4gICAgXG4gICAgbmFtZWRCaW5kaW5nICAgICAgICAgICAgOjo9ICB0eXBlIFtuYW1lXSAoIFwiYXNcIiBbbmFtZV0gKT8gOyAgIFxuICAgIFxuICAgIHBhcmFtZXRlciAgICAgICAgICAgICAgIDo6PSAgdHlwZSBbbmFtZV0gO1xuXG4gICAgYmluZGluZyAgICAgICAgICAgICAgICAgOjo9ICB0eXBlIFtuYW1lXVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgzrUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIFxuICAgIHByb2NlZHVyZUNhbGwgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFsdWVzPyBcIilcIiA7XG4gICAgXG4gICAgcmV0dXJuQmxvY2suLiAgICAgICAgICAgOjo9ICBcIntcIiAoIHN0YXRlbWVudCB8IG5vbnNlbnNlICkqIHJldHVyblN0YXRlbWVudCBcIn1cIiA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgdGVybmFyeSAgICAgICAgICAgICAgICAgOjo9ICBcImlmXCIgXCIoXCIgdGVybSBcIilcIiBleHByZXNzaW9uIFwiZWxzZVwiIGV4cHJlc3Npb24gO1xuICAgIFxuICAgIHJlZHVjZSAgICAgICAgICAgICAgICAgIDo6PSAgXCJyZWR1Y2VcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIixcIiB2YWx1ZSBcIilcIiA7XG4gICAgXG4gICAgZXZlcnkgICAgICAgICAgICAgICAgICAgOjo9ICBcImV2ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgO1xuICAgIFxuICAgIHNvbWUgICAgICAgICAgICAgICAgICAgIDo6PSAgXCJzb21lXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBhbm9ueW1vdXNQcm9jZWR1cmUgXCIpXCIgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIG5vZGVzUXVlcnkgICAgICAgICAgICAgIDo6PSAgXCJub2Rlc1F1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBub2RlUXVlcnkgICAgICAgICAgICAgICA6Oj0gIFwibm9kZVF1ZXJ5XCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBsZW5ndGhPZiAgICAgICAgICAgICAgICA6Oj0gIFwibGVuZ3RoT2ZcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiKVwiIDtcbiAgICBcbiAgICB0b0ludGVnZXIgICAgICAgICAgICAgICA6Oj0gIFwidG9JbnRlZ2VyXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIilcIiA7XG4gICAgXG4gICAgdHJ5SW50ZWdlciAgICAgICAgICAgICAgOjo9ICBcInRyeUludGVnZXJcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiKVwiIDtcbiAgICBcbiAgICBzdGFydHNXaXRoICAgICAgICAgICAgICA6Oj0gIFwic3RhcnRzV2l0aFwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG4gICAgXG4gICAgZW5kc1dpdGggICAgICAgICAgICAgICAgOjo9ICBcImVuZHNXaXRoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBjb250YWlucyAgICAgICAgICAgICAgICA6Oj0gIFwiY29udGFpbnNcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHJldHVyblN0YXRlbWVudCAgICAgICAgIDo6PSAgXCJyZXR1cm5cIiB2YWx1ZSBcIjtcIiA7IFxuICAgIFxuICAgIFxuICAgIFxuICAgIGNvbXBhcmlzb25UZXJtICAgICAgICAgIDo6PSAgdGVybSAoIFwiPT1cIiB8IFwiIT1cIiApIHRlcm0gOyBcbiAgICBcbiAgICBicmFja2V0ZWRUZXJtICAgICAgICAgICA6Oj0gIFwiKFwiIHRlcm0gXCIpXCIgOyBcbiAgICBcbiAgICBuZWdhdGVkVGVybSAgICAgICAgICAgICA6Oj0gIFwiIVwiPE5PX1dISVRFU1BBQ0U+dGVybSA7IFxuICAgIFxuICAgIGxvZ2ljYWxUZXJtICAgICAgICAgICAgIDo6PSAgdGVybSAoIFwifHxcIiB8IFwiJiZcIiApIHRlcm0gOyBcblxuXG4gICAgXG4gICAgZXhwcmVzc2lvbiAgICAgICAgICAgICAgOjo9ICBwcm9jZWR1cmVDYWxsXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcmV0dXJuQmxvY2tcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm5hcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcmVkdWNlXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBldmVyeVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgc29tZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBub2Rlc1F1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVRdWVyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsZW5ndGhPZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRvSW50ZWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRyeUludGVnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzdGFydHNXaXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGVuZHNXaXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGNvbnRhaW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHRlcm1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgIFxuICAgIFxuICAgIFxuICAgIHRlcm0gICAgICAgICAgICAgICAgICAgIDo6PSAgY29tcGFyaXNvblRlcm0gXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBicmFja2V0ZWRUZXJtIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbG9naWNhbFRlcm0gXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBuZWdhdGVkVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHByaW1pdGl2ZSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIFxuICAgICB0eXBlICAgICAgICAgICAgICAgICAgIDo6PSAgXCJMaXN0XCI8Tk9fV0hJVEVTUEFDRT5cIjxcIiAoIFwiTm9kZVwiIHwgXCJTdHJpbmdcIiB8IFwiQm9vbGVhblwiIHwgXCJJbnRlZ2VyXCIgKSBcIj5cIlxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiTm9kZVwiICBcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBcIlN0cmluZ1wiIFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiQm9vbGVhblwiICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiSW50ZWdlclwiICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgdmFsdWUgICAgICAgICAgICAgICAgICAgOjo9ICBwcmltaXRpdmUgXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICB2YXJpYWJsZSBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBcbiAgICBwcmltaXRpdmUgICAgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW2Jvb2xlYW5dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtpbnRlZ2VyXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbbnVsbF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuXG4gICAgcmVmZXJlbmNlLiAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuICAgIFxuICAgIHZhcmlhYmxlICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcbiAgICBcbiAgICBsYWJlbC4gICAgICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgbm9uc2Vuc2UuICAgICAgICAgICAgICAgOjo9ICBbc3RyaW5nLWxpdGVyYWxdIHwgW3NlY29uZGFyeS1rZXl3b3JkXSB8IFtmdW5jdGlvbi1uYW1lXSB8IFt0eXBlXSB8IFtib29sZWFuXSB8IFtpbnRlZ2VyXSB8IFtudWxsXSB8IFtuYW1lXSB8IFtzcGVjaWFsXSB8IFt1bmFzc2lnbmVkXSA7XG5cblxuICAgIFxuICAgIGVycm9yLiAgICAgICAgICAgICAgICAgIDo6PSAgLiA7XG4gICAgXG5gO1xuXG5leHBvcnQgZGVmYXVsdCBibmY7XG4iXSwibmFtZXMiOlsiYm5mIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnTkE7OztlQUFBOzs7QUE5TUEsTUFBTUEsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE0TWIsQ0FBQztNQUVELFdBQWVBIn0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Z1cnRsZS9ibmYuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmNvbnN0IGJuZiA9IGBcblxuICAgIGRvY3VtZW50ICAgICAgICAgICAgICAgIDo6PSAgKCBpbXBvcnRTdGF0ZW1lbnQgfCBwcm9jZWR1cmUgfCBlcnJvciApKyA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgcHJvY2VkdXJlICAgICAgICAgICAgICAgOjo9ICBcImV4cG9ydFwiPyB0eXBlIGxhYmVsPE5PX1dISVRFU1BBQ0U+XCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuICAgIFxuICAgIGltcG9ydFN0YXRlbWVudCAgICAgICAgIDo6PSAgXCJpbXBvcnRcIiBpbXBvcnRCaW5kaW5ncyBcImZyb21cIiBbc3RyaW5nLWxpdGVyYWxdIFwiO1wiIDtcbiAgICBcbiAgICBhbm9ueW1vdXNQcm9jZWR1cmUgICAgICA6Oj0gIHR5cGUgXCIoXCIgcGFyYW1ldGVycz8gXCIpXCIgcmV0dXJuQmxvY2sgO1xuICAgIFxuICAgIHN0YXRlbWVudCAgICAgICAgICAgICAgIDo6PSAgdmFyaWFibGVBc3NpZ25tZW50c1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBvYmplY3RBc3NpZ25tZW50XG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbGlzdEFzc2lnbm1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAgXG4gICAgICBcbiAgICAgIFxuICAgIFxuICAgIHZhcmlhYmxlQXNzaWdubWVudHMgICAgIDo6PSAgdHlwZSB2YXJpYWJsZUFzc2lnbm1lbnQgKCBcIixcIiB2YXJpYWJsZUFzc2lnbm1lbnQgKSogXCI7XCIgO1xuICAgIFxuICAgIHZhcmlhYmxlQXNzaWdubWVudCAgICAgIDo6PSAgdmFyaWFibGUgXCI9XCIgZXhwcmVzc2lvbiA7XG4gICAgXG4gICAgb2JqZWN0QXNzaWdubWVudCAgICAgICAgOjo9ICBcIntcIiBuYW1lZEJpbmRpbmdzIFwifVwiIFwiPVwiIHZhcmlhYmxlIFwiO1wiIDtcbiAgICBcbiAgICBsaXN0QXNzaWdubWVudCAgICAgICAgIDo6PSAgXCJbXCIgYmluZGluZ3MgXCJdXCIgXCI9XCIgdmFyaWFibGUgXCI7XCIgO1xuICAgIFxuXG5cbiAgICBpbXBvcnRCaW5kaW5ncyAgICAgICAgICA6Oj0gIGltcG9ydEJpbmRpbmcgKCBcIixcIiBpbXBvcnRCaW5kaW5nICkqIDtcbiAgICBcbiAgICBuYW1lZEJpbmRpbmdzICAgICAgICAgICA6Oj0gIG5hbWVkQmluZGluZyAoIFwiLFwiIG5hbWVkQmluZGluZyApKiA7XG4gICAgXG4gICAgcGFyYW1ldGVycyAgICAgICAgICAgICAgOjo9ICBwYXJhbWV0ZXIgKCBcIixcIiBwYXJhbWV0ZXIgKSogO1xuICAgIFxuICAgIGJpbmRpbmdzICAgICAgICAgICAgICAgIDo6PSAgYmluZGluZyAoIFwiLFwiIGJpbmRpbmcgKSogO1xuICAgIFxuICAgIHZhbHVlcyAgICAgICAgICAgICAgICAgIDo6PSAgdmFsdWUgKCBcIixcIiB2YWx1ZSApKiA7XG4gICAgXG4gICAgdGVybXMgICAgICAgICAgICAgICAgICAgOjo9ICB0ZXJtICggXCIsXCIgdGVybSApKiA7XG4gICAgXG5cblxuICAgIGltcG9ydEJpbmRpbmcgICAgICAgICAgIDo6PSAgcmVmZXJlbmNlICggXCJhc1wiIGxhYmVsICk/IDsgICBcbiAgICBcbiAgICBuYW1lZEJpbmRpbmcgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdICggXCJhc1wiIFtuYW1lXSApPyA7ICAgXG4gICAgXG4gICAgcGFyYW1ldGVyICAgICAgICAgICAgICAgOjo9ICB0eXBlIFtuYW1lXSA7XG5cbiAgICBiaW5kaW5nICAgICAgICAgICAgICAgICA6Oj0gIHR5cGUgW25hbWVdXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICDOtSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgcHJvY2VkdXJlQ2FsbCAgICAgICAgICAgOjo9ICByZWZlcmVuY2U8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YWx1ZXM/IFwiKVwiIDtcbiAgICBcbiAgICByZXR1cm5CbG9jay4uICAgICAgICAgICA6Oj0gIFwie1wiICggc3RhdGVtZW50IHwgbm9uc2Vuc2UgKSogcmV0dXJuU3RhdGVtZW50IFwifVwiIDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICB0ZXJuYXJ5ICAgICAgICAgICAgICAgICA6Oj0gIFwiaWZcIiBcIihcIiB0ZXJtIFwiKVwiIGV4cHJlc3Npb24gXCJlbHNlXCIgZXhwcmVzc2lvbiA7XG4gICAgXG4gICAgcmVkdWNlICAgICAgICAgICAgICAgICAgOjo9ICBcInJlZHVjZVwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgYW5vbnltb3VzUHJvY2VkdXJlIFwiLFwiIHZhbHVlIFwiKVwiIDtcbiAgICBcbiAgICBldmVyeSAgICAgICAgICAgICAgICAgICA6Oj0gIFwiZXZlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgc29tZSAgICAgICAgICAgICAgICAgICAgOjo9ICBcInNvbWVcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIGFub255bW91c1Byb2NlZHVyZSBcIilcIiA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgbm9kZXNRdWVyeSAgICAgICAgICAgICAgOjo9ICBcIm5vZGVzUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIG5vZGVRdWVyeSAgICAgICAgICAgICAgIDo6PSAgXCJub2RlUXVlcnlcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIGxlbmd0aE9mICAgICAgICAgICAgICAgIDo6PSAgXCJsZW5ndGhPZlwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIpXCIgO1xuICAgIFxuICAgIHRvSW50ZWdlciAgICAgICAgICAgICAgIDo6PSAgXCJ0b0ludGVnZXJcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiKVwiIDtcbiAgICBcbiAgICB0cnlJbnRlZ2VyICAgICAgICAgICAgICA6Oj0gIFwidHJ5SW50ZWdlclwiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIpXCIgO1xuICAgIFxuICAgIHN0YXJ0c1dpdGggICAgICAgICAgICAgIDo6PSAgXCJzdGFydHNXaXRoXCI8Tk9fV0hJVEVTUEFDRT5cIihcIiB2YXJpYWJsZSBcIixcIiBbc3RyaW5nLWxpdGVyYWxdIFwiKVwiIDtcbiAgICBcbiAgICBlbmRzV2l0aCAgICAgICAgICAgICAgICA6Oj0gIFwiZW5kc1dpdGhcIjxOT19XSElURVNQQUNFPlwiKFwiIHZhcmlhYmxlIFwiLFwiIFtzdHJpbmctbGl0ZXJhbF0gXCIpXCIgO1xuICAgIFxuICAgIGNvbnRhaW5zICAgICAgICAgICAgICAgIDo6PSAgXCJjb250YWluc1wiPE5PX1dISVRFU1BBQ0U+XCIoXCIgdmFyaWFibGUgXCIsXCIgW3N0cmluZy1saXRlcmFsXSBcIilcIiA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgcmV0dXJuU3RhdGVtZW50ICAgICAgICAgOjo9ICBcInJldHVyblwiIHZhbHVlIFwiO1wiIDsgXG4gICAgXG4gICAgXG4gICAgXG4gICAgY29tcGFyaXNvblRlcm0gICAgICAgICAgOjo9ICB0ZXJtICggXCI9PVwiIHwgXCIhPVwiICkgdGVybSA7IFxuICAgIFxuICAgIGJyYWNrZXRlZFRlcm0gICAgICAgICAgIDo6PSAgXCIoXCIgdGVybSBcIilcIiA7IFxuICAgIFxuICAgIG5lZ2F0ZWRUZXJtICAgICAgICAgICAgIDo6PSAgXCIhXCI8Tk9fV0hJVEVTUEFDRT50ZXJtIDsgXG4gICAgXG4gICAgbG9naWNhbFRlcm0gICAgICAgICAgICAgOjo9ICB0ZXJtICggXCJ8fFwiIHwgXCImJlwiICkgdGVybSA7IFxuXG5cbiAgICBcbiAgICBleHByZXNzaW9uICAgICAgICAgICAgICA6Oj0gIHByb2NlZHVyZUNhbGxcbiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZXR1cm5CbG9ja1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybmFyeVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICByZWR1Y2VcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGV2ZXJ5XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBzb21lXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5vZGVzUXVlcnlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgbm9kZVF1ZXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGxlbmd0aE9mXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdG9JbnRlZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdHJ5SW50ZWdlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHN0YXJ0c1dpdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgZW5kc1dpdGhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgY29udGFpbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdGVybVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG4gICAgXG4gICAgXG4gICAgXG4gICAgdGVybSAgICAgICAgICAgICAgICAgICAgOjo9ICBjb21wYXJpc29uVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGJyYWNrZXRlZFRlcm0gXG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBsb2dpY2FsVGVybSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIG5lZ2F0ZWRUZXJtIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgcHJpbWl0aXZlIFxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgdmFyaWFibGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG4gICAgXG4gICAgIHR5cGUgICAgICAgICAgICAgICAgICAgOjo9ICBcIkxpc3RcIjxOT19XSElURVNQQUNFPlwiPFwiICggXCJOb2RlXCIgfCBcIlN0cmluZ1wiIHwgXCJCb29sZWFuXCIgfCBcIkludGVnZXJcIiApIFwiPlwiXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJOb2RlXCIgIFxuICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFwiU3RyaW5nXCIgXG4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJCb29sZWFuXCIgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgXCJJbnRlZ2VyXCIgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG5cbiAgICBcbiAgICB2YWx1ZSAgICAgICAgICAgICAgICAgICA6Oj0gIHByaW1pdGl2ZSBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIHZhcmlhYmxlIFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7XG5cblxuICAgIFxuICAgIHByaW1pdGl2ZSAgICAgICAgICAgICAgIDo6PSAgW3N0cmluZy1saXRlcmFsXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBbYm9vbGVhbl1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgW2ludGVnZXJdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIFtudWxsXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDtcblxuXG5cbiAgICByZWZlcmVuY2UuICAgICAgICAgICAgICA6Oj0gIFtuYW1lXSA7XG4gICAgXG4gICAgdmFyaWFibGUgICAgICAgICAgICAgICAgOjo9ICBbbmFtZV0gO1xuICAgIFxuICAgIGxhYmVsLiAgICAgICAgICAgICAgICAgIDo6PSAgW25hbWVdIDtcbiAgICBcbiAgICBcbiAgICBcbiAgICBub25zZW5zZS4gICAgICAgICAgICAgICA6Oj0gIFtzdHJpbmctbGl0ZXJhbF0gfCBbc2Vjb25kYXJ5LWtleXdvcmRdIHwgW2Z1bmN0aW9uLW5hbWVdIHwgW3R5cGVdIHwgW2Jvb2xlYW5dIHwgW2ludGVnZXJdIHwgW251bGxdIHwgW25hbWVdIHwgW3NwZWNpYWxdIHwgW3VuYXNzaWduZWRdIDtcblxuXG4gICAgXG4gICAgZXJyb3IuICAgICAgICAgICAgICAgICAgOjo9ICAuIDtcbiAgICBcbmA7XG5cbmV4cG9ydCBkZWZhdWx0IGJuZjtcbiJdLCJuYW1lcyI6WyJibmYiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdOQTs7O2VBQUE7OztBQTlNQSxNQUFNQSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRNYixDQUFDO01BRUQsV0FBZUEifQ==
@@ -46,4 +46,4 @@ const entries = [
46
46
  ];
47
47
  const _default = entries;
48
48
 
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Z1cnRsZS9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuY29uc3QgTEFUSU4gPSBcIltcXFxccHtTY3JpcHQ9TGF0aW59XVwiLFxyXG4gIERFQ0lNQUwgPSBcIlswLTldXCI7XHJcblxyXG5jb25zdCBlbnRyaWVzID0gW1xyXG4gIHtcclxuICAgIFwiYnJhY2tldFwiOiBcIl4oPzpcXFxce3xcXFxcfSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJwcmltYXJ5LWtleXdvcmRcIjogXCJeKD86ZXhwb3J0fGltcG9ydHxmcm9tfHJldHVybilcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJzZWNvbmRhcnkta2V5d29yZFwiOiBcIl4oPzphc3xpZnxlbHNlKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImZ1bmN0aW9uLW5hbWVcIjogXCJeKD86bm9kZVF1ZXJ5fG5vZGVzUXVlcnl8cmVkdWNlfGV2ZXJ5fHNvbWV8bGVuZ3RoT2Z8dG9JbnRlZ2VyfHRyeUludGVnZXJ8c3RhcnRzV2l0aHxlbmRzV2l0aHxjb250YWlucylcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJ0eXBlXCI6IFwiXig/Okxpc3R8Tm9kZXxTdHJpbmd8Qm9vbGVhbnxJbnRlZ2VyKVwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcImJvb2xlYW5cIjogXCJeKD86dHJ1ZXxmYWxzZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJpbnRlZ2VyXCI6IFwiXlsrXFxcXC1dP1xcXFxkK1wiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcIm51bGxcIjogXCJebnVsbFwiXHJcbiAgfSxcclxuICB7XHJcbiAgICBcIm5hbWVcIjogYF4ke0xBVElOfSske0RFQ0lNQUx9KmAsXHJcbiAgfSxcclxuICB7XHJcbiAgICBcInNwZWNpYWxcIjogXCJeKD86PHw+fCE9fD09fCF8PXwsfDt8JiZ8XFxcXHxcXFxcfHxcXFxcKHxcXFxcKXxcXFxcW3xcXFxcXSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJ1bmFzc2lnbmVkXCI6IFwiXlteXFxcXHNdK1wiXHJcbiAgfVxyXG5dO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZW50cmllcztcclxuIl0sIm5hbWVzIjpbIkxBVElOIiwiREVDSU1BTCIsImVudHJpZXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXlDQTs7O2VBQUE7OztBQXZDQSxNQUFNQSxRQUFRLHVCQUNaQyxVQUFVO0FBRVosTUFBTUMsVUFBVTtJQUNkO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxtQkFBbUI7SUFDckI7SUFDQTtRQUNFLHFCQUFxQjtJQUN2QjtJQUNBO1FBQ0UsaUJBQWlCO0lBQ25CO0lBQ0E7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFdBQVc7SUFDYjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxRQUFRO0lBQ1Y7SUFDQTtRQUNFLFFBQVEsQ0FBQyxDQUFDLEVBQUVGLE1BQU0sQ0FBQyxFQUFFQyxRQUFRLENBQUMsQ0FBQztJQUNqQztJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxjQUFjO0lBQ2hCO0NBQ0Q7TUFFRCxXQUFlQyJ9
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Z1cnRsZS9lbnRyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuY29uc3QgTEFUSU4gPSBcIltcXFxccHtTY3JpcHQ9TGF0aW59XVwiLFxyXG4gICAgICBERUNJTUFMID0gXCJbMC05XVwiO1xyXG5cclxuY29uc3QgZW50cmllcyA9IFtcclxuICB7XHJcbiAgICBcImJyYWNrZXRcIjogXCJeKD86XFxcXHt8XFxcXH0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwicHJpbWFyeS1rZXl3b3JkXCI6IFwiXig/OmV4cG9ydHxpbXBvcnR8ZnJvbXxyZXR1cm4pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwic2Vjb25kYXJ5LWtleXdvcmRcIjogXCJeKD86YXN8aWZ8ZWxzZSlcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJmdW5jdGlvbi1uYW1lXCI6IFwiXig/Om5vZGVRdWVyeXxub2Rlc1F1ZXJ5fHJlZHVjZXxldmVyeXxzb21lfGxlbmd0aE9mfHRvSW50ZWdlcnx0cnlJbnRlZ2VyfHN0YXJ0c1dpdGh8ZW5kc1dpdGh8Y29udGFpbnMpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidHlwZVwiOiBcIl4oPzpMaXN0fE5vZGV8U3RyaW5nfEJvb2xlYW58SW50ZWdlcilcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJib29sZWFuXCI6IFwiXig/OnRydWV8ZmFsc2UpXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwiaW50ZWdlclwiOiBcIl5bK1xcXFwtXT9cXFxcZCtcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJudWxsXCI6IFwiXm51bGxcIlxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJuYW1lXCI6IGBeJHtMQVRJTn0rJHtERUNJTUFMfSpgLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgXCJzcGVjaWFsXCI6IFwiXig/Ojx8PnwhPXw9PXwhfD18LHw7fCYmfFxcXFx8XFxcXHx8XFxcXCh8XFxcXCl8XFxcXFt8XFxcXF0pXCJcclxuICB9LFxyXG4gIHtcclxuICAgIFwidW5hc3NpZ25lZFwiOiBcIl5bXlxcXFxzXStcIlxyXG4gIH1cclxuXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGVudHJpZXM7XHJcbiJdLCJuYW1lcyI6WyJMQVRJTiIsIkRFQ0lNQUwiLCJlbnRyaWVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF5Q0E7OztlQUFBOzs7QUF2Q0EsTUFBTUEsUUFBUSx1QkFDUkMsVUFBVTtBQUVoQixNQUFNQyxVQUFVO0lBQ2Q7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLG1CQUFtQjtJQUNyQjtJQUNBO1FBQ0UscUJBQXFCO0lBQ3ZCO0lBQ0E7UUFDRSxpQkFBaUI7SUFDbkI7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsV0FBVztJQUNiO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLFFBQVE7SUFDVjtJQUNBO1FBQ0UsUUFBUSxDQUFDLENBQUMsRUFBRUYsTUFBTSxDQUFDLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDO0lBQ0E7UUFDRSxXQUFXO0lBQ2I7SUFDQTtRQUNFLGNBQWM7SUFDaEI7Q0FDRDtNQUVELFdBQWVDIn0=
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ImportBindingNode;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ const _ruleNames = require("../ruleNames");
13
+ class ImportBindingNode extends _occamlanguages.NonTerminalNode {
14
+ getLabelNode() {
15
+ const ruleName = _ruleNames.LABEL_RULE_NAME, labelNode = this.getNodeByRuleName(ruleName);
16
+ return labelNode;
17
+ }
18
+ getReferenceNode() {
19
+ const ruleName = _ruleNames.REFERENCE_RULE_NAME, referendeNode = this.getNodeByRuleName(ruleName);
20
+ return referendeNode;
21
+ }
22
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
23
+ return _occamlanguages.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ImportBindingNode, ruleName, childNodes, opacity, precedence);
24
+ }
25
+ }
26
+
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2ltcG9ydEJpbmRpbmcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IE5vblRlcm1pbmFsTm9kZSB9IGZyb20gXCJvY2NhbS1sYW5ndWFnZXNcIjtcblxuaW1wb3J0IHsgTEFCRUxfUlVMRV9OQU1FLCBSRUZFUkVOQ0VfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbXBvcnRCaW5kaW5nTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZSB7XG4gIGdldExhYmVsTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IExBQkVMX1JVTEVfTkFNRSxcbiAgICAgICAgICBsYWJlbE5vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBsYWJlbE5vZGU7XG4gIH1cblxuICBnZXRSZWZlcmVuY2VOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gUkVGRVJFTkNFX1JVTEVfTkFNRSxcbiAgICAgICAgICByZWZlcmVuZGVOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gcmVmZXJlbmRlTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoSW1wb3J0QmluZGluZ05vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIkltcG9ydEJpbmRpbmdOb2RlIiwiTm9uVGVybWluYWxOb2RlIiwiZ2V0TGFiZWxOb2RlIiwicnVsZU5hbWUiLCJMQUJFTF9SVUxFX05BTUUiLCJsYWJlbE5vZGUiLCJnZXROb2RlQnlSdWxlTmFtZSIsImdldFJlZmVyZW5jZU5vZGUiLCJSRUZFUkVOQ0VfUlVMRV9OQU1FIiwicmVmZXJlbmRlTm9kZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFxQkE7OztnQ0FKVzsyQkFFcUI7QUFFdEMsTUFBTUEsMEJBQTBCQywrQkFBZTtJQUM1REMsZUFBZTtRQUNiLE1BQU1DLFdBQVdDLDBCQUFlLEVBQzFCQyxZQUFZLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNIO1FBRXpDLE9BQU9FO0lBQ1Q7SUFFQUUsbUJBQW1CO1FBQ2pCLE1BQU1KLFdBQVdLLDhCQUFtQixFQUM5QkMsZ0JBQWdCLElBQUksQ0FBQ0gsaUJBQWlCLENBQUNIO1FBRTdDLE9BQU9NO0lBQ1Q7SUFFQSxPQUFPQywyQ0FBMkNQLFFBQVEsRUFBRVEsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9aLCtCQUFlLENBQUNTLDBDQUEwQyxDQUFDVixtQkFBbUJHLFVBQVVRLFlBQVlDLFNBQVNDO0lBQWE7QUFDbE8ifQ==
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ImportBindingsNode;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ const _ruleNames = require("../ruleNames");
13
+ class ImportBindingsNode extends _occamlanguages.NonTerminalNode {
14
+ getImportBindingNodes() {
15
+ const ruleName = _ruleNames.IMPORT_BINDING_RULE_NAME, importBindingNodes = this.getNodesByRuleName(ruleName);
16
+ return importBindingNodes;
17
+ }
18
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
19
+ return _occamlanguages.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ImportBindingsNode, ruleName, childNodes, opacity, precedence);
20
+ }
21
+ }
22
+
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2ltcG9ydEJpbmRpbmdzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOb25UZXJtaW5hbE5vZGUgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IElNUE9SVF9CSU5ESU5HX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW1wb3J0QmluZGluZ3NOb2RlIGV4dGVuZHMgTm9uVGVybWluYWxOb2RlIHtcbiAgZ2V0SW1wb3J0QmluZGluZ05vZGVzKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gSU1QT1JUX0JJTkRJTkdfUlVMRV9OQU1FLFxuICAgICAgICAgIGltcG9ydEJpbmRpbmdOb2RlcyA9IHRoaXMuZ2V0Tm9kZXNCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBpbXBvcnRCaW5kaW5nTm9kZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKEltcG9ydEJpbmRpbmdzTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiSW1wb3J0QmluZGluZ3NOb2RlIiwiTm9uVGVybWluYWxOb2RlIiwiZ2V0SW1wb3J0QmluZGluZ05vZGVzIiwicnVsZU5hbWUiLCJJTVBPUlRfQklORElOR19SVUxFX05BTUUiLCJpbXBvcnRCaW5kaW5nTm9kZXMiLCJnZXROb2Rlc0J5UnVsZU5hbWUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBcUJBOzs7Z0NBSlc7MkJBRVM7QUFFMUIsTUFBTUEsMkJBQTJCQywrQkFBZTtJQUM3REMsd0JBQXdCO1FBQ3RCLE1BQU1DLFdBQVdDLG1DQUF3QixFQUNuQ0MscUJBQXFCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUNIO1FBRW5ELE9BQU9FO0lBQ1Q7SUFFQSxPQUFPRSwyQ0FBMkNKLFFBQVEsRUFBRUssVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRTtRQUFFLE9BQU9ULCtCQUFlLENBQUNNLDBDQUEwQyxDQUFDUCxvQkFBb0JHLFVBQVVLLFlBQVlDLFNBQVNDO0lBQWE7QUFDbk8ifQ==
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return ImportStatementNode;
9
+ }
10
+ });
11
+ const _occamlanguages = require("occam-languages");
12
+ const _constants = require("../constants");
13
+ const _ruleNames = require("../ruleNames");
14
+ const _tokenTypes = require("../tokenTypes");
15
+ class ImportStatementNode extends _occamlanguages.NonTerminalNode {
16
+ getReleaseName() {
17
+ let releaseName;
18
+ const tokenType = _tokenTypes.STRING_LITERAL_TOKEN_TYPE;
19
+ this.someTerminalNode((terminalNode)=>{
20
+ const content = terminalNode.getContent();
21
+ releaseName = trim(content); ///
22
+ return true;
23
+ }, tokenType);
24
+ return releaseName;
25
+ }
26
+ getImportBindingNodes() {
27
+ const importBindingsNode = this.getImportBindingsNode(), importBindingNodes = importBindingsNode.getImportBindingNodes();
28
+ return importBindingNodes;
29
+ }
30
+ getImportBindingsNode() {
31
+ const ruleName = _ruleNames.IMPORT_BINDINGS_RULE_NAME, importBindingsNode = this.getNodeByRuleName(ruleName);
32
+ return importBindingsNode;
33
+ }
34
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
35
+ return _occamlanguages.NonTerminalNode.fromRuleNameChildNodesOpacityAndPrecedence(ImportStatementNode, ruleName, childNodes, opacity, precedence);
36
+ }
37
+ }
38
+ function trim(content) {
39
+ return content.replace(/(^"|"$)/g, _constants.EMPTY_STRING);
40
+ }
41
+
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2ltcG9ydFN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBJTVBPUlRfQklORElOR1NfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgU1RSSU5HX0xJVEVSQUxfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEltcG9ydFN0YXRlbWVudE5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBnZXRSZWxlYXNlTmFtZSgpIHtcbiAgICBsZXQgcmVsZWFzZU5hbWU7XG5cbiAgICBjb25zdCB0b2tlblR5cGUgPSBTVFJJTkdfTElURVJBTF9UT0tFTl9UWVBFO1xuXG4gICAgdGhpcy5zb21lVGVybWluYWxOb2RlKCh0ZXJtaW5hbE5vZGUpID0+IHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gICAgICByZWxlYXNlTmFtZSA9IHRyaW0oY29udGVudCk7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSwgdG9rZW5UeXBlKTtcblxuICAgIHJldHVybiByZWxlYXNlTmFtZTtcbiAgfVxuXG4gIGdldEltcG9ydEJpbmRpbmdOb2RlcygpIHtcbiAgICBjb25zdCBpbXBvcnRCaW5kaW5nc05vZGUgPSB0aGlzLmdldEltcG9ydEJpbmRpbmdzTm9kZSgpLFxuICAgICAgICAgIGltcG9ydEJpbmRpbmdOb2RlcyA9IGltcG9ydEJpbmRpbmdzTm9kZS5nZXRJbXBvcnRCaW5kaW5nTm9kZXMoKTtcblxuICAgIHJldHVybiBpbXBvcnRCaW5kaW5nTm9kZXM7XG4gIH1cblxuICBnZXRJbXBvcnRCaW5kaW5nc05vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBJTVBPUlRfQklORElOR1NfUlVMRV9OQU1FLFxuICAgICAgICAgIGltcG9ydEJpbmRpbmdzTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIGltcG9ydEJpbmRpbmdzTm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoSW1wb3J0U3RhdGVtZW50Tm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG5cbmZ1bmN0aW9uIHRyaW0oY29udGVudCkge1xuICByZXR1cm4gY29udGVudC5yZXBsYWNlKC8oXlwifFwiJCkvZywgRU1QVFlfU1RSSU5HKTtcbn0iXSwibmFtZXMiOlsiSW1wb3J0U3RhdGVtZW50Tm9kZSIsIk5vblRlcm1pbmFsTm9kZSIsImdldFJlbGVhc2VOYW1lIiwicmVsZWFzZU5hbWUiLCJ0b2tlblR5cGUiLCJTVFJJTkdfTElURVJBTF9UT0tFTl9UWVBFIiwic29tZVRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50IiwidHJpbSIsImdldEltcG9ydEJpbmRpbmdOb2RlcyIsImltcG9ydEJpbmRpbmdzTm9kZSIsImdldEltcG9ydEJpbmRpbmdzTm9kZSIsImltcG9ydEJpbmRpbmdOb2RlcyIsInJ1bGVOYW1lIiwiSU1QT1JUX0JJTkRJTkdTX1JVTEVfTkFNRSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwiY2hpbGROb2RlcyIsIm9wYWNpdHkiLCJwcmVjZWRlbmNlIiwicmVwbGFjZSIsIkVNUFRZX1NUUklORyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFxQkE7OztnQ0FOVzsyQkFFSDsyQkFDYTs0QkFDQTtBQUUzQixNQUFNQSw0QkFBNEJDLCtCQUFlO0lBQzlEQyxpQkFBaUI7UUFDZixJQUFJQztRQUVKLE1BQU1DLFlBQVlDLHFDQUF5QjtRQUUzQyxJQUFJLENBQUNDLGdCQUFnQixDQUFDLENBQUNDO1lBQ3JCLE1BQU1DLFVBQVVELGFBQWFFLFVBQVU7WUFFdkNOLGNBQWNPLEtBQUtGLFVBQVcsR0FBRztZQUVqQyxPQUFPO1FBQ1QsR0FBR0o7UUFFSCxPQUFPRDtJQUNUO0lBRUFRLHdCQUF3QjtRQUN0QixNQUFNQyxxQkFBcUIsSUFBSSxDQUFDQyxxQkFBcUIsSUFDL0NDLHFCQUFxQkYsbUJBQW1CRCxxQkFBcUI7UUFFbkUsT0FBT0c7SUFDVDtJQUVBRCx3QkFBd0I7UUFDdEIsTUFBTUUsV0FBV0Msb0NBQXlCLEVBQ3BDSixxQkFBcUIsSUFBSSxDQUFDSyxpQkFBaUIsQ0FBQ0Y7UUFFbEQsT0FBT0g7SUFDVDtJQUVBLE9BQU9NLDJDQUEyQ0gsUUFBUSxFQUFFSSxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFO1FBQUUsT0FBT3BCLCtCQUFlLENBQUNpQiwwQ0FBMEMsQ0FBQ2xCLHFCQUFxQmUsVUFBVUksWUFBWUMsU0FBU0M7SUFBYTtBQUNwTztBQUVBLFNBQVNYLEtBQUtGLE9BQU87SUFDbkIsT0FBT0EsUUFBUWMsT0FBTyxDQUFDLFlBQVlDLHVCQUFZO0FBQ2pEIn0=
@@ -15,19 +15,14 @@ const _ruleNames = require("../ruleNames");
15
15
  class ProcedureNode extends _occamlanguages.NonTerminalNode {
16
16
  isExported() {
17
17
  let exported = false;
18
- this.someChildNode((childNode)=>{
19
- const childNodeTerminalNode = childNode.isTerminalNode();
20
- if (childNodeTerminalNode) {
21
- const terminalNode = childNode, type = terminalNode.getType();
22
- if (type === _tokenTypes.PRIMARY_KEYWORD_TOKEN_TYPE) {
23
- const content = terminalNode.getContent();
24
- if (content === _constants.EXPORT) {
25
- exported = true;
26
- return true;
27
- }
28
- }
18
+ const tokenType = _tokenTypes.PRIMARY_KEYWORD_TOKEN_TYPE;
19
+ this.someTerminalNode((terminalNode)=>{
20
+ const content = terminalNode.getContent();
21
+ if (content === _constants.EXPORT) {
22
+ exported = true;
23
+ return true;
29
24
  }
30
- });
25
+ }, tokenType);
31
26
  return exported;
32
27
  }
33
28
  getTypeNode() {
@@ -59,4 +54,4 @@ class ProcedureNode extends _occamlanguages.NonTerminalNode {
59
54
  }
60
55
  }
61
56
 
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBFWFBPUlQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBQUklNQVJZX0tFWVdPUkRfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5pbXBvcnQgeyBUWVBFX1JVTEVfTkFNRSwgTEFCRUxfUlVMRV9OQU1FLCBQQVJBTUVURVJTX1JVTEVfTkFNRSwgUkVUVVJOX0JMT0NLX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJvY2VkdXJlTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZSB7XG4gIGlzRXhwb3J0ZWQoKSB7XG4gICAgbGV0IGV4cG9ydGVkID0gZmFsc2U7XG5cbiAgICB0aGlzLnNvbWVDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAgICAgY29uc3QgY2hpbGROb2RlVGVybWluYWxOb2RlID0gY2hpbGROb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChjaGlsZE5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgICAgdHlwZSA9IHRlcm1pbmFsTm9kZS5nZXRUeXBlKCk7XG5cbiAgICAgICAgaWYgKHR5cGUgPT09IFBSSU1BUllfS0VZV09SRF9UT0tFTl9UWVBFKSB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgICAgICBpZiAoY29udGVudCA9PT0gRVhQT1JUKSB7XG4gICAgICAgICAgICBleHBvcnRlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGV4cG9ydGVkO1xuICB9O1xuXG4gIGdldFR5cGVOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gVFlQRV9SVUxFX05BTUUsXG4gICAgICAgICAgbGFiZWxOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gbGFiZWxOb2RlO1xuICB9XG5cbiAgZ2V0TGFiZWxOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gTEFCRUxfUlVMRV9OQU1FLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIGxhYmVsTm9kZTtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnNOb2RlKCkge1xuICAgIGNvbnN0IHJ1bGVOYW1lID0gUEFSQU1FVEVSU19SVUxFX05BTUUsXG4gICAgICAgICAgcGFyYW1ldGVyc05vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBwYXJhbWV0ZXJzTm9kZTtcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFJFVFVSTl9CTE9DS19SVUxFX05BTUUsXG4gICAgICAgICAgcmV0dXJuQmxvY2tOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gcmV0dXJuQmxvY2tOb2RlO1xuICB9XG5cbiAgbWF0Y2hMYWJlbE5vZGUobGFiZWxOb2RlKSB7XG4gICAgbGV0IGxhYmVsTm9kZU1hdGNoZXM7XG5cbiAgICBjb25zdCBsYWJlbE5vZGVBID0gbGFiZWxOb2RlOyAvLy9cblxuICAgIGxhYmVsTm9kZSA9IHRoaXMuZ2V0TGFiZWxOb2RlKCk7XG5cbiAgICBjb25zdCBsYWJlbE5vZGVCID0gbGFiZWxOb2RlOyAvLy9cblxuICAgIGxhYmVsTm9kZU1hdGNoZXMgPSBsYWJlbE5vZGVBLm1hdGNoKGxhYmVsTm9kZUIpOyAgLy8vXG5cbiAgICByZXR1cm4gbGFiZWxOb2RlTWF0Y2hlcztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHsgcmV0dXJuIE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoUHJvY2VkdXJlTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiUHJvY2VkdXJlTm9kZSIsIk5vblRlcm1pbmFsTm9kZSIsImlzRXhwb3J0ZWQiLCJleHBvcnRlZCIsInNvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJjaGlsZE5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInR5cGUiLCJnZXRUeXBlIiwiUFJJTUFSWV9LRVlXT1JEX1RPS0VOX1RZUEUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIkVYUE9SVCIsImdldFR5cGVOb2RlIiwicnVsZU5hbWUiLCJUWVBFX1JVTEVfTkFNRSIsImxhYmVsTm9kZSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZ2V0TGFiZWxOb2RlIiwiTEFCRUxfUlVMRV9OQU1FIiwiZ2V0UGFyYW1ldGVyc05vZGUiLCJQQVJBTUVURVJTX1JVTEVfTkFNRSIsInBhcmFtZXRlcnNOb2RlIiwiZ2V0UmV0dXJuQmxvY2tOb2RlIiwiUkVUVVJOX0JMT0NLX1JVTEVfTkFNRSIsInJldHVybkJsb2NrTm9kZSIsIm1hdGNoTGFiZWxOb2RlIiwibGFiZWxOb2RlTWF0Y2hlcyIsImxhYmVsTm9kZUEiLCJsYWJlbE5vZGVCIiwibWF0Y2giLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBcUJBOzs7Z0NBTlc7MkJBRVQ7NEJBQ29COzJCQUNtRDtBQUUvRSxNQUFNQSxzQkFBc0JDLCtCQUFlO0lBQ3hEQyxhQUFhO1FBQ1gsSUFBSUMsV0FBVztRQUVmLElBQUksQ0FBQ0MsYUFBYSxDQUFDLENBQUNDO1lBQ2xCLE1BQU1DLHdCQUF3QkQsVUFBVUUsY0FBYztZQUV0RCxJQUFJRCx1QkFBdUI7Z0JBQ3pCLE1BQU1FLGVBQWVILFdBQ2ZJLE9BQU9ELGFBQWFFLE9BQU87Z0JBRWpDLElBQUlELFNBQVNFLHNDQUEwQixFQUFFO29CQUN2QyxNQUFNQyxVQUFVSixhQUFhSyxVQUFVO29CQUV2QyxJQUFJRCxZQUFZRSxpQkFBTSxFQUFFO3dCQUN0QlgsV0FBVzt3QkFFWCxPQUFPO29CQUNUO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLE9BQU9BO0lBQ1Q7SUFFQVksY0FBYztRQUNaLE1BQU1DLFdBQVdDLHlCQUFjLEVBQ3pCQyxZQUFZLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNIO1FBRXpDLE9BQU9FO0lBQ1Q7SUFFQUUsZUFBZTtRQUNiLE1BQU1KLFdBQVdLLDBCQUFlLEVBQzFCSCxZQUFZLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNIO1FBRXpDLE9BQU9FO0lBQ1Q7SUFFQUksb0JBQW9CO1FBQ2xCLE1BQU1OLFdBQVdPLCtCQUFvQixFQUMvQkMsaUJBQWlCLElBQUksQ0FBQ0wsaUJBQWlCLENBQUNIO1FBRTlDLE9BQU9RO0lBQ1Q7SUFFQUMscUJBQXFCO1FBQ25CLE1BQU1ULFdBQVdVLGlDQUFzQixFQUNqQ0Msa0JBQWtCLElBQUksQ0FBQ1IsaUJBQWlCLENBQUNIO1FBRS9DLE9BQU9XO0lBQ1Q7SUFFQUMsZUFBZVYsU0FBUyxFQUFFO1FBQ3hCLElBQUlXO1FBRUosTUFBTUMsYUFBYVosV0FBVyxHQUFHO1FBRWpDQSxZQUFZLElBQUksQ0FBQ0UsWUFBWTtRQUU3QixNQUFNVyxhQUFhYixXQUFXLEdBQUc7UUFFakNXLG1CQUFtQkMsV0FBV0UsS0FBSyxDQUFDRCxhQUFjLEdBQUc7UUFFckQsT0FBT0Y7SUFDVDtJQUVBLE9BQU9JLDJDQUEyQ2pCLFFBQVEsRUFBRWtCLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVLEVBQUU7UUFBRSxPQUFPbkMsK0JBQWUsQ0FBQ2dDLDBDQUEwQyxDQUFDakMsZUFBZWdCLFVBQVVrQixZQUFZQyxTQUFTQztJQUFhO0FBQzlOIn0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL3Byb2NlZHVyZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgTm9uVGVybWluYWxOb2RlIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBFWFBPUlQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBQUklNQVJZX0tFWVdPUkRfVE9LRU5fVFlQRSB9IGZyb20gXCIuLi90b2tlblR5cGVzXCI7XG5pbXBvcnQgeyBUWVBFX1JVTEVfTkFNRSwgTEFCRUxfUlVMRV9OQU1FLCBQQVJBTUVURVJTX1JVTEVfTkFNRSwgUkVUVVJOX0JMT0NLX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUHJvY2VkdXJlTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZSB7XG4gIGlzRXhwb3J0ZWQoKSB7XG4gICAgbGV0IGV4cG9ydGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCB0b2tlblR5cGUgPSBQUklNQVJZX0tFWVdPUkRfVE9LRU5fVFlQRTtcblxuICAgIHRoaXMuc29tZVRlcm1pbmFsTm9kZSgodGVybWluYWxOb2RlKSA9PiB7XG4gICAgICBjb25zdCBjb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKTtcblxuICAgICAgaWYgKGNvbnRlbnQgPT09IEVYUE9SVCkge1xuICAgICAgICBleHBvcnRlZCA9IHRydWU7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSwgdG9rZW5UeXBlKTtcblxuICAgIHJldHVybiBleHBvcnRlZDtcbiAgfTtcblxuICBnZXRUeXBlTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFRZUEVfUlVMRV9OQU1FLFxuICAgICAgICAgIGxhYmVsTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIGxhYmVsTm9kZTtcbiAgfVxuXG4gIGdldExhYmVsTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IExBQkVMX1JVTEVfTkFNRSxcbiAgICAgICAgICBsYWJlbE5vZGUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBsYWJlbE5vZGU7XG4gIH1cblxuICBnZXRQYXJhbWV0ZXJzTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFBBUkFNRVRFUlNfUlVMRV9OQU1FLFxuICAgICAgICAgIHBhcmFtZXRlcnNOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyc05vZGU7XG4gIH1cblxuICBnZXRSZXR1cm5CbG9ja05vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBSRVRVUk5fQkxPQ0tfUlVMRV9OQU1FLFxuICAgICAgICAgIHJldHVybkJsb2NrTm9kZSA9IHRoaXMuZ2V0Tm9kZUJ5UnVsZU5hbWUocnVsZU5hbWUpO1xuXG4gICAgcmV0dXJuIHJldHVybkJsb2NrTm9kZTtcbiAgfVxuXG4gIG1hdGNoTGFiZWxOb2RlKGxhYmVsTm9kZSkge1xuICAgIGxldCBsYWJlbE5vZGVNYXRjaGVzO1xuXG4gICAgY29uc3QgbGFiZWxOb2RlQSA9IGxhYmVsTm9kZTsgLy8vXG5cbiAgICBsYWJlbE5vZGUgPSB0aGlzLmdldExhYmVsTm9kZSgpO1xuXG4gICAgY29uc3QgbGFiZWxOb2RlQiA9IGxhYmVsTm9kZTsgLy8vXG5cbiAgICBsYWJlbE5vZGVNYXRjaGVzID0gbGFiZWxOb2RlQS5tYXRjaChsYWJlbE5vZGVCKTsgIC8vL1xuXG4gICAgcmV0dXJuIGxhYmVsTm9kZU1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7IHJldHVybiBOb25UZXJtaW5hbE5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKFByb2NlZHVyZU5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIlByb2NlZHVyZU5vZGUiLCJOb25UZXJtaW5hbE5vZGUiLCJpc0V4cG9ydGVkIiwiZXhwb3J0ZWQiLCJ0b2tlblR5cGUiLCJQUklNQVJZX0tFWVdPUkRfVE9LRU5fVFlQRSIsInNvbWVUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIkVYUE9SVCIsImdldFR5cGVOb2RlIiwicnVsZU5hbWUiLCJUWVBFX1JVTEVfTkFNRSIsImxhYmVsTm9kZSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZ2V0TGFiZWxOb2RlIiwiTEFCRUxfUlVMRV9OQU1FIiwiZ2V0UGFyYW1ldGVyc05vZGUiLCJQQVJBTUVURVJTX1JVTEVfTkFNRSIsInBhcmFtZXRlcnNOb2RlIiwiZ2V0UmV0dXJuQmxvY2tOb2RlIiwiUkVUVVJOX0JMT0NLX1JVTEVfTkFNRSIsInJldHVybkJsb2NrTm9kZSIsIm1hdGNoTGFiZWxOb2RlIiwibGFiZWxOb2RlTWF0Y2hlcyIsImxhYmVsTm9kZUEiLCJsYWJlbE5vZGVCIiwibWF0Y2giLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVFBOzs7ZUFBcUJBOzs7Z0NBTlc7MkJBRVQ7NEJBQ29COzJCQUNtRDtBQUUvRSxNQUFNQSxzQkFBc0JDLCtCQUFlO0lBQ3hEQyxhQUFhO1FBQ1gsSUFBSUMsV0FBVztRQUVmLE1BQU1DLFlBQVlDLHNDQUEwQjtRQUU1QyxJQUFJLENBQUNDLGdCQUFnQixDQUFDLENBQUNDO1lBQ3JCLE1BQU1DLFVBQVVELGFBQWFFLFVBQVU7WUFFdkMsSUFBSUQsWUFBWUUsaUJBQU0sRUFBRTtnQkFDdEJQLFdBQVc7Z0JBRVgsT0FBTztZQUNUO1FBQ0YsR0FBR0M7UUFFSCxPQUFPRDtJQUNUO0lBRUFRLGNBQWM7UUFDWixNQUFNQyxXQUFXQyx5QkFBYyxFQUN6QkMsWUFBWSxJQUFJLENBQUNDLGlCQUFpQixDQUFDSDtRQUV6QyxPQUFPRTtJQUNUO0lBRUFFLGVBQWU7UUFDYixNQUFNSixXQUFXSywwQkFBZSxFQUMxQkgsWUFBWSxJQUFJLENBQUNDLGlCQUFpQixDQUFDSDtRQUV6QyxPQUFPRTtJQUNUO0lBRUFJLG9CQUFvQjtRQUNsQixNQUFNTixXQUFXTywrQkFBb0IsRUFDL0JDLGlCQUFpQixJQUFJLENBQUNMLGlCQUFpQixDQUFDSDtRQUU5QyxPQUFPUTtJQUNUO0lBRUFDLHFCQUFxQjtRQUNuQixNQUFNVCxXQUFXVSxpQ0FBc0IsRUFDakNDLGtCQUFrQixJQUFJLENBQUNSLGlCQUFpQixDQUFDSDtRQUUvQyxPQUFPVztJQUNUO0lBRUFDLGVBQWVWLFNBQVMsRUFBRTtRQUN4QixJQUFJVztRQUVKLE1BQU1DLGFBQWFaLFdBQVcsR0FBRztRQUVqQ0EsWUFBWSxJQUFJLENBQUNFLFlBQVk7UUFFN0IsTUFBTVcsYUFBYWIsV0FBVyxHQUFHO1FBRWpDVyxtQkFBbUJDLFdBQVdFLEtBQUssQ0FBQ0QsYUFBYyxHQUFHO1FBRXJELE9BQU9GO0lBQ1Q7SUFFQSxPQUFPSSwyQ0FBMkNqQixRQUFRLEVBQUVrQixVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFO1FBQUUsT0FBTy9CLCtCQUFlLENBQUM0QiwwQ0FBMEMsQ0FBQzdCLGVBQWVZLFVBQVVrQixZQUFZQyxTQUFTQztJQUFhO0FBQzlOIn0=