occam-furtle 1.0.12 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,130 @@
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 _default;
9
+ }
10
+ });
11
+ var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
+ var _query = require("../utilities/query");
13
+ function _class_call_check(instance, Constructor) {
14
+ if (!(instance instanceof Constructor)) {
15
+ throw new TypeError("Cannot call a class as a function");
16
+ }
17
+ }
18
+ function _defineProperties(target, props) {
19
+ for(var i = 0; i < props.length; i++){
20
+ var descriptor = props[i];
21
+ descriptor.enumerable = descriptor.enumerable || false;
22
+ descriptor.configurable = true;
23
+ if ("value" in descriptor) descriptor.writable = true;
24
+ Object.defineProperty(target, descriptor.key, descriptor);
25
+ }
26
+ }
27
+ function _create_class(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ return Constructor;
31
+ }
32
+ function _define_property(obj, key, value) {
33
+ if (key in obj) {
34
+ Object.defineProperty(obj, key, {
35
+ value: value,
36
+ enumerable: true,
37
+ configurable: true,
38
+ writable: true
39
+ });
40
+ } else {
41
+ obj[key] = value;
42
+ }
43
+ return obj;
44
+ }
45
+ function _getRequireWildcardCache(nodeInterop) {
46
+ if (typeof WeakMap !== "function") return null;
47
+ var cacheBabelInterop = new WeakMap();
48
+ var cacheNodeInterop = new WeakMap();
49
+ return (_getRequireWildcardCache = function(nodeInterop) {
50
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
51
+ })(nodeInterop);
52
+ }
53
+ function _interop_require_wildcard(obj, nodeInterop) {
54
+ if (!nodeInterop && obj && obj.__esModule) {
55
+ return obj;
56
+ }
57
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
58
+ return {
59
+ default: obj
60
+ };
61
+ }
62
+ var cache = _getRequireWildcardCache(nodeInterop);
63
+ if (cache && cache.has(obj)) {
64
+ return cache.get(obj);
65
+ }
66
+ var newObj = {
67
+ __proto__: null
68
+ };
69
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
+ for(var key in obj){
71
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
73
+ if (desc && (desc.get || desc.set)) {
74
+ Object.defineProperty(newObj, key, desc);
75
+ } else {
76
+ newObj[key] = obj[key];
77
+ }
78
+ }
79
+ }
80
+ newObj.default = obj;
81
+ if (cache) {
82
+ cache.set(obj, newObj);
83
+ }
84
+ return newObj;
85
+ }
86
+ var _Parameter;
87
+ var typeTerminalNodeQuery = (0, _query.nodeQuery)("/parameter/@type");
88
+ var _default = (0, _dom.domAssigned)((_Parameter = /*#__PURE__*/ function() {
89
+ function Parameter(type, variable) {
90
+ _class_call_check(this, Parameter);
91
+ this.type = type;
92
+ this.variable = variable;
93
+ }
94
+ _create_class(Parameter, [
95
+ {
96
+ key: "getType",
97
+ value: function getType() {
98
+ return this.type;
99
+ }
100
+ },
101
+ {
102
+ key: "getVariable",
103
+ value: function getVariable() {
104
+ return this.variable;
105
+ }
106
+ },
107
+ {
108
+ key: "getString",
109
+ value: function getString() {
110
+ var typeString = this.type, variableString = this.variable.getString(), string = "".concat(typeString, " ").concat(variableString);
111
+ return string;
112
+ }
113
+ }
114
+ ], [
115
+ {
116
+ key: "fromParameterNode",
117
+ value: function fromParameterNode(parameterNode, context) {
118
+ var Variable = _dom.default.Variable, type = typeFromParameterNode(parameterNode), variable = Variable.fromParameterNode(parameterNode, context), parameter = new Parameter(type, variable);
119
+ return parameter;
120
+ }
121
+ }
122
+ ]);
123
+ return Parameter;
124
+ }(), _define_property(_Parameter, "name", "Parameter"), _Parameter));
125
+ function typeFromParameterNode(parameterNode) {
126
+ var typeTerminalNode = typeTerminalNodeQuery(parameterNode), typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
127
+ return type;
128
+ }
129
+
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcGFyYW1ldGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wYXJhbWV0ZXIvQHR5cGVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFBhcmFtZXRlciB7XG4gIGNvbnN0cnVjdG9yKHR5cGUsIHZhcmlhYmxlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHRoaXMudmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHt2YXJpYWJsZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQYXJhbWV0ZXJcIjtcblxuICBzdGF0aWMgZnJvbVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVBhcmFtZXRlck5vZGUocGFyYW1ldGVyTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgcGFyYW1ldGVyID0gbmV3IFBhcmFtZXRlcih0eXBlLCB2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gcGFyYW1ldGVyO1xuICB9XG59KTtcblxuZnVuY3Rpb24gdHlwZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpIHtcbiAgY29uc3QgdHlwZVRlcm1pbmFsTm9kZSA9IHR5cGVUZXJtaW5hbE5vZGVRdWVyeShwYXJhbWV0ZXJOb2RlKSxcbiAgICAgICAgdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0eXBlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgdHlwZSA9IHR5cGVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gdHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJ0eXBlVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlBhcmFtZXRlciIsInR5cGUiLCJ2YXJpYWJsZSIsImdldFR5cGUiLCJnZXRWYXJpYWJsZSIsImdldFN0cmluZyIsInR5cGVTdHJpbmciLCJ2YXJpYWJsZVN0cmluZyIsInN0cmluZyIsImZyb21QYXJhbWV0ZXJOb2RlIiwicGFyYW1ldGVyTm9kZSIsImNvbnRleHQiLCJWYXJpYWJsZSIsImRvbSIsInR5cGVGcm9tUGFyYW1ldGVyTm9kZSIsInBhcmFtZXRlciIsIm5hbWUiLCJ0eXBlVGVybWluYWxOb2RlIiwidHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OzsyREFQZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLElBQUksRUFBRUMsUUFBUTtnQ0FES0Y7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBOzs7O1lBR2xCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFFBQVE7WUFDdEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYSxJQUFJLENBQUNMLElBQUksRUFDdEJNLGlCQUFpQixJQUFJLENBQUNMLFFBQVEsQ0FBQ0csU0FBUyxJQUN4Q0csU0FBUyxBQUFDLEdBQWdCRCxPQUFkRCxZQUFXLEtBQWtCLE9BQWZDO2dCQUVoQyxPQUFPQztZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQkMsYUFBYSxFQUFFQyxPQUFPO2dCQUM3QyxJQUFNLEFBQUVDLFdBQWFDLFlBQUcsQ0FBaEJELFVBQ0ZYLE9BQU9hLHNCQUFzQkosZ0JBQzdCUixXQUFXVSxTQUFTSCxpQkFBaUIsQ0FBQ0MsZUFBZUMsVUFDckRJLFlBQVksSUFBSWYsVUFBVUMsTUFBTUM7Z0JBRXRDLE9BQU9hO1lBQ1Q7Ozs7S0FUQSw2QkFBT0MsUUFBTztBQVloQixTQUFTRixzQkFBc0JKLGFBQWE7SUFDMUMsSUFBTU8sbUJBQW1CcEIsc0JBQXNCYSxnQkFDekNRLDBCQUEwQkQsaUJBQWlCRSxVQUFVLElBQ3JEbEIsT0FBT2lCLHlCQUF5QixHQUFHO0lBRXpDLE9BQU9qQjtBQUNUIn0=
@@ -84,13 +84,13 @@ function _interop_require_wildcard(obj, nodeInterop) {
84
84
  return newObj;
85
85
  }
