occam-furtle 3.0.521 → 3.0.525
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.
- package/lib/element/apply.js +126 -0
- package/lib/element/assignment/object.js +23 -1
- package/lib/element/error.js +3 -3
- package/lib/element/every.js +13 -13
- package/lib/element/expression.js +18 -2
- package/lib/element/importStatement.js +3 -2
- package/lib/element/procedure.js +2 -1
- package/lib/element/procedureCall.js +8 -1
- package/lib/element/reduce.js +5 -5
- package/lib/element/referenceListLiteral.js +24 -0
- package/lib/element/references.js +32 -0
- package/lib/element/some.js +7 -7
- package/lib/element/terms.js +2 -2
- package/lib/element/values.js +16 -3
- package/lib/example/furtle/bnf.js +3 -5
- package/lib/example/furtle/entries.js +2 -2
- package/lib/node/apply.js +39 -0
- package/lib/node/expression.js +5 -1
- package/lib/node/references.js +23 -0
- package/lib/node/referencesListLiteral.js +27 -0
- package/lib/nominalValueProperties.js +34 -18
- package/lib/nonTerminalNodeMap.js +8 -2
- package/lib/parameterNames.js +5 -1
- package/lib/preamble.js +7 -3
- package/lib/process/instantiate.js +1 -1
- package/lib/ruleNames.js +13 -1
- package/lib/utilities/element.js +110 -7
- package/lib/utilities/string.js +38 -5
- package/package.json +5 -5
- package/src/element/apply.js +119 -0
- package/src/element/assignment/object.js +48 -1
- package/src/element/error.js +3 -3
- package/src/element/every.js +14 -12
- package/src/element/expression.js +19 -1
- package/src/element/importStatement.js +3 -1
- package/src/element/procedure.js +2 -0
- package/src/element/procedureCall.js +14 -0
- package/src/element/reduce.js +4 -4
- package/src/element/referenceListLiteral.js +19 -0
- package/src/element/references.js +31 -0
- package/src/element/some.js +7 -6
- package/src/element/terms.js +1 -1
- package/src/element/values.js +26 -2
- package/src/example/furtle/bnf.js +2 -4
- package/src/example/furtle/entries.js +1 -1
- package/src/node/apply.js +44 -0
- package/src/node/expression.js +9 -1
- package/src/node/references.js +16 -0
- package/src/node/referencesListLiteral.js +23 -0
- package/src/nominalValueProperties.js +43 -25
- package/src/nonTerminalNodeMap.js +11 -2
- package/src/parameterNames.js +1 -0
- package/src/preamble.js +6 -2
- package/src/process/instantiate.js +6 -1
- package/src/ruleNames.js +3 -0
- package/src/utilities/element.js +147 -14
- package/src/utilities/string.js +49 -6
|
@@ -0,0 +1,126 @@
|
|
|
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
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
|
|
13
|
+
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
14
|
+
const _value = require("../utilities/value");
|
|
15
|
+
const _typeNames = require("../typeNames");
|
|
16
|
+
function _interop_require_default(obj) {
|
|
17
|
+
return obj && obj.__esModule ? obj : {
|
|
18
|
+
default: obj
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
22
|
+
if (typeof WeakMap !== "function") return null;
|
|
23
|
+
var cacheBabelInterop = new WeakMap();
|
|
24
|
+
var cacheNodeInterop = new WeakMap();
|
|
25
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
26
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
27
|
+
})(nodeInterop);
|
|
28
|
+
}
|
|
29
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
30
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
31
|
+
return obj;
|
|
32
|
+
}
|
|
33
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
34
|
+
return {
|
|
35
|
+
default: obj
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
39
|
+
if (cache && cache.has(obj)) {
|
|
40
|
+
return cache.get(obj);
|
|
41
|
+
}
|
|
42
|
+
var newObj = {
|
|
43
|
+
__proto__: null
|
|
44
|
+
};
|
|
45
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
|
+
for(var key in obj){
|
|
47
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
48
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
49
|
+
if (desc && (desc.get || desc.set)) {
|
|
50
|
+
Object.defineProperty(newObj, key, desc);
|
|
51
|
+
} else {
|
|
52
|
+
newObj[key] = obj[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
newObj.default = obj;
|
|
57
|
+
if (cache) {
|
|
58
|
+
cache.set(obj, newObj);
|
|
59
|
+
}
|
|
60
|
+
return newObj;
|
|
61
|
+
}
|
|
62
|
+
const { every } = _occamlanguages.continuationUtilities, { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
63
|
+
const _default = (0, _elements.define)(class All extends _occamlanguages.Element {
|
|
64
|
+
constructor(context, string, node, breakPoint, values, variable, references){
|
|
65
|
+
super(context, string, node, breakPoint);
|
|
66
|
+
this.string = string;
|
|
67
|
+
this.values = values;
|
|
68
|
+
this.variable = variable;
|
|
69
|
+
this.references = references;
|
|
70
|
+
}
|
|
71
|
+
getValues() {
|
|
72
|
+
return this.values;
|
|
73
|
+
}
|
|
74
|
+
getVariable() {
|
|
75
|
+
return this.variable;
|
|
76
|
+
}
|
|
77
|
+
getReferences() {
|
|
78
|
+
return this.references;
|
|
79
|
+
}
|
|
80
|
+
evaluate = unbreakable(function(context, forward, back) {
|
|
81
|
+
const allString = this.getString();
|
|
82
|
+
context.trace(`Evaluating the '${allString}' function...`);
|
|
83
|
+
return this.variable.evaluate(context, (value, back)=>{
|
|
84
|
+
const valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
85
|
+
if (!valueTypeListType) {
|
|
86
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
87
|
+
return back(exception);
|
|
88
|
+
}
|
|
89
|
+
const values = value.lift(context), valuesLength = values.length, referencesLength = this.references.getLength();
|
|
90
|
+
if (valuesLength !== referencesLength) {
|
|
91
|
+
const valueString = value.getString(), referencesString = this.references.getString(), message = `The ${valueString} values and '${referencesString}' function references are not the same length.`, exception = _exception.default.fromMessage(message);
|
|
92
|
+
return back(exception);
|
|
93
|
+
}
|
|
94
|
+
return every(values, (value, context, forward, back, index)=>{
|
|
95
|
+
const reference = this.references.getReference(index);
|
|
96
|
+
return this.callProcedure(reference, value, context, (value, back)=>{
|
|
97
|
+
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
98
|
+
if (!valueTypeBooleanType) {
|
|
99
|
+
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.BOOLEAN_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
100
|
+
return back(exception);
|
|
101
|
+
}
|
|
102
|
+
const primitiveValue = value.getPrimitiveValue(), boolean = primitiveValue;
|
|
103
|
+
if (!boolean) {
|
|
104
|
+
return back();
|
|
105
|
+
}
|
|
106
|
+
return forward(context, back);
|
|
107
|
+
}, back);
|
|
108
|
+
}, context, (context, back)=>{
|
|
109
|
+
const boolean = true, value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
|
|
110
|
+
context.trace(`...evaluated the '${allString}' function as '${valueString}'.`);
|
|
111
|
+
return forward(value, back);
|
|
112
|
+
}, back);
|
|
113
|
+
}, back);
|
|
114
|
+
});
|
|
115
|
+
callProcedure(reference, value, context, forward, back) {
|
|
116
|
+
let values;
|
|
117
|
+
const { Values } = _elements.default;
|
|
118
|
+
values = Values.fromValue(value);
|
|
119
|
+
values = values.merge(this.values); ///
|
|
120
|
+
const { ProcedureCall } = _elements.default, procedureCall = ProcedureCall.fromReferenceAndValues(reference, values, context);
|
|
121
|
+
return procedureCall.evaluate(context, forward, back);
|
|
122
|
+
}
|
|
123
|
+
static name = "All";
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2FwcGx5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4gfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3ZhbHVlXCI7XG5pbXBvcnQgeyBMSVNUX1RZUEVfTkFNRSwgQk9PTEVBTl9UWVBFX05BTUUgfSBmcm9tIFwiLi4vdHlwZU5hbWVzXCI7XG5cbmNvbnN0IHsgZXZlcnkgfSA9IGNvbnRpbnVhdGlvblV0aWxpdGllcyxcbiAgICAgIHsgdW5icmVha2FibGUgfSA9IGJyZWFrUG9pbnRVdGlsaXRpZXM7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBBbGwgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YWx1ZXMsIHZhcmlhYmxlLCByZWZlcmVuY2VzKSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KTtcblxuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFsdWVzID0gdmFsdWVzO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLnJlZmVyZW5jZXMgPSByZWZlcmVuY2VzO1xuICB9XG5cbiAgZ2V0VmFsdWVzKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlcztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UmVmZXJlbmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSB1bmJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGFsbFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHthbGxTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbHVlcyA9IHZhbHVlLmxpZnQoY29udGV4dCksXG4gICAgICAgICAgICB2YWx1ZXNMZW5ndGggPSB2YWx1ZXMubGVuZ3RoLFxuICAgICAgICAgICAgcmVmZXJlbmNlc0xlbmd0aCA9IHRoaXMucmVmZXJlbmNlcy5nZXRMZW5ndGgoKTtcblxuICAgICAgaWYgKHZhbHVlc0xlbmd0aCAhPT0gcmVmZXJlbmNlc0xlbmd0aCkge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICByZWZlcmVuY2VzU3RyaW5nID0gdGhpcy5yZWZlcmVuY2VzLmdldFN0cmluZygpLFxuICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZXMgYW5kICcke3JlZmVyZW5jZXNTdHJpbmd9JyBmdW5jdGlvbiByZWZlcmVuY2VzIGFyZSBub3QgdGhlIHNhbWUgbGVuZ3RoLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZXZlcnkodmFsdWVzLCAodmFsdWUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2ssIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMucmVmZXJlbmNlcy5nZXRSZWZlcmVuY2UoaW5kZXgpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNhbGxQcm9jZWR1cmUocmVmZXJlbmNlLCB2YWx1ZSwgY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICAgIHZhbHVlVHlwZUJvb2xlYW5UeXBlID0gdmFsdWVUeXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgICAgICAgIGlmICghdmFsdWVUeXBlQm9vbGVhblR5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt2YWx1ZVN0cmluZ30nIHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICAgICAgICBib29sZWFuID0gcHJpbWl0aXZlVmFsdWU7XG5cbiAgICAgICAgICBpZiAoIWJvb2xlYW4pIHtcbiAgICAgICAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZvcndhcmQoY29udGV4dCwgYmFjayk7XG4gICAgICAgIH0sIGJhY2spO1xuICAgICAgfSwgY29udGV4dCwgKGNvbnRleHQsIGJhY2spID0+IHtcbiAgICAgICAgY29uc3QgYm9vbGVhbiA9IHRydWUsXG4gICAgICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICAgICAgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgICAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke2FsbFN0cmluZ30nIGZ1bmN0aW9uIGFzICcke3ZhbHVlU3RyaW5nfScuYCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH0pO1xuXG4gIGNhbGxQcm9jZWR1cmUocmVmZXJlbmNlLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGxldCB2YWx1ZXM7XG5cbiAgICBjb25zdCB7IFZhbHVlcyB9ID0gZWxlbWVudHM7XG5cbiAgICB2YWx1ZXMgPSBWYWx1ZXMuZnJvbVZhbHVlKHZhbHVlKTtcblxuICAgIHZhbHVlcyA9IHZhbHVlcy5tZXJnZSh0aGlzLnZhbHVlcyk7IC8vL1xuXG4gICAgY29uc3QgeyBQcm9jZWR1cmVDYWxsIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBwcm9jZWR1cmVDYWxsID0gUHJvY2VkdXJlQ2FsbC5mcm9tUmVmZXJlbmNlQW5kVmFsdWVzKHJlZmVyZW5jZSwgdmFsdWVzLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBwcm9jZWR1cmVDYWxsLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkFsbFwiO1xufSk7XG4iXSwibmFtZXMiOlsiZXZlcnkiLCJjb250aW51YXRpb25VdGlsaXRpZXMiLCJ1bmJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJBbGwiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFsdWVzIiwidmFyaWFibGUiLCJyZWZlcmVuY2VzIiwiZ2V0VmFsdWVzIiwiZ2V0VmFyaWFibGUiLCJnZXRSZWZlcmVuY2VzIiwiZXZhbHVhdGUiLCJmb3J3YXJkIiwiYmFjayIsImFsbFN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTElTVF9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImxpZnQiLCJ2YWx1ZXNMZW5ndGgiLCJsZW5ndGgiLCJyZWZlcmVuY2VzTGVuZ3RoIiwiZ2V0TGVuZ3RoIiwicmVmZXJlbmNlc1N0cmluZyIsImluZGV4IiwicmVmZXJlbmNlIiwiZ2V0UmVmZXJlbmNlIiwiY2FsbFByb2NlZHVyZSIsInZhbHVlVHlwZUJvb2xlYW5UeXBlIiwiaXNCb29sZWFuVHlwZSIsIkJPT0xFQU5fVFlQRV9OQU1FIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwiVmFsdWVzIiwiZWxlbWVudHMiLCJmcm9tVmFsdWUiLCJtZXJnZSIsIlByb2NlZHVyZUNhbGwiLCJwcm9jZWR1cmVDYWxsIiwiZnJvbVJlZmVyZW5jZUFuZFZhbHVlcyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7O2dDQVpvRTtrRUFFL0M7a0VBQ0M7dUJBR1c7MkJBQ2lCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVsRCxNQUFNLEVBQUVBLEtBQUssRUFBRSxHQUFHQyxxQ0FBcUIsRUFDakMsRUFBRUMsV0FBVyxFQUFFLEdBQUdDLG1DQUFtQjtNQUUzQyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLFlBQVlDLHVCQUFPO0lBQzdDLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsQ0FBRTtRQUMzRSxLQUFLLENBQUNOLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0YsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0csTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDSCxNQUFNO0lBQ3BCO0lBRUFJLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0gsUUFBUTtJQUN0QjtJQUVBSSxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ0gsVUFBVTtJQUN4QjtJQUVBSSxXQUFXZixZQUFZLFNBQVVLLE9BQU8sRUFBRVcsT0FBTyxFQUFFQyxJQUFJO1FBQ3JELE1BQU1DLFlBQVksSUFBSSxDQUFDQyxTQUFTO1FBRWhDZCxRQUFRZSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsVUFBVSxhQUFhLENBQUM7UUFFekQsT0FBTyxJQUFJLENBQUNSLFFBQVEs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
|
|
@@ -100,6 +100,11 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
100
100
|
const name = namedBinding.getName();
|
|
101
101
|
let evaluateNamedBinding;
|
|
102
102
|
switch(name){
|
|
103
|
+
case _parameterNames.TYPE_PARAMETER_NAME:
|
|
104
|
+
{
|
|
105
|
+
evaluateNamedBinding = this.evaluateTypeNamedBinding.bind(this);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
103
108
|
case _parameterNames.CONTENT_PARAMETER_NAME:
|
|
104
109
|
{
|
|
105
110
|
evaluateNamedBinding = this.evaluateContentNamedBinding.bind(this);
|
|
@@ -129,6 +134,23 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
129
134
|
}, back);
|
|
130
135
|
}, back);
|
|
131
136
|
}
|
|
137
|
+
evaluateTypeNamedBinding(namedBinding, term, context, forward, back) {
|
|
138
|
+
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
139
|
+
context.trace(`Evaluating the type '${namedBindingString}' named binding...`);
|
|
140
|
+
const typeStringType = type.isStringType();
|
|
141
|
+
if (!typeStringType) {
|
|
142
|
+
const namedBindingString = namedBinding.getString(), message = `The '${namedBindingString}' named binding's type should be '${_typeNames.STRING_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
143
|
+
return back(exception);
|
|
144
|
+
}
|
|
145
|
+
const primitiveValue = term.getPrimitiveValue(), nominalValue = primitiveValue, node = nominalValue.getNode(), nodeTerminalNode = node.isTerminalNode();
|
|
146
|
+
if (!nodeTerminalNode) {
|
|
147
|
+
const termString = term.getString(), message = `The '${termString}' term's node must be terminal.`, exception = _exception.default.fromMessage(message);
|
|
148
|
+
return back(exception);
|
|
149
|
+
}
|
|
150
|
+
const terminalNode = node, terminalNodeType = terminalNode.getType(), string = terminalNodeType, stringLiteral = (0, _stringLiteral.stringLiteralFromString)(string), value = (0, _value.valueFromStringLiteral)(stringLiteral, context), valueSttring = value.getString();
|
|
151
|
+
context.debug(`...evaluated the type '${namedBindingString}' named binding as '${valueSttring}'.`);
|
|
152
|
+
return forward(value, back);
|
|
153
|
+
}
|
|
132
154
|
evaluateContentNamedBinding(namedBinding, term, context, forward, back) {
|
|
133
155
|
const type = namedBinding.getType(), namedBindingString = namedBinding.getString();
|
|
134
156
|
context.trace(`Evaluating the content '${namedBindingString}' named binding...`);
|
|
@@ -195,4 +217,4 @@ const _default = (0, _elements.define)(class ObjectAssignment extends _occamlang
|
|
|
195
217
|
static name = "ObjectAssignment";
|
|
196
218
|
});
|
|
197
219
|
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCk7XG5cbiAgICBsZXQgZXZhbHVhdGVOYW1lZEJpbmRpbmc7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUU6IHtcbiAgICAgICAgZXZhbHVhdGVOYW1lZEJpbmRpbmcgPSB0aGlzLmV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nVHlwZSA9IHR5cGUuaXNTdHJpbmdUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVTdHJpbmdUeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgIHN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKSxcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNvbnRlbnQgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgdGVybWluYWwgPSBub2RlVGVybWluYWxOb2RlLCAgLy8vXG4gICAgICAgICAgYm9vbGVhbiA9IHRlcm1pbmFsLCAvLy9cbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCksICAvLy9cbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgdGVybWluYWwgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjaGlsZCBub2RlcyAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlTGlzdFR5cGUgPSB0eXBlLmlzTGlzdFR5cGUoKTtcblxuICAgIGlmICghdHlwZUxpc3RUeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7TElTVF9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZU5vblRlcm1pbmFsTm9kZSA9IG5vZGUuaXNOb25UZXJtaW5hbE5vZGUoKTtcblxuICAgIGlmICghbm9kZU5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgbm9kZXMgPSBjaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlKG5vZGVzLCBub21pbmFsVmFsdWUpLFxuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSBjaGlsZE5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZU5vV2hpdGVzcGFjZU5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVCb29sZWFuVHlwZSA9IHR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlQm9vbGVhblR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtCT09MRUFOX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIG5vV2hpdGVhcGNlID0gdGVybWluYWxOb2RlLmlzTm9XaGl0ZXNwYWNlTm9kZSgpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub1doaXRlYXBjZSwgIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgbm8gd2hpdGVzcGFjZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk9iamVjdEFzc2lnbm1lbnRcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImJyZWFrYWJsZSIsImJyZWFrUG9pbnRVdGlsaXRpZXMiLCJkZWZpbmUiLCJPYmplY3RBc3NpZ25tZW50IiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZhcmlhYmxlIiwibmFtZWRCaW5kaW5ncyIsImdldFZhcmlhYmxlIiwiZ2V0TmFtZWRCaW5kaW5ncyIsImV2YWx1YXRlIiwiZm9yd2FyZCIsImJhY2siLCJvYmplY3RBc3NpZ25tZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJ2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlIiwiaXNOb21pbmFsVmFsdWVUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTk9NSU5BTF9WQUxVRV9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vbWluYWxWYWx1ZVByb3BlcnRpZXMiLCJjb21wYXJlTmFtZWRCaW5kaW5ncyIsImZvckVhY2hOYW1lZEJpbmRpbmciLCJuYW1lZEJpbmRpbmciLCJldmFsdWF0ZU5hbWVkQmluZGluZyIsImRlYnVnIiwidGVybSIsInRlcm1TdHJpbmciLCJuYW1lZEJpbmRpbmdTdHJpbmciLCJuYW1lIiwiZ2V0TmFtZSIsIkNPTlRFTlRfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNvbnRlbnROYW1lZEJpbmRpbmciLCJiaW5kIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmciLCJOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmciLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkQmluZGluZyIsImFzc2lnbiIsInR5cGUiLCJ0eXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwic3RyaW5nTGl0ZXJhbCIsInN0cmluZ0xpdGVyYWxGcm9tU3RyaW5nIiwidmFsdWVGcm9tU3RyaW5nTGl0ZXJhbCIsInZhbHVlU3R0cmluZyIsInR5cGVCb29sZWFuVHlwZSIsImlzQm9vbGVhblR5cGUiLCJCT09MRUFOX1RZUEVfTkFNRSIsInRlcm1pbmFsIiwiYm9vbGVhbiIsInZhbHVlRnJvbUJvb2xlYW4iLCJ0eXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwiTElTVF9UWVBFX05BTUUiLCJub2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vZGVzIiwidmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUiLCJub1doaXRlYXBjZSIsImlzTm9XaGl0ZXNwYWNlTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZ0JBOzs7ZUFBQTs7O2dDQWQ2QztrRUFFeEI7a0VBQ0M7K0VBQ2E7K0JBR0s7dUJBQ2dEOzJCQUNLO2dDQUM2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUgsTUFBTSxFQUFFQSxTQUFTLEVBQUUsR0FBR0MsbUNBQW1CO01BRXpDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMseUJBQXlCQyx1QkFBTztJQUMxRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsYUFBYSxDQUFFO1FBQ3RFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtJQUN2QjtJQUVBQyxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNGLFFBQVE7SUFDdEI7SUFFQUcsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDRixhQUFhO0lBQzNCO0lBRUFHLFdBQVdiLFVBQVUsU0FBVUssT0FBTyxFQUFFUyxPQUFPLEVBQUVDLElBQUk7UUFDbkQsTUFBTUMseUJBQXlCLElBQUksQ0FBQ0MsU0FBUyxJQUFJLEdBQUc7UUFFcERaLFFBQVFhLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFRix1QkFBdUIsc0JBQXNCLENBQUM7UUFFL0UsT0FBTyxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixT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
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub21pbmFsVmFsdWVQcm9wZXJ0aWVzIGZyb20gXCIuLi8uLi9ub21pbmFsVmFsdWVQcm9wZXJ0aWVzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3N0cmluZ0xpdGVyYWxcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwsIHZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy92YWx1ZVwiO1xuaW1wb3J0IHsgTElTVF9UWVBFX05BTUUsIFNUUklOR19UWVBFX05BTUUsIEJPT0xFQU5fVFlQRV9OQU1FLCBOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSB9IGZyb20gXCIuLi8uLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IFRZUEVfUEFSQU1FVEVSX05BTUUsIENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSwgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCB7IGJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE9iamVjdEFzc2lnbm1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50LCB2YXJpYWJsZSwgbmFtZWRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZEJpbmRpbmdzID0gbmFtZWRCaW5kaW5ncztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0TmFtZWRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lZEJpbmRpbmdzO1xuICB9XG5cbiAgZXZhbHVhdGUgPSBicmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlTm9taW5hbFZhbHVlVHlwZSA9IHZhbHVlVHlwZS5pc05vbWluYWxWYWx1ZVR5cGUoKTtcblxuICAgICAgaWYgKCF2YWx1ZVR5cGVOb21pbmFsVmFsdWVUeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9taW5hbFZhbHVlUHJvcGVydGllcy5jb21wYXJlTmFtZWRCaW5kaW5ncyh0aGlzLm5hbWVkQmluZGluZ3MsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWVkQmluZGluZ3MuZm9yRWFjaE5hbWVkQmluZGluZygobmFtZWRCaW5kaW5nLCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB2YWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICAgIH0sIChiYWNrKSA9PiB7XG4gICAgICAgICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG5cbiAgICAgICAgICByZXR1cm4gZm9yd2FyZChiYWNrKTtcbiAgICAgICAgfSwgYmFjayk7XG4gICAgICB9LCBiYWNrKTtcbiAgICB9LCBiYWNrKTtcbiAgfSk7XG5cbiAgZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhZ2FpbnN0IHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkQmluZGluZy5nZXROYW1lKCk7XG5cbiAgICBsZXQgZXZhbHVhdGVOYW1lZEJpbmRpbmc7XG5cbiAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgIGNhc2UgVFlQRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVUeXBlTmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgQ09OVEVOVF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgVEVSTUlOQUxfUEFSQU1FVEVSX05BTUU6IHtcbiAgICAgICAgZXZhbHVhdGVOYW1lZEJpbmRpbmcgPSB0aGlzLmV2YWx1YXRlVGVybWluYWxOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nLmJpbmQodGhpcyk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgTk9fV0hJVEVTUEFDRV9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBldmFsdWF0ZU5hbWVkQmluZGluZyA9IHRoaXMuZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmcuYmluZCh0aGlzKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXZhbHVhdGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCAodmFsdWUsIGJhY2spID0+IHtcbiAgICAgIGNvbnN0IHsgVmFyaWFibGUgfSA9IGVsZW1lbnRzLFxuICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgY29udGV4dCk7XG5cbiAgICAgIHJldHVybiB2YXJpYWJsZS5hc3NpZ24odmFsdWUsIGNvbnRleHQsIChiYWNrKSA9PiB7XG4gICAgICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKGJhY2spO1xuICAgICAgfSwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBldmFsdWF0ZVR5cGVOYW1lZEJpbmRpbmcobmFtZWRCaW5kaW5nLCB0ZXJtLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkQmluZGluZy5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgdHlwZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlU3RyaW5nVHlwZSA9IHR5cGUuaXNTdHJpbmdUeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVTdHJpbmdUeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZVR5cGUgPSB0ZXJtaW5hbE5vZGUuZ2V0VHlwZSgpLFxuICAgICAgICAgIHN0cmluZyA9IHRlcm1pbmFsTm9kZVR5cGUsICAvLy9cbiAgICAgICAgICBzdHJpbmdMaXRlcmFsID0gc3RyaW5nTGl0ZXJhbEZyb21TdHJpbmcoc3RyaW5nKSxcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlRnJvbVN0cmluZ0xpdGVyYWwoc3RyaW5nTGl0ZXJhbCwgY29udGV4dCksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIHR5cGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ29udGVudE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSBjb250ZW50ICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVTdHJpbmdUeXBlID0gdHlwZS5pc1N0cmluZ1R5cGUoKTtcblxuICAgIGlmICghdHlwZVN0cmluZ1R5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtTVFJJTkdfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgc3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIHN0cmluZ0xpdGVyYWwgPSBzdHJpbmdMaXRlcmFsRnJvbVN0cmluZyhzdHJpbmcpLFxuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tU3RyaW5nTGl0ZXJhbChzdHJpbmdMaXRlcmFsLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZVN0dHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgY29udGVudCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkQmluZGluZyhuYW1lZEJpbmRpbmcsIHRlcm0sIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB0eXBlID0gbmFtZWRCaW5kaW5nLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nLi4uYCk7XG5cbiAgICBjb25zdCB0eXBlQm9vbGVhblR5cGUgPSB0eXBlLmlzQm9vbGVhblR5cGUoKTtcblxuICAgIGlmICghdHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICBjb25zdCBuYW1lZEJpbmRpbmdTdHJpbmcgPSBuYW1lZEJpbmRpbmcuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nJ3MgdHlwZSBzaG91bGQgYmUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdGVybS5nZXRQcmltaXRpdmVWYWx1ZSgpLFxuICAgICAgICAgIG5vbWluYWxWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLCAgLy8vXG4gICAgICAgICAgbm9kZSA9IG5vbWluYWxWYWx1ZS5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICB0ZXJtaW5hbCA9IG5vZGVUZXJtaW5hbE5vZGUsICAvLy9cbiAgICAgICAgICBib29sZWFuID0gdGVybWluYWwsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KSwgIC8vL1xuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSB0ZXJtaW5hbCAnJHtuYW1lZEJpbmRpbmdTdHJpbmd9JyBuYW1lZCBiaW5kaW5nIGFzICcke3ZhbHVlU3R0cmluZ30nLmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQodmFsdWUsIGJhY2spO1xuICB9XG5cbiAgZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIGNoaWxkIG5vZGVzICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcuLi5gKTtcblxuICAgIGNvbnN0IHR5cGVMaXN0VHlwZSA9IHR5cGUuaXNMaXN0VHlwZSgpO1xuXG4gICAgaWYgKCF0eXBlTGlzdFR5cGUpIHtcbiAgICAgIGNvbnN0IG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcncyB0eXBlIHNob3VsZCBiZSAnJHtMSVNUX1RZUEVfTkFNRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCksXG4gICAgICAgICAgbm9taW5hbFZhbHVlID0gcHJpbWl0aXZlVmFsdWUsICAvLy9cbiAgICAgICAgICBub2RlID0gbm9taW5hbFZhbHVlLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBtdXN0IGJlIG5vbi10ZXJtaW5hbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICByZXR1cm4gYmFjayhleGNlcHRpb24pO1xuICAgIH1cblxuICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICBub2RlcyA9IGNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgIHZhbHVlID0gdmFsdWVGcm9tTm9kZXNBbmROb21pbmFsVmFsdWUobm9kZXMsIG5vbWluYWxWYWx1ZSksXG4gICAgICAgICAgdmFsdWVTdHRyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlIGNoaWxkTm9kZXMgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZyBhcyAnJHt2YWx1ZVN0dHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgfVxuXG4gIGV2YWx1YXRlTm9XaGl0ZXNwYWNlTmFtZWRCaW5kaW5nKG5hbWVkQmluZGluZywgdGVybSwgY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IHR5cGUgPSBuYW1lZEJpbmRpbmcuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWVkQmluZGluZ1N0cmluZyA9IG5hbWVkQmluZGluZy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlIG5vIHdoaXRlc3BhY2UgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZy4uLmApO1xuXG4gICAgY29uc3QgdHlwZUJvb2xlYW5UeXBlID0gdHlwZS5pc0Jvb2xlYW5UeXBlKCk7XG5cbiAgICBpZiAoIXR5cGVCb29sZWFuVHlwZSkge1xuICAgICAgY29uc3QgbmFtZWRCaW5kaW5nU3RyaW5nID0gbmFtZWRCaW5kaW5nLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRCaW5kaW5nU3RyaW5nfScgbmFtZWQgYmluZGluZydzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcmltaXRpdmVWYWx1ZSA9IHRlcm0uZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICBub21pbmFsVmFsdWUgPSBwcmltaXRpdmVWYWx1ZSwgIC8vL1xuICAgICAgICAgIG5vZGUgPSBub21pbmFsVmFsdWUuZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIG11c3QgYmUgdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgbm9XaGl0ZWFwY2UgPSB0ZXJtaW5hbE5vZGUuaXNOb1doaXRlc3BhY2VOb2RlKCksXG4gICAgICAgICAgYm9vbGVhbiA9IG5vV2hpdGVhcGNlLCAgLy8vXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICAgIHZhbHVlU3R0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSBubyB3aGl0ZXNwYWNlICcke25hbWVkQmluZGluZ1N0cmluZ30nIG5hbWVkIGJpbmRpbmcgYXMgJyR7dmFsdWVTdHRyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gZm9yd2FyZCh2YWx1ZSwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiT2JqZWN0QXNzaWdubWVudFwiO1xufSk7XG4iXSwibmFtZXMiOlsiYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIk9iamVjdEFzc2lnbm1lbnQiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJuYW1lZEJpbmRpbmdzIiwiZ2V0VmFyaWFibGUiLCJnZXROYW1lZEJpbmRpbmdzIiwiZXZhbHVhdGUiLCJmb3J3YXJkIiwiYmFjayIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmciLCJnZXRTdHJpbmciLCJ0cmFjZSIsInZhbHVlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsInZhbHVlVHlwZU5vbWluYWxWYWx1ZVR5cGUiLCJpc05vbWluYWxWYWx1ZVR5cGUiLCJ2YWx1ZVN0cmluZyIsIm1lc3NhZ2UiLCJOT01JTkFMX1ZBTFVFX1RZUEVfTkFNRSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9taW5hbFZhbHVlUHJvcGVydGllcyIsImNvbXBhcmVOYW1lZEJpbmRpbmdzIiwiZm9yRWFjaE5hbWVkQmluZGluZyIsIm5hbWVkQmluZGluZyIsImV2YWx1YXRlTmFtZWRCaW5kaW5nIiwiZGVidWciLCJ0ZXJtIiwidGVybVN0cmluZyIsIm5hbWVkQmluZGluZ1N0cmluZyIsIm5hbWUiLCJnZXROYW1lIiwiVFlQRV9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVHlwZU5hbWVkQmluZGluZyIsImJpbmQiLCJDT05URU5UX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDb250ZW50TmFtZWRCaW5kaW5nIiwiVEVSTUlOQUxfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZVRlcm1pbmFsTmFtZWRCaW5kaW5nIiwiQ0hJTERfTk9ERVNfUEFSQU1FVEVSX05BTUUiLCJldmFsdWF0ZUNoaWxkTm9kZXNOYW1lZEJpbmRpbmciLCJOT19XSElURVNQQUNFX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVOb1doaXRlc3BhY2VOYW1lZEJpbmRpbmciLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkQmluZGluZyIsImFzc2lnbiIsInR5cGUiLCJ0eXBlU3RyaW5nVHlwZSIsImlzU3RyaW5nVHlwZSIsIlNUUklOR19UWVBFX05BTUUiLCJwcmltaXRpdmVWYWx1ZSIsImdldFByaW1pdGl2ZVZhbHVlIiwibm9taW5hbFZhbHVlIiwiZ2V0Tm9kZSIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVR5cGUiLCJzdHJpbmdMaXRlcmFsIiwic3RyaW5nTGl0ZXJhbEZyb21TdHJpbmciLCJ2YWx1ZUZyb21TdHJpbmdMaXRlcmFsIiwidmFsdWVTdHRyaW5nIiwiY29udGVudCIsImdldENvbnRlbnQiLCJ0eXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJ0ZXJtaW5hbCIsImJvb2xlYW4iLCJ2YWx1ZUZyb21Cb29sZWFuIiwidHlwZUxpc3RUeXBlIiwiaXNMaXN0VHlwZSIsIkxJU1RfVFlQRV9OQU1FIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub2RlcyIsInZhbHVlRnJvbU5vZGVzQW5kTm9taW5hbFZhbHVlIiwibm9XaGl0ZWFwY2UiLCJpc05vV2hpdGVzcGFjZU5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdCQTs7O2VBQUE7OztnQ0FkNkM7a0VBRXhCO2tFQUNDOytFQUNhOytCQUdLO3VCQUNnRDsyQkFDSztnQ0FDa0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRS9JLE1BQU0sRUFBRUEsU0FBUyxFQUFFLEdBQUdDLG1DQUFtQjtNQUV6QyxXQUFlQyxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLHlCQUF5QkMsdUJBQU87SUFDMUQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGFBQWEsQ0FBRTtRQUN0RSxLQUFLLENBQUNMLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7SUFDdkI7SUFFQUMsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDRixRQUFRO0lBQ3RCO0lBRUFHLG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQ0YsYUFBYTtJQUMzQjtJQUVBRyxXQUFXYixVQUFVLFNBQVVLLE9BQU8sRUFBRVMsT0FBTyxFQUFFQyxJQUFJO1FBQ25ELE1BQU1DLHlCQUF5QixJQUFJLENBQUNDLFNBQVMsSUFBSSxHQUFHO1FBRXBEWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsdUJBQXVCLHNCQUFzQixDQUFDO1FBRS9FLE9BQU8sSUFBSSxDQUFDUCxRQUFRLENBQUNJLFFBQVEsQ0FBQ1IsU0FBUyxDQUFDYyxPQUFPSjtZQUM3QyxNQUFNSyxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCQyw0QkFBNEJGLFVB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
|
package/lib/element/error.js
CHANGED
|
@@ -10,12 +10,12 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
|
-
const {
|
|
13
|
+
const { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
14
14
|
const _default = (0, _elements.define)(class Error extends _occamlanguages.Element {
|
|
15
15
|
constructor(context, string, node, breakPoint){
|
|
16
16
|
super(context, string, node, breakPoint);
|
|
17
17
|
}
|
|
18
|
-
verify =
|
|
18
|
+
verify = unbreakable(function(context, forward, back) {
|
|
19
19
|
const errorString = this.getString(); ///
|
|
20
20
|
context.warning(`The '${errorString}' error cannot be verified.`);
|
|
21
21
|
return back();
|
|
@@ -23,4 +23,4 @@ const _default = (0, _elements.define)(class Error extends _occamlanguages.Eleme
|
|
|
23
23
|
static name = "Error";
|
|
24
24
|
});
|
|
25
25
|
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Vycm9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuY29uc3QgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEVycm9yIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG4gIH1cblxuICB2ZXJpZnkgPSB1bmJyZWFrYWJsZShmdW5jdGlvbiAoY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGNvbnN0IGVycm9yU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC53YXJuaW5nKGBUaGUgJyR7ZXJyb3JTdHJpbmd9JyBlcnJvciBjYW5ub3QgYmUgdmVyaWZpZWQuYCk7XG5cbiAgICByZXR1cm4gYmFjaygpO1xuICB9KTtcblxuICBzdGF0aWMgbmFtZSA9IFwiRXJyb3JcIjtcbn0pO1xuIl0sIm5hbWVzIjpbInVuYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIkVycm9yIiwiRWxlbWVudCIsImNvbnRleHQiLCJzdHJpbmciLCJub2RlIiwiYnJlYWtQb2ludCIsInZlcmlmeSIsImZvcndhcmQiLCJiYWNrIiwiZXJyb3JTdHJpbmciLCJnZXRTdHJpbmciLCJ3YXJuaW5nIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBUUE7OztlQUFBOzs7Z0NBTjZDOzBCQUV0QjtBQUV2QixNQUFNLEVBQUVBLFdBQVcsRUFBRSxHQUFHQyxtQ0FBbUI7TUFFM0MsV0FBZUMsSUFBQUEsZ0JBQU0sRUFBQyxNQUFNQyxjQUFjQyx1QkFBTztJQUMvQyxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLENBQUU7UUFDN0MsS0FBSyxDQUFDSCxTQUFTQyxRQUFRQyxNQUFNQztJQUMvQjtJQUVBQyxTQUFTVCxZQUFZLFNBQVVLLE9BQU8sRUFBRUssT0FBTyxFQUFFQyxJQUFJO1FBQ25ELE1BQU1DLGNBQWMsSUFBSSxDQUFDQyxTQUFTLElBQUssR0FBRztRQUUxQ1IsUUFBUVMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFRixZQUFZLDJCQUEyQixDQUFDO1FBRWhFLE9BQU9EO0lBQ1QsR0FBRztJQUVILE9BQU9JLE9BQU8sUUFBUTtBQUN4QiJ9
|
package/lib/element/every.js
CHANGED
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
|
|
13
13
|
const _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
|
|
14
|
-
const _value = require("../utilities/value");
|
|
15
14
|
const _typeNames = require("../typeNames");
|
|
15
|
+
const _value = require("../utilities/value");
|
|
16
16
|
function _interop_require_default(obj) {
|
|
17
17
|
return obj && obj.__esModule ? obj : {
|
|
18
18
|
default: obj
|
|
@@ -59,7 +59,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
59
|
}
|
|
60
60
|
return newObj;
|
|
61
61
|
}
|
|
62
|
-
const { every } = _occamlanguages.continuationUtilities, {
|
|
62
|
+
const { every } = _occamlanguages.continuationUtilities, { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
63
63
|
const _default = (0, _elements.define)(class Every extends _occamlanguages.Element {
|
|
64
64
|
constructor(context, string, node, breakPoint, variable, anonymousProcedure){
|
|
65
65
|
super(context, string, node, breakPoint);
|
|
@@ -73,27 +73,27 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
73
73
|
getAnonymousProcedure() {
|
|
74
74
|
return this.anonymousProcedure;
|
|
75
75
|
}
|
|
76
|
-
evaluate =
|
|
76
|
+
evaluate = unbreakable(function(context, forward, back) {
|
|
77
77
|
const everyString = this.getString();
|
|
78
|
-
context.trace(`Evaluating the '${everyString}'
|
|
78
|
+
context.trace(`Evaluating the '${everyString}' function...`);
|
|
79
79
|
return this.variable.evaluate(context, (value, back)=>{
|
|
80
80
|
const valueType = value.getType(), valueTypeListType = valueType.isListType();
|
|
81
81
|
if (!valueTypeListType) {
|
|
82
82
|
const valueString = value.getString(), message = `The '${valueString}' value's '${valueType}' type should be '${_typeNames.LIST_TYPE_NAME}'.`, exception = _exception.default.fromMessage(message);
|
|
83
83
|
return back(exception);
|
|
84
84
|
}
|
|
85
|
-
const
|
|
86
|
-
return every(
|
|
87
|
-
return this.evaluateAnonymousProcedure(
|
|
88
|
-
}, (
|
|
89
|
-
const value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
|
|
90
|
-
context.trace(`...evaluated the '${everyString}'
|
|
85
|
+
const primitiveValue = value.getPrimitiveValue(), nominalValues = primitiveValue; ///
|
|
86
|
+
return every(nominalValues, (nominalValue, context, forward, back)=>{
|
|
87
|
+
return this.evaluateAnonymousProcedure(nominalValue, context, forward, back);
|
|
88
|
+
}, context, (context, back)=>{
|
|
89
|
+
const boolean = true, value = (0, _value.valueFromBoolean)(boolean, context), valueString = value.getString();
|
|
90
|
+
context.trace(`...evaluated the '${everyString}' function as '${valueString}'.`);
|
|
91
91
|
return forward(value, back);
|
|
92
92
|
}, back);
|
|
93
93
|
}, back);
|
|
94
94
|
});
|
|
95
|
-
evaluateAnonymousProcedure(
|
|
96
|
-
const { Values } = _elements.default, value = (0, _value.
|
|
95
|
+
evaluateAnonymousProcedure(nominalValue, context, forward, back) {
|
|
96
|
+
const { Values } = _elements.default, value = (0, _value.valueFromNominalValue)(nominalValue, context), values = Values.fromValue(value, context);
|
|
97
97
|
return this.anonymousProcedure.evaluate(values, context, (value, back)=>{
|
|
98
98
|
const valueType = value.getType(), valueTypeBooleanType = valueType.isBooleanType();
|
|
99
99
|
if (!valueTypeBooleanType) {
|
|
@@ -107,4 +107,4 @@ const _default = (0, _elements.define)(class Every extends _occamlanguages.Eleme
|
|
|
107
107
|
static name = "Every";
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V2ZXJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBFbGVtZW50LCBicmVha1BvaW50VXRpbGl0aWVzLCBjb250aW51YXRpb25VdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IExJU1RfVFlQRV9OQU1FLCBCT09MRUFOX1RZUEVfTkFNRSB9IGZyb20gXCIuLi90eXBlTmFtZXNcIjtcbmltcG9ydCB7IHZhbHVlRnJvbUJvb2xlYW4sIHZhbHVlRnJvbU5vbWluYWxWYWx1ZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmFsdWVcIjtcblxuY29uc3QgeyBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEV2ZXJ5IGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCwgdmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmUgPSBhbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBldmFsdWF0ZSA9IHVuYnJlYWthYmxlKGZ1bmN0aW9uIChjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgY29uc3QgZXZlcnlTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBmdW5jdGlvbi4uLmApO1xuXG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCwgKHZhbHVlLCBiYWNrKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgICB2YWx1ZVR5cGVMaXN0VHlwZSA9IHZhbHVlVHlwZS5pc0xpc3RUeXBlKCk7XG5cbiAgICAgIGlmICghdmFsdWVUeXBlTGlzdFR5cGUpIHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dmFsdWVTdHJpbmd9JyB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke0xJU1RfVFlQRV9OQU1FfScuYCxcbiAgICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICAgIHJldHVybiBiYWNrKGV4Y2VwdGlvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHByaW1pdGl2ZVZhbHVlID0gdmFsdWUuZ2V0UHJpbWl0aXZlVmFsdWUoKSxcbiAgICAgICAgICAgIG5vbWluYWxWYWx1ZXMgPSBwcmltaXRpdmVWYWx1ZTsgLy8vXG5cbiAgICAgIHJldHVybiBldmVyeShub21pbmFsVmFsdWVzLCAobm9taW5hbFZhbHVlLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2YWx1YXRlQW5vbnltb3VzUHJvY2VkdXJlKG5vbWluYWxWYWx1ZSwgY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgICB9LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgICBjb25zdCBib29sZWFuID0gdHJ1ZSxcbiAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpLFxuICAgICAgICAgICAgICB2YWx1ZVN0cmluZyA9IHZhbHVlLmdldFN0cmluZygpO1xuXG4gICAgICAgIGNvbnRleHQudHJhY2UoYC4uLmV2YWx1YXRlZCB0aGUgJyR7ZXZlcnlTdHJpbmd9JyBmdW5jdGlvbiBhcyAnJHt2YWx1ZVN0cmluZ30nLmApO1xuXG4gICAgICAgIHJldHVybiBmb3J3YXJkKHZhbHVlLCBiYWNrKTtcbiAgICAgIH0sIGJhY2spO1xuICAgIH0sIGJhY2spO1xuICB9KTtcblxuICBldmFsdWF0ZUFub255bW91c1Byb2NlZHVyZShub21pbmFsVmFsdWUsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBjb25zdCB7IFZhbHVlcyB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZUZyb21Ob21pbmFsVmFsdWUobm9taW5hbFZhbHVlLCBjb250ZXh0KSxcbiAgICAgICAgICB2YWx1ZXMgPSBWYWx1ZXMuZnJvbVZhbHVlKHZhbHVlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZS5ldmFsdWF0ZSh2YWx1ZXMsIGNvbnRleHQsICh2YWx1ZSwgYmFjaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgdmFsdWVUeXBlQm9vbGVhblR5cGUgPSB2YWx1ZVR5cGUuaXNCb29sZWFuVHlwZSgpO1xuXG4gICAgICBpZiAoIXZhbHVlVHlwZUJvb2xlYW5UeXBlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3ZhbHVlU3RyaW5nfScgdmFsdWUncyB0eXBlIGlzICcke3ZhbHVlVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFX05BTUV9Jy5gLFxuICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYm9vbGVhbiA9IHZhbHVlLmdldEJvb2xlYW4oKTtcblxuICAgICAgcmV0dXJuIGZvcndhcmQoYm9vbGVhbiwgYmFjayk7XG4gICAgfSwgYmFjayk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXZlcnlcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImV2ZXJ5IiwiY29udGludWF0aW9uVXRpbGl0aWVzIiwidW5icmVha2FibGUiLCJicmVha1BvaW50VXRpbGl0aWVzIiwiZGVmaW5lIiwiRXZlcnkiLCJFbGVtZW50IiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJicmVha1BvaW50IiwidmFyaWFibGUiLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJnZXRWYXJpYWJsZSIsImdldEFub255bW91c1Byb2NlZHVyZSIsImV2YWx1YXRlIiwiZm9yd2FyZCIsImJhY2siLCJldmVyeVN0cmluZyIsImdldFN0cmluZyIsInRyYWNlIiwidmFsdWUiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwidmFsdWVUeXBlTGlzdFR5cGUiLCJpc0xpc3RUeXBlIiwidmFsdWVTdHJpbmciLCJtZXNzYWdlIiwiTElTVF9UWVBFX05BTUUiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInByaW1pdGl2ZVZhbHVlIiwiZ2V0UHJpbWl0aXZlVmFsdWUiLCJub21pbmFsVmFsdWVzIiwibm9taW5hbFZhbHVlIiwiZXZhbHVhdGVBbm9ueW1vdXNQcm9jZWR1cmUiLCJib29sZWFuIiwidmFsdWVGcm9tQm9vbGVhbiIsIlZhbHVlcyIsImVsZW1lbnRzIiwidmFsdWVGcm9tTm9taW5hbFZhbHVlIiwidmFsdWVzIiwiZnJvbVZhbHVlIiwidmFsdWVUeXBlQm9vbGVhblR5cGUiLCJpc0Jvb2xlYW5UeXBlIiwiQk9PTEVBTl9UWVBFX05BTUUiLCJnZXRCb29sZWFuIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUFBOzs7Z0NBWm9FO2tFQUUvQztrRUFDQzsyQkFHNEI7dUJBQ007Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXhELE1BQU0sRUFBRUEsS0FBSyxFQUFFLEdBQUdDLHFDQUFxQixFQUNqQyxFQUFFQyxXQUFXLEVBQUUsR0FBR0MsbUNBQW1CO01BRTNDLFdBQWVDLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsY0FBY0MsdUJBQU87SUFDL0MsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGtCQUFrQixDQUFFO1FBQzNFLEtBQUssQ0FBQ0wsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDRixNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDRyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUdBO0lBQzVCO0lBRUFDLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ0YsUUFBUTtJQUN0QjtJQUVBRyx3QkFBd0I7UUFDdEIsT0FBTyxJQUFJLENBQUNGLGtCQUFrQjtJQUNoQztJQUVBRyxXQUFXYixZQUFZLFNBQVVLLE9BQU8sRUFBRVMsT0FBTyxFQUFFQyxJQUFJO1FBQ3JELE1BQU1DLGNBQWMsSUFBSSxDQUFDQyxTQUFTO1FBRWxDWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUYsWUFBWSxhQUFhLENBQUM7UUFFM0QsT0FBTyxJQUFJLENBQUNQLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUixTQUFTLENBQUNjLE9BQU9KO1lBQzdDLE1BQU1LLFlBQVlELE1BQU1FLE9BQU8sSUFDekJDLG9CQUFvQkYsVUFBVUcsVUFBVTtZQUU5QyxJQUFJLENBQUNELG1CQUFtQjtnQkFDdEIsTUFBTUUsY0FBY0wsTUFBTUYsU0FBUyxJQUM3QlEsVUFBVSxDQUFDLEtBQUssRUFBRUQsWUFBWSxXQUFXLEVBQUVKLFVBQVUsa0JBQWtCLEVBQUVNLHlCQUFjLENBQUMsRUFBRSxDQUFDLEVBQzNGQyxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNKO2dCQUV4QyxPQUFPVixLQUFLWTtZQUNkO1lBRUEsTUFBTUcsaUJBQWlCWCxNQUFNWSxpQkFBaUIsSUFDeENDLGdCQUFnQkYsZ0JBQWdCLEdBQUc7WUFFekMsT0FBT2hDLE1BQU1rQyxlQUFlLENBQUNDLGNBQWM1QixTQUFTUyxTQUFTQztnQkFDM0QsT0FBTyxJQUFJLENBQUNtQiwwQkFBMEIsQ0FBQ0QsY0FBYzVCLFNBQVNTLFNBQVNDO1lBQ3pFLEdBQUdWLFNBQVMsQ0FBQ0EsU0FBU1U7Z0JBQ3BCLE1BQU1vQixVQUFVLE1BQ1ZoQixRQUFRaUIsSUFBQUEsdUJBQWdCLEVBQUNELFNBQVM5QixVQUNsQ21CLGNBQWNMLE1BQU1GLFNBQVM7Z0JBRW5DWixRQUFRYSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUYsWUFBWSxlQUFlLEVBQUVRLFlBQVksRUFBRSxDQUFDO2dCQUUvRSxPQUFPVixRQUFRSyxPQUFPSjtZQUN4QixHQUFHQTtRQUNMLEdBQUdBO0lBQ0wsR0FBRztJQUVIbUIsMkJBQTJCRCxZQUFZLEVBQUU1QixPQUFPLEVBQUVTLE9BQU8sRUFBRUMsSUFBSSxFQUFFO1FBQy9ELE1BQU0sRUFBRXNCLE1BQU0sRUFBRSxHQUFHQyxpQkFBUSxFQUNyQm5CLFFBQVFvQixJQUFBQSw0QkFBcUIsRUFBQ04sY0FBYzVCLFVBQzVDbUMsU0FBU0gsT0FBT0ksU0FBUyxDQUFDdEIsT0FBT2Q7UUFFdkMsT0FBTyxJQUFJLENBQUNLLGtCQUFrQixDQUFDRyxRQUFRLENBQUMyQixRQUFRbkMsU0FBUyxDQUFDYyxPQUFPSjtZQUMvRCxNQUFNSyxZQUFZRCxNQUFNRSxPQUFPLElBQ3pCcUIsdUJBQXVCdEIsVUFBVXVCLGFBQWE7WUFFcEQsSUFBSSxDQUFDRCxzQkFBc0I7Z0JBQ3pCLE1BQU1sQixjQUFjTCxNQUFNRixTQUFTLElBQzdCUSxVQUFVLENBQUMsS0FBSyxFQUFFRCxZQUFZLG1CQUFtQixFQUFFSixVQUFVLDZCQUE2QixFQUFFd0IsNEJBQWlCLENBQUMsRUFBRSxDQUFDLEVBQ2pIakIsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSjtnQkFFeEMsT0FBT1YsS0FBS1k7WUFDZDtZQUVBLE1BQU1RLFVBQVVoQixNQUFNMEIsVUFBVTtZQUVoQyxPQUFPL0IsUUFBUXFCLFNBQVNwQjtRQUMxQixHQUFHQTtJQUNMO0lBRUEsT0FBTytCLE9BQU8sUUFBUTtBQUN4QiJ9
|
|
@@ -11,12 +11,14 @@ Object.defineProperty(exports, "default", {
|
|
|
11
11
|
const _occamlanguages = require("occam-languages");
|
|
12
12
|
const _elements = require("../elements");
|
|
13
13
|
const _default = (0, _elements.define)(class Expression extends _occamlanguages.Element {
|
|
14
|
-
constructor(context, string, node, breakPoint, term, some, every, reduce, ternary, nodeQuery, nodesQuery, lengthOf, toInteger, tryInteger, contains, endsWith, startsWith, returnBlock, procedureCall){
|
|
14
|
+
constructor(context, string, node, breakPoint, term, some, every, reduce, all, exists, ternary, nodeQuery, nodesQuery, lengthOf, toInteger, tryInteger, contains, endsWith, startsWith, returnBlock, procedureCall){
|
|
15
15
|
super(context, string, node, breakPoint);
|
|
16
16
|
this.term = term;
|
|
17
17
|
this.some = some;
|
|
18
18
|
this.every = every;
|
|
19
19
|
this.reduce = reduce;
|
|
20
|
+
this.all = all;
|
|
21
|
+
this.exists = exists;
|
|
20
22
|
this.ternary = ternary;
|
|
21
23
|
this.nodeQuery = nodeQuery;
|
|
22
24
|
this.nodesQuery = nodesQuery;
|
|
@@ -41,6 +43,12 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
41
43
|
getReduce() {
|
|
42
44
|
return this.reduce;
|
|
43
45
|
}
|
|
46
|
+
getAll() {
|
|
47
|
+
return this.all;
|
|
48
|
+
}
|
|
49
|
+
getExists() {
|
|
50
|
+
return this.exists;
|
|
51
|
+
}
|
|
44
52
|
getTernary() {
|
|
45
53
|
return this.ternay;
|
|
46
54
|
}
|
|
@@ -86,6 +94,10 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
86
94
|
type = this.every.getType();
|
|
87
95
|
} else if (this.reduce !== null) {
|
|
88
96
|
type = this.reduce.getType();
|
|
97
|
+
} else if (this.all !== null) {
|
|
98
|
+
type = this.all.getType();
|
|
99
|
+
} else if (this.exists !== null) {
|
|
100
|
+
type = this.exists.getType();
|
|
89
101
|
} else if (this.ternary !== null) {
|
|
90
102
|
type = this.ternary.getType();
|
|
91
103
|
} else if (this.nodeQuery !== null) {
|
|
@@ -138,6 +150,10 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
138
150
|
return this.every.evaluate(context, forward, back);
|
|
139
151
|
} else if (this.reduce !== null) {
|
|
140
152
|
return this.reduce.evaluate(context, forward, back);
|
|
153
|
+
} else if (this.all !== null) {
|
|
154
|
+
return this.all.evaluate(context, forward, back);
|
|
155
|
+
} else if (this.exists !== null) {
|
|
156
|
+
return this.exists.evaluate(context, forward, back);
|
|
141
157
|
} else if (this.ternary !== null) {
|
|
142
158
|
return this.ternary.evaluate(context, forward, back);
|
|
143
159
|
} else if (this.procedureCall !== null) {
|
|
@@ -150,4 +166,4 @@ const _default = (0, _elements.define)(class Expression extends _occamlanguages.
|
|
|
150
166
|
static name = "Expression";
|
|
151
167
|
});
|
|
152
168
|
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgbGVuZ3RoT2YsIHRvSW50ZWdlciwgdHJ5SW50ZWdlciwgY29udGFpbnMsIGVuZHNXaXRoLCBzdGFydHNXaXRoLCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLmxlbmd0aE9mID0gbGVuZ3RoT2Y7XG4gICAgdGhpcy50b0ludGVnZXIgPSB0b0ludGVnZXI7XG4gICAgdGhpcy50cnlJbnRlZ2VyID0gdHJ5SW50ZWdlcjtcbiAgICB0aGlzLmNvbnRhaW5zID0gY29udGFpbnM7XG4gICAgdGhpcy5lbmRzV2l0aCA9IGVuZHNXaXRoO1xuICAgIHRoaXMuc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUZXJtKCkge1xuICAgIHJldHVybiB0aGlzLnRlcm07XG4gIH1cblxuICBnZXRTb21lKCkge1xuICAgIHJldHVybiB0aGlzLnNvbWU7XG4gIH1cblxuICBnZXRFdmVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ldmVyeTtcbiAgfVxuXG4gIGdldFJlZHVjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWR1Y2U7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMubGVuZ3RoT2YuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50b0ludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRvSW50ZWdlci5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRyeUludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuY29udGFpbnMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5lbmRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZW5kc1dpdGguZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zdGFydHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKSB7XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudGVybS5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZVF1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnkuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnkuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmxlbmd0aE9mICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5sZW5ndGhPZi5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9JbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy50b0ludGVnZXIuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRyeUludGVnZXIgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyeUludGVnZXIuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRhaW5zICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWlucy5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW5kc1dpdGggIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmVuZHNXaXRoLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zdGFydHNXaXRoICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5zb21lLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICByZXR1cm4gdGhpcy5ldmVyeS5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZWR1Y2UuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRlcm5hcnkuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGwuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJldHVybkJsb2NrICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUodmFyaWFibGVzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXhwcmVzc2lvblwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXhwcmVzc2lvbiIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJsZW5ndGhPZiIsInRvSW50ZWdlciIsInRyeUludGVnZXIiLCJjb250YWlucyIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldExlbmd0aE9mIiwiZ2V0VG9JbnRlZ2VyIiwiZ2V0VHJ5SW50ZWdlciIsImdldENvbnRhaW5zIiwiZ2V0RW5kc1dpdGgiLCJnZXRTdGFydHNXaXRoIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0VHlwZSIsInR5cGUiLCJldmFsdWF0ZSIsImZvcndhcmQiLCJiYWNrIiwidmFyaWFibGVzIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsbUJBQW1CQyx1QkFBTztJQUNwRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRUMsUUFBUSxFQUFFQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsV0FBVyxFQUFFQyxhQUFhLENBQUU7UUFDck0sS0FBSyxDQUFDbEIsU0FBU0MsUUFBUUMsTUFBTUM7UUFFN0IsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxDQUFDQyxLQUFLLEdBQUdBO1FBQ2IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTtRQUNsQixJQUFJLENBQUNDLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxhQUFhLEdBQUdBO0lBQ3ZCO0lBRUFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQ2YsSUFBSTtJQUNsQjtJQUVBZ0IsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDZixJQUFJO0lBQ2xCO0lBRUFnQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNmLEtBQUs7SUFDbkI7SUFFQWdCLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ2YsTUFBTTtJQUNwQjtJQUVBZ0IsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDQyxNQUFNO0lBQ3BCO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ2hCLFNBQVM7SUFDdkI7SUFFQWlCLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDaEIsVUFBVTtJQUN4QjtJQUVBaUIsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDaEIsUUFBUTtJQUN0QjtJQUVBaUIsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDaEIsU0FBUztJQUN2QjtJQUVBaUIsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNoQixVQUFVO0lBQ3hCO0lBRUFpQixjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNoQixRQUFRO0lBQ3RCO0lBRUFpQixjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNoQixRQUFRO0lBQ3RCO0lBRUFpQixnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ2hCLFVBQVU7SUFDeEI7SUFFQWlCLGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDaEIsV0FBVztJQUN6QjtJQUVBaUIsbUJBQW1CO1FBQ2pCLE9BQU8sSUFBSSxDQUFDaEIsYUFBYTtJQUMzQjtJQUVBaUIsVUFBVTtRQUNSLElBQUlDO1FBRUosSUFBSSxPQUFPO1FBQ1QsR0FBRztRQUNMLE9BQU8sSUFBSSxJQUFJLENBQUNoQyxJQUFJLEtBQUssTUFBTTtZQUM3QmdDLE9BQU8sSUFBSSxDQUFDaEMsSUFBSSxDQUFDK0IsT0FBTztRQUMxQixPQUFPLElBQUksSUFBSSxDQUFDOUIsSUFBSSxLQUFLLE1BQU07WUFDN0IrQixPQUFPLElBQUksQ0FBQy9CLElBQUksQ0FBQzhCLE9BQU87UUFDMUIsT0FBTyxJQUFJLElBQUksQ0FBQzdCLEtBQUssS0FBSyxNQUFNO1lBQzlCOEIsT0FBTyxJQUFJLENBQUM5QixLQUFLLENBQUM2QixPQUFPO1FBQzNCLE9BQU8sSUFBSSxJQUFJLENBQUM1QixNQUFNLEtBQUssTUFBTTtZQUMvQjZCLE9BQU8sSUFBSSxDQUFDN0IsTUFBTSxDQUFDNEIsT0FBTztRQUM1QixPQUFPLElBQUksSUFBSSxDQUFDM0IsT0FBTyxLQUFLLE1BQU07WUFDaEM0QixPQUFPLElBQUksQ0FBQzVCLE9BQU8sQ0FBQzJCLE9BQU87UUFDN0IsT0FBTyxJQUFJLElBQUksQ0FBQzFCLFNBQVMsS0FBSyxNQUFNO1lBQ2xDMkIsT0FBTyxJQUFJLENBQUMzQixTQUFTLENBQUMwQixPQUFPO1FBQy9CLE9BQU8sSUFBSSxJQUFJLENBQUN6QixVQUFVLEtBQUssTUFBTTtZQUNuQzBCLE9BQU8sSUFBSSxDQUFDMUIsVUFBVSxDQUFDeUIsT0FBTztRQUNoQyxPQUFPLElBQUksSUFBSSxDQUFDeEIsUUFBUSxLQUFLLE1BQU07WUFDakN5QixPQUFPLElBQUksQ0FBQ3pCLFFBQVEsQ0FBQ3dCLE9BQU87UUFDOUIsT0FBTyxJQUFJLElBQUksQ0FBQ3ZCLFNBQVMsS0FBSyxNQUFNO1lBQ2xDd0IsT0FBTyxJQUFJLENBQUN4QixTQUFTLENBQUN1QixPQUFPO1FBQy9CLE9BQU8sSUFBSSxJQUFJLENBQUN0QixVQUFVLEtBQUssTUFBTTtZQUNuQ3VCLE9BQU8sSUFBSSxDQUFDdkIsVUFBVSxDQUFDc0IsT0FBTztRQUNoQyxPQUFPLElBQUksSUFBSSxDQUFDckIsUUFBUSxLQUFLLE1BQU07WUFDakNzQixPQUFPLElBQUksQ0FBQ3RCLFFBQVEsQ0FBQ3FCLE9BQU87UUFDOUIsT0FBTyxJQUFJLElBQUksQ0FBQ3BCLFFBQVEsS0FBSyxNQUFNO1lBQ2pDcUIsT0FBTyxJQUFJLENBQUNyQixRQUFRLENBQUNvQixPQUFPO1FBQzlCLE9BQU8sSUFBSSxJQUFJLENBQUNuQixVQUFVLEtBQUssTUFBTTtZQUNuQ29CLE9BQU8sSUFBSSxDQUFDcEIsVUFBVSxDQUFDbUIsT0FBTztRQUNoQyxPQUFPLElBQUksSUFBSSxDQUFDbEIsV0FBVyxLQUFLLE1BQU07WUFDcENtQixPQUFPLElBQUksQ0FBQ25CLFdBQVcsQ0FBQ2tCLE9BQU87UUFDakMsT0FBTyxJQUFJLElBQUksQ0FBQ2pCLGFBQWEsS0FBSyxNQUFNO1lBQ3RDa0IsT0FBTyxJQUFJLENBQUNsQixhQUFhLENBQUNpQixPQUFPO1FBQ25DO1FBRUEsT0FBT0M7SUFDVDtJQUVBQyxTQUFTckMsT0FBTyxFQUFFc0MsT0FBTyxFQUFFQyxJQUFJLEVBQUU7UUFDL0IsSUFBSSxPQUFPO1FBQ1QsR0FBRztRQUNMLE9BQU8sSUFBSSxJQUFJLENBQUNuQyxJQUFJLEtBQUssTUFBTTtZQUM3QixPQUFPLElBQUksQ0FBQ0EsSUFBSSxDQUFDaUMsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQzlDLE9BQU8sSUFBSSxJQUFJLENBQUM5QixTQUFTLEtBQUssTUFBTTtZQUNsQyxPQUFPLElBQUksQ0FBQ0EsU0FBUyxDQUFDNEIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ25ELE9BQU8sSUFBSSxJQUFJLENBQUM3QixVQUFVLEtBQUssTUFBTTtZQUNuQyxPQUFPLElBQUksQ0FBQ0EsVUFBVSxDQUFDMkIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ3BELE9BQU8sSUFBSSxJQUFJLENBQUM1QixRQUFRLEtBQUssTUFBTTtZQUNqQyxPQUFPLElBQUksQ0FBQ0EsUUFBUSxDQUFDMEIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ2xELE9BQU8sSUFBSSxJQUFJLENBQUMzQixTQUFTLEtBQUssTUFBTTtZQUNsQyxPQUFPLElBQUksQ0FBQ0EsU0FBUyxDQUFDeUIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ25ELE9BQU8sSUFBSSxJQUFJLENBQUMxQixVQUFVLEtBQUssTUFBTTtZQUNuQyxPQUFPLElBQUksQ0FBQ0EsVUFBVSxDQUFDd0IsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ3BELE9BQU8sSUFBSSxJQUFJLENBQUN6QixRQUFRLEtBQUssTUFBTTtZQUNqQyxPQUFPLElBQUksQ0FBQ0EsUUFBUSxDQUFDdUIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ2xELE9BQU8sSUFBSSxJQUFJLENBQUN4QixRQUFRLEtBQUssTUFBTTtZQUNqQyxPQUFPLElBQUksQ0FBQ0EsUUFBUSxDQUFDc0IsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ2xELE9BQU8sSUFBSSxJQUFJLENBQUN2QixVQUFVLEtBQUssTUFBTTtZQUNuQyxPQUFPLElBQUksQ0FBQ0EsVUFBVSxDQUFDcUIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ3BELE9BQU8sSUFBSSxJQUFJLENBQUNsQyxJQUFJLEtBQUssTUFBTTtZQUM3QixPQUFPLElBQUksQ0FBQ0EsSUFBSSxDQUFDZ0MsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQzlDLE9BQU8sSUFBSSxJQUFJLENBQUNqQyxLQUFLLEtBQUssTUFBTTtZQUMvQixPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFDK0IsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQzlDLE9BQU8sSUFBSSxJQUFJLENBQUNoQyxNQUFNLEtBQUssTUFBTTtZQUMvQixPQUFPLElBQUksQ0FBQ0EsTUFBTSxDQUFDOEIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ2hELE9BQU8sSUFBSSxJQUFJLENBQUMvQixPQUFPLEtBQUssTUFBTTtZQUNoQyxPQUFPLElBQUksQ0FBQ0EsT0FBTyxDQUFDNkIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ2pELE9BQU8sSUFBSSxJQUFJLENBQUNyQixhQUFhLEtBQUssTUFBTTtZQUN0QyxPQUFPLElBQUksQ0FBQ0EsYUFBYSxDQUFDbUIsUUFBUSxDQUFDckMsU0FBU3NDLFNBQVNDO1FBQ3ZELE9BQU8sSUFBSSxJQUFJLENBQUN0QixXQUFXLEtBQUssTUFBTTtZQUNwQyxNQUFNdUIsWUFBWSxFQUFFO1lBRXBCLE9BQU8sSUFBSSxDQUFDdkIsV0FBVyxDQUFDb0IsUUFBUSxDQUFDRyxXQUFXeEMsU0FBU3NDLFNBQVNDO1FBQ2hFO0lBQ0Y7SUFFQSxPQUFPRSxPQUFPLGFBQWE7QUFDN0IifQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIGFsbCwgZXhpc3RzLCB0ZXJuYXJ5LCBub2RlUXVlcnksIG5vZGVzUXVlcnksIGxlbmd0aE9mLCB0b0ludGVnZXIsIHRyeUludGVnZXIsIGNvbnRhaW5zLCBlbmRzV2l0aCwgc3RhcnRzV2l0aCwgcmV0dXJuQmxvY2ssIHByb2NlZHVyZUNhbGwpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQpO1xuXG4gICAgdGhpcy50ZXJtID0gdGVybTtcbiAgICB0aGlzLnNvbWUgPSBzb21lO1xuICAgIHRoaXMuZXZlcnkgPSBldmVyeTtcbiAgICB0aGlzLnJlZHVjZSA9IHJlZHVjZTtcbiAgICB0aGlzLmFsbCA9IGFsbDtcbiAgICB0aGlzLmV4aXN0cyA9IGV4aXN0cztcbiAgICB0aGlzLnRlcm5hcnkgPSB0ZXJuYXJ5O1xuICAgIHRoaXMubm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5O1xuICAgIHRoaXMubm9kZXNRdWVyeSA9IG5vZGVzUXVlcnk7XG4gICAgdGhpcy5sZW5ndGhPZiA9IGxlbmd0aE9mO1xuICAgIHRoaXMudG9JbnRlZ2VyID0gdG9JbnRlZ2VyO1xuICAgIHRoaXMudHJ5SW50ZWdlciA9IHRyeUludGVnZXI7XG4gICAgdGhpcy5jb250YWlucyA9IGNvbnRhaW5zO1xuICAgIHRoaXMuZW5kc1dpdGggPSBlbmRzV2l0aDtcbiAgICB0aGlzLnN0YXJ0c1dpdGggPSBzdGFydHNXaXRoO1xuICAgIHRoaXMucmV0dXJuQmxvY2sgPSByZXR1cm5CbG9jaztcbiAgICB0aGlzLnByb2NlZHVyZUNhbGwgPSBwcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0VGVybSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJtO1xuICB9XG5cbiAgZ2V0U29tZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zb21lO1xuICB9XG5cbiAgZ2V0RXZlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlcnk7XG4gIH1cblxuICBnZXRSZWR1Y2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVkdWNlO1xuICB9XG5cbiAgZ2V0QWxsKCkge1xuICAgIHJldHVybiB0aGlzLmFsbDtcbiAgfVxuXG4gIGdldEV4aXN0cygpIHtcbiAgICByZXR1cm4gdGhpcy5leGlzdHM7XG4gIH1cblxuICBnZXRUZXJuYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnRlcm5heTtcbiAgfVxuXG4gIGdldE5vZGVRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlUXVlcnk7XG4gIH1cblxuICBnZXROb2Rlc1F1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVzUXVlcnk7XG4gIH1cblxuICBnZXRMZW5ndGhPZigpIHtcbiAgICByZXR1cm4gdGhpcy5sZW5ndGhPZjtcbiAgfVxuXG4gIGdldFRvSW50ZWdlcigpIHtcbiAgICByZXR1cm4gdGhpcy50b0ludGVnZXI7XG4gIH1cblxuICBnZXRUcnlJbnRlZ2VyKCkge1xuICAgIHJldHVybiB0aGlzLnRyeUludGVnZXI7XG4gIH1cblxuICBnZXRDb250YWlucygpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWlucztcbiAgfVxuXG4gIGdldEVuZHNXaXRoKCkge1xuICAgIHJldHVybiB0aGlzLmVuZHNXaXRoO1xuICB9XG5cbiAgZ2V0U3RhcnRzV2l0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFydHNXaXRoO1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHRoaXMudGVybSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudGVybS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmFsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuYWxsLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXhpc3RzICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5leGlzdHMuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXJuYXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50ZXJuYXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZVF1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5ub2RlUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2Rlc1F1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5ub2Rlc1F1ZXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubGVuZ3RoT2YgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmxlbmd0aE9mLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMudG9JbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50b0ludGVnZXIuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50cnlJbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50cnlJbnRlZ2VyLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29udGFpbnMgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmNvbnRhaW5zLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZW5kc1dpdGggIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmVuZHNXaXRoLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuc3RhcnRzV2l0aC5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJldHVybkJsb2NrICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5yZXR1cm5CbG9jay5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnByb2NlZHVyZUNhbGwuZ2V0VHlwZSgpO1xuICAgIH1cblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjaykge1xuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRlcm0uZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZVF1ZXJ5LmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2Rlc1F1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2Rlc1F1ZXJ5LmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5sZW5ndGhPZiAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoT2YuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRvSW50ZWdlciAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMudG9JbnRlZ2VyLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy50cnlJbnRlZ2VyICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy50cnlJbnRlZ2VyLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jb250YWlucyAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udGFpbnMuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmVuZHNXaXRoICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbmRzV2l0aC5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc3RhcnRzV2l0aCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhcnRzV2l0aC5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuc29tZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuc29tZS5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXZlcnkgIT09IG51bGwpIHtcbiAgICAgcmV0dXJuIHRoaXMuZXZlcnkuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlZHVjZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVkdWNlLmV2YWx1YXRlKGNvbnRleHQsIGZvcndhcmQsIGJhY2spO1xuICAgIH0gZWxzZSBpZiAodGhpcy5hbGwgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLmFsbC5ldmFsdWF0ZShjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXhpc3RzICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5leGlzdHMuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnRlcm5hcnkuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGwuZXZhbHVhdGUoY29udGV4dCwgZm9yd2FyZCwgYmFjayk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJldHVybkJsb2NrICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB2YXJpYWJsZXMgPSBbXTtcblxuICAgICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUodmFyaWFibGVzLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXhwcmVzc2lvblwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXhwcmVzc2lvbiIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJ0ZXJtIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwiYWxsIiwiZXhpc3RzIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJsZW5ndGhPZiIsInRvSW50ZWdlciIsInRyeUludGVnZXIiLCJjb250YWlucyIsImVuZHNXaXRoIiwic3RhcnRzV2l0aCIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRBbGwiLCJnZXRFeGlzdHMiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldExlbmd0aE9mIiwiZ2V0VG9JbnRlZ2VyIiwiZ2V0VHJ5SW50ZWdlciIsImdldENvbnRhaW5zIiwiZ2V0RW5kc1dpdGgiLCJnZXRTdGFydHNXaXRoIiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0VHlwZSIsInR5cGUiLCJldmFsdWF0ZSIsImZvcndhcmQiLCJiYWNrIiwidmFyaWFibGVzIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0NBSndCOzBCQUVEO01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsbUJBQW1CQyx1QkFBTztJQUNwRCxZQUFZQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxVQUFVLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsYUFBYSxDQUFFO1FBQ2xOLEtBQUssQ0FBQ3BCLFNBQVNDLFFBQVFDLE1BQU1DO1FBRTdCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTtRQUNiLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsR0FBRyxHQUFHQTtRQUNYLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsT0FBTyxHQUFHQTtRQUNmLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLFVBQVUsR0FBR0E7UUFDbEIsSUFBSSxDQUFDQyxXQUFXLEdBQUdBO1FBQ25CLElBQUksQ0FBQ0MsYUFBYSxHQUFHQTtJQUN2QjtJQUVBQyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNqQixJQUFJO0lBQ2xCO0lBRUFrQixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNqQixJQUFJO0lBQ2xCO0lBRUFrQixXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUNqQixLQUFLO0lBQ25CO0lBRUFrQixZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUNqQixNQUFNO0lBQ3BCO0lBRUFrQixTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUNqQixHQUFHO0lBQ2pCO0lBRUFrQixZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUNqQixNQUFNO0lBQ3BCO0lBRUFrQixhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUNDLE1BQU07SUFDcEI7SUFFQUMsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDbEIsU0FBUztJQUN2QjtJQUVBbUIsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNsQixVQUFVO0lBQ3hCO0lBRUFtQixjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUNsQixRQUFRO0lBQ3RCO0lBRUFtQixlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUNsQixTQUFTO0lBQ3ZCO0lBRUFtQixnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQ2xCLFVBQVU7SUFDeEI7SUFFQW1CLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ2xCLFFBQVE7SUFDdEI7SUFFQW1CLGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQ2xCLFFBQVE7SUFDdEI7SUFFQW1CLGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDbEIsVUFBVTtJQUN4QjtJQUVBbUIsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUNsQixXQUFXO0lBQ3pCO0lBRUFtQixtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUNsQixhQUFhO0lBQzNCO0lBRUFtQixVQUFVO1FBQ1IsSUFBSUM7UUFFSixJQUFJLE9BQU87UUFDVCxHQUFHO1FBQ0wsT0FBTyxJQUFJLElBQUksQ0FBQ3BDLElBQUksS0FBSyxNQUFNO1lBQzdCb0MsT0FBTyxJQUFJLENBQUNwQyxJQUFJLENBQUNtQyxPQUFPO1FBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUNsQyxJQUFJLEtBQUssTUFBTTtZQUM3Qm1DLE9BQU8sSUFBSSxDQUFDbkMsSUFBSSxDQUFDa0MsT0FBTztRQUMxQixPQUFPLElBQUksSUFBSSxDQUFDakMsS0FBSyxLQUFLLE1BQU07WUFDOUJrQyxPQUFPLElBQUksQ0FBQ2xDLEtBQUssQ0FBQ2lDLE9BQU87UUFDM0IsT0FBTyxJQUFJLElBQUksQ0FBQ2hDLE1BQU0sS0FBSyxNQUFNO1lBQy9CaUMsT0FBTyxJQUFJLENBQUNqQyxNQUFNLENBQUNnQyxPQUFPO1FBQzVCLE9BQU8sSUFBSSxJQUFJLENBQUMvQixHQUFHLEtBQUssTUFBTTtZQUM1QmdDLE9BQU8sSUFBSSxDQUFDaEMsR0FBRyxDQUFDK0IsT0FBTztRQUN6QixPQUFPLElBQUksSUFBSSxDQUFDOUIsTUFBTSxLQUFLLE1BQU07WUFDL0IrQixPQUFPLElBQUksQ0FBQy9CLE1BQU0sQ0FBQzhCLE9BQU87UUFDNUIsT0FBTyxJQUFJLElBQUksQ0FBQzdCLE9BQU8sS0FBSyxNQUFNO1lBQ2hDOEIsT0FBTyxJQUFJLENBQUM5QixPQUFPLENBQUM2QixPQUFPO1FBQzdCLE9BQU8sSUFBSSxJQUFJLENBQUM1QixTQUFTLEtBQUssTUFBTTtZQUNsQzZCLE9BQU8sSUFBSSxDQUFDN0IsU0FBUyxDQUFDNEIsT0FBTztRQUMvQixPQUFPLElBQUksSUFBSSxDQUFDM0IsVUFBVSxLQUFLLE1BQU07WUFDbkM0QixPQUFPLElBQUksQ0FBQzVCLFVBQVUsQ0FBQzJCLE9BQU87UUFDaEMsT0FBTyxJQUFJLElBQUksQ0FBQzFCLFFBQVEsS0FBSyxNQUFNO1lBQ2pDMkIsT0FBTyxJQUFJLENBQUMzQixRQUFRLENBQUMwQixPQUFPO1FBQzlCLE9BQU8sSUFBSSxJQUFJLENBQUN6QixTQUFTLEtBQUssTUFBTTtZQUNsQzBCLE9BQU8sSUFBSSxDQUFDMUIsU0FBUyxDQUFDeUIsT0FBTztRQUMvQixPQUFPLElBQUksSUFBSSxDQUFDeEIsVUFBVSxLQUFLLE1BQU07WUFDbkN5QixPQUFPLElBQUksQ0FBQ3pCLFVBQVUsQ0FBQ3dCLE9BQU87UUFDaEMsT0FBTyxJQUFJLElBQUksQ0FBQ3ZCLFFBQVEsS0FBSyxNQUFNO1lBQ2pDd0IsT0FBTyxJQUFJLENBQUN4QixRQUFRLENBQUN1QixPQUFPO1FBQzlCLE9BQU8sSUFBSSxJQUFJLENBQUN0QixRQUFRLEtBQUssTUFBTTtZQUNqQ3VCLE9BQU8sSUFBSSxDQUFDdkIsUUFBUSxDQUFDc0IsT0FBTztRQUM5QixPQUFPLElBQUksSUFBSSxDQUFDckIsVUFBVSxLQUFLLE1BQU07WUFDbkNzQixPQUFPLElBQUksQ0FBQ3RCLFVBQVUsQ0FBQ3FCLE9BQU87UUFDaEMsT0FBTyxJQUFJLElBQUksQ0FBQ3BCLFdBQVcsS0FBSyxNQUFNO1lBQ3BDcUIsT0FBTyxJQUFJLENBQUNyQixXQUFXLENBQUNvQixPQUFPO1FBQ2pDLE9BQU8sSUFBSSxJQUFJLENBQUNuQixhQUFhLEtBQUssTUFBTTtZQUN0Q29CLE9BQU8sSUFBSSxDQUFDcEIsYUFBYSxDQUFDbUIsT0FBTztRQUNuQztRQUVBLE9BQU9DO0lBQ1Q7SUFFQUMsU0FBU3pDLE9BQU8sRUFBRTBDLE9BQU8sRUFBRUMsSUFBSSxFQUFFO1FBQy9CLElBQUksT0FBTztRQUNULEdBQUc7UUFDTCxPQUFPLElBQUksSUFBSSxDQUFDdkMsSUFBSSxLQUFLLE1BQU07WUFDN0IsT0FBTyxJQUFJLENBQUNBLElBQUksQ0FBQ3FDLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUM5QyxPQUFPLElBQUksSUFBSSxDQUFDaEMsU0FBUyxLQUFLLE1BQU07WUFDbEMsT0FBTyxJQUFJLENBQUNBLFNBQVMsQ0FBQzhCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNuRCxPQUFPLElBQUksSUFBSSxDQUFDL0IsVUFBVSxLQUFLLE1BQU07WUFDbkMsT0FBTyxJQUFJLENBQUNBLFVBQVUsQ0FBQzZCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNwRCxPQUFPLElBQUksSUFBSSxDQUFDOUIsUUFBUSxLQUFLLE1BQU07WUFDakMsT0FBTyxJQUFJLENBQUNBLFFBQVEsQ0FBQzRCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNsRCxPQUFPLElBQUksSUFBSSxDQUFDN0IsU0FBUyxLQUFLLE1BQU07WUFDbEMsT0FBTyxJQUFJLENBQUNBLFNBQVMsQ0FBQzJCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNuRCxPQUFPLElBQUksSUFBSSxDQUFDNUIsVUFBVSxLQUFLLE1BQU07WUFDbkMsT0FBTyxJQUFJLENBQUNBLFVBQVUsQ0FBQzBCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNwRCxPQUFPLElBQUksSUFBSSxDQUFDM0IsUUFBUSxLQUFLLE1BQU07WUFDakMsT0FBTyxJQUFJLENBQUNBLFFBQVEsQ0FBQ3lCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNsRCxPQUFPLElBQUksSUFBSSxDQUFDMUIsUUFBUSxLQUFLLE1BQU07WUFDakMsT0FBTyxJQUFJLENBQUNBLFFBQVEsQ0FBQ3dCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNsRCxPQUFPLElBQUksSUFBSSxDQUFDekIsVUFBVSxLQUFLLE1BQU07WUFDbkMsT0FBTyxJQUFJLENBQUNBLFVBQVUsQ0FBQ3VCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNwRCxPQUFPLElBQUksSUFBSSxDQUFDdEMsSUFBSSxLQUFLLE1BQU07WUFDN0IsT0FBTyxJQUFJLENBQUNBLElBQUksQ0FBQ29DLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUM5QyxPQUFPLElBQUksSUFBSSxDQUFDckMsS0FBSyxLQUFLLE1BQU07WUFDL0IsT0FBTyxJQUFJLENBQUNBLEtBQUssQ0FBQ21DLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUM5QyxPQUFPLElBQUksSUFBSSxDQUFDcEMsTUFBTSxLQUFLLE1BQU07WUFDL0IsT0FBTyxJQUFJLENBQUNBLE1BQU0sQ0FBQ2tDLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNoRCxPQUFPLElBQUksSUFBSSxDQUFDbkMsR0FBRyxLQUFLLE1BQU07WUFDNUIsT0FBTyxJQUFJLENBQUNBLEdBQUcsQ0FBQ2lDLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDbEMsTUFBTSxLQUFLLE1BQU07WUFDL0IsT0FBTyxJQUFJLENBQUNBLE1BQU0sQ0FBQ2dDLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNoRCxPQUFPLElBQUksSUFBSSxDQUFDakMsT0FBTyxLQUFLLE1BQU07WUFDaEMsT0FBTyxJQUFJLENBQUNBLE9BQU8sQ0FBQytCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUNqRCxPQUFPLElBQUksSUFBSSxDQUFDdkIsYUFBYSxLQUFLLE1BQU07WUFDdEMsT0FBTyxJQUFJLENBQUNBLGFBQWEsQ0FBQ3FCLFFBQVEsQ0FBQ3pDLFNBQVMwQyxTQUFTQztRQUN2RCxPQUFPLElBQUksSUFBSSxDQUFDeEIsV0FBVyxLQUFLLE1BQU07WUFDcEMsTUFBTXlCLFlBQVksRUFBRTtZQUVwQixPQUFPLElBQUksQ0FBQ3pCLFdBQVcsQ0FBQ3NCLFFBQVEsQ0FBQ0csV0FBVzVDLFNBQVMwQyxTQUFTQztRQUNoRTtJQUNGO0lBRUEsT0FBT0UsT0FBTyxhQUFhO0FBQzdCIn0=
|
|
@@ -13,7 +13,7 @@ const _elements = require("../elements");
|
|
|
13
13
|
const _context = require("../utilities/context");
|
|
14
14
|
const _instantiate = require("../process/instantiate");
|
|
15
15
|
const _json = require("../utilities/json");
|
|
16
|
-
const { every } = _occamlanguages.continuationUtilities, { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
16
|
+
const { cut, every } = _occamlanguages.continuationUtilities, { unbreakable } = _occamlanguages.breakPointUtilities;
|
|
17
17
|
const _default = (0, _elements.define)(class ImportStatement extends _occamlanguages.Element {
|
|
18
18
|
constructor(context, string, node, breakPoint, releaseName, importBindings){
|
|
19
19
|
super(context, string, node, breakPoint);
|
|
@@ -37,6 +37,7 @@ const _default = (0, _elements.define)(class ImportStatement extends _occamlangu
|
|
|
37
37
|
return json;
|
|
38
38
|
}
|
|
39
39
|
verify = unbreakable(function(context, forward, back) {
|
|
40
|
+
forward = cut(forward, back); ///
|
|
40
41
|
const importStatementString = this.getString(); ///
|
|
41
42
|
context.trace(`Verifying the '${importStatementString}' import statement...`);
|
|
42
43
|
return every(this.importBindings, (importBinding, context, forward, back)=>{
|
|
@@ -64,4 +65,4 @@ const _default = (0, _elements.define)(class ImportStatement extends _occamlangu
|
|
|
64
65
|
}
|
|
65
66
|
});
|
|
66
67
|
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2ltcG9ydFN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgRWxlbWVudCwgYnJlYWtQb2ludFV0aWxpdGllcywgY29udGludWF0aW9uVXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWxhbmd1YWdlc1wiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IGluc3RhbnRpYXRlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZUltcG9ydFN0YXRlbWVudCB9IGZyb20gXCIuLi9wcm9jZXNzL2luc3RhbnRpYXRlXCI7XG5pbXBvcnQgeyByZWxlYXNlTmFtZUZyb21KU09OLCBpbXBvcnRCaW5kaW5nc0Zyb21KU09OLCByZWxlYXNlTmFtZVRvUmVsZWFzZU5hbWVKU09OLCBpbXBvcnRCaW5kaW5nc1RvSW1wb3J0QmluZGluZ3NKU09OIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmNvbnN0IHsgY3V0LCBldmVyeSB9ID0gY29udGludWF0aW9uVXRpbGl0aWVzLFxuICAgICAgeyB1bmJyZWFrYWJsZSB9ID0gYnJlYWtQb2ludFV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEltcG9ydFN0YXRlbWVudCBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHJlbGVhc2VOYW1lLCBpbXBvcnRCaW5kaW5ncykge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSwgYnJlYWtQb2ludCk7XG5cbiAgICB0aGlzLnJlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWU7XG4gICAgdGhpcy5pbXBvcnRCaW5kaW5ncyA9IGltcG9ydEJpbmRpbmdzO1xuICB9XG5cbiAgZ2V0UmVsZWFzZU5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVsZWFzZU5hbWU7XG4gIH1cblxuICBnZXRJbXBvcnRCaW5kaW5ncygpIHtcbiAgICByZXR1cm4gdGhpcy5pbXBvcnRCaW5kaW5ncztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQganNvbjtcblxuICAgIGNvbnN0IHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgcmVsZWFzZU5hbWVKU09OID0gcmVsZWFzZU5hbWVUb1JlbGVhc2VOYW1lSlNPTih0aGlzLnJlbGVhc2VOYW1lKSxcbiAgICAgICAgICBpbXBvcnRCaW5kaW5nc0pTT04gPSBpbXBvcnRCaW5kaW5nc1RvSW1wb3J0QmluZGluZ3NKU09OKHRoaXMuaW1wb3J0QmluZGluZ3MpLFxuICAgICAgICAgIHJlbGVhc2VOYW1lID0gcmVsZWFzZU5hbWVKU09OLCAgLy8vXG4gICAgICAgICAgaW1wb3J0QmluZGluZ3MgPSBpbXBvcnRCaW5kaW5nc0pTT047ICAvLy9cblxuICAgIGpzb24gPSB7XG4gICAgICBzdHJpbmcsXG4gICAgICByZWxlYXNlTmFtZSxcbiAgICAgIGltcG9ydEJpbmRpbmdzXG4gICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgdmVyaWZ5ID0gdW5icmVha2FibGUoZnVuY3Rpb24gKGNvbnRleHQsIGZvcndhcmQsIGJhY2spIHtcbiAgICBmb3J3YXJkID0gY3V0KGZvcndhcmQsIGJhY2spOyAvLy9cblxuICAgIGNvbnN0IGltcG9ydFN0YXRlbWVudFN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtpbXBvcnRTdGF0ZW1lbnRTdHJpbmd9JyBpbXBvcnQgc3RhdGVtZW50Li4uYCk7XG5cbiAgICByZXR1cm4gZXZlcnkodGhpcy5pbXBvcnRCaW5kaW5ncywgKGltcG9ydEJpbmRpbmcsIGNvbnRleHQsIGZvcndhcmQsIGJhY2spID0+IHtcbiAgICAgIHJldHVybiBpbXBvcnRCaW5kaW5nLnZlcmlmeSh0aGlzLnJlbGVhc2VOYW1lLCBjb250ZXh0LCBmb3J3YXJkLCBiYWNrKTtcbiAgICB9LCBjb250ZXh0LCAoY29udGV4dCwgYmFjaykgPT4ge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2ltcG9ydFN0YXRlbWVudFN0cmluZ30nIGltcG9ydCBzdGF0ZW1lbnQuYCk7XG5cbiAgICAgIHJldHVybiBmb3J3YXJkKGNvbnRleHQsIGJhY2spO1xuICAgIH0sIChleGNlcHRpb24pID0+IHtcbiAgICAgIGlmIChleGNlcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIGJhY2soZXhjZXB0aW9uKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC50cmFjZShgVW5hYmxlIHRvIHZlcmlmeSB0aGUgJyR7aW1wb3J0U3RhdGVtZW50U3RyaW5nfScgaW1wb3J0IHN0YXRlbWVudC5gKTtcblxuICAgICAgcmV0dXJuIGJhY2soKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgc3RhdGljIG5hbWUgPSBcIkltcG9ydFN0YXRlbWVudFwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgbGV0IGltcG9ydFN0YXRlbWVudDtcblxuICAgIGluc3RhbnRpYXRlKChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCB7IHN0cmluZyB9ID0ganNvbixcbiAgICAgICAgICAgIGltcG9ydFN0YXRlbWVudE5vZGUgPSBpbnN0YW50aWF0ZUltcG9ydFN0YXRlbWVudChzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IGltcG9ydFN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgIGJyZWFrUG9pbnQgPSBudWxsLFxuICAgICAgICAgICAgcmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZUZyb21KU09OKGpzb24sIGNvbnRleHQpLFxuICAgICAgICAgICAgaW1wb3J0QmluZGluZ3MgPSBpbXBvcnRCaW5kaW5nc0Zyb21KU09OKGpzb24sIGNvbnRleHQpO1xuXG4gICAgICBjb250ZXh0ID0gbnVsbDtcblxuICAgICAgaW1wb3J0U3RhdGVtZW50ID0gbmV3IEltcG9ydFN0YXRlbWVudChjb250ZXh0LCBzdHJpbmcsIG5vZGUsIGJyZWFrUG9pbnQsIHJlbGVhc2VOYW1lLCBpbXBvcnRCaW5kaW5ncyk7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gaW1wb3J0U3RhdGVtZW50O1xuICB9XG59KTtcbiJdLCJuYW1lcyI6WyJjdXQiLCJldmVyeSIsImNvbnRpbnVhdGlvblV0aWxpdGllcyIsInVuYnJlYWthYmxlIiwiYnJlYWtQb2ludFV0aWxpdGllcyIsImRlZmluZSIsIkltcG9ydFN0YXRlbWVudCIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJyZWxlYXNlTmFtZSIsImltcG9ydEJpbmRpbmdzIiwiZ2V0UmVsZWFzZU5hbWUiLCJnZXRJbXBvcnRCaW5kaW5ncyIsInRvSlNPTiIsImpzb24iLCJnZXRTdHJpbmciLCJyZWxlYXNlTmFtZUpTT04iLCJyZWxlYXNlTmFtZVRvUmVsZWFzZU5hbWVKU09OIiwiaW1wb3J0QmluZGluZ3NKU09OIiwiaW1wb3J0QmluZGluZ3NUb0ltcG9ydEJpbmRpbmdzSlNPTiIsInZlcmlmeSIsImZvcndhcmQiLCJiYWNrIiwiaW1wb3J0U3RhdGVtZW50U3RyaW5nIiwidHJhY2UiLCJpbXBvcnRCaW5kaW5nIiwiZGVidWciLCJleGNlcHRpb24iLCJuYW1lIiwiZnJvbUpTT04iLCJpbXBvcnRTdGF0ZW1lbnQiLCJpbnN0YW50aWF0ZSIsImltcG9ydFN0YXRlbWVudE5vZGUiLCJpbnN0YW50aWF0ZUltcG9ydFN0YXRlbWVudCIsInJlbGVhc2VOYW1lRnJvbUpTT04iLCJpbXBvcnRCaW5kaW5nc0Zyb21KU09OIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFZQTs7O2VBQUE7OztnQ0FWb0U7MEJBRTdDO3lCQUNLOzZCQUNlO3NCQUNtRjtBQUU5SCxNQUFNLEVBQUVB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
|