occam-verify-cli 0.0.871 → 0.0.873

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,124 @@
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 _metaType = /*#__PURE__*/ _interop_require_default(require("../metaType"));
12
+ var _metaTypeNames = require("../metaTypeNames");
13
+ function _assert_this_initialized(self) {
14
+ if (self === void 0) {
15
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
+ }
17
+ return self;
18
+ }
19
+ function _class_call_check(instance, Constructor) {
20
+ if (!(instance instanceof Constructor)) {
21
+ throw new TypeError("Cannot call a class as a function");
22
+ }
23
+ }
24
+ function _defineProperties(target, props) {
25
+ for(var i = 0; i < props.length; i++){
26
+ var descriptor = props[i];
27
+ descriptor.enumerable = descriptor.enumerable || false;
28
+ descriptor.configurable = true;
29
+ if ("value" in descriptor) descriptor.writable = true;
30
+ Object.defineProperty(target, descriptor.key, descriptor);
31
+ }
32
+ }
33
+ function _create_class(Constructor, protoProps, staticProps) {
34
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
35
+ if (staticProps) _defineProperties(Constructor, staticProps);
36
+ return Constructor;
37
+ }
38
+ function _get_prototype_of(o) {
39
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
40
+ return o.__proto__ || Object.getPrototypeOf(o);
41
+ };
42
+ return _get_prototype_of(o);
43
+ }
44
+ function _inherits(subClass, superClass) {
45
+ if (typeof superClass !== "function" && superClass !== null) {
46
+ throw new TypeError("Super expression must either be null or a function");
47
+ }
48
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
49
+ constructor: {
50
+ value: subClass,
51
+ writable: true,
52
+ configurable: true
53
+ }
54
+ });
55
+ if (superClass) _set_prototype_of(subClass, superClass);
56
+ }
57
+ function _interop_require_default(obj) {
58
+ return obj && obj.__esModule ? obj : {
59
+ default: obj
60
+ };
61
+ }
62
+ function _possible_constructor_return(self, call) {
63
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
64
+ return call;
65
+ }
66
+ return _assert_this_initialized(self);
67
+ }
68
+ function _set_prototype_of(o, p) {
69
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
70
+ o.__proto__ = p;
71
+ return o;
72
+ };
73
+ return _set_prototype_of(o, p);
74
+ }
75
+ function _type_of(obj) {
76
+ "@swc/helpers - typeof";
77
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
78
+ }
79
+ function _is_native_reflect_construct() {
80
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
81
+ if (Reflect.construct.sham) return false;
82
+ if (typeof Proxy === "function") return true;
83
+ try {
84
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
85
+ return true;
86
+ } catch (e) {
87
+ return false;
88
+ }
89
+ }
90
+ function _create_super(Derived) {
91
+ var hasNativeReflectConstruct = _is_native_reflect_construct();
92
+ return function _createSuperInternal() {
93
+ var Super = _get_prototype_of(Derived), result;
94
+ if (hasNativeReflectConstruct) {
95
+ var NewTarget = _get_prototype_of(this).constructor;
96
+ result = Reflect.construct(Super, arguments, NewTarget);
97
+ } else {
98
+ result = Super.apply(this, arguments);
99
+ }
100
+ return _possible_constructor_return(this, result);
101
+ };
102
+ }
103
+ var StatementMetaType = /*#__PURE__*/ function(MetaType) {
104
+ _inherits(StatementMetaType, MetaType);
105
+ var _super = _create_super(StatementMetaType);
106
+ function StatementMetaType() {
107
+ _class_call_check(this, StatementMetaType);
108
+ return _super.apply(this, arguments);
109
+ }
110
+ _create_class(StatementMetaType, null, [
111
+ {
112
+ key: "fromNothing",
113
+ value: function fromNothing() {
114
+ var name = _metaTypeNames.STATEMENT_META_TYPE_NAME, statementMetaType = new StatementMetaType(name);
115
+ return statementMetaType;
116
+ }
117
+ }
118
+ ]);
119
+ return StatementMetaType;
120
+ }(_metaType.default);
121
+ var statementMetaType = StatementMetaType.fromNothing();
122
+ var _default = statementMetaType;
123
+
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRhVHlwZS9zdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhVHlwZSBmcm9tIFwiLi4vbWV0YVR5cGVcIjtcblxuaW1wb3J0IHsgU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIH0gZnJvbSBcIi4uL21ldGFUeXBlTmFtZXNcIjtcblxuY2xhc3MgU3RhdGVtZW50TWV0YVR5cGUgZXh0ZW5kcyBNZXRhVHlwZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lID0gU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FLFxuICAgICAgICAgIHN0YXRlbWVudE1ldGFUeXBlID0gbmV3IFN0YXRlbWVudE1ldGFUeXBlKG5hbWUpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE1ldGFUeXBlO1xuICB9XG59XG5cbmNvbnN0IHN0YXRlbWVudE1ldGFUeXBlID0gU3RhdGVtZW50TWV0YVR5cGUuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGRlZmF1bHQgc3RhdGVtZW50TWV0YVR5cGU7XG4iXSwibmFtZXMiOlsiU3RhdGVtZW50TWV0YVR5cGUiLCJmcm9tTm90aGluZyIsIm5hbWUiLCJTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUiLCJzdGF0ZW1lbnRNZXRhVHlwZSIsIk1ldGFUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUFBOzs7K0RBZnFCOzZCQUVvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV6QyxJQUFBLEFBQU1BLGtDQUFELEFBQUw7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDR0MsS0FBQUE7bUJBQVAsU0FBT0E7Z0JBQ0wsSUFBTUMsT0FBT0MsdUNBQXdCLEVBQy9CQyxvQkFBb0IsSUFIeEJKLGtCQUc4Q0U7Z0JBRWhELE9BQU9FO1lBQ1Q7OztXQU5JSjtFQUEwQkssaUJBQVE7QUFTeEMsSUFBTUQsb0JBQW9CSixrQkFBa0JDLFdBQVc7SUFFdkQsV0FBZUcifQ==
package/lib/metaType.js CHANGED
@@ -9,27 +9,14 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- contextMetaType: function() {
13
- return contextMetaType;
14
- },
15
12
  default: function() {
16
13
  return MetaType;
17
14
  },
18
15
  metaTypeFromJSONAndFileContext: function() {
19
16
  return metaTypeFromJSONAndFileContext;
20
- },
21
- statementMetaType: function() {
22
- return statementMetaType;
23
17
  }
24
18
  });
25
19
  var _name = require("./utilities/name");
26
- var _metaTypeNames = require("./metaTypeNames");
27
- function _assert_this_initialized(self) {
28
- if (self === void 0) {
29
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
30
- }
31
- return self;
32
- }
33
20
  function _class_call_check(instance, Constructor) {
34
21
  if (!(instance instanceof Constructor)) {
35
22
  throw new TypeError("Cannot call a class as a function");
@@ -49,66 +36,6 @@ function _create_class(Constructor, protoProps, staticProps) {
49
36
  if (staticProps) _defineProperties(Constructor, staticProps);
50
37
  return Constructor;
51
38
  }
52
- function _get_prototype_of(o) {
53
- _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
54
- return o.__proto__ || Object.getPrototypeOf(o);
55
- };
56
- return _get_prototype_of(o);
57
- }
58
- function _inherits(subClass, superClass) {
59
- if (typeof superClass !== "function" && superClass !== null) {
60
- throw new TypeError("Super expression must either be null or a function");
61
- }
62
- subClass.prototype = Object.create(superClass && superClass.prototype, {
63
- constructor: {
64
- value: subClass,
65
- writable: true,
66
- configurable: true
67
- }
68
- });
69
- if (superClass) _set_prototype_of(subClass, superClass);
70
- }
71
- function _possible_constructor_return(self, call) {
72
- if (call && (_type_of(call) === "object" || typeof call === "function")) {
73
- return call;
74
- }
75
- return _assert_this_initialized(self);
76
- }
77
- function _set_prototype_of(o, p) {
78
- _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
79
- o.__proto__ = p;
80
- return o;
81
- };
82
- return _set_prototype_of(o, p);
83
- }
84
- function _type_of(obj) {
85
- "@swc/helpers - typeof";
86
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
87
- }
88
- function _is_native_reflect_construct() {
89
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
90
- if (Reflect.construct.sham) return false;
91
- if (typeof Proxy === "function") return true;
92
- try {
93
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
94
- return true;
95
- } catch (e) {
96
- return false;
97
- }
98
- }
99
- function _create_super(Derived) {
100
- var hasNativeReflectConstruct = _is_native_reflect_construct();
101
- return function _createSuperInternal() {
102
- var Super = _get_prototype_of(Derived), result;
103
- if (hasNativeReflectConstruct) {
104
- var NewTarget = _get_prototype_of(this).constructor;
105
- result = Reflect.construct(Super, arguments, NewTarget);
106
- } else {
107
- result = Super.apply(this, arguments);
108
- }
109
- return _possible_constructor_return(this, result);
110
- };
111
- }
112
39
  var MetaType = /*#__PURE__*/ function() {
113
40
  function MetaType(name) {
114
41
  _class_call_check(this, MetaType);
@@ -183,44 +110,6 @@ var MetaType = /*#__PURE__*/ function() {
183
110
  ]);
184
111
  return MetaType;
185
112
  }();
186
- var ContextMetaType = /*#__PURE__*/ function(MetaType) {
187
- _inherits(ContextMetaType, MetaType);
188
- var _super = _create_super(ContextMetaType);
189
- function ContextMetaType() {
190
- _class_call_check(this, ContextMetaType);
191
- return _super.apply(this, arguments);
192
- }
193
- _create_class(ContextMetaType, null, [
194
- {
195
- key: "fromNothing",
196
- value: function fromNothing() {
197
- var name = _metaTypeNames.CONTEXT_META_TYPE_NAME, contextMetaType = new ContextMetaType(name);
198
- return contextMetaType;
199
- }
200
- }
201
- ]);
202
- return ContextMetaType;
203
- }(MetaType);
204
- var StatementMetaType = /*#__PURE__*/ function(MetaType) {
205
- _inherits(StatementMetaType, MetaType);
206
- var _super = _create_super(StatementMetaType);
207
- function StatementMetaType() {
208
- _class_call_check(this, StatementMetaType);
209
- return _super.apply(this, arguments);
210
- }
211
- _create_class(StatementMetaType, null, [
212
- {
213
- key: "fromNothing",
214
- value: function fromNothing() {
215
- var name = _metaTypeNames.STATEMENT_META_TYPE_NAME, statementMetaType = new StatementMetaType(name);
216
- return statementMetaType;
217
- }
218
- }
219
- ]);
220
- return StatementMetaType;
221
- }(MetaType);
222
- var contextMetaType = ContextMetaType.fromNothing();
223
- var statementMetaType = StatementMetaType.fromNothing();
224
113
  function metaTypeFromJSONAndFileContext(json, fileContext) {
225
114
  var metaType;
226
115
  var name = json.name;
@@ -228,4 +117,4 @@ function metaTypeFromJSONAndFileContext(json, fileContext) {
228
117
  return metaType;
229
118
  }
230
119
 
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbWV0YVR5cGVOYW1lRnJvbU1ldGFUeXBlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5pbXBvcnQgeyBDT05URVhUX01FVEFfVFlQRV9OQU1FLCBTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUgfSBmcm9tIFwiLi9tZXRhVHlwZU5hbWVzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFUeXBlIHtcbiAgY29uc3RydWN0b3IobmFtZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBpc0VxdWFsVG8obWV0YVR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gKHRoaXMgPT09IG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgbWF0Y2gobWV0YVR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvTWV0YVR5cGUgPSB0aGlzLmlzRXF1YWxUbyhtZXRhVHlwZSksXG4gICAgICAgICAgbWF0Y2hlcyA9IGVxdWFsVG9NZXRhVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpIHtcbiAgICBjb25zdCBtZXRhVHlwZU5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbWV0YVR5cGVOYW1lKTtcblxuICAgIHJldHVybiBtZXRhVHlwZU5hbWVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhVHlwZU5vZGUobWV0YVR5cGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YVR5cGVOYW1lID0gbWV0YVR5cGVOYW1lRnJvbU1ldGFUeXBlTm9kZShtZXRhVHlwZU5vZGUpLFxuICAgICAgICAgIG1ldGFUeXBlTmFtZU1hdGNoZXMgPSB0aGlzLm1hdGNoTWV0YVR5cGVOYW1lKG1ldGFUeXBlTmFtZSksXG4gICAgICAgICAgbWV0YVR5cGVOb2RlTWF0Y2hlcyA9IG1ldGFUeXBlTmFtZU1hdGNoZXM7ICAvLy9cblxuICAgIHJldHVybiBtZXRhVHlwZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgYXNTdHJpbmcodG9rZW5zKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gYCR7dGhpcy5uYW1lfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gbWV0YVR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgbWV0YVR5cGUgPSBuZXcgTWV0YVR5cGUobmFtZSk7XG5cbiAgICByZXR1cm4gbWV0YVR5cGU7XG4gIH1cbn1cblxuY2xhc3MgQ29udGV4dE1ldGFUeXBlIGV4dGVuZHMgTWV0YVR5cGUge1xuICBzdGF0aWMgZnJvbU5vdGhpbmcoKSB7XG4gICAgY29uc3QgbmFtZSA9IENPTlRFWFRfTUVUQV9UWVBFX05BTUUsXG4gICAgICAgICAgY29udGV4dE1ldGFUeXBlID0gbmV3IENvbnRleHRNZXRhVHlwZShuYW1lKTtcblxuICAgIHJldHVybiBjb250ZXh0TWV0YVR5cGU7XG4gIH1cbn1cblxuY2xhc3MgU3RhdGVtZW50TWV0YVR5cGUgZXh0ZW5kcyBNZXRhVHlwZSB7XG4gIHN0YXRpYyBmcm9tTm90aGluZygpIHtcbiAgICBjb25zdCBuYW1lID0gU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FLFxuICAgICAgICAgIHN0YXRlbWVudE1ldGFUeXBlID0gbmV3IFN0YXRlbWVudE1ldGFUeXBlKG5hbWUpO1xuXG4gICAgcmV0dXJuIHN0YXRlbWVudE1ldGFUeXBlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZXh0TWV0YVR5cGUgPSBDb250ZXh0TWV0YVR5cGUuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGNvbnN0IHN0YXRlbWVudE1ldGFUeXBlID0gU3RhdGVtZW50TWV0YVR5cGUuZnJvbU5vdGhpbmcoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbWV0YVR5cGU7XG5cbiAgY29uc3QgeyBuYW1lIH0gPSBqc29uO1xuXG4gIG1ldGFUeXBlID0gbmV3IE1ldGFUeXBlKG5hbWUpO1xuXG4gIHJldHVybiBtZXRhVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJjb250ZXh0TWV0YVR5cGUiLCJNZXRhVHlwZSIsIm1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dCIsInN0YXRlbWVudE1ldGFUeXBlIiwibmFtZSIsImdldE5hbWUiLCJpc0VxdWFsVG8iLCJtZXRhVHlwZSIsImVxdWFsVG8iLCJtYXRjaCIsImVxdWFsVG9NZXRhVHlwZSIsIm1hdGNoZXMiLCJtYXRjaE5hbWUiLCJuYW1lTWF0Y2hlcyIsIm1hdGNoTWV0YVR5cGVOYW1lIiwibWV0YVR5cGVOYW1lIiwibWV0YVR5cGVOYW1lTWF0Y2hlcyIsIm1hdGNoTWV0YVR5cGVOb2RlIiwibWV0YVR5cGVOb2RlIiwibWV0YVR5cGVOYW1lRnJvbU1ldGFUeXBlTm9kZSIsIm1ldGFUeXBlTm9kZU1hdGNoZXMiLCJhc1N0cmluZyIsInRva2VucyIsInN0cmluZyIsInRvSlNPTiIsImpzb24iLCJmcm9tTWV0YVR5cGVOYW1lIiwiQ29udGV4dE1ldGFUeXBlIiwiZnJvbU5vdGhpbmciLCJDT05URVhUX01FVEFfVFlQRV9OQU1FIiwiU3RhdGVtZW50TWV0YVR5cGUiLCJTVEFURU1FTlRfTUVUQV9UWVBFX05BTUUiLCJmaWxlQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBd0ZhQSxlQUFlO2VBQWZBOzs7ZUFuRlFDOztJQXVGTEMsOEJBQThCO2VBQTlCQTs7SUFGSEMsaUJBQWlCO2VBQWpCQTs7O29CQXhGZ0M7NkJBQ29COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRCxJQUFBLEFBQU1GLHlCQUFELEFBQUw7YUFBTUEsU0FDUEcsSUFBSTtnQ0FER0g7UUFFakIsSUFBSSxDQUFDRyxJQUFJLEdBQUdBOztrQkFGS0g7O1lBS25CSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELElBQUk7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsUUFBUTtnQkFDaEIsSUFBTUMsVUFBVyxJQUFJLEtBQUtEO2dCQUUxQixPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1GLFFBQVE7Z0JBQ1osSUFBTUcsa0JBQWtCLElBQUksQ0FBQ0osU0FBUyxDQUFDQyxXQUNqQ0ksVUFBVUQsaUJBQWtCLEdBQUc7Z0JBRXJDLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVVIsSUFBSTtnQkFDWixJQUFNUyxjQUFlLElBQUksQ0FBQ1QsSUFBSSxLQUFLQTtnQkFFbkMsT0FBT1M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JDLFlBQVk7Z0JBQzVCLElBQU1DLHNCQUF1QixJQUFJLENBQUNaLElBQUksS0FBS1c7Z0JBRTNDLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxZQUFZO2dCQUM1QixJQUFNSCxlQUFlSSxJQUFBQSxrQ0FBNEIsRUFBQ0QsZUFDNUNGLHNCQUFzQixJQUFJLENBQUNGLGlCQUFpQixDQUFDQyxlQUM3Q0ssc0JBQXNCSixxQkFBc0IsR0FBRztnQkFFckQsT0FBT0k7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxNQUFNO2dCQUNiLElBQU1DLFNBQVMsQUFBQyxHQUFZLE9BQVYsSUFBSSxDQUFDbkIsSUFBSTtnQkFFM0IsT0FBT21CO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0YsTUFBTTtnQkFDWCxJQUFNbEIsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJxQixPQUFPO29CQUNMckIsTUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT3FCO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCWCxZQUFZO2dCQUNsQyxJQUFNWCxPQUFPVyxjQUNQUixXQUFXLElBM0RBTixTQTJEYUc7Z0JBRTlCLE9BQU9HO1lBQ1Q7OztXQTlEbUJOOztBQWlFckIsSUFBQSxBQUFNMEIsZ0NBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNHQyxLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNeEIsT0FBT3lCLHFDQUFzQixFQUM3QjdCLGtCQUFrQixJQUh0QjJCLGdCQUcwQ3ZCO2dCQUU1QyxPQUFPSjtZQUNUOzs7V0FOSTJCO0VBQXdCMUI7QUFTOUIsSUFBQSxBQUFNNkIsa0NBQUQsQUFBTDtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNHRixLQUFBQTttQkFBUCxTQUFPQTtnQkFDTCxJQUFNeEIsT0FBTzJCLHVDQUF3QixFQUMvQjVCLG9CQUFvQixJQUh4QjJCLGtCQUc4QzFCO2dCQUVoRCxPQUFPRDtZQUNUOzs7V0FOSTJCO0VBQTBCN0I7QUFTekIsSUFBTUQsa0JBQWtCMkIsZ0JBQWdCQyxXQUFXO0FBRW5ELElBQU16QixvQkFBb0IyQixrQkFBa0JGLFdBQVc7QUFFdkQsU0FBUzFCLCtCQUErQnVCLElBQUksRUFBRU8sV0FBVztJQUM5RCxJQUFJekI7SUFFSixJQUFNLEFBQUVILE9BQVNxQixLQUFUckI7SUFFUkcsV0FBVyxJQUFJTixTQUFTRztJQUV4QixPQUFPRztBQUNUIn0=
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbWV0YVR5cGVOYW1lRnJvbU1ldGFUeXBlTm9kZSB9IGZyb20gXCIuL3V0aWxpdGllcy9uYW1lXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGFUeXBlIHtcbiAgY29uc3RydWN0b3IobmFtZSkge1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBpc0VxdWFsVG8obWV0YVR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvID0gKHRoaXMgPT09IG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBlcXVhbFRvO1xuICB9XG5cbiAgbWF0Y2gobWV0YVR5cGUpIHtcbiAgICBjb25zdCBlcXVhbFRvTWV0YVR5cGUgPSB0aGlzLmlzRXF1YWxUbyhtZXRhVHlwZSksXG4gICAgICAgICAgbWF0Y2hlcyA9IGVxdWFsVG9NZXRhVHlwZTsgIC8vL1xuXG4gICAgcmV0dXJuIG1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBtYXRjaE1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpIHtcbiAgICBjb25zdCBtZXRhVHlwZU5hbWVNYXRjaGVzID0gKHRoaXMubmFtZSA9PT0gbWV0YVR5cGVOYW1lKTtcblxuICAgIHJldHVybiBtZXRhVHlwZU5hbWVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hNZXRhVHlwZU5vZGUobWV0YVR5cGVOb2RlKSB7XG4gICAgY29uc3QgbWV0YVR5cGVOYW1lID0gbWV0YVR5cGVOYW1lRnJvbU1ldGFUeXBlTm9kZShtZXRhVHlwZU5vZGUpLFxuICAgICAgICAgIG1ldGFUeXBlTmFtZU1hdGNoZXMgPSB0aGlzLm1hdGNoTWV0YVR5cGVOYW1lKG1ldGFUeXBlTmFtZSksXG4gICAgICAgICAgbWV0YVR5cGVOb2RlTWF0Y2hlcyA9IG1ldGFUeXBlTmFtZU1hdGNoZXM7ICAvLy9cblxuICAgIHJldHVybiBtZXRhVHlwZU5vZGVNYXRjaGVzO1xuICB9XG5cbiAgYXNTdHJpbmcodG9rZW5zKSB7XG4gICAgY29uc3Qgc3RyaW5nID0gYCR7dGhpcy5uYW1lfWA7XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWUsXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFUeXBlTmFtZShtZXRhVHlwZU5hbWUpIHtcbiAgICBjb25zdCBuYW1lID0gbWV0YVR5cGVOYW1lLCAgLy8vXG4gICAgICAgICAgbWV0YVR5cGUgPSBuZXcgTWV0YVR5cGUobmFtZSk7XG5cbiAgICByZXR1cm4gbWV0YVR5cGU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICBsZXQgbWV0YVR5cGU7XG5cbiAgY29uc3QgeyBuYW1lIH0gPSBqc29uO1xuXG4gIG1ldGFUeXBlID0gbmV3IE1ldGFUeXBlKG5hbWUpO1xuXG4gIHJldHVybiBtZXRhVHlwZTtcbn1cbiJdLCJuYW1lcyI6WyJNZXRhVHlwZSIsIm1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dCIsIm5hbWUiLCJnZXROYW1lIiwiaXNFcXVhbFRvIiwibWV0YVR5cGUiLCJlcXVhbFRvIiwibWF0Y2giLCJlcXVhbFRvTWV0YVR5cGUiLCJtYXRjaGVzIiwibWF0Y2hOYW1lIiwibmFtZU1hdGNoZXMiLCJtYXRjaE1ldGFUeXBlTmFtZSIsIm1ldGFUeXBlTmFtZSIsIm1ldGFUeXBlTmFtZU1hdGNoZXMiLCJtYXRjaE1ldGFUeXBlTm9kZSIsIm1ldGFUeXBlTm9kZSIsIm1ldGFUeXBlTmFtZUZyb21NZXRhVHlwZU5vZGUiLCJtZXRhVHlwZU5vZGVNYXRjaGVzIiwiYXNTdHJpbmciLCJ0b2tlbnMiLCJzdHJpbmciLCJ0b0pTT04iLCJqc29uIiwiZnJvbU1ldGFUeXBlTmFtZSIsImZpbGVDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O2VBSXFCQTs7SUFpRUxDLDhCQUE4QjtlQUE5QkE7OztvQkFuRTZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU5QixJQUFBLEFBQU1ELHlCQUFELEFBQUw7YUFBTUEsU0FDUEUsSUFBSTtnQ0FER0Y7UUFFakIsSUFBSSxDQUFDRSxJQUFJLEdBQUdBOztrQkFGS0Y7O1lBS25CRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELElBQUk7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUMsUUFBUTtnQkFDaEIsSUFBTUMsVUFBVyxJQUFJLEtBQUtEO2dCQUUxQixPQUFPQztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLE1BQU1GLFFBQVE7Z0JBQ1osSUFBTUcsa0JBQWtCLElBQUksQ0FBQ0osU0FBUyxDQUFDQyxXQUNqQ0ksVUFBVUQsaUJBQWtCLEdBQUc7Z0JBRXJDLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVVIsSUFBSTtnQkFDWixJQUFNUyxjQUFlLElBQUksQ0FBQ1QsSUFBSSxLQUFLQTtnQkFFbkMsT0FBT1M7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxrQkFBa0JDLFlBQVk7Z0JBQzVCLElBQU1DLHNCQUF1QixJQUFJLENBQUNaLElBQUksS0FBS1c7Z0JBRTNDLE9BQU9DO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxZQUFZO2dCQUM1QixJQUFNSCxlQUFlSSxJQUFBQSxrQ0FBNEIsRUFBQ0QsZUFDNUNGLHNCQUFzQixJQUFJLENBQUNGLGlCQUFpQixDQUFDQyxlQUM3Q0ssc0JBQXNCSixxQkFBc0IsR0FBRztnQkFFckQsT0FBT0k7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxNQUFNO2dCQUNiLElBQU1DLFNBQVMsQUFBQyxHQUFZLE9BQVYsSUFBSSxDQUFDbkIsSUFBSTtnQkFFM0IsT0FBT21CO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUEsT0FBT0YsTUFBTTtnQkFDWCxJQUFNbEIsT0FBTyxJQUFJLENBQUNBLElBQUksRUFDaEJxQixPQUFPO29CQUNMckIsTUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT3FCO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCWCxZQUFZO2dCQUNsQyxJQUFNWCxPQUFPVyxjQUNQUixXQUFXLElBM0RBTCxTQTJEYUU7Z0JBRTlCLE9BQU9HO1lBQ1Q7OztXQTlEbUJMOztBQWlFZCxTQUFTQywrQkFBK0JzQixJQUFJLEVBQUVFLFdBQVc7SUFDOUQsSUFBSXBCO0lBRUosSUFBTSxBQUFFSCxPQUFTcUIsS0FBVHJCO0lBRVJHLFdBQVcsSUFBSUwsU0FBU0U7SUFFeEIsT0FBT0c7QUFDVCJ9
@@ -12,11 +12,15 @@ _export(exports, {
12
12
  CONTEXT_META_TYPE_NAME: function() {
13
13
  return CONTEXT_META_TYPE_NAME;
14
14
  },
15
+ LABEL_META_TYPE_NAME: function() {
16
+ return LABEL_META_TYPE_NAME;
17
+ },
15
18
  STATEMENT_META_TYPE_NAME: function() {
16
19
  return STATEMENT_META_TYPE_NAME;
17
20
  }
18
21
  });
19
- var CONTEXT_META_TYPE_NAME = "Context";
20
22
  var STATEMENT_META_TYPE_NAME = "Statement";
23
+ var CONTEXT_META_TYPE_NAME = "Context";
24
+ var LABEL_META_TYPE_NAME = "Label";
21
25
 
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZU5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRVRBX1RZUEVfTkFNRSA9IFwiQ29udGV4dFwiO1xuZXhwb3J0IGNvbnN0IFNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSA9IFwiU3RhdGVtZW50XCI7XG4iXSwibmFtZXMiOlsiQ09OVEVYVF9NRVRBX1RZUEVfTkFNRSIsIlNUQVRFTUVOVF9NRVRBX1RZUEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRWFBLHNCQUFzQjtlQUF0QkE7O0lBQ0FDLHdCQUF3QjtlQUF4QkE7OztBQUROLElBQU1ELHlCQUF5QjtBQUMvQixJQUFNQywyQkFBMkIifQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZU5hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FID0gXCJTdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBDT05URVhUX01FVEFfVFlQRV9OQU1FID0gXCJDb250ZXh0XCI7XG5leHBvcnQgY29uc3QgTEFCRUxfTUVUQV9UWVBFX05BTUUgPSBcIkxhYmVsXCI7XG4iXSwibmFtZXMiOlsiQ09OVEVYVF9NRVRBX1RZUEVfTkFNRSIsIkxBQkVMX01FVEFfVFlQRV9OQU1FIiwiU1RBVEVNRU5UX01FVEFfVFlQRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFHYUEsc0JBQXNCO2VBQXRCQTs7SUFDQUMsb0JBQW9CO2VBQXBCQTs7SUFGQUMsd0JBQXdCO2VBQXhCQTs7O0FBQU4sSUFBTUEsMkJBQTJCO0FBQ2pDLElBQU1GLHlCQUF5QjtBQUMvQixJQUFNQyx1QkFBdUIifQ==
package/lib/metaTypes.js CHANGED
@@ -8,11 +8,19 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
- var _metaType = require("./metaType");
11
+ var _label = /*#__PURE__*/ _interop_require_default(require("./metaType/label"));
12
+ var _context = /*#__PURE__*/ _interop_require_default(require("./metaType/context"));
13
+ var _statement = /*#__PURE__*/ _interop_require_default(require("./metaType/statement"));
14
+ function _interop_require_default(obj) {
15
+ return obj && obj.__esModule ? obj : {
16
+ default: obj
17
+ };
18
+ }
12
19
  var metaTypes = [
13
- _metaType.contextMetaType,
14
- _metaType.statementMetaType
20
+ _label.default,
21
+ _context.default,
22
+ _statement.default
15
23
  ];
16
24
  var _default = metaTypes;
17
25
 
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGNvbnRleHRNZXRhVHlwZSwgc3RhdGVtZW50TWV0YVR5cGUgfSBmcm9tIFwiLi9tZXRhVHlwZVwiO1xuXG5jb25zdCBtZXRhVHlwZXMgPSBbXG4gIGNvbnRleHRNZXRhVHlwZSxcbiAgc3RhdGVtZW50TWV0YVR5cGVcbl07XG5cbmV4cG9ydCBkZWZhdWx0IG1ldGFUeXBlcztcbiJdLCJuYW1lcyI6WyJtZXRhVHlwZXMiLCJjb250ZXh0TWV0YVR5cGUiLCJzdGF0ZW1lbnRNZXRhVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBU0E7OztlQUFBOzs7d0JBUG1EO0FBRW5ELElBQU1BLFlBQVk7SUFDaEJDLHlCQUFlO0lBQ2ZDLDJCQUFpQjtDQUNsQjtJQUVELFdBQWVGIn0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhVHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBsYWJlbE1ldGFUeXBlIGZyb20gXCIuL21ldGFUeXBlL2xhYmVsXCI7XG5pbXBvcnQgY29udGV4dE1ldGFUeXBlIGZyb20gXCIuL21ldGFUeXBlL2NvbnRleHRcIjtcbmltcG9ydCBzdGF0ZW1lbnRNZXRhVHlwZSBmcm9tIFwiLi9tZXRhVHlwZS9zdGF0ZW1lbnRcIjtcblxuY29uc3QgbWV0YVR5cGVzID0gW1xuICBsYWJlbE1ldGFUeXBlLFxuICBjb250ZXh0TWV0YVR5cGUsXG4gIHN0YXRlbWVudE1ldGFUeXBlXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhVHlwZXM7XG4iXSwibmFtZXMiOlsibWV0YVR5cGVzIiwibGFiZWxNZXRhVHlwZSIsImNvbnRleHRNZXRhVHlwZSIsInN0YXRlbWVudE1ldGFUeXBlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQUE7Ozs0REFWMEI7OERBQ0U7Z0VBQ0U7Ozs7OztBQUU5QixJQUFNQSxZQUFZO0lBQ2hCQyxjQUFhO0lBQ2JDLGdCQUFlO0lBQ2ZDLGtCQUFpQjtDQUNsQjtJQUVELFdBQWVIIn0=
@@ -8,8 +8,11 @@ Object.defineProperty(exports, "default", {
8
8
  return Metavariable;
9
9
  }
10
10
  });
11
+ var _query = require("./utilities/query");
11
12
  var _string = require("./utilities/string");
13
+ var _name = require("./utilities/name");
12
14
  var _metaType = require("./metaType");
15
+ var _node = require("./utilities/node");
13
16
  function _class_call_check(instance, Constructor) {
14
17
  if (!(instance instanceof Constructor)) {
15
18
  throw new TypeError("Cannot call a class as a function");
@@ -29,10 +32,13 @@ function _create_class(Constructor, protoProps, staticProps) {
29
32
  if (staticProps) _defineProperties(Constructor, staticProps);
30
33
  return Constructor;
31
34
  }
35
+ var typeNodeQuery = (0, _query.nodeQuery)("/metavariable/argument!/type!");
32
36
  var Metavariable = /*#__PURE__*/ function() {
33
- function Metavariable(node, metaType) {
37
+ function Metavariable(node, name, termType, metaType) {
34
38
  _class_call_check(this, Metavariable);
35
39
  this.node = node;
40
+ this.name = name;
41
+ this.termType = termType;
36
42
  this.metaType = metaType;
37
43
  }
38
44
  _create_class(Metavariable, [
@@ -42,23 +48,46 @@ var Metavariable = /*#__PURE__*/ function() {
42
48
  return this.node;
43
49
  }
44
50
  },
51
+ {
52
+ key: "getName",
53
+ value: function getName() {
54
+ return this.name;
55
+ }
56
+ },
57
+ {
58
+ key: "getTermType",
59
+ value: function getTermType() {
60
+ return this.termType;
61
+ }
62
+ },
45
63
  {
46
64
  key: "getMetaType",
47
65
  value: function getMetaType() {
48
66
  return this.metaType;
49
67
  }
50
68
  },
69
+ {
70
+ key: "matchName",
71
+ value: function matchName(name) {
72
+ var nameMatches = this.name === name;
73
+ return nameMatches;
74
+ }
75
+ },
51
76
  {
52
77
  key: "matchNode",
53
78
  value: function matchNode(node) {
54
- var nodeMatches = this.node.match(node);
79
+ var nodeMatches;
80
+ var metavariableNode = node, name = (0, _name.nameFromMetavariableNode)(metavariableNode);
81
+ if (this.name === name) {
82
+ nodeMatches = true;
83
+ }
55
84
  return nodeMatches;
56
85
  }
57
86
  },
58
87
  {
59
88
  key: "toJSON",
60
89
  value: function toJSON(tokens) {
61
- var metaTypeJSON = this.metaType.toJSON(tokens), metaType = metaTypeJSON, string = (0, _string.nodeAsString)(this.node, tokens), node = string, json = {
90
+ var metaTypeJSON = this.metaType.toJSON(tokens), string = (0, _string.nodeAsString)(this.node, tokens), node = string, metaType = metaTypeJSON, json = {
62
91
  node: node,
63
92
  metaType: metaType
64
93
  };
@@ -70,7 +99,7 @@ var Metavariable = /*#__PURE__*/ function() {
70
99
  value: function asString(tokens) {
71
100
  var metaTypeName = this.metaType.getName();
72
101
  var string = (0, _string.nodeAsString)(this.node, tokens);
73
- string = "".concat(string, ":").concat(metaTypeName);
102
+ string = "".concat(string, ":").concat(metaTypeName); ///
74
103
  return string;
75
104
  }
76
105
  }
@@ -79,22 +108,33 @@ var Metavariable = /*#__PURE__*/ function() {
79
108
  key: "fromJSONAndFileContext",
80
109
  value: function fromJSONAndFileContext(json, fileContext) {
81
110
  var node = json.node;
111
+ var lexer = fileContext.getLexer(), parser = fileContext.getParser(), variableString = node, metavariableNode = (0, _node.metavariableNodeFromMetavariableString)(variableString, lexer, parser);
112
+ node = metavariableNode; ///
82
113
  var metaType = json.metaType;
83
114
  json = metaType; ///
84
115
  metaType = (0, _metaType.metaTypeFromJSONAndFileContext)(json, fileContext);
85
- var metavariable = new Metavariable(node, metaType);
116
+ var name = (0, _name.nameFromMetavariableNode)(metavariableNode), termType = termTypeFromMetavariableNode(metavariableNode, fileContext), metavariable = new Metavariable(node, name, termType, metaType);
86
117
  return metavariable;
87
118
  }
88
119
  },
89
120
  {
90
- key: "fromMetavariableNodeAndMetaType",
91
- value: function fromMetavariableNodeAndMetaType(metavariableNode, metaType) {
92
- var node = metavariableNode, metavariable = new Metavariable(node, metaType);
121
+ key: "fromNodeNameTermTypeAndMetaType",
122
+ value: function fromNodeNameTermTypeAndMetaType(node, name, termType, metaType) {
123
+ var metavariable = new Metavariable(node, name, termType, metaType);
93
124
  return metavariable;
94
125
  }
95
126
  }
96
127
  ]);
97
128
  return Metavariable;
98
129
  }();
130
+ function termTypeFromMetavariableNode(metavariableNode, fileContext) {
131
+ var termType = null;
132
+ var typeNode = typeNodeQuery(metavariableNode);
133
+ if (typeNode !== null) {
134
+ var type = fileContext.findTypeByTypeNode(typeNode);
135
+ termType = type; ///
136
+ }
137
+ return termType;
138
+ }
99
139
 
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IG1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dCB9IGZyb20gXCIuL21ldGFUeXBlXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1ldGF2YXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKG5vZGUsIG1ldGFUeXBlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLm1ldGFUeXBlID0gbWV0YVR5cGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXRNZXRhVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZXRhVHlwZTtcbiAgfVxuXG4gIG1hdGNoTm9kZShub2RlKSB7XG4gICAgY29uc3Qgbm9kZU1hdGNoZXMgPSB0aGlzLm5vZGUubWF0Y2gobm9kZSk7XG5cbiAgICByZXR1cm4gbm9kZU1hdGNoZXM7XG4gIH1cblxuICB0b0pTT04odG9rZW5zKSB7XG4gICAgY29uc3QgbWV0YVR5cGVKU09OID0gdGhpcy5tZXRhVHlwZS50b0pTT04odG9rZW5zKSxcbiAgICAgICAgICBtZXRhVHlwZSA9IG1ldGFUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IG5vZGVBc1N0cmluZyh0aGlzLm5vZGUsIHRva2VucyksXG4gICAgICAgICAgbm9kZSA9IHN0cmluZywgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWV0YVR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBjb25zdCBtZXRhVHlwZU5hbWUgPSB0aGlzLm1ldGFUeXBlLmdldE5hbWUoKTtcblxuICAgIGxldCBzdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5ub2RlLCB0b2tlbnMpO1xuXG4gICAgc3RyaW5nID0gYCR7c3RyaW5nfToke21ldGFUeXBlTmFtZX1gO1xuXG4gICAgcmV0dXJuIHN0cmluZztcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgeyBub2RlIH0gPSBqc29uO1xuXG4gICAgbGV0IHsgbWV0YVR5cGUgfSA9IGpzb247XG5cbiAgICBqc29uID0gbWV0YVR5cGU7ICAvLy9cblxuICAgIG1ldGFUeXBlID0gbWV0YVR5cGVGcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgIGNvbnN0IG1ldGF2YXJpYWJsZSA9IG5ldyBNZXRhdmFyaWFibGUobm9kZSwgbWV0YVR5cGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXZhcmlhYmxlTm9kZUFuZE1ldGFUeXBlKG1ldGF2YXJpYWJsZU5vZGUsIG1ldGFUeXBlKSB7XG4gICAgY29uc3Qgbm9kZSA9IG1ldGF2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICBtZXRhdmFyaWFibGUgPSBuZXcgTWV0YXZhcmlhYmxlKG5vZGUsIG1ldGFUeXBlKTtcblxuICAgIHJldHVybiBtZXRhdmFyaWFibGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJNZXRhdmFyaWFibGUiLCJub2RlIiwibWV0YVR5cGUiLCJnZXROb2RlIiwiZ2V0TWV0YVR5cGUiLCJtYXRjaE5vZGUiLCJub2RlTWF0Y2hlcyIsIm1hdGNoIiwidG9KU09OIiwidG9rZW5zIiwibWV0YVR5cGVKU09OIiwic3RyaW5nIiwibm9kZUFzU3RyaW5nIiwianNvbiIsImFzU3RyaW5nIiwibWV0YVR5cGVOYW1lIiwiZ2V0TmFtZSIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsIm1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dCIsIm1ldGF2YXJpYWJsZSIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kTWV0YVR5cGUiLCJtZXRhdmFyaWFibGVOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUtxQkE7OztzQkFIUTt3QkFDa0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhDLElBQUEsQUFBTUEsNkJBQUQsQUFBTDthQUFNQSxhQUNQQyxJQUFJLEVBQUVDLFFBQVE7Z0NBRFBGO1FBRWpCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTs7a0JBSENGOztZQU1uQkcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixJQUFJO1lBQ2xCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixRQUFRO1lBQ3RCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVVKLElBQUk7Z0JBQ1osSUFBTUssY0FBYyxJQUFJLENBQUNMLElBQUksQ0FBQ00sS0FBSyxDQUFDTjtnQkFFcEMsT0FBT0s7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxPQUFPQyxNQUFNO2dCQUNYLElBQU1DLGVBQWUsSUFBSSxDQUFDUixRQUFRLENBQUNNLE1BQU0sQ0FBQ0MsU0FDcENQLFdBQVdRLGNBQ1hDLFNBQVNDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDWCxJQUFJLEVBQUVRLFNBQ2pDUixPQUFPVSxRQUNQRSxPQUFPO29CQUNMWixNQUFBQTtvQkFDQUMsVUFBQUE7Z0JBQ0Y7Z0JBRU4sT0FBT1c7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTTCxNQUFNO2dCQUNiLElBQU1NLGVBQWUsSUFBSSxDQUFDYixRQUFRLENBQUNjLE9BQU87Z0JBRTFDLElBQUlMLFNBQVNDLElBQUFBLG9CQUFZLEVBQUMsSUFBSSxDQUFDWCxJQUFJLEVBQUVRO2dCQUVyQ0UsU0FBUyxBQUFDLEdBQVlJLE9BQVZKLFFBQU8sS0FBZ0IsT0FBYkk7Z0JBRXRCLE9BQU9KO1lBQ1Q7Ozs7WUFFT00sS0FBQUE7bUJBQVAsU0FBT0EsdUJBQXVCSixJQUFJLEVBQUVLLFdBQVc7Z0JBQzdDLElBQU0sQUFBRWpCLE9BQVNZLEtBQVRaO2dCQUVSLElBQUksQUFBRUMsV0FBYVcsS0FBYlg7Z0JBRU5XLE9BQU9YLFVBQVcsR0FBRztnQkFFckJBLFdBQVdpQixJQUFBQSx3Q0FBOEIsRUFBQ04sTUFBTUs7Z0JBRWhELElBQU1FLGVBQWUsSUFwREpwQixhQW9EcUJDLE1BQU1DO2dCQUU1QyxPQUFPa0I7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLGdDQUFnQ0MsZ0JBQWdCLEVBQUVwQixRQUFRO2dCQUMvRCxJQUFNRCxPQUFPcUIsa0JBQ1BGLGVBQWUsSUEzREpwQixhQTJEcUJDLE1BQU1DO2dCQUU1QyxPQUFPa0I7WUFDVDs7O1dBOURtQnBCIn0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgbm9kZUFzU3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3N0cmluZ1wiO1xuaW1wb3J0IHsgbmFtZUZyb21NZXRhdmFyaWFibGVOb2RlIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25hbWVcIjtcbmltcG9ydCB7IG1ldGFUeXBlRnJvbUpTT05BbmRGaWxlQ29udGV4dCB9IGZyb20gXCIuL21ldGFUeXBlXCI7XG5pbXBvcnQgeyBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9ub2RlXCI7XG5cbmNvbnN0IHR5cGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXZhcmlhYmxlL2FyZ3VtZW50IS90eXBlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWV0YXZhcmlhYmxlIHtcbiAgY29uc3RydWN0b3Iobm9kZSwgbmFtZSwgdGVybVR5cGUsIG1ldGFUeXBlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMudGVybVR5cGUgPSB0ZXJtVHlwZTtcbiAgICB0aGlzLm1ldGFUeXBlID0gbWV0YVR5cGU7XG4gIH1cblxuICBnZXROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLm5vZGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRUZXJtVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtVHlwZTtcbiAgfVxuXG4gIGdldE1ldGFUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLm1ldGFUeXBlO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBuYW1lTWF0Y2hlcyA9ICh0aGlzLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcmV0dXJuIG5hbWVNYXRjaGVzO1xuICB9XG5cbiAgbWF0Y2hOb2RlKG5vZGUpIHtcbiAgICBsZXQgbm9kZU1hdGNoZXM7XG5cbiAgICBjb25zdCBtZXRhdmFyaWFibGVOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAodGhpcy5uYW1lID09PSBuYW1lKSB7XG4gICAgICBub2RlTWF0Y2hlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVNYXRjaGVzO1xuICB9XG5cbiAgdG9KU09OKHRva2Vucykge1xuICAgIGNvbnN0IG1ldGFUeXBlSlNPTiA9IHRoaXMubWV0YVR5cGUudG9KU09OKHRva2VucyksXG4gICAgICAgICAgc3RyaW5nID0gbm9kZUFzU3RyaW5nKHRoaXMubm9kZSwgdG9rZW5zKSxcbiAgICAgICAgICBub2RlID0gc3RyaW5nLCAgLy9cbiAgICAgICAgICBtZXRhVHlwZSA9IG1ldGFUeXBlSlNPTiwgIC8vL1xuICAgICAgICAgIGpzb24gPSB7XG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbWV0YVR5cGVcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBhc1N0cmluZyh0b2tlbnMpIHtcbiAgICBjb25zdCBtZXRhVHlwZU5hbWUgPSB0aGlzLm1ldGFUeXBlLmdldE5hbWUoKTtcblxuICAgIGxldCBzdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5ub2RlLCB0b2tlbnMpO1xuXG4gICAgc3RyaW5nID0gYCR7c3RyaW5nfToke21ldGFUeXBlTmFtZX1gOyAvLy9cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGxldCB7IG5vZGUgfSA9IGpzb247XG5cbiAgICBjb25zdCBsZXhlciAgPSBmaWxlQ29udGV4dC5nZXRMZXhlcigpLFxuICAgICAgICAgIHBhcnNlciA9IGZpbGVDb250ZXh0LmdldFBhcnNlcigpLFxuICAgICAgICAgIHZhcmlhYmxlU3RyaW5nID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIsIHBhcnNlcik7XG5cbiAgICBub2RlID0gbWV0YXZhcmlhYmxlTm9kZTsgIC8vL1xuXG4gICAgbGV0IHsgbWV0YVR5cGUgfSA9IGpzb247XG5cbiAgICBqc29uID0gbWV0YVR5cGU7ICAvLy9cblxuICAgIG1ldGFUeXBlID0gbWV0YVR5cGVGcm9tSlNPTkFuZEZpbGVDb250ZXh0KGpzb24sIGZpbGVDb250ZXh0KTtcblxuICAgIGNvbnN0IG5hbWUgPSBuYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgdGVybVR5cGUgPSB0ZXJtVHlwZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBtZXRhdmFyaWFibGUgPSBuZXcgTWV0YXZhcmlhYmxlKG5vZGUsIG5hbWUsIHRlcm1UeXBlLCBtZXRhVHlwZSk7XG5cbiAgICByZXR1cm4gbWV0YXZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2RlTmFtZVRlcm1UeXBlQW5kTWV0YVR5cGUobm9kZSwgbmFtZSwgdGVybVR5cGUsIG1ldGFUeXBlKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlID0gbmV3IE1ldGF2YXJpYWJsZShub2RlLCBuYW1lLCB0ZXJtVHlwZSwgbWV0YVR5cGUpO1xuXG4gICAgcmV0dXJuIG1ldGF2YXJpYWJsZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0ZXJtVHlwZUZyb21NZXRhdmFyaWFibGVOb2RlKG1ldGF2YXJpYWJsZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0ZXJtVHlwZSA9IG51bGw7XG5cbiAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KG1ldGF2YXJpYWJsZU5vZGUpO1xuXG4gIGlmICh0eXBlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IGZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgICAgIHRlcm1UeXBlID0gdHlwZTsgIC8vL1xuICB9XG5cbiAgcmV0dXJuIHRlcm1UeXBlO1xufVxuIl0sIm5hbWVzIjpbIk1ldGF2YXJpYWJsZSIsInR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJub2RlIiwibmFtZSIsInRlcm1UeXBlIiwibWV0YVR5cGUiLCJnZXROb2RlIiwiZ2V0TmFtZSIsImdldFRlcm1UeXBlIiwiZ2V0TWV0YVR5cGUiLCJtYXRjaE5hbWUiLCJuYW1lTWF0Y2hlcyIsIm1hdGNoTm9kZSIsIm5vZGVNYXRjaGVzIiwibWV0YXZhcmlhYmxlTm9kZSIsIm5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsInRvSlNPTiIsInRva2VucyIsIm1ldGFUeXBlSlNPTiIsInN0cmluZyIsIm5vZGVBc1N0cmluZyIsImpzb24iLCJhc1N0cmluZyIsIm1ldGFUeXBlTmFtZSIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJmaWxlQ29udGV4dCIsImxleGVyIiwiZ2V0TGV4ZXIiLCJwYXJzZXIiLCJnZXRQYXJzZXIiLCJ2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YVR5cGVGcm9tSlNPTkFuZEZpbGVDb250ZXh0IiwidGVybVR5cGVGcm9tTWV0YXZhcmlhYmxlTm9kZSIsIm1ldGF2YXJpYWJsZSIsImZyb21Ob2RlTmFtZVRlcm1UeXBlQW5kTWV0YVR5cGUiLCJ0eXBlTm9kZSIsInR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBVXFC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
@@ -50,12 +50,18 @@ function findTypeByTypeName(typeName) {
50
50
  function findTypeByTypeNode(labelMetavariableNode) {
51
51
  return this.context.findTypeByTypeNode(labelMetavariableNode);
52
52
  }
53
+ function findMetavariableByName(name) {
54
+ return this.context.findMetavariableByName(name);
55
+ }
53
56
  function isTypePresentByTypeName(typeName) {
54
57
  return this.context.isTypePresentByTypeName(typeName);
55
58
  }
56
59
  function isTypePresentByTypeNode(typeNode) {
57
60
  return this.context.isTypePresentByTypeNode(typeNode);
58
61
  }
62
+ function isMetavariablePresentByName(name) {
63
+ return this.context.isMetavariablePresentByName(name);
64
+ }
59
65
  function findLabelByLabelMetavariableNode(labelMetavariableNode) {
60
66
  return this.context.findLabelByLabelMetavariableNode(labelMetavariableNode);
61
67
  }
@@ -98,8 +104,10 @@ var contextMixins = {
98
104
  getConstructors: getConstructors,
99
105
  findTypeByTypeName: findTypeByTypeName,
100
106
  findTypeByTypeNode: findTypeByTypeNode,
107
+ findMetavariableByName: findMetavariableByName,
101
108
  isTypePresentByTypeName: isTypePresentByTypeName,
102
109
  isTypePresentByTypeNode: isTypePresentByTypeNode,
110
+ isMetavariablePresentByName: isMetavariablePresentByName,
103
111
  findLabelByLabelMetavariableNode: findLabelByLabelMetavariableNode,
104
112
  findRuleByLabelMetavariableNode: findRuleByLabelMetavariableNode,
105
113
  findAxiomByLabelMetavariableNode: findAxiomByLabelMetavariableNode,
@@ -112,4 +120,4 @@ var contextMixins = {
112
120
  };
113
121
  var _default = contextMixins;
114
122
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gdHJhY2Uobm9kZSwgbWVzc2FnZSkgeyB0aGlzLmNvbnRleHQudHJhY2Uobm9kZSwgbWVzc2FnZSk7IH1cblxuZnVuY3Rpb24gZGVidWcobm9kZSwgbWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZGVidWcobm9kZSwgbWVzc2FnZSk7IH1cblxuZnVuY3Rpb24gaW5mbyhub2RlLCBtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG5vZGUsIG1lc3NhZ2UpOyB9XG5cbmZ1bmN0aW9uIHdhcm5pbmcobm9kZSwgbWVzc2FnZSkgeyB0aGlzLmNvbnRleHQud2FybmluZyhub2RlLCBtZXNzYWdlKTsgfVxuXG5mdW5jdGlvbiBlcnJvcihub2RlLCBtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5lcnJvcihub2RlLCBtZXNzYWdlKTsgfVxuXG5mdW5jdGlvbiBmYXRhbChub2RlLCBtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5mYXRhbChub2RlLCBtZXNzYWdlKTsgfVxuXG5mdW5jdGlvbiBnZXRBeGlvbXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0QXhpb21zKCk7IH1cblxuZnVuY3Rpb24gZ2V0TGVtbWFzKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldExlbW1hcygpOyB9XG5cbmZ1bmN0aW9uIGdldFRoZW9yZW1zKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFRoZW9yZW1zKCk7IH1cblxuZnVuY3Rpb24gZ2V0Q29uamVjdHVyZXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0Q29uamVjdHVyZXMoKTsgfVxuXG5mdW5jdGlvbiBnZXRDb21iaW5hdG9ycygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRDb21iaW5hdG9ycygpOyB9XG5cbmZ1bmN0aW9uIGdldENvbnN0cnVjdG9ycygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoKTsgfVxuXG5mdW5jdGlvbiBmaW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRUeXBlQnlUeXBlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTsgfVxuXG5mdW5jdGlvbiBpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSh0eXBlTm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOb2RlKHR5cGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBmaW5kTGFiZWxCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kTGFiZWxCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRSdWxlQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFJ1bGVCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRBeGlvbUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRBeGlvbUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSk7IH1cblxuZnVuY3Rpb24gZmluZExlbW1hQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZExlbW1hQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBmaW5kVGhlb3JlbUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRUaGVvcmVtQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBmaW5kQ29uamVjdHVyZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRDb25qZWN0dXJlQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBpc0xhYmVsUHJlc2VudEJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmlzTGFiZWxQcmVzZW50QnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBub2RlQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKTsgfVxuXG5mdW5jdGlvbiBub2Rlc0FzU3RyaW5nKG5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5ub2Rlc0FzU3RyaW5nKG5vZGUpOyB9XG5cbmNvbnN0IGNvbnRleHRNaXhpbnMgPSB7XG4gIHRyYWNlLFxuICBkZWJ1ZyxcbiAgaW5mbyxcbiAgd2FybmluZyxcbiAgZXJyb3IsXG4gIGZhdGFsLFxuICBnZXRBeGlvbXMsXG4gIGdldExlbW1hcyxcbiAgZ2V0VGhlb3JlbXMsXG4gIGdldENvbmplY3R1cmVzLFxuICBnZXRDb21iaW5hdG9ycyxcbiAgZ2V0Q29uc3RydWN0b3JzLFxuICBmaW5kVHlwZUJ5VHlwZU5hbWUsXG4gIGZpbmRUeXBlQnlUeXBlTm9kZSxcbiAgaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUsXG4gIGlzVHlwZVByZXNlbnRCeVR5cGVOb2RlLFxuICBmaW5kTGFiZWxCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSxcbiAgZmluZFJ1bGVCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSxcbiAgZmluZEF4aW9tQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUsXG4gIGZpbmRMZW1tYUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlLFxuICBmaW5kVGhlb3JlbUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlLFxuICBmaW5kQ29uamVjdHVyZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlLFxuICBpc0xhYmVsUHJlc2VudEJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlLFxuICBub2RlQXNTdHJpbmcsXG4gIG5vZGVzQXNTdHJpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbnRleHRNaXhpbnM7XG4iXSwibmFtZXMiOlsidHJhY2UiLCJub2RlIiwibWVzc2FnZSIsImNvbnRleHQiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZXJyb3IiLCJmYXRhbCIsImdldEF4aW9tcyIsImdldExlbW1hcyIsImdldFRoZW9yZW1zIiwiZ2V0Q29uamVjdHVyZXMiLCJnZXRDb21iaW5hdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInR5cGVOYW1lIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwibGFiZWxNZXRhdmFyaWFibGVOb2RlIiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsInR5cGVOb2RlIiwiZmluZExhYmVsQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJmaW5kUnVsZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlIiwiZmluZEF4aW9tQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJmaW5kTGVtbWFCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSIsImZpbmRUaGVvcmVtQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJmaW5kQ29uamVjdHVyZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlIiwiaXNMYWJlbFByZXNlbnRCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSIsIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJjb250ZXh0TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFnRkE7OztlQUFBOzs7QUE5RUEsU0FBU0EsTUFBTUMsSUFBSSxFQUFFQyxPQUFPO0lBQUksSUFBSSxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQ0MsTUFBTUM7QUFBVTtBQUVuRSxTQUFTRSxNQUFNSCxJQUFJLEVBQUVDLE9BQU87SUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSCxNQUFNQztBQUFVO0FBRW5FLFNBQVNHLEtBQUtKLElBQUksRUFBRUMsT0FBTztJQUFJLElBQUksQ0FBQ0MsT0FBTyxDQUFDRSxJQUFJLENBQUNKLE1BQU1DO0FBQVU7QUFFakUsU0FBU0ksUUFBUUwsSUFBSSxFQUFFQyxPQUFPO0lBQUksSUFBSSxDQUFDQyxPQUFPLENBQUNHLE9BQU8sQ0FBQ0wsTUFBTUM7QUFBVTtBQUV2RSxTQUFTSyxNQUFNTixJQUFJLEVBQUVDLE9BQU87SUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0ksS0FBSyxDQUFDTixNQUFNQztBQUFVO0FBRW5FLFNBQVNNLE1BQU1QLElBQUksRUFBRUMsT0FBTztJQUFJLElBQUksQ0FBQ0MsT0FBTyxDQUFDSyxLQUFLLENBQUNQLE1BQU1DO0FBQVU7QUFFbkUsU0FBU087SUFBYyxPQUFPLElBQUksQ0FBQ04sT0FBTyxDQUFDTSxTQUFTO0FBQUk7QUFFeEQsU0FBU0M7SUFBYyxPQUFPLElBQUksQ0FBQ1AsT0FBTyxDQUFDTyxTQUFTO0FBQUk7QUFFeEQsU0FBU0M7SUFBZ0IsT0FBTyxJQUFJLENBQUNS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
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvY29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZnVuY3Rpb24gdHJhY2Uobm9kZSwgbWVzc2FnZSkgeyB0aGlzLmNvbnRleHQudHJhY2Uobm9kZSwgbWVzc2FnZSk7IH1cblxuZnVuY3Rpb24gZGVidWcobm9kZSwgbWVzc2FnZSkgeyB0aGlzLmNvbnRleHQuZGVidWcobm9kZSwgbWVzc2FnZSk7IH1cblxuZnVuY3Rpb24gaW5mbyhub2RlLCBtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5pbmZvKG5vZGUsIG1lc3NhZ2UpOyB9XG5cbmZ1bmN0aW9uIHdhcm5pbmcobm9kZSwgbWVzc2FnZSkgeyB0aGlzLmNvbnRleHQud2FybmluZyhub2RlLCBtZXNzYWdlKTsgfVxuXG5mdW5jdGlvbiBlcnJvcihub2RlLCBtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5lcnJvcihub2RlLCBtZXNzYWdlKTsgfVxuXG5mdW5jdGlvbiBmYXRhbChub2RlLCBtZXNzYWdlKSB7IHRoaXMuY29udGV4dC5mYXRhbChub2RlLCBtZXNzYWdlKTsgfVxuXG5mdW5jdGlvbiBnZXRBeGlvbXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0QXhpb21zKCk7IH1cblxuZnVuY3Rpb24gZ2V0TGVtbWFzKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldExlbW1hcygpOyB9XG5cbmZ1bmN0aW9uIGdldFRoZW9yZW1zKCkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmdldFRoZW9yZW1zKCk7IH1cblxuZnVuY3Rpb24gZ2V0Q29uamVjdHVyZXMoKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZ2V0Q29uamVjdHVyZXMoKTsgfVxuXG5mdW5jdGlvbiBnZXRDb21iaW5hdG9ycygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRDb21iaW5hdG9ycygpOyB9XG5cbmZ1bmN0aW9uIGdldENvbnN0cnVjdG9ycygpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoKTsgfVxuXG5mdW5jdGlvbiBmaW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUodHlwZU5hbWUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRUeXBlQnlUeXBlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBmaW5kTWV0YXZhcmlhYmxlQnlOYW1lKG5hbWUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kTWV0YXZhcmlhYmxlQnlOYW1lKG5hbWUpOyB9XG5cbmZ1bmN0aW9uIGlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpOyB9XG5cbmZ1bmN0aW9uIGlzVHlwZVByZXNlbnRCeVR5cGVOb2RlKHR5cGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5vZGUodHlwZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIGlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TmFtZShuYW1lKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNNZXRhdmFyaWFibGVQcmVzZW50QnlOYW1lKG5hbWUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRMYWJlbEJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0LmZpbmRMYWJlbEJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSk7IH1cblxuZnVuY3Rpb24gZmluZFJ1bGVCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kUnVsZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlKGxhYmVsTWV0YXZhcmlhYmxlTm9kZSk7IH1cblxuZnVuY3Rpb24gZmluZEF4aW9tQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZEF4aW9tQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKTsgfVxuXG5mdW5jdGlvbiBmaW5kTGVtbWFCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpIHsgcmV0dXJuIHRoaXMuY29udGV4dC5maW5kTGVtbWFCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRUaGVvcmVtQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZFRoZW9yZW1CeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIGZpbmRDb25qZWN0dXJlQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuZmluZENvbmplY3R1cmVCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIGlzTGFiZWxQcmVzZW50QnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUobGFiZWxNZXRhdmFyaWFibGVOb2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQuaXNMYWJlbFByZXNlbnRCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZShsYWJlbE1ldGF2YXJpYWJsZU5vZGUpOyB9XG5cbmZ1bmN0aW9uIG5vZGVBc1N0cmluZyhub2RlKSB7IHJldHVybiB0aGlzLmNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpOyB9XG5cbmZ1bmN0aW9uIG5vZGVzQXNTdHJpbmcobm9kZSkgeyByZXR1cm4gdGhpcy5jb250ZXh0Lm5vZGVzQXNTdHJpbmcobm9kZSk7IH1cblxuY29uc3QgY29udGV4dE1peGlucyA9IHtcbiAgdHJhY2UsXG4gIGRlYnVnLFxuICBpbmZvLFxuICB3YXJuaW5nLFxuICBlcnJvcixcbiAgZmF0YWwsXG4gIGdldEF4aW9tcyxcbiAgZ2V0TGVtbWFzLFxuICBnZXRUaGVvcmVtcyxcbiAgZ2V0Q29uamVjdHVyZXMsXG4gIGdldENvbWJpbmF0b3JzLFxuICBnZXRDb25zdHJ1Y3RvcnMsXG4gIGZpbmRUeXBlQnlUeXBlTmFtZSxcbiAgZmluZFR5cGVCeVR5cGVOb2RlLFxuICBmaW5kTWV0YXZhcmlhYmxlQnlOYW1lLFxuICBpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSxcbiAgaXNUeXBlUHJlc2VudEJ5VHlwZU5vZGUsXG4gIGlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TmFtZSxcbiAgZmluZExhYmVsQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUsXG4gIGZpbmRSdWxlQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUsXG4gIGZpbmRBeGlvbUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlLFxuICBmaW5kTGVtbWFCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSxcbiAgZmluZFRoZW9yZW1CeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSxcbiAgZmluZENvbmplY3R1cmVCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSxcbiAgaXNMYWJlbFByZXNlbnRCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSxcbiAgbm9kZUFzU3RyaW5nLFxuICBub2Rlc0FzU3RyaW5nXG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb250ZXh0TWl4aW5zO1xuIl0sIm5hbWVzIjpbInRyYWNlIiwibm9kZSIsIm1lc3NhZ2UiLCJjb250ZXh0IiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImVycm9yIiwiZmF0YWwiLCJnZXRBeGlvbXMiLCJnZXRMZW1tYXMiLCJnZXRUaGVvcmVtcyIsImdldENvbmplY3R1cmVzIiwiZ2V0Q29tYmluYXRvcnMiLCJnZXRDb25zdHJ1Y3RvcnMiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJ0eXBlTmFtZSIsImZpbmRUeXBlQnlUeXBlTm9kZSIsImxhYmVsTWV0YXZhcmlhYmxlTm9kZSIsImZpbmRNZXRhdmFyaWFibGVCeU5hbWUiLCJuYW1lIiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsInR5cGVOb2RlIiwiaXNNZXRhdmFyaWFibGVQcmVzZW50QnlOYW1lIiwiZmluZExhYmVsQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJmaW5kUnVsZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlIiwiZmluZEF4aW9tQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJmaW5kTGVtbWFCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSIsImZpbmRUaGVvcmVtQnlMYWJlbE1ldGF2YXJpYWJsZU5vZGUiLCJmaW5kQ29uamVjdHVyZUJ5TGFiZWxNZXRhdmFyaWFibGVOb2RlIiwiaXNMYWJlbFByZXNlbnRCeUxhYmVsTWV0YXZhcmlhYmxlTm9kZSIsIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJjb250ZXh0TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFzRkE7OztlQUFBOzs7QUFwRkEsU0FBU0EsTUFBTUMsSUFBSSxFQUFFQyxPQUFPO0lBQUksSUFBSSxDQUFDQyxPQUFPLENBQUNILEtBQUssQ0FBQ0MsTUFBTUM7QUFBVTtBQUVuRSxTQUFTRSxNQUFNSCxJQUFJLEVBQUVDLE9BQU87SUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSCxNQUFNQztBQUFVO0FBRW5FLFNBQVNHLEtBQUtKLElBQUksRUFBRUMsT0FBTztJQUFJLElBQUksQ0FBQ0MsT0FBTyxDQUFDRSxJQUFJLENBQUNKLE1BQU1DO0FBQVU7QUFFakUsU0FBU0ksUUFBUUwsSUFBSSxFQUFFQyxPQUFPO0lBQUksSUFBSSxDQUFDQyxPQUFPLENBQUNHLE9BQU8sQ0FB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
@@ -77,7 +77,7 @@ function checkReleaseContextCreated(releaseContext, dependency, context) {
77
77
  var releaseContextCreated = releaseContext !== null;
78
78
  if (!releaseContextCreated) {
79
79
  var log = context.log, dependencyName = dependency.getName(), releaseName = dependencyName; ///
80
- log.error("The '".concat(releaseName, "' context could not be created. Most likely the 'meta.json' file is missing or invalid."));
80
+ log.error("The '".concat(releaseName, "' context could not be created. Perhaps the 'meta.json' file is missing or invalid or most likely one of the dependencies is missing or mis-versioned."));
81
81
  }
82
82
  return releaseContextCreated;
83
83
  }
@@ -129,4 +129,4 @@ function createDependencyReleaseContexts(dependency, dependentNames, context, ca
129
129
  });
130
130
  }
131
131
 
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWxlYXNlQ29udGV4dC9jcmVhdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IGxvZywgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVuY3lTdHJpbmcgPSBkZXBlbmRlbmN5LmFzU3RyaW5nKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gZGVwZW5kZW5jeU5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSB8fCBudWxsO1xuXG4gIGxvZy5kZWJ1ZyhgQ3JlYXRpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW5jeVN0cmluZ30nIGRlcGVuZGVuY3kuLi5gKTtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCBlcnJvciA9IG51bGwsXG4gICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpO1xuXG4gICAgbG9nLmRlYnVnKGAuLi5hbHJlYWR5IGNyZWF0ZWQgdGhlICcke3JlbGVhc2VOYW1lfToke3ZlcnNpb25TdHJpbmd9JyBjb250ZXh0LmApO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3koZGVwZW5kZW5jeSwgY29udGV4dCwgKGVycm9yLCByZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gY2hlY2tSZWxlYXNlQ29udGV4dENyZWF0ZWQocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXNlQ29udGV4dENyZWF0ZWQpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbnVsbDtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmICghcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KSB7XG4gICAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgdmVyc2lvblN0cmluZyA9IHZlcnNpb24udG9TdHJpbmcoKTtcblxuICAgIHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSA9IHJlbGVhc2VDb250ZXh0O1xuXG4gICAgY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbG9nLmluZm8oYC4uLmNyZWF0ZWQgdGhlICcke3JlbGVhc2VOYW1lfUAke3ZlcnNpb25TdHJpbmd9JyBjb250ZXh0LmApO1xuXG4gICAgICBjYWxsYmFjayhlcnJvcik7XG4gICAgfSk7XG4gIH0sIGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBjaGVja1JlbGVhc2VDb250ZXh0Q3JlYXRlZChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgY29udGV4dCkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpO1xuXG4gIGlmICghcmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lOyAvLy9cblxuICAgIGxvZy5lcnJvcihgVGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dCBjb3VsZCBub3QgYmUgY3JlYXRlZC4gTW9zdCBsaWtlbHkgdGhlICdtZXRhLmpzb24nIGZpbGUgaXMgbWlzc2luZyBvciBpbnZhbGlkLmApO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0Q3JlYXRlZDtcbn1cblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKGRlcGVuZGVuY3lOYW1lKSxcbiAgICAgICAgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IFsgIC8vL1xuICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGxvZy5lcnJvcihgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeUV4aXN0cztcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSB0cnVlO1xuXG4gIGNvbnN0IGVudHJpZXMgPSByZWxlYXNlQ29udGV4dC5nZXRFbnRyaWVzKCksXG4gICAgICAgIHNob3J0ZW5lZFZlcnNpb24gPSBkZXBlbmRlbmN5LmdldFNob3J0ZWRWZXJzaW9uKCk7XG5cbiAgaWYgKHNob3J0ZW5lZFZlcnNpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uID0gZW50cmllcy5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICBpZiAoIWVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgICBsb2cuZXJyb3IoYFZlcnNpb24gbWlzbWF0Y2g6ICcke2RlcGVuZGVudE5hbWV9JyByZXF1aXJlcyB0aGUgJyR7ZGVwZW5kZW5jeVN0cmluZ30nIGRlcGVuZGVuY3kgYnV0IGEgY29udGV4dCB3aXRoIHZlcnNpb24gJyR7dmVyc2lvblN0cmluZ30nIHdhcyBjcmVhdGVkLmApO1xuXG4gICAgICByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW5jeU5hbWUgXTsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcy5hc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMpO1xuXG4gICAgaWYgKGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbnVsbDtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnN0IGVycm9yID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbmN5IiwiZGVwZW5kZW50TmFtZXMiLCJjb250ZXh0IiwiY2FsbGJhY2siLCJsb2ciLCJyZWxlYXNlQ29udGV4dE1hcCIsImRlcGVuZGVuY3lOYW1lIiwiZ2V0TmFtZSIsImRlcGVuZGVuY3lTdHJpbmciLCJhc1N0cmluZyIsInJlbGVhc2VOYW1lIiwicmVsZWFzZUNvbnRleHQiLCJkZWJ1ZyIsImVycm9yIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IiwicmVsZWFzZUNvbnRleHRDcmVhdGVkIiwiY2hlY2tSZWxlYXNlQ29udGV4dENyZWF0ZWQiLCJyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJpbmZvIiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZGVwZW5kZW50TmFtZXNJbmNsdWRlc0RlcGVuZGVuY3lOYW1lIiwiaW5jbHVkZXMiLCJjeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZmlyc3REZXBlbmRlbnROYW1lIiwiZmlyc3QiLCJkZXBlbmRlbmN5TmFtZXMiLCJkZXBlbmRlbmN5TmFtZXNTdHJpbmciLCJqb2luIiwiZW50cmllcyIsImdldEVudHJpZXMiLCJzaG9ydGVuZWRWZXJzaW9uIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibGFzdERlcGVuZGVudE5hbWUiLCJsYXN0IiwiZGVwZW5kZW50TmFtZSIsImRlcGVuZGVuY2llcyIsImdldERlcGVuZGVuY2llcyIsImFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5IiwibmV4dCIsImRvbmUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7cUJBRkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRU4sU0FBU0EscUJBQXFCQyxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsT0FBTyxFQUFFQyxRQUFRO0lBQ3hGLElBQVFDLE1BQTJCRixRQUEzQkUsS0FBS0Msb0JBQXNCSCxRQUF0QkcsbUJBQ1BDLGlCQUFpQk4sV0FBV08sT0FBTyxJQUNuQ0MsbUJBQW1CUixXQUFXUyxRQUFRLElBQ3RDQyxjQUFjSixnQkFDZEssaUJBQWlCTixpQkFBaUIsQ0FBQ0ssWUFBWSxJQUFJO0lBRXpETixJQUFJUSxLQUFLLENBQUMsQUFBQyxpQkFBbURKLE9BQW5D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
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWxlYXNlQ29udGV4dC9jcmVhdGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxhc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IGxvZywgcmVsZWFzZUNvbnRleHRNYXAgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVuY3lTdHJpbmcgPSBkZXBlbmRlbmN5LmFzU3RyaW5nKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gZGVwZW5kZW5jeU5hbWUsIC8vL1xuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSB8fCBudWxsO1xuXG4gIGxvZy5kZWJ1ZyhgQ3JlYXRpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW5jeVN0cmluZ30nIGRlcGVuZGVuY3kuLi5gKTtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpIHtcbiAgICBjb25zdCBlcnJvciA9IG51bGwsXG4gICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICB2ZXJzaW9uU3RyaW5nID0gdmVyc2lvbi50b1N0cmluZygpO1xuXG4gICAgbG9nLmRlYnVnKGAuLi5hbHJlYWR5IGNyZWF0ZWQgdGhlICcke3JlbGVhc2VOYW1lfToke3ZlcnNpb25TdHJpbmd9JyBjb250ZXh0LmApO1xuXG4gICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3koZGVwZW5kZW5jeSwgY29udGV4dCwgKGVycm9yLCByZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgIGlmIChlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gY2hlY2tSZWxlYXNlQ29udGV4dENyZWF0ZWQocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXNlQ29udGV4dENyZWF0ZWQpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbnVsbDtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmICghcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KSB7XG4gICAgICBjb25zdCBlcnJvciA9IG51bGw7XG5cbiAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgdmVyc2lvblN0cmluZyA9IHZlcnNpb24udG9TdHJpbmcoKTtcblxuICAgIHJlbGVhc2VDb250ZXh0TWFwW3JlbGVhc2VOYW1lXSA9IHJlbGVhc2VDb250ZXh0O1xuXG4gICAgY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgKGVycm9yKSA9PiB7XG4gICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbG9nLmluZm8oYC4uLmNyZWF0ZWQgdGhlICcke3JlbGVhc2VOYW1lfUAke3ZlcnNpb25TdHJpbmd9JyBjb250ZXh0LmApO1xuXG4gICAgICBjYWxsYmFjayhlcnJvcik7XG4gICAgfSk7XG4gIH0sIGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiBjaGVja1JlbGVhc2VDb250ZXh0Q3JlYXRlZChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgY29udGV4dCkge1xuICBjb25zdCByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSAocmVsZWFzZUNvbnRleHQgIT09IG51bGwpO1xuXG4gIGlmICghcmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBkZXBlbmRlbmN5LmdldE5hbWUoKSxcbiAgICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lOyAvLy9cblxuICAgIGxvZy5lcnJvcihgVGhlICcke3JlbGVhc2VOYW1lfScgY29udGV4dCBjb3VsZCBub3QgYmUgY3JlYXRlZC4gUGVyaGFwcyB0aGUgJ21ldGEuanNvbicgZmlsZSBpcyBtaXNzaW5nIG9yIGludmFsaWQgb3IgbW9zdCBsaWtlbHkgb25lIG9mIHRoZSBkZXBlbmRlbmNpZXMgaXMgbWlzc2luZyBvciBtaXMtdmVyc2lvbmVkLmApO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0Q3JlYXRlZDtcbn1cblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVudE5hbWVzLmluY2x1ZGVzKGRlcGVuZGVuY3lOYW1lKSxcbiAgICAgICAgY3ljbGljRGVwZW5kZW5jeUV4aXN0cyA9IGRlcGVuZGVudE5hbWVzSW5jbHVkZXNEZXBlbmRlbmN5TmFtZTsgIC8vL1xuXG4gIGlmIChjeWNsaWNEZXBlbmRlbmN5RXhpc3RzKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgZmlyc3REZXBlbmRlbnROYW1lID0gZmlyc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lcyA9IFsgIC8vL1xuICAgICAgICAgICAgLi4uZGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBmaXJzdERlcGVuZGVudE5hbWVcbiAgICAgICAgICBdLFxuICAgICAgICAgIGRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGRlcGVuZGVuY3lOYW1lcy5qb2luKGAnIC0+ICdgKTtcblxuICAgIGxvZy5lcnJvcihgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeTogJyR7ZGVwZW5kZW5jeU5hbWVzU3RyaW5nfScuYCk7XG4gIH1cblxuICByZXR1cm4gY3ljbGljRGVwZW5kZW5jeUV4aXN0cztcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSB0cnVlO1xuXG4gIGNvbnN0IGVudHJpZXMgPSByZWxlYXNlQ29udGV4dC5nZXRFbnRyaWVzKCksXG4gICAgICAgIHNob3J0ZW5lZFZlcnNpb24gPSBkZXBlbmRlbmN5LmdldFNob3J0ZWRWZXJzaW9uKCk7XG5cbiAgaWYgKHNob3J0ZW5lZFZlcnNpb24gIT09IG51bGwpIHtcbiAgICBjb25zdCBlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uID0gZW50cmllcy5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICBpZiAoIWVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgICBsb2cuZXJyb3IoYFZlcnNpb24gbWlzbWF0Y2g6ICcke2RlcGVuZGVudE5hbWV9JyByZXF1aXJlcyB0aGUgJyR7ZGVwZW5kZW5jeVN0cmluZ30nIGRlcGVuZGVuY3kgYnV0IGEgY29udGV4dCB3aXRoIHZlcnNpb24gJyR7dmVyc2lvblN0cmluZ30nIHdhcyBjcmVhdGVkLmApO1xuXG4gICAgICByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBjYWxsYmFjaykge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0TWFwIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IGRlcGVuZGVuY3lOYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dE1hcFtyZWxlYXNlTmFtZV0sXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gIGRlcGVuZGVudE5hbWVzID0gWyAuLi5kZXBlbmRlbnROYW1lcywgZGVwZW5kZW5jeU5hbWUgXTsgIC8vL1xuXG4gIGRlcGVuZGVuY2llcy5hc3luY2hyb25vdXNGb3JFYWNoRGVwZW5kZW5jeSgoZGVwZW5kZW5jeSwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMgPSBjaGVja0N5Y2xpY0RlcGVuZGVuY3lFeGlzdHMoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMpO1xuXG4gICAgaWYgKGN5Y2xpY0RlcGVuZGVuY3lFeGlzdHMpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbnVsbDtcblxuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY3JlYXRlUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIGNhbGxiYWNrKGVycm9yKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnN0IGVycm9yID0gbnVsbDtcblxuICAgIGNhbGxiYWNrKGVycm9yKTtcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY3JlYXRlUmVsZWFzZUNvbnRleHQiLCJkZXBlbmRlbmN5IiwiZGVwZW5kZW50TmFtZXMiLCJjb250ZXh0IiwiY2FsbGJhY2siLCJsb2ciLCJyZWxlYXNlQ29udGV4dE1hcCIsImRlcGVuZGVuY3lOYW1lIiwiZ2V0TmFtZSIsImRlcGVuZGVuY3lTdHJpbmciLCJhc1N0cmluZyIsInJlbGVhc2VOYW1lIiwicmVsZWFzZUNvbnRleHQiLCJkZWJ1ZyIsImVycm9yIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IiwicmVsZWFzZUNvbnRleHRDcmVhdGVkIiwiY2hlY2tSZWxlYXNlQ29udGV4dENyZWF0ZWQiLCJyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMiLCJpbmZvIiwiY2hlY2tDeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZGVwZW5kZW50TmFtZXNJbmNsdWRlc0RlcGVuZGVuY3lOYW1lIiwiaW5jbHVkZXMiLCJjeWNsaWNEZXBlbmRlbmN5RXhpc3RzIiwiZmlyc3REZXBlbmRlbnROYW1lIiwiZmlyc3QiLCJkZXBlbmRlbmN5TmFtZXMiLCJkZXBlbmRlbmN5TmFtZXNTdHJpbmciLCJqb2luIiwiZW50cmllcyIsImdldEVudHJpZXMiLCJzaG9ydGVuZWRWZXJzaW9uIiwiZ2V0U2hvcnRlZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibGFzdERlcGVuZGVudE5hbWUiLCJsYXN0IiwiZGVwZW5kZW50TmFtZSIsImRlcGVuZGVuY2llcyIsImdldERlcGVuZGVuY2llcyIsImFzeW5jaHJvbm91c0ZvckVhY2hEZXBlbmRlbmN5IiwibmV4dCIsImRvbmUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7cUJBRkg7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRU4sU0FBU0EscUJBQXFCQyxVQUFVLEVBQUVDLGNBQWMsRUFBRUMsT0FBTyxFQUFFQyxRQUFRO0lBQ3hGLElBQVFDLE1BQTJCRixRQUEzQkUsS0FBS0Msb0JBQXNCSCxRQUF0QkcsbUJBQ1BDLGlCQUFpQk4sV0FBV08sT0FBTyxJQUNuQ0MsbUJBQW1CUixXQUFXUyxRQUFRLElBQ3RDQyxjQUFjSixnQkFDZEssaUJBQWlCTixp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