86
86
  var _Procedure;
87
- var typeTerminalNodeQuery = (0, _query.nodeQuery)("/procedureDeclaration/@type");
87
+ var parameterNodesQuery = (0, _query.nodesQuery)("/procedureDeclaration/parameter"), typeTerminalNodeQuery = (0, _query.nodeQuery)("/procedureDeclaration/@type");
88
88
  var _default = (0, _dom.domAssigned)((_Procedure = /*#__PURE__*/ function() {
89
- function Procedure(type, label, args) {
89
+ function Procedure(type, label, parameters) {
90
90
  _class_call_check(this, Procedure);
91
91
  this.type = type;
92
92
  this.label = label;
93
- this.arguments = _arguments; ///
93
+ this.paramters = parameters;
94
94
  }
95
95
  _create_class(Procedure, [
96
96
  {
@@ -105,10 +105,16 @@ var _default = (0, _dom.domAssigned)((_Procedure = /*#__PURE__*/ function() {
105
105
  return this.label;
106
106
  }
107
107
  },
108
+ {
109
+ key: "getParameters",
110
+ value: function getParameters() {
111
+ return this.paramters;
112
+ }
113
+ },
108
114
  {
109
115
  key: "getString",
110
116
  value: function getString() {
111
- var typeString = this.type, labelString = this.label.getString(), string = "".concat(typeString, " ").concat(labelString);
117
+ var typeString = this.type, labelString = this.label.getString(), parametersString = parametersStringFromParameters(this.parameters), string = "".concat(typeString, " ").concat(labelString, "(").concat(parametersString, ")");
112
118
  return string;
113
119
  }
114
120
  }
@@ -116,16 +122,31 @@ var _default = (0, _dom.domAssigned)((_Procedure = /*#__PURE__*/ function() {
116
122
  {
117
123
  key: "fromProcedureDeclarationNode",
118
124
  value: function fromProcedureDeclarationNode(procedureDeclarationNode, context) {
119
- var Label = _dom.default.Label, type = typeFromProcedureDeclarationNode(procedureDeclarationNode), label = Label.fromProcedureDeclarationNode(procedureDeclarationNode, context), procedureDeclaration = new Procedure(type, label);
125
+ var Label = _dom.default.Label, type = typeFromProcedureDeclarationNode(procedureDeclarationNode), label = Label.fromProcedureDeclarationNode(procedureDeclarationNode, context), parameters = parametersFromProcedureDeclarationNode(procedureDeclarationNode, context), procedureDeclaration = new Procedure(type, label, parameters);
120
126
  return procedureDeclaration;
121
127
  }
122
128
  }
123
129
  ]);
124
130
  return Procedure;
125
131
  }(), _define_property(_Procedure, "name", "Procedure"), _Procedure));
132
+ function parametersFromProcedureDeclarationNode(procedureDeclarationNode, context) {
133
+ var Parameter = _dom.default.Parameter, parameterNodes = parameterNodesQuery(procedureDeclarationNode), parameters = parameterNodes.map(function(parameterNode) {
134
+ var parameter = Parameter.fromParameterNode(parameterNode, context);
135
+ return parameter;
136
+ });
137
+ return parameters;
138
+ }
126
139
  function typeFromProcedureDeclarationNode(procedureDeclarationNode) {
127
140
  var typeTerminalNode = typeTerminalNodeQuery(procedureDeclarationNode), typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
128
141
  return type;
129
142
  }
143
+ function parametersStringFromParameters(parameters) {
144
+ var parametersString = parameters.reduce(function(parametersString, parameter) {
145
+ var parameterString = parameter.getString();
146
+ parametersString = parametersString === null ? parameterString : "".concat(parametersString, " ,").concat(parameterString);
147
+ return parametersString;
148
+ }, null);
149
+ return parametersString;
150
+ }
130
151
 
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVEZWNsYXJhdGlvbi9AdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvY2VkdXJlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgbGFiZWwsIGFyZ3MpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLmFyZ3VtZW50cyA9IF9hcmd1bWVudHM7ICAvLy9cbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldExhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUsIC8vL1xuICAgICAgICAgIGxhYmVsU3RyaW5nID0gdGhpcy5sYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBzdHJpbmcgPSBgJHt0eXBlU3RyaW5nfSAke2xhYmVsU3RyaW5nfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlByb2NlZHVyZVwiO1xuXG4gIHN0YXRpYyBmcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgTGFiZWwgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgICBsYWJlbCA9IExhYmVsLmZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBwcm9jZWR1cmVEZWNsYXJhdGlvbiA9IG5ldyBQcm9jZWR1cmUodHlwZSwgbGFiZWwpO1xuXG4gICAgcmV0dXJuIHByb2NlZHVyZURlY2xhcmF0aW9uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gdHlwZUZyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSB7XG4gIGNvbnN0IHR5cGVUZXJtaW5hbE5vZGUgPSB0eXBlVGVybWluYWxOb2RlUXVlcnkocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0eXBlVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgdHlwZSA9IHR5cGVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gdHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJ0eXBlVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlByb2NlZHVyZSIsInR5cGUiLCJsYWJlbCIsImFyZ3MiLCJhcmd1bWVudHMiLCJfYXJndW1lbnRzIiwiZ2V0VHlwZSIsImdldExhYmVsIiwiZ2V0U3RyaW5nIiwidHlwZVN0cmluZyIsImxhYmVsU3RyaW5nIiwic3RyaW5nIiwiZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsImNvbnRleHQiLCJMYWJlbCIsImRvbSIsInR5cGVGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwicHJvY2VkdXJlRGVjbGFyYXRpb24iLCJuYW1lIiwidHlwZVRlcm1pbmFsTm9kZSIsInR5cGVUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7MkRBUGdCO3FCQUVVOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHMUIsSUFBTUEsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDO0lBRXhDLFdBQWVDLElBQUFBLGdCQUFXLDhCQUFDO2FBQU1DLFVBQ25CQyxJQUFJLEVBQUVDLEtBQUssRUFBRUMsSUFBSTtnQ0FERUg7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDRSxTQUFTLEdBQUdDLFlBQWEsR0FBRzs7OztZQUduQ0MsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxJQUFJO1lBQ2xCOzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDTCxLQUFLO1lBQ25COzs7WUFFQU0sS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLGFBQWEsSUFBSSxDQUFDUixJQUFJLEVBQ3RCUyxjQUFjLElBQUksQ0FBQ1IsS0FBSyxDQUFDTSxTQUFTLElBQ2xDRyxTQUFTLEFBQUMsR0FBZ0JELE9BQWRELFlBQVcsS0FBZSxPQUFaQztnQkFFaEMsT0FBT0M7WUFDVDs7OztZQUlPQyxLQUFBQTttQkFBUCxTQUFPQSw2QkFBNkJDLHdCQUF3QixFQUFFQyxPQUFPO2dCQUNuRSxJQUFNLEFBQUVDLFFBQVVDLFlBQUcsQ0FBYkQsT0FDRmQsT0FBT2dCLGlDQUFpQ0osMkJBQ3hDWCxRQUFRYSxNQUFNSCw0QkFBNEIsQ0FBQ0MsMEJBQTBCQyxVQUNyRUksdUJBQXVCLElBQUlsQixVQUFVQyxNQUFNQztnQkFFakQsT0FBT2dCO1lBQ1Q7Ozs7S0FUQSw2QkFBT0MsUUFBTztBQVloQixTQUFTRixpQ0FBaUNKLHdCQUF3QjtJQUNoRSxJQUFNTyxtQkFBbUJ2QixzQkFBc0JnQiwyQkFDekNRLDBCQUEwQkQsaUJBQWlCRSxVQUFVLElBQ3JEckIsT0FBT29CLHlCQUF5QixHQUFHO0lBRXpDLE9BQU9wQjtBQUNUIn0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcHJvY2VkdXJlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHBhcmFtZXRlck5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3Byb2NlZHVyZURlY2xhcmF0aW9uL3BhcmFtZXRlclwiKSxcbiAgICAgIHR5cGVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9wcm9jZWR1cmVEZWNsYXJhdGlvbi9AdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUHJvY2VkdXJlIHtcbiAgY29uc3RydWN0b3IodHlwZSwgbGFiZWwsIHBhcmFtZXRlcnMpIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLnBhcmFtdGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbDtcbiAgfVxuXG4gIGdldFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW10ZXJzO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IHR5cGVTdHJpbmcgPSB0aGlzLnR5cGUsIC8vL1xuICAgICAgICAgIGxhYmVsU3RyaW5nID0gdGhpcy5sYWJlbC5nZXRTdHJpbmcoKSxcbiAgICAgICAgICBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVyc1N0cmluZ0Zyb21QYXJhbWV0ZXJzKHRoaXMucGFyYW1ldGVycyksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHtsYWJlbFN0cmluZ30oJHtwYXJhbWV0ZXJzU3RyaW5nfSlgO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJQcm9jZWR1cmVcIjtcblxuICBzdGF0aWMgZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB7IExhYmVsIH0gPSBkb20sXG4gICAgICAgICAgdHlwZSA9IHR5cGVGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgICAgbGFiZWwgPSBMYWJlbC5mcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgICAgcHJvY2VkdXJlRGVjbGFyYXRpb24gPSBuZXcgUHJvY2VkdXJlKHR5cGUsIGxhYmVsLCBwYXJhbWV0ZXJzKTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVEZWNsYXJhdGlvbjtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHBhcmFtZXRlcnNGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKHByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFBhcmFtZXRlciB9ID0gZG9tLFxuICAgICAgICBwYXJhbWV0ZXJOb2RlcyA9IHBhcmFtZXRlck5vZGVzUXVlcnkocHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlKSxcbiAgICAgICAgcGFyYW1ldGVycyA9IHBhcmFtZXRlck5vZGVzLm1hcCgocGFyYW1ldGVyTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IFBhcmFtZXRlci5mcm9tUGFyYW1ldGVyTm9kZShwYXJhbWV0ZXJOb2RlLCBjb250ZXh0KTtcblxuICAgICAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBwYXJhbWV0ZXJzO1xufVxuXG5mdW5jdGlvbiB0eXBlRnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUpIHtcbiAgY29uc3QgdHlwZVRlcm1pbmFsTm9kZSA9IHR5cGVUZXJtaW5hbE5vZGVRdWVyeShwcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0eXBlVGVybWluYWxOb2RlQ29udGVudCA9IHR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICB0eXBlID0gdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiB0eXBlO1xufVxuXG5mdW5jdGlvbiBwYXJhbWV0ZXJzU3RyaW5nRnJvbVBhcmFtZXRlcnMocGFyYW1ldGVycykge1xuICBjb25zdCBwYXJhbWV0ZXJzU3RyaW5nID0gcGFyYW1ldGVycy5yZWR1Y2UoKHBhcmFtZXRlcnNTdHJpbmcsIHBhcmFtZXRlcikgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKTtcblxuICAgIHBhcmFtZXRlcnNTdHJpbmcgPSAocGFyYW1ldGVyc1N0cmluZyA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlclN0cmluZyA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgICBgJHtwYXJhbWV0ZXJzU3RyaW5nfSAsJHtwYXJhbWV0ZXJTdHJpbmd9YDtcblxuICAgIHJldHVybiBwYXJhbWV0ZXJzU3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gcGFyYW1ldGVyc1N0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJwYXJhbWV0ZXJOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsInR5cGVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiUHJvY2VkdXJlIiwidHlwZSIsImxhYmVsIiwicGFyYW1ldGVycyIsInBhcmFtdGVycyIsImdldFR5cGUiLCJnZXRMYWJlbCIsImdldFBhcmFtZXRlcnMiLCJnZXRTdHJpbmciLCJ0eXBlU3RyaW5nIiwibGFiZWxTdHJpbmciLCJwYXJhbWV0ZXJzU3RyaW5nIiwicGFyYW1ldGVyc1N0cmluZ0Zyb21QYXJhbWV0ZXJzIiwic3RyaW5nIiwiZnJvbVByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsInByb2NlZHVyZURlY2xhcmF0aW9uTm9kZSIsImNvbnRleHQiLCJMYWJlbCIsImRvbSIsInR5cGVGcm9tUHJvY2VkdXJlRGVjbGFyYXRpb25Ob2RlIiwicGFyYW1ldGVyc0Zyb21Qcm9jZWR1cmVEZWNsYXJhdGlvbk5vZGUiLCJwcm9jZWR1cmVEZWNsYXJhdGlvbiIsIm5hbWUiLCJQYXJhbWV0ZXIiLCJwYXJhbWV0ZXJOb2RlcyIsIm1hcCIsInBhcmFtZXRlck5vZGUiLCJwYXJhbWV0ZXIiLCJmcm9tUGFyYW1ldGVyTm9kZSIsInR5cGVUZXJtaW5hbE5vZGUiLCJ0eXBlVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJyZWR1Y2UiLCJwYXJhbWV0ZXJTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVVBOzs7ZUFBQTs7OzJEQVJnQjtxQkFHc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV0QyxJQUFNQSxzQkFBc0JDLElBQUFBLGlCQUFVLEVBQUMsb0NBQ2pDQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUMsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxVQUFVO2dDQURKSDtRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNFLFNBQVMsR0FBR0Q7Ozs7WUFHbkJFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osSUFBSTtZQUNsQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0osS0FBSztZQUNuQjs7O1lBRUFLLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsU0FBUztZQUN2Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxhQUFhLElBQUksQ0FBQ1IsSUFBSSxFQUN0QlMsY0FBYyxJQUFJLENBQUNSLEtBQUssQ0FBQ00sU0FBUyxJQUNsQ0csbUJBQW1CQywrQkFBK0IsSUFBSSxDQUFDVCxVQUFVLEdBQ2pFVSxTQUFTLEFBQUMsR0FBZ0JILE9BQWRELFlBQVcsS0FBa0JFLE9BQWZELGFBQVksS0FBb0IsT0FBakJDLGtCQUFpQjtnQkFFaEUsT0FBT0U7WUFDVDs7OztZQUlPQyxLQUFBQTttQkFBUCxTQUFPQSw2QkFBNkJDLHdCQUF3QixFQUFFQyxPQUFPO2dCQUNuRSxJQUFNLEFBQUVDLFFBQVVDLFlBQUcsQ0FBYkQsT0FDRmhCLE9BQU9rQixpQ0FBaUNKLDJCQUN4Q2IsUUFBUWUsTUFBTUgsNEJBQTRCLENBQUNDLDBCQUEwQkMsVUFDckViLGFBQWFpQix1Q0FBdUNMLDBCQUEwQkMsVUFDOUVLLHVCQUF1QixJQUFJckIsVUFBVUMsTUFBTUMsT0FBT0M7Z0JBRXhELE9BQU9rQjtZQUNUOzs7O0tBVkEsNkJBQU9DLFFBQU87QUFhaEIsU0FBU0YsdUNBQXVDTCx3QkFBd0IsRUFBRUMsT0FBTztJQUMvRSxJQUFNLEFBQUVPLFlBQWNMLFlBQUcsQ0FBakJLLFdBQ0ZDLGlCQUFpQjdCLG9CQUFvQm9CLDJCQUNyQ1osYUFBYXFCLGVBQWVDLEdBQUcsQ0FBQyxTQUFDQztRQUMvQixJQUFNQyxZQUFZSixVQUFVSyxpQkFBaUIsQ0FBQ0YsZUFBZVY7UUFFN0QsT0FBT1c7SUFDVDtJQUVOLE9BQU94QjtBQUNUO0FBRUEsU0FBU2dCLGlDQUFpQ0osd0JBQXdCO0lBQ2hFLElBQU1jLG1CQUFtQmhDLHNCQUFzQmtCLDJCQUN6Q2UsMEJBQTBCRCxpQkFBaUJFLFVBQVUsSUFDckQ5QixPQUFPNkIseUJBQXlCLEdBQUc7SUFFekMsT0FBTzdCO0FBQ1Q7QUFFQSxTQUFTVywrQkFBK0JULFVBQVU7SUFDaEQsSUFBTVEsbUJBQW1CUixXQUFXNkIsTUFBTSxDQUFDLFNBQUNyQixrQkFBa0JnQjtRQUM1RCxJQUFNTSxrQkFBa0JOLFVBQVVuQixTQUFTO1FBRTNDRyxtQkFBbUIsQUFBQ0EscUJBQXFCLE9BQ3BCc0Isa0JBQ0MsQUFBQyxHQUF1QkEsT0FBckJ0QixrQkFBaUIsTUFBb0IsT0FBaEJzQjtRQUU5QyxPQUFPdEI7SUFDVCxHQUFHO0lBRUgsT0FBT0E7QUFDVCJ9
@@ -43,7 +43,7 @@ function _define_property(obj, key, value) {
43
43
  return obj;
44
44
  }
45
45
  var _Variable;
46
- var nameTerminalNodeQuery = (0, _query.nodeQuery)("/variable/@name");
46
+ var nameTerminalNodeQuery = (0, _query.nodeQuery)("/parameter/variable/@name");
47
47
  var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
48
48
  function Variable(name) {
49
49
  _class_call_check(this, Variable);
@@ -65,18 +65,18 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
65
65
  }
66
66
  ], [
67
67
  {
68
- key: "fromArgumentNode",
69
- value: function fromArgumentNode(argumentNode, context) {
70
- var name = nameFromArgumentNode(argumentNode), variable = new Variable(name);
68
+ key: "fromParameterNode",
69
+ value: function fromParameterNode(parameterNode, context) {
70
+ var name = nameFromParameterNode(parameterNode), variable = new Variable(name);
71
71
  return variable;
72
72
  }
73
73
  }
74
74
  ]);
75
75
  return Variable;
76
76
  }(), _define_property(_Variable, "name", "Variable"), _Variable));
77
- function nameFromArgumentNode(argumentNode) {
78
- var nameTerminalNode = nameTerminalNodeQuery(argumentNode), nameTerminalNodeContent = nameTerminalNode.getContent(), name = nameTerminalNodeContent; ///
77
+ function nameFromParameterNode(parameterNode) {
78
+ var nameTerminalNode = nameTerminalNodeQuery(parameterNode), nameTerminalNodeContent = nameTerminalNode.getContent(), name = nameTerminalNodeContent; ///
79
79
  return name;
80
80
  }
81
81
 
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBuYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGUvQG5hbWVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIFZhcmlhYmxlIHtcbiAgY29uc3RydWN0b3IobmFtZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gdGhpcy5uYW1lOyAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiVmFyaWFibGVcIjtcblxuICBzdGF0aWMgZnJvbUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBuYW1lID0gbmFtZUZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShuYW1lKTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5hbWVGcm9tQXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSkge1xuICBjb25zdCBuYW1lVGVybWluYWxOb2RlID0gbmFtZVRlcm1pbmFsTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSksXG4gICAgICAgIG5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gbmFtZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIG5hbWUgPSBuYW1lVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG4iXSwibmFtZXMiOlsibmFtZVRlcm1pbmFsTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJWYXJpYWJsZSIsIm5hbWUiLCJnZXRUeXBlIiwiZ2V0U3RyaW5nIiwic3RyaW5nIiwiZnJvbUFyZ3VtZW50Tm9kZSIsImFyZ3VtZW50Tm9kZSIsImNvbnRleHQiLCJuYW1lRnJvbUFyZ3VtZW50Tm9kZSIsInZhcmlhYmxlIiwibmFtZVRlcm1pbmFsTm9kZSIsIm5hbWVUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBT0E7OztlQUFBOzs7cUJBTDBCO21CQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTVCLElBQU1BLHdCQUF3QkMsSUFBQUEsZ0JBQVMsRUFBQztJQUV4QyxXQUFlQyxJQUFBQSxnQkFBVyw2QkFBQzthQUFNQyxTQUNuQkMsSUFBSTtnQ0FEZUQ7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOzs7O1lBR2RDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0QsSUFBSTtZQUNsQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxTQUFTLElBQUksQ0FBQ0gsSUFBSSxFQUFFLEdBQUc7Z0JBRTdCLE9BQU9HO1lBQ1Q7Ozs7WUFJT0MsS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCQyxZQUFZLEVBQUVDLE9BQU87Z0JBQzNDLElBQU1OLE9BQU9PLHFCQUFxQkYsZUFDNUJHLFdBQVcsSUFBSVQsU0FBU0M7Z0JBRTlCLE9BQU9RO1lBQ1Q7Ozs7S0FQQSw0QkFBT1IsUUFBTztBQVVoQixTQUFTTyxxQkFBcUJGLFlBQVk7SUFDeEMsSUFBTUksbUJBQW1CYixzQkFBc0JTLGVBQ3pDSywwQkFBMEJELGlCQUFpQkUsVUFBVSxJQUNyRFgsT0FBT1UseUJBQXlCLEdBQUc7SUFFekMsT0FBT1Y7QUFDVCJ9
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBuYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcGFyYW1ldGVyL3ZhcmlhYmxlL0BuYW1lXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5hbWUpIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMubmFtZTsgLy8vXG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlXCI7XG5cbiAgc3RhdGljIGZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBuYW1lID0gbmFtZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKG5hbWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59KTtcblxuZnVuY3Rpb24gbmFtZUZyb21QYXJhbWV0ZXJOb2RlKHBhcmFtZXRlck5vZGUpIHtcbiAgY29uc3QgbmFtZVRlcm1pbmFsTm9kZSA9IG5hbWVUZXJtaW5hbE5vZGVRdWVyeShwYXJhbWV0ZXJOb2RlKSxcbiAgICAgICAgbmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSBuYW1lVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbmFtZSA9IG5hbWVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gbmFtZTtcbn1cbiJdLCJuYW1lcyI6WyJuYW1lVGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlIiwibmFtZSIsImdldFR5cGUiLCJnZXRTdHJpbmciLCJzdHJpbmciLCJmcm9tUGFyYW1ldGVyTm9kZSIsInBhcmFtZXRlck5vZGUiLCJjb250ZXh0IiwibmFtZUZyb21QYXJhbWV0ZXJOb2RlIiwidmFyaWFibGUiLCJuYW1lVGVybWluYWxOb2RlIiwibmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPQTs7O2VBQUE7OztxQkFMMEI7bUJBQ0U7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsSUFBTUEsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDO0lBRXhDLFdBQWVDLElBQUFBLGdCQUFXLDZCQUFDO2FBQU1DLFNBQ25CQyxJQUFJO2dDQURlRDtRQUU3QixJQUFJLENBQUNDLElBQUksR0FBR0E7Ozs7WUFHZEMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRCxJQUFJO1lBQ2xCOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFNBQVMsSUFBSSxDQUFDSCxJQUFJLEVBQUUsR0FBRztnQkFFN0IsT0FBT0c7WUFDVDs7OztZQUlPQyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JDLGFBQWEsRUFBRUMsT0FBTztnQkFDN0MsSUFBTU4sT0FBT08sc0JBQXNCRixnQkFDN0JHLFdBQVcsSUFBSVQsU0FBU0M7Z0JBRTlCLE9BQU9RO1lBQ1Q7Ozs7S0FQQSw0QkFBT1IsUUFBTztBQVVoQixTQUFTTyxzQkFBc0JGLGFBQWE7SUFDMUMsSUFBTUksbUJBQW1CYixzQkFBc0JTLGdCQUN6Q0ssMEJBQTBCRCxpQkFBaUJFLFVBQVUsSUFDckRYLE9BQU9VLHlCQUF5QixHQUFHO0lBRXpDLE9BQU9WO0FBQ1QifQ==
package/lib/index.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  var _label = /*#__PURE__*/ _interop_require_default(require("./dom/label"));
6
6
  var _variable = /*#__PURE__*/ _interop_require_default(require("./dom/variable"));
7
- var _argument = /*#__PURE__*/ _interop_require_default(require("./dom/argument"));
7
+ var _parameter = /*#__PURE__*/ _interop_require_default(require("./dom/parameter"));
8
8
  var _reference = /*#__PURE__*/ _interop_require_default(require("./dom/reference"));
9
9
  var _procedure = /*#__PURE__*/ _interop_require_default(require("./dom/procedure"));
10
10
  var _procedure1 = /*#__PURE__*/ _interop_require_default(require("./dom/declaration/procedure"));
@@ -15,4 +15,4 @@ function _interop_require_default(obj) {
15
15
  };
16
16
  }
17
17
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2RvbS9sYWJlbFwiO1xuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuL2RvbS92YXJpYWJsZVwiO1xuaW1wb3J0IEFyZ3VtZW50IGZyb20gXCIuL2RvbS9hcmd1bWVudFwiO1xuaW1wb3J0IFJlZmVyZW5jZSBmcm9tIFwiLi9kb20vcmVmZXJlbmNlXCI7XG5pbXBvcnQgUHJvY2VkdXJlIGZyb20gXCIuL2RvbS9wcm9jZWR1cmVcIjtcbmltcG9ydCBQcm9jZWR1cmVEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vcHJvY2VkdXJlXCI7XG5pbXBvcnQgVmFyaWFibGVzRGVjbGFyYXRpb24gZnJvbSBcIi4vZG9tL2RlY2xhcmF0aW9uL3ZhcmlhYmxlc1wiO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OzREQUVrQjsrREFDRzsrREFDQTtnRUFDQztnRUFDQTtpRUFDVztnRUFDQSJ9
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExhYmVsIGZyb20gXCIuL2RvbS9sYWJlbFwiO1xuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuL2RvbS92YXJpYWJsZVwiO1xuaW1wb3J0IFBhcmFtZXRlciBmcm9tIFwiLi9kb20vcGFyYW1ldGVyXCI7XG5pbXBvcnQgUmVmZXJlbmNlIGZyb20gXCIuL2RvbS9yZWZlcmVuY2VcIjtcbmltcG9ydCBQcm9jZWR1cmUgZnJvbSBcIi4vZG9tL3Byb2NlZHVyZVwiO1xuaW1wb3J0IFByb2NlZHVyZURlY2xhcmF0aW9uIGZyb20gXCIuL2RvbS9kZWNsYXJhdGlvbi9wcm9jZWR1cmVcIjtcbmltcG9ydCBWYXJpYWJsZXNEZWNsYXJhdGlvbiBmcm9tIFwiLi9kb20vZGVjbGFyYXRpb24vdmFyaWFibGVzXCI7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7NERBRWtCOytEQUNHO2dFQUNDO2dFQUNBO2dFQUNBO2lFQUNXO2dFQUNBIn0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "1.0.12",
4
+ "version": "1.0.13",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "necessary": "^14.2.1",
14
- "occam-grammars": "^1.3.19",
14
+ "occam-grammars": "^1.3.21",
15
15
  "occam-query": "^4.1.8"
16
16
  },
17
17
  "devDependencies": {
@@ -5,9 +5,9 @@ import dom from "../dom";
5
5
  import { nodeQuery } from "../utilities/query";
6
6
  import { domAssigned } from "../dom";
7
7
 
8
- const typeTerminalNodeQuery = nodeQuery("/argument/@type");
8
+ const typeTerminalNodeQuery = nodeQuery("/parameter/@type");
9
9
 
10
- export default domAssigned(class Argument {
10
+ export default domAssigned(class Parameter {
11
11
  constructor(type, variable) {
12
12
  this.type = type;
13
13
  this.variable = variable;
@@ -29,20 +29,20 @@ export default domAssigned(class Argument {
29
29
  return string;
30
30
  }
31
31
 
32
- static name = "Argument";
32
+ static name = "Parameter";
33
33
 
34
- static fromArgumentNode(argumentNode, context) {
34
+ static fromParameterNode(parameterNode, context) {
35
35
  const { Variable } = dom,
36
- type = typeFromArgumentNode(argumentNode),
37
- variable = Variable.fromArgumentNode(argumentNode, context),
38
- argument = new Argument(type, variable);
36
+ type = typeFromParameterNode(parameterNode),
37
+ variable = Variable.fromParameterNode(parameterNode, context),
38
+ parameter = new Parameter(type, variable);
39
39
 
40
- return argument;
40
+ return parameter;
41
41
  }
42
42
  });
43
43
 
44
- function typeFromArgumentNode(argumentNode) {
45
- const typeTerminalNode = typeTerminalNodeQuery(argumentNode),
44
+ function typeFromParameterNode(parameterNode) {
45
+ const typeTerminalNode = typeTerminalNodeQuery(parameterNode),
46
46
  typeTerminalNodeContent = typeTerminalNode.getContent(),
47
47
  type = typeTerminalNodeContent; ///
48
48
 
@@ -2,16 +2,17 @@
2
2
 
3
3
  import dom from "../dom";
4
4
 
5
- import { nodeQuery } from "../utilities/query";
6
5
  import { domAssigned } from "../dom";
6
+ import { nodeQuery, nodesQuery } from "../utilities/query";
7
7
 
8
- const typeTerminalNodeQuery = nodeQuery("/procedureDeclaration/@type");
8
+ const parameterNodesQuery = nodesQuery("/procedureDeclaration/parameter"),
9
+ typeTerminalNodeQuery = nodeQuery("/procedureDeclaration/@type");
9
10
 
10
11
  export default domAssigned(class Procedure {
11
- constructor(type, label, args) {
12
+ constructor(type, label, parameters) {
12
13
  this.type = type;
13
14
  this.label = label;
14
- this.arguments = _arguments; ///
15
+ this.paramters = parameters;
15
16
  }
16
17
 
17
18
  getType() {
@@ -22,10 +23,15 @@ export default domAssigned(class Procedure {
22
23
  return this.label;
23
24
  }
24
25
 
26
+ getParameters() {
27
+ return this.paramters;
28
+ }
29
+
25
30
  getString() {
26
31
  const typeString = this.type, ///
27
32
  labelString = this.label.getString(),
28
- string = `${typeString} ${labelString}`;
33
+ parametersString = parametersStringFromParameters(this.parameters),
34
+ string = `${typeString} ${labelString}(${parametersString})`;
29
35
 
30
36
  return string;
31
37
  }
@@ -36,12 +42,25 @@ export default domAssigned(class Procedure {
36
42
  const { Label } = dom,
37
43
  type = typeFromProcedureDeclarationNode(procedureDeclarationNode),
38
44
  label = Label.fromProcedureDeclarationNode(procedureDeclarationNode, context),
39
- procedureDeclaration = new Procedure(type, label);
45
+ parameters = parametersFromProcedureDeclarationNode(procedureDeclarationNode, context),
46
+ procedureDeclaration = new Procedure(type, label, parameters);
40
47
 
41
48
  return procedureDeclaration;
42
49
  }
43
50
  });
44
51
 
52
+ function parametersFromProcedureDeclarationNode(procedureDeclarationNode, context) {
53
+ const { Parameter } = dom,
54
+ parameterNodes = parameterNodesQuery(procedureDeclarationNode),
55
+ parameters = parameterNodes.map((parameterNode) => {
56
+ const parameter = Parameter.fromParameterNode(parameterNode, context);
57
+
58
+ return parameter;
59
+ });
60
+
61
+ return parameters;
62
+ }
63
+
45
64
  function typeFromProcedureDeclarationNode(procedureDeclarationNode) {
46
65
  const typeTerminalNode = typeTerminalNodeQuery(procedureDeclarationNode),
47
66
  typeTerminalNodeContent = typeTerminalNode.getContent(),
@@ -49,3 +68,17 @@ function typeFromProcedureDeclarationNode(procedureDeclarationNode) {
49
68
 
50
69
  return type;
51
70
  }
71
+
72
+ function parametersStringFromParameters(parameters) {
73
+ const parametersString = parameters.reduce((parametersString, parameter) => {
74
+ const parameterString = parameter.getString();
75
+
76
+ parametersString = (parametersString === null) ?
77
+ parameterString : ///
78
+ `${parametersString} ,${parameterString}`;
79
+
80
+ return parametersString;
81
+ }, null);
82
+
83
+ return parametersString;
84
+ }
@@ -3,7 +3,7 @@
3
3
  import { nodeQuery } from "../utilities/query";
4
4
  import { domAssigned } from "../dom";
5
5
 
6
- const nameTerminalNodeQuery = nodeQuery("/variable/@name");
6
+ const nameTerminalNodeQuery = nodeQuery("/parameter/variable/@name");
7
7
 
8
8
  export default domAssigned(class Variable {
9
9
  constructor(name) {
@@ -22,16 +22,16 @@ export default domAssigned(class Variable {
22
22
 
23
23
  static name = "Variable";
24
24
 
25
- static fromArgumentNode(argumentNode, context) {
26
- const name = nameFromArgumentNode(argumentNode),
25
+ static fromParameterNode(parameterNode, context) {
26
+ const name = nameFromParameterNode(parameterNode),
27
27
  variable = new Variable(name);
28
28
 
29
29
  return variable;
30
30
  }
31
31
  });
32
32
 
33
- function nameFromArgumentNode(argumentNode) {
34
- const nameTerminalNode = nameTerminalNodeQuery(argumentNode),
33
+ function nameFromParameterNode(parameterNode) {
34
+ const nameTerminalNode = nameTerminalNodeQuery(parameterNode),
35
35
  nameTerminalNodeContent = nameTerminalNode.getContent(),
36
36
  name = nameTerminalNodeContent; ///
37
37
 
package/src/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  import Label from "./dom/label";
4
4
  import Variable from "./dom/variable";
5
- import Argument from "./dom/argument";
5
+ import Parameter from "./dom/parameter";
6
6
  import Reference from "./dom/reference";
7
7
  import Procedure from "./dom/procedure";
8
8
  import ProcedureDeclaration from "./dom/declaration/procedure";
@@ -1,130 +0,0 @@
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 _default;
9
- }
10
- });
11
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _query = require("../utilities/query");
13
- function _class_call_check(instance, Constructor) {
14
- if (!(instance instanceof Constructor)) {
15
- throw new TypeError("Cannot call a class as a function");
16
- }
17
- }
18
- function _defineProperties(target, props) {
19
- for(var i = 0; i < props.length; i++){
20
- var descriptor = props[i];
21
- descriptor.enumerable = descriptor.enumerable || false;
22
- descriptor.configurable = true;
23
- if ("value" in descriptor) descriptor.writable = true;
24
- Object.defineProperty(target, descriptor.key, descriptor);
25
- }
26
- }
27
- function _create_class(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
32
- function _define_property(obj, key, value) {
33
- if (key in obj) {
34
- Object.defineProperty(obj, key, {
35
- value: value,
36
- enumerable: true,
37
- configurable: true,
38
- writable: true
39
- });
40
- } else {
41
- obj[key] = value;
42
- }
43
- return obj;
44
- }
45
- function _getRequireWildcardCache(nodeInterop) {
46
- if (typeof WeakMap !== "function") return null;
47
- var cacheBabelInterop = new WeakMap();
48
- var cacheNodeInterop = new WeakMap();
49
- return (_getRequireWildcardCache = function(nodeInterop) {
50
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
51
- })(nodeInterop);
52
- }
53
- function _interop_require_wildcard(obj, nodeInterop) {
54
- if (!nodeInterop && obj && obj.__esModule) {
55
- return obj;
56
- }
57
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
58
- return {
59
- default: obj
60
- };
61
- }
62
- var cache = _getRequireWildcardCache(nodeInterop);
63
- if (cache && cache.has(obj)) {
64
- return cache.get(obj);
65
- }
66
- var newObj = {
67
- __proto__: null
68
- };
69
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
- for(var key in obj){
71
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
73
- if (desc && (desc.get || desc.set)) {
74
- Object.defineProperty(newObj, key, desc);
75
- } else {
76
- newObj[key] = obj[key];
77
- }
78
- }
79
- }
80
- newObj.default = obj;
81
- if (cache) {
82
- cache.set(obj, newObj);
83
- }
84
- return newObj;
85
- }
86
- var _Argument;
87
- var typeTerminalNodeQuery = (0, _query.nodeQuery)("/argument/@type");
88
- var _default = (0, _dom.domAssigned)((_Argument = /*#__PURE__*/ function() {
89
- function Argument(type, variable) {
90
- _class_call_check(this, Argument);
91
- this.type = type;
92
- this.variable = variable;
93
- }
94
- _create_class(Argument, [
95
- {
96
- key: "getType",
97
- value: function getType() {
98
- return this.type;
99
- }
100
- },
101
- {
102
- key: "getVariable",
103
- value: function getVariable() {
104
- return this.variable;
105
- }
106
- },
107
- {
108
- key: "getString",
109
- value: function getString() {
110
- var typeString = this.type, variableString = this.variable.getString(), string = "".concat(typeString, " ").concat(variableString);
111
- return string;
112
- }
113
- }
114
- ], [
115
- {
116
- key: "fromArgumentNode",
117
- value: function fromArgumentNode(argumentNode, context) {
118
- var Variable = _dom.default.Variable, type = typeFromArgumentNode(argumentNode), variable = Variable.fromArgumentNode(argumentNode, context), argument = new Argument(type, variable);
119
- return argument;
120
- }
121
- }
122
- ]);
123
- return Argument;
124
- }(), _define_property(_Argument, "name", "Argument"), _Argument));
125
- function typeFromArgumentNode(argumentNode) {
126
- var typeTerminalNode = typeTerminalNodeQuery(argumentNode), typeTerminalNodeContent = typeTerminalNode.getContent(), type = typeTerminalNodeContent; ///
127
- return type;
128
- }
129
-
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vYXJndW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcblxuY29uc3QgdHlwZVRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L0B0eXBlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBBcmd1bWVudCB7XG4gIGNvbnN0cnVjdG9yKHR5cGUsIHZhcmlhYmxlKSB7XG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICBjb25zdCB0eXBlU3RyaW5nID0gdGhpcy50eXBlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHRoaXMudmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgc3RyaW5nID0gYCR7dHlwZVN0cmluZ30gJHt2YXJpYWJsZVN0cmluZ31gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJBcmd1bWVudFwiO1xuXG4gIHN0YXRpYyBmcm9tQXJndW1lbnROb2RlKGFyZ3VtZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgICB0eXBlID0gdHlwZUZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21Bcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgICBhcmd1bWVudCA9IG5ldyBBcmd1bWVudCh0eXBlLCB2YXJpYWJsZSk7XG5cbiAgICByZXR1cm4gYXJndW1lbnQ7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB0eXBlRnJvbUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUpIHtcbiAgY29uc3QgdHlwZVRlcm1pbmFsTm9kZSA9IHR5cGVUZXJtaW5hbE5vZGVRdWVyeShhcmd1bWVudE5vZGUpLFxuICAgICAgICB0eXBlVGVybWluYWxOb2RlQ29udGVudCA9IHR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICB0eXBlID0gdHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiB0eXBlO1xufVxuIl0sIm5hbWVzIjpbInR5cGVUZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiQXJndW1lbnQiLCJ0eXBlIiwidmFyaWFibGUiLCJnZXRUeXBlIiwiZ2V0VmFyaWFibGUiLCJnZXRTdHJpbmciLCJ0eXBlU3RyaW5nIiwidmFyaWFibGVTdHJpbmciLCJzdHJpbmciLCJmcm9tQXJndW1lbnROb2RlIiwiYXJndW1lbnROb2RlIiwiY29udGV4dCIsIlZhcmlhYmxlIiwiZG9tIiwidHlwZUZyb21Bcmd1bWVudE5vZGUiLCJhcmd1bWVudCIsIm5hbWUiLCJ0eXBlVGVybWluYWxOb2RlIiwidHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OzsyREFQZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUM7SUFFeEMsV0FBZUMsSUFBQUEsZ0JBQVcsNkJBQUM7YUFBTUMsU0FDbkJDLElBQUksRUFBRUMsUUFBUTtnQ0FES0Y7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxRQUFRLEdBQUdBOzs7O1lBR2xCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLElBQUk7WUFDbEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNGLFFBQVE7WUFDdEI7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYSxJQUFJLENBQUNMLElBQUksRUFDdEJNLGlCQUFpQixJQUFJLENBQUNMLFFBQVEsQ0FBQ0csU0FBUyxJQUN4Q0csU0FBUyxBQUFDLEdBQWdCRCxPQUFkRCxZQUFXLEtBQWtCLE9BQWZDO2dCQUVoQyxPQUFPQztZQUNUOzs7O1lBSU9DLEtBQUFBO21CQUFQLFNBQU9BLGlCQUFpQkMsWUFBWSxFQUFFQyxPQUFPO2dCQUMzQyxJQUFNLEFBQUVDLFdBQWFDLFlBQUcsQ0FBaEJELFVBQ0ZYLE9BQU9hLHFCQUFxQkosZUFDNUJSLFdBQVdVLFNBQVNILGdCQUFnQixDQUFDQyxjQUFjQyxVQUNuREksV0FBVyxJQUFJZixTQUFTQyxNQUFNQztnQkFFcEMsT0FBT2E7WUFDVDs7OztLQVRBLDRCQUFPQyxRQUFPO0FBWWhCLFNBQVNGLHFCQUFxQkosWUFBWTtJQUN4QyxJQUFNTyxtQkFBbUJwQixzQkFBc0JhLGVBQ3pDUSwwQkFBMEJELGlCQUFpQkUsVUFBVSxJQUNyRGxCLE9BQU9pQix5QkFBeUIsR0FBRztJQUV6QyxPQUFPakI7QUFDVCJ9