occam-verify-cli 1.0.662 → 1.0.664
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/.swcrc +3 -0
- package/lib/abbreviations.js +10 -10
- package/lib/action/help.js +27 -2
- package/lib/action/verify.js +33 -205
- package/lib/action/version.js +6 -6
- package/lib/commands.js +4 -4
- package/lib/constants.js +16 -16
- package/lib/context/ephemeral.js +337 -540
- package/lib/context/file/nominal.js +545 -1040
- package/lib/context/liminal.js +159 -325
- package/lib/context/literal.js +34 -138
- package/lib/context/nominal.js +29 -124
- package/lib/context/scoped.js +163 -325
- package/lib/context/synthetic.js +31 -126
- package/lib/context.js +230 -482
- package/lib/defaults.js +8 -8
- package/lib/element/assertion/contained.js +159 -299
- package/lib/element/assertion/defined.js +145 -279
- package/lib/element/assertion/property.js +132 -266
- package/lib/element/assertion/satisfies.js +108 -239
- package/lib/element/assertion/subproof.js +88 -207
- package/lib/element/assertion/type.js +132 -262
- package/lib/element/assertion.js +17 -156
- package/lib/element/assumption.js +187 -386
- package/lib/element/combinator/bracketed.js +19 -142
- package/lib/element/combinator.js +65 -228
- package/lib/element/conclusion.js +72 -370
- package/lib/element/constructor/bracketed.js +34 -157
- package/lib/element/constructor.js +81 -253
- package/lib/element/declaration/combinator.js +41 -286
- package/lib/element/declaration/complexType.js +184 -452
- package/lib/element/declaration/constructor.js +69 -323
- package/lib/element/declaration/metavariable.js +70 -317
- package/lib/element/declaration/simpleType.js +117 -378
- package/lib/element/declaration/typePrefix.js +54 -299
- package/lib/element/declaration/variable.js +74 -328
- package/lib/element/declaration.js +3 -114
- package/lib/element/deduction.js +76 -378
- package/lib/element/derivation.js +31 -340
- package/lib/element/equality.js +152 -347
- package/lib/element/equivalence.js +160 -385
- package/lib/element/equivalences.js +132 -356
- package/lib/element/error.js +16 -290
- package/lib/element/frame.js +210 -418
- package/lib/element/hypothesis.js +56 -354
- package/lib/element/judgement.js +120 -305
- package/lib/element/label.js +62 -236
- package/lib/element/metaType.js +35 -200
- package/lib/element/metavariable.js +249 -459
- package/lib/element/parameter.js +39 -202
- package/lib/element/procedureCall.js +74 -381
- package/lib/element/procedureReference.js +27 -186
- package/lib/element/proof.js +38 -349
- package/lib/element/proofAssertion/premise.js +174 -466
- package/lib/element/proofAssertion/step.js +144 -495
- package/lib/element/proofAssertion/supposition.js +170 -466
- package/lib/element/proofAssertion.js +47 -195
- package/lib/element/property.js +36 -201
- package/lib/element/propertyRelation.js +62 -223
- package/lib/element/reference.js +173 -378
- package/lib/element/rule.js +178 -673
- package/lib/element/section.js +47 -356
- package/lib/element/signature.js +96 -264
- package/lib/element/statement.js +195 -395
- package/lib/element/subDerivation.js +32 -341
- package/lib/element/subproof.js +73 -448
- package/lib/element/substitution/frame.js +114 -257
- package/lib/element/substitution/reference.js +108 -248
- package/lib/element/substitution/statement.js +223 -397
- package/lib/element/substitution/term.js +123 -266
- package/lib/element/substitution.js +97 -296
- package/lib/element/term.js +139 -339
- package/lib/element/topLevelAssertion/axiom.js +153 -459
- package/lib/element/topLevelAssertion/conjecture.js +24 -295
- package/lib/element/topLevelAssertion/lemma.js +22 -289
- package/lib/element/topLevelAssertion/theorem.js +24 -295
- package/lib/element/topLevelAssertion.js +218 -718
- package/lib/element/topLevelMetaAssertion/metaLemma.js +24 -290
- package/lib/element/topLevelMetaAssertion/metatheorem.js +24 -290
- package/lib/element/topLevelMetaAssertion.js +109 -509
- package/lib/element/type.js +198 -435
- package/lib/element/typePrefix.js +27 -186
- package/lib/element/variable.js +119 -308
- package/lib/elements.js +4 -4
- package/lib/index.js +4 -4
- package/lib/main.js +18 -18
- package/lib/messages.js +2 -2
- package/lib/metaTypeNames.js +4 -4
- package/lib/metaTypes.js +10 -10
- package/lib/node/argument.js +15 -109
- package/lib/node/assertion/contained.js +33 -130
- package/lib/node/assertion/defined.js +29 -123
- package/lib/node/assertion/property.js +18 -112
- package/lib/node/assertion/satisfies.js +14 -105
- package/lib/node/assertion/subproof.js +10 -98
- package/lib/node/assertion/type.js +14 -105
- package/lib/node/assertion.js +5 -89
- package/lib/node/assumption.js +12 -103
- package/lib/node/body/axiom.js +5 -89
- package/lib/node/body/conjecture.js +5 -89
- package/lib/node/body/lemma.js +5 -89
- package/lib/node/body/metaLemma.js +5 -89
- package/lib/node/body/metatheorem.js +5 -89
- package/lib/node/body/rule.js +26 -126
- package/lib/node/body/theorem.js +5 -89
- package/lib/node/body.js +15 -109
- package/lib/node/combinator.js +9 -97
- package/lib/node/conclusion.js +12 -103
- package/lib/node/constructor.js +9 -97
- package/lib/node/declaration/combinator.js +10 -98
- package/lib/node/declaration/complexType.js +53 -162
- package/lib/node/declaration/constructor.js +29 -123
- package/lib/node/declaration/metavariable.js +18 -112
- package/lib/node/declaration/property.js +26 -123
- package/lib/node/declaration/simpleType.js +52 -158
- package/lib/node/declaration/typePrefix.js +14 -105
- package/lib/node/declaration/variable.js +33 -130
- package/lib/node/declaration.js +5 -89
- package/lib/node/deduction.js +12 -103
- package/lib/node/derivation.js +12 -125
- package/lib/node/document.js +5 -89
- package/lib/node/equality.js +17 -111
- package/lib/node/equivalence.js +9 -97
- package/lib/node/equivalences.js +5 -89
- package/lib/node/error.js +5 -89
- package/lib/node/frame.js +26 -123
- package/lib/node/header/axiom.js +10 -98
- package/lib/node/header/conjecture.js +5 -89
- package/lib/node/header/lemma.js +5 -89
- package/lib/node/header/metaLemma.js +5 -89
- package/lib/node/header/metatheorem.js +5 -89
- package/lib/node/header/rule.js +5 -89
- package/lib/node/header/theorem.js +5 -89
- package/lib/node/header.js +30 -130
- package/lib/node/hypothesis.js +12 -103
- package/lib/node/judgement.js +15 -109
- package/lib/node/label.js +9 -97
- package/lib/node/labels.js +9 -97
- package/lib/node/metaArgument.js +9 -97
- package/lib/node/metaType.js +16 -104
- package/lib/node/metavariable.js +23 -117
- package/lib/node/parameter.js +32 -123
- package/lib/node/parenthesisedLabel.js +9 -97
- package/lib/node/parenthesisedLabels.js +12 -103
- package/lib/node/placeholder.js +5 -89
- package/lib/node/procedureCall.js +15 -109
- package/lib/node/procedureReference.js +16 -104
- package/lib/node/proof.js +9 -97
- package/lib/node/proofAssertion/premise.js +10 -98
- package/lib/node/proofAssertion/step.js +32 -132
- package/lib/node/proofAssertion/supposition.js +10 -98
- package/lib/node/proofAssertion.js +12 -103
- package/lib/node/property.js +15 -106
- package/lib/node/propertyRelation.js +15 -109
- package/lib/node/qualification.js +12 -103
- package/lib/node/reference.js +9 -97
- package/lib/node/rule.js +26 -129
- package/lib/node/section.js +22 -122
- package/lib/node/signature.js +9 -97
- package/lib/node/statement.js +93 -238
- package/lib/node/subDerivation.js +12 -125
- package/lib/node/subproof.js +18 -115
- package/lib/node/substitution/frame.js +22 -119
- package/lib/node/substitution/reference.js +22 -119
- package/lib/node/substitution/statement.js +42 -151
- package/lib/node/substitution/term.js +22 -119
- package/lib/node/substitution.js +5 -89
- package/lib/node/term.js +51 -160
- package/lib/node/topLevelAssertion/axiom.js +8 -105
- package/lib/node/topLevelAssertion/conjecture.js +8 -105
- package/lib/node/topLevelAssertion/lemma.js +8 -105
- package/lib/node/topLevelAssertion/theorem.js +8 -105
- package/lib/node/topLevelAssertion.js +29 -135
- package/lib/node/topLevelMetaAssertion/metaLemma.js +8 -105
- package/lib/node/topLevelMetaAssertion/metatheorem.js +8 -105
- package/lib/node/topLevelMetaAssertion.js +25 -128
- package/lib/node/type.js +43 -140
- package/lib/node/typePrefix.js +16 -104
- package/lib/node/types.js +9 -97
- package/lib/node/variable.js +16 -104
- package/lib/nominal/lexer.js +3 -68
- package/lib/nominal/parser.js +7 -85
- package/lib/nonTerminalNodeMap.js +171 -101
- package/lib/options.js +6 -6
- package/lib/preamble.js +62 -62
- package/lib/prepare.js +4 -4
- package/lib/process/assign.js +20 -20
- package/lib/process/equate.js +39 -117
- package/lib/process/instantiate.js +10 -9
- package/lib/process/unify.js +199 -325
- package/lib/process/validate.js +87 -195
- package/lib/process/verify.js +263 -786
- package/lib/ruleNames.js +84 -84
- package/lib/tokenTypes.js +3 -3
- package/lib/utilities/bnf.js +7 -7
- package/lib/utilities/brackets.js +18 -18
- package/lib/utilities/clock.js +8 -8
- package/lib/utilities/context.js +23 -191
- package/lib/utilities/element.js +276 -276
- package/lib/utilities/equivalence.js +7 -7
- package/lib/utilities/fileContext.js +9 -9
- package/lib/utilities/instance.js +14 -14
- package/lib/utilities/json.js +211 -211
- package/lib/utilities/releaseContext.js +19 -147
- package/lib/utilities/statement.js +10 -10
- package/lib/utilities/string.js +47 -47
- package/lib/utilities/substitutions.js +19 -19
- package/lib/utilities/type.js +5 -5
- package/lib/utilities/unification.js +196 -426
- package/lib/utilities/validation.js +72 -72
- package/package.json +1 -1
|
@@ -8,152 +8,29 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function _assert_this_initialized(self) {
|
|
14
|
-
if (self === void 0) {
|
|
15
|
-
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
16
|
-
}
|
|
17
|
-
return self;
|
|
18
|
-
}
|
|
19
|
-
function _call_super(_this, derived, args) {
|
|
20
|
-
derived = _get_prototype_of(derived);
|
|
21
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
22
|
-
}
|
|
23
|
-
function _class_call_check(instance, Constructor) {
|
|
24
|
-
if (!(instance instanceof Constructor)) {
|
|
25
|
-
throw new TypeError("Cannot call a class as a function");
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
function _defineProperties(target, props) {
|
|
29
|
-
for(var i = 0; i < props.length; i++){
|
|
30
|
-
var descriptor = props[i];
|
|
31
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
32
|
-
descriptor.configurable = true;
|
|
33
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
34
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
38
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
39
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
40
|
-
return Constructor;
|
|
41
|
-
}
|
|
42
|
-
function _define_property(obj, key, value) {
|
|
43
|
-
if (key in obj) {
|
|
44
|
-
Object.defineProperty(obj, key, {
|
|
45
|
-
value: value,
|
|
46
|
-
enumerable: true,
|
|
47
|
-
configurable: true,
|
|
48
|
-
writable: true
|
|
49
|
-
});
|
|
50
|
-
} else {
|
|
51
|
-
obj[key] = value;
|
|
52
|
-
}
|
|
53
|
-
return obj;
|
|
54
|
-
}
|
|
55
|
-
function _get(target, property, receiver) {
|
|
56
|
-
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
57
|
-
_get = Reflect.get;
|
|
58
|
-
} else {
|
|
59
|
-
_get = function get(target, property, receiver) {
|
|
60
|
-
var base = _super_prop_base(target, property);
|
|
61
|
-
if (!base) return;
|
|
62
|
-
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
63
|
-
if (desc.get) {
|
|
64
|
-
return desc.get.call(receiver || target);
|
|
65
|
-
}
|
|
66
|
-
return desc.value;
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
return _get(target, property, receiver || target);
|
|
70
|
-
}
|
|
71
|
-
function _get_prototype_of(o) {
|
|
72
|
-
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
73
|
-
return o.__proto__ || Object.getPrototypeOf(o);
|
|
74
|
-
};
|
|
75
|
-
return _get_prototype_of(o);
|
|
76
|
-
}
|
|
77
|
-
function _inherits(subClass, superClass) {
|
|
78
|
-
if (typeof superClass !== "function" && superClass !== null) {
|
|
79
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
80
|
-
}
|
|
81
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
|
82
|
-
constructor: {
|
|
83
|
-
value: subClass,
|
|
84
|
-
writable: true,
|
|
85
|
-
configurable: true
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
89
|
-
}
|
|
11
|
+
const _combinator = /*#__PURE__*/ _interop_require_default(require("../combinator"));
|
|
12
|
+
const _elements = require("../../elements");
|
|
90
13
|
function _interop_require_default(obj) {
|
|
91
14
|
return obj && obj.__esModule ? obj : {
|
|
92
15
|
default: obj
|
|
93
16
|
};
|
|
94
17
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
function _super_prop_base(object, property) {
|
|
109
|
-
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
110
|
-
object = _get_prototype_of(object);
|
|
111
|
-
if (object === null) break;
|
|
112
|
-
}
|
|
113
|
-
return object;
|
|
114
|
-
}
|
|
115
|
-
function _type_of(obj) {
|
|
116
|
-
"@swc/helpers - typeof";
|
|
117
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
118
|
-
}
|
|
119
|
-
function _is_native_reflect_construct() {
|
|
120
|
-
try {
|
|
121
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
122
|
-
} catch (_) {}
|
|
123
|
-
return (_is_native_reflect_construct = function() {
|
|
124
|
-
return !!result;
|
|
125
|
-
})();
|
|
126
|
-
}
|
|
127
|
-
var _BracketedCombinator;
|
|
128
|
-
var _default = (0, _elements.define)((_BracketedCombinator = /*#__PURE__*/ function(Combinator) {
|
|
129
|
-
_inherits(BracketedCombinator, Combinator);
|
|
130
|
-
function BracketedCombinator() {
|
|
131
|
-
_class_call_check(this, BracketedCombinator);
|
|
132
|
-
return _call_super(this, BracketedCombinator, arguments);
|
|
133
|
-
}
|
|
134
|
-
_create_class(BracketedCombinator, [
|
|
135
|
-
{
|
|
136
|
-
key: "getBracketedCombinatorNode",
|
|
137
|
-
value: function getBracketedCombinatorNode() {
|
|
138
|
-
var node = this.getNode(), bracketedCombinatorNode = node; ///
|
|
139
|
-
return bracketedCombinatorNode;
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
{
|
|
143
|
-
key: "unifyStatement",
|
|
144
|
-
value: function unifyStatement(statement, stated, context) {
|
|
145
|
-
var statementUnifies;
|
|
146
|
-
var statementString = statement.getString();
|
|
147
|
-
context.trace("Unifying the '".concat(statementString, "' statement with the bracketed combinator..."));
|
|
148
|
-
statementUnifies = _get(_get_prototype_of(BracketedCombinator.prototype), "unifyStatement", this).call(this, statement, stated, context);
|
|
149
|
-
if (statementUnifies) {
|
|
150
|
-
context.debug("...unified the '".concat(statementString, "' statement with the bracketed combinator."));
|
|
151
|
-
}
|
|
152
|
-
return statementUnifies;
|
|
153
|
-
}
|
|
18
|
+
const _default = (0, _elements.define)(class BracketedCombinator extends _combinator.default {
|
|
19
|
+
getBracketedCombinatorNode() {
|
|
20
|
+
const node = this.getNode(), bracketedCombinatorNode = node; ///
|
|
21
|
+
return bracketedCombinatorNode;
|
|
22
|
+
}
|
|
23
|
+
unifyStatement(statement, stated, context) {
|
|
24
|
+
let statementUnifies;
|
|
25
|
+
const statementString = statement.getString();
|
|
26
|
+
context.trace(`Unifying the '${statementString}' statement with the bracketed combinator...`);
|
|
27
|
+
statementUnifies = super.unifyStatement(statement, stated, context);
|
|
28
|
+
if (statementUnifies) {
|
|
29
|
+
context.debug(`...unified the '${statementString}' statement with the bracketed combinator.`);
|
|
154
30
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
31
|
+
return statementUnifies;
|
|
32
|
+
}
|
|
33
|
+
static name = "BracketedCombinator";
|
|
34
|
+
});
|
|
158
35
|
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2NvbWJpbmF0b3IvYnJhY2tldGVkLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgQ29tYmluYXRvciBmcm9tIFwiLi4vY29tYmluYXRvclwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIEJyYWNrZXRlZENvbWJpbmF0b3IgZXh0ZW5kcyBDb21iaW5hdG9yIHtcbiAgZ2V0QnJhY2tldGVkQ29tYmluYXRvck5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGJyYWNrZXRlZENvbWJpbmF0b3JOb2RlID0gbm9kZTsgLy8vXG5cbiAgICByZXR1cm4gYnJhY2tldGVkQ29tYmluYXRvck5vZGU7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVzO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgVW5pZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSBicmFja2V0ZWQgY29tYmluYXRvci4uLmApO1xuXG4gICAgc3RhdGVtZW50VW5pZmllcyA9IHN1cGVyLnVuaWZ5U3RhdGVtZW50KHN0YXRlbWVudCwgc3RhdGVkLCBjb250ZXh0KTtcblxuICAgIGlmIChzdGF0ZW1lbnRVbmlmaWVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi51bmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgd2l0aCB0aGUgYnJhY2tldGVkIGNvbWJpbmF0b3IuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlbWVudFVuaWZpZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQnJhY2tldGVkQ29tYmluYXRvclwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQnJhY2tldGVkQ29tYmluYXRvciIsIkNvbWJpbmF0b3IiLCJnZXRCcmFja2V0ZWRDb21iaW5hdG9yTm9kZSIsIm5vZGUiLCJnZXROb2RlIiwiYnJhY2tldGVkQ29tYmluYXRvck5vZGUiLCJ1bmlmeVN0YXRlbWVudCIsInN0YXRlbWVudCIsInN0YXRlZCIsImNvbnRleHQiLCJzdGF0ZW1lbnRVbmlmaWVzIiwic3RhdGVtZW50U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJkZWJ1ZyIsIm5hbWUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBQTs7O21FQUp1QjswQkFFQTs7Ozs7O01BRXZCLFdBQWVBLElBQUFBLGdCQUFNLEVBQUMsTUFBTUMsNEJBQTRCQyxtQkFBVTtJQUNoRUMsNkJBQTZCO1FBQzNCLE1BQU1DLE9BQU8sSUFBSSxDQUFDQyxPQUFPLElBQ25CQywwQkFBMEJGLE1BQU0sR0FBRztRQUV6QyxPQUFPRTtJQUNUO0lBRUFDLGVBQWVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUU7UUFDekMsSUFBSUM7UUFFSixNQUFNQyxrQkFBa0JKLFVBQVVLLFNBQVM7UUFFM0NILFFBQVFJLEtBQUssQ0FBQyxDQUFDLGNBQWMsRUFBRUYsZ0JBQWdCLDRDQUE0QyxDQUFDO1FBRTVGRCxtQkFBbUIsS0FBSyxDQUFDSixlQUFlQyxXQUFXQyxRQUFRQztRQUUzRCxJQUFJQyxrQkFBa0I7WUFDcEJELFFBQVFLLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixFQUFFSCxnQkFBZ0IsMENBQTBDLENBQUM7UUFDOUY7UUFFQSxPQUFPRDtJQUNUO0lBRUEsT0FBT0ssT0FBTyxzQkFBc0I7QUFDdEMifQ==
|
|
@@ -8,241 +8,78 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
11
|
+
const _occamlanguages = require("occam-languages");
|
|
12
|
+
const _elements = require("../elements");
|
|
13
|
+
const _context = require("../utilities/context");
|
|
14
|
+
const _instantiate = require("../process/instantiate");
|
|
15
|
+
const _verify = require("../process/verify");
|
|
16
|
+
const _unify = require("../process/unify");
|
|
17
|
+
const _json = require("../utilities/json");
|
|
18
|
+
const _default = (0, _elements.define)(class Combinator extends _occamlanguages.Element {
|
|
19
|
+
constructor(context, string, node, statement){
|
|
20
|
+
super(context, string, node);
|
|
21
|
+
this.statement = statement;
|
|
21
22
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function _call_super(_this, derived, args) {
|
|
25
|
-
derived = _get_prototype_of(derived);
|
|
26
|
-
return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
|
27
|
-
}
|
|
28
|
-
function _class_call_check(instance, Constructor) {
|
|
29
|
-
if (!(instance instanceof Constructor)) {
|
|
30
|
-
throw new TypeError("Cannot call a class as a function");
|
|
23
|
+
getStatement() {
|
|
24
|
+
return this.statement;
|
|
31
25
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
_construct = Reflect.construct;
|
|
36
|
-
} else {
|
|
37
|
-
_construct = function construct(Parent, args, Class) {
|
|
38
|
-
var a = [
|
|
39
|
-
null
|
|
40
|
-
];
|
|
41
|
-
a.push.apply(a, args);
|
|
42
|
-
var Constructor = Function.bind.apply(Parent, a);
|
|
43
|
-
var instance = new Constructor();
|
|
44
|
-
if (Class) _set_prototype_of(instance, Class.prototype);
|
|
45
|
-
return instance;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return _construct.apply(null, arguments);
|
|
49
|
-
}
|
|
50
|
-
function _defineProperties(target, props) {
|
|
51
|
-
for(var i = 0; i < props.length; i++){
|
|
52
|
-
var descriptor = props[i];
|
|
53
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
|
54
|
-
descriptor.configurable = true;
|
|
55
|
-
if ("value" in descriptor) descriptor.writable = true;
|
|
56
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function _create_class(Constructor, protoProps, staticProps) {
|
|
60
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
61
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
62
|
-
return Constructor;
|
|
63
|
-
}
|
|
64
|
-
function _define_property(obj, key, value) {
|
|
65
|
-
if (key in obj) {
|
|
66
|
-
Object.defineProperty(obj, key, {
|
|
67
|
-
value: value,
|
|
68
|
-
enumerable: true,
|
|
69
|
-
configurable: true,
|
|
70
|
-
writable: true
|
|
71
|
-
});
|
|
72
|
-
} else {
|
|
73
|
-
obj[key] = value;
|
|
26
|
+
getConbinatorNode() {
|
|
27
|
+
const node = this.getNode(), combinatorNode = node; ///
|
|
28
|
+
return combinatorNode;
|
|
74
29
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
constructor: {
|
|
89
|
-
value: subClass,
|
|
90
|
-
writable: true,
|
|
91
|
-
configurable: true
|
|
30
|
+
verify(context) {
|
|
31
|
+
let verifies = false;
|
|
32
|
+
const combinatorString = this.getString(); ///
|
|
33
|
+
context.trace(`Verifying the '${combinatorString}' combinator...`);
|
|
34
|
+
(0, _context.attempt)((context)=>{
|
|
35
|
+
const statementVerifiesAsCombinator = (0, _verify.verifyStatementAsCombinator)(this.statement, context);
|
|
36
|
+
if (statementVerifiesAsCombinator) {
|
|
37
|
+
this.setContext(context);
|
|
38
|
+
verifies = true;
|
|
39
|
+
}
|
|
40
|
+
}, context);
|
|
41
|
+
if (verifies) {
|
|
42
|
+
context.debug(`...verified the '${combinatorString}' combinator.`);
|
|
92
43
|
}
|
|
93
|
-
|
|
94
|
-
if (superClass) _set_prototype_of(subClass, superClass);
|
|
95
|
-
}
|
|
96
|
-
function _is_native_function(fn) {
|
|
97
|
-
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
98
|
-
}
|
|
99
|
-
function _possible_constructor_return(self, call) {
|
|
100
|
-
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
101
|
-
return call;
|
|
44
|
+
return verifies;
|
|
102
45
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
function _wrap_native_super(Class) {
|
|
117
|
-
var _cache = typeof Map === "function" ? new Map() : undefined;
|
|
118
|
-
_wrap_native_super = function wrapNativeSuper(Class) {
|
|
119
|
-
if (Class === null || !_is_native_function(Class)) return Class;
|
|
120
|
-
if (typeof Class !== "function") {
|
|
121
|
-
throw new TypeError("Super expression must either be null or a function");
|
|
46
|
+
unifyStatement(statement, stated, context) {
|
|
47
|
+
let statementUnifies;
|
|
48
|
+
const statementString = statement.getString(), combinatorString = this.getString(); ///
|
|
49
|
+
context.trace(`Unifying the '${statementString}' statement with the '${combinatorString}' combinator...`);
|
|
50
|
+
const specifiContext = context; ///
|
|
51
|
+
context = this.getContext();
|
|
52
|
+
const generalContext = context; ///
|
|
53
|
+
context = specifiContext; ///
|
|
54
|
+
const combinator = this, statementUnifiesWithCombinator = (0, _unify.unifyStatementWithCombinator)(statement, combinator, stated, generalContext, specifiContext);
|
|
55
|
+
statementUnifies = statementUnifiesWithCombinator; ///
|
|
56
|
+
if (statementUnifies) {
|
|
57
|
+
context.debug(`...unified the '${statementString}' statement with the '${combinatorString}' combinator.`);
|
|
122
58
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
constructor: {
|
|
132
|
-
value: Wrapper,
|
|
133
|
-
enumerable: false,
|
|
134
|
-
writable: true,
|
|
135
|
-
configurable: true
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
return _set_prototype_of(Wrapper, Class);
|
|
139
|
-
};
|
|
140
|
-
return _wrap_native_super(Class);
|
|
141
|
-
}
|
|
142
|
-
function _is_native_reflect_construct() {
|
|
143
|
-
try {
|
|
144
|
-
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
|
|
145
|
-
} catch (_) {}
|
|
146
|
-
return (_is_native_reflect_construct = function() {
|
|
147
|
-
return !!result;
|
|
148
|
-
})();
|
|
149
|
-
}
|
|
150
|
-
var _Combinator;
|
|
151
|
-
var _default = (0, _elements.define)((_Combinator = /*#__PURE__*/ function(Element) {
|
|
152
|
-
_inherits(Combinator, Element);
|
|
153
|
-
function Combinator(context, string, node, statement) {
|
|
154
|
-
_class_call_check(this, Combinator);
|
|
155
|
-
var _this;
|
|
156
|
-
_this = _call_super(this, Combinator, [
|
|
59
|
+
return statementUnifies;
|
|
60
|
+
}
|
|
61
|
+
toJSON() {
|
|
62
|
+
let context;
|
|
63
|
+
context = this.getContext();
|
|
64
|
+
const contextJSON = context.toJSON();
|
|
65
|
+
context = contextJSON; ///
|
|
66
|
+
const statementJSON = (0, _json.statementToStatementJSON)(this.statement), statement = statementJSON, string = this.getString(), json = {
|
|
157
67
|
context,
|
|
158
68
|
string,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
return _this;
|
|
69
|
+
statement
|
|
70
|
+
};
|
|
71
|
+
return json;
|
|
163
72
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
return combinatorNode;
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
{
|
|
179
|
-
key: "verify",
|
|
180
|
-
value: function verify(context) {
|
|
181
|
-
var _this = this;
|
|
182
|
-
var verifies = false;
|
|
183
|
-
var combinatorString = this.getString(); ///
|
|
184
|
-
context.trace("Verifying the '".concat(combinatorString, "' combinator..."));
|
|
185
|
-
(0, _context.attempt)(function(context) {
|
|
186
|
-
var statementVerifiesAsCombinator = (0, _verify.verifyStatementAsCombinator)(_this.statement, context);
|
|
187
|
-
if (statementVerifiesAsCombinator) {
|
|
188
|
-
_this.setContext(context);
|
|
189
|
-
verifies = true;
|
|
190
|
-
}
|
|
191
|
-
}, context);
|
|
192
|
-
if (verifies) {
|
|
193
|
-
context.debug("...verified the '".concat(combinatorString, "' combinator."));
|
|
194
|
-
}
|
|
195
|
-
return verifies;
|
|
196
|
-
}
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
key: "unifyStatement",
|
|
200
|
-
value: function unifyStatement(statement, stated, context) {
|
|
201
|
-
var statementUnifies;
|
|
202
|
-
var statementString = statement.getString(), combinatorString = this.getString(); ///
|
|
203
|
-
context.trace("Unifying the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator..."));
|
|
204
|
-
var specifiContext = context; ///
|
|
205
|
-
context = this.getContext();
|
|
206
|
-
var generalContext = context; ///
|
|
207
|
-
context = specifiContext; ///
|
|
208
|
-
var combinator = this, statementUnifiesWithCombinator = (0, _unify.unifyStatementWithCombinator)(statement, combinator, stated, generalContext, specifiContext);
|
|
209
|
-
statementUnifies = statementUnifiesWithCombinator; ///
|
|
210
|
-
if (statementUnifies) {
|
|
211
|
-
context.debug("...unified the '".concat(statementString, "' statement with the '").concat(combinatorString, "' combinator."));
|
|
212
|
-
}
|
|
213
|
-
return statementUnifies;
|
|
214
|
-
}
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
key: "toJSON",
|
|
218
|
-
value: function toJSON() {
|
|
219
|
-
var context;
|
|
220
|
-
context = this.getContext();
|
|
221
|
-
var contextJSON = context.toJSON();
|
|
222
|
-
context = contextJSON; ///
|
|
223
|
-
var statementJSON = (0, _json.statementToStatementJSON)(this.statement), statement = statementJSON, string = this.getString(), json = {
|
|
224
|
-
context: context,
|
|
225
|
-
string: string,
|
|
226
|
-
statement: statement
|
|
227
|
-
};
|
|
228
|
-
return json;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
], [
|
|
232
|
-
{
|
|
233
|
-
key: "fromJSON",
|
|
234
|
-
value: function fromJSON(json, context) {
|
|
235
|
-
var combinator = (0, _context.literally)(function(context) {
|
|
236
|
-
var string = json.string, combinatorNode = (0, _instantiate.instantiateCombinator)(string, context), node = combinatorNode, statement = (0, _json.statementFromJSON)(json, context), ephemeralContext = (0, _json.ephemeralContextFromJSON)(json, context);
|
|
237
|
-
context = ephemeralContext; ///
|
|
238
|
-
var combinator = new Combinator(context, string, node, statement);
|
|
239
|
-
return combinator;
|
|
240
|
-
}, context);
|
|
241
|
-
return combinator;
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
]);
|
|
245
|
-
return Combinator;
|
|
246
|
-
}(_wrap_native_super(_occamlanguages.Element)), _define_property(_Combinator, "name", "Combinator"), _Combinator));
|
|
73
|
+
static name = "Combinator";
|
|
74
|
+
static fromJSON(json, context) {
|
|
75
|
+
const combinator = (0, _context.literally)((context)=>{
|
|
76
|
+
const { string } = json, combinatorNode = (0, _instantiate.instantiateCombinator)(string, context), node = combinatorNode, statement = (0, _json.statementFromJSON)(json, context), ephemeralContext = (0, _json.ephemeralContextFromJSON)(json, context);
|
|
77
|
+
context = ephemeralContext; ///
|
|
78
|
+
const combinator = new Combinator(context, string, node, statement);
|
|
79
|
+
return combinator;
|
|
80
|
+
}, context);
|
|
81
|
+
return combinator;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
247
84
|
|
|
248
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2NvbWJpbmF0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwib2NjYW0tbGFuZ3VhZ2VzXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgYXR0ZW1wdCwgbGl0ZXJhbGx5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250ZXh0XCI7XG5pbXBvcnQgeyBpbnN0YW50aWF0ZUNvbWJpbmF0b3IgfSBmcm9tIFwiLi4vcHJvY2Vzcy9pbnN0YW50aWF0ZVwiO1xuaW1wb3J0IHsgdmVyaWZ5U3RhdGVtZW50QXNDb21iaW5hdG9yIH0gZnJvbSBcIi4uL3Byb2Nlc3MvdmVyaWZ5XCI7XG5pbXBvcnQgeyB1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIH0gZnJvbSBcIi4uL3Byb2Nlc3MvdW5pZnlcIjtcbmltcG9ydCB7XG4gIHN0YXRlbWVudEZyb21KU09OLFxuICBlcGhlbWVyYWxDb250ZXh0RnJvbUpTT04sXG4gIHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTixcbiAgcHJvY2VkdXJlQ2FsbFRvUHJvY2VkdXJlQ2FsbEpTT05cbn0gZnJvbSBcIi4uL3V0aWxpdGllcy9qc29uXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBDb21iaW5hdG9yIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgc3RhdGVtZW50KSB7XG4gICAgc3VwZXIoY29udGV4dCwgc3RyaW5nLCBub2RlKVxuXG4gICAgdGhpcy5zdGF0ZW1lbnQgPSBzdGF0ZW1lbnQ7XG4gIH1cblxuICBnZXRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVtZW50O1xuICB9XG5cbiAgZ2V0Q29uYmluYXRvck5vZGUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpLFxuICAgICAgICAgIGNvbWJpbmF0b3JOb2RlID0gbm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIGNvbWJpbmF0b3JOb2RlO1xuICB9XG5cbiAgdmVyaWZ5KGNvbnRleHQpIHtcbiAgICBsZXQgdmVyaWZpZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNvbWJpbmF0b3JTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yLi4uYCk7XG5cbiAgICBhdHRlbXB0KChjb250ZXh0KSA9PiB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllc0FzQ29tYmluYXRvciA9IHZlcmlmeVN0YXRlbWVudEFzQ29tYmluYXRvcih0aGlzLnN0YXRlbWVudCwgY29udGV4dCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllc0FzQ29tYmluYXRvcikge1xuICAgICAgICB0aGlzLnNldENvbnRleHQoY29udGV4dCk7XG5cbiAgICAgICAgdmVyaWZpZXMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0sIGNvbnRleHQpXG5cbiAgICBpZiAodmVyaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZXM7XG4gIH1cblxuICB1bmlmeVN0YXRlbWVudChzdGF0ZW1lbnQsIHN0YXRlZCwgY29udGV4dCkge1xuICAgIGxldCBzdGF0ZW1lbnRVbmlmaWVzO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gc3RhdGVtZW50LmdldFN0cmluZygpLFxuICAgICAgICAgIGNvbWJpbmF0b3JTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBVbmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IHdpdGggdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yLi4uYCk7XG5cbiAgICBjb25zdCBzcGVjaWZpQ29udGV4dCA9IGNvbnRleHQ7IC8vL1xuXG4gICAgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuXG4gICAgY29uc3QgZ2VuZXJhbENvbnRleHQgPSBjb250ZXh0OyAvLy9cblxuICAgIGNvbnRleHQgPSBzcGVjaWZpQ29udGV4dDsgLy8vXG5cbiAgICBjb25zdCBjb21iaW5hdG9yID0gdGhpcywgLy8vXG4gICAgICAgICAgc3RhdGVtZW50VW5pZmllc1dpdGhDb21iaW5hdG9yID0gdW5pZnlTdGF0ZW1lbnRXaXRoQ29tYmluYXRvcihzdGF0ZW1lbnQsIGNvbWJpbmF0b3IsIHN0YXRlZCwgZ2VuZXJhbENvbnRleHQsIHNwZWNpZmlDb250ZXh0KTtcblxuICAgIHN0YXRlbWVudFVuaWZpZXMgPSBzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbWJpbmF0b3I7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFVuaWZpZXMpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnVuaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCB3aXRoIHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50VW5pZmllcztcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBsZXQgY29udGV4dDtcblxuICAgIGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcblxuICAgIGNvbnN0IGNvbnRleHRKU09OID0gY29udGV4dC50b0pTT04oKTtcblxuICAgIGNvbnRleHQgPSBjb250ZXh0SlNPTjsgIC8vL1xuXG4gICAgY29uc3Qgc3RhdGVtZW50SlNPTiA9IHN0YXRlbWVudFRvU3RhdGVtZW50SlNPTih0aGlzLnN0YXRlbWVudCksXG4gICAgICAgICAgc3RhdGVtZW50ID0gc3RhdGVtZW50SlNPTiwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCksXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICBzdHJpbmcsXG4gICAgICAgICAgICBzdGF0ZW1lbnRcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29tYmluYXRvclwiO1xuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgY29tYmluYXRvciA9IGxpdGVyYWxseSgoY29udGV4dCkgPT4ge1xuICAgICAgY29uc3QgeyBzdHJpbmcgfSA9IGpzb24sXG4gICAgICAgICAgICBjb21iaW5hdG9yTm9kZSA9IGluc3RhbnRpYXRlQ29tYmluYXRvcihzdHJpbmcsIGNvbnRleHQpLFxuICAgICAgICAgICAgbm9kZSA9IGNvbWJpbmF0b3JOb2RlLCAgLy8vXG4gICAgICAgICAgICBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRGcm9tSlNPTihqc29uLCBjb250ZXh0KSxcbiAgICAgICAgICAgIGVwaGVtZXJhbENvbnRleHQgPSBlcGhlbWVyYWxDb250ZXh0RnJvbUpTT04oanNvbiwgY29udGV4dCk7XG5cbiAgICAgIGNvbnRleHQgPSBlcGhlbWVyYWxDb250ZXh0OyAvLy9cblxuICAgICAgY29uc3QgY29tYmluYXRvciA9IG5ldyBDb21iaW5hdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgc3RhdGVtZW50KTtcblxuICAgICAgcmV0dXJuIGNvbWJpbmF0b3I7XG4gICAgfSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbiAgfVxufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQ29tYmluYXRvciIsIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsInN0YXRlbWVudCIsImdldFN0YXRlbWVudCIsImdldENvbmJpbmF0b3JOb2RlIiwiZ2V0Tm9kZSIsImNvbWJpbmF0b3JOb2RlIiwidmVyaWZ5IiwidmVyaWZpZXMiLCJjb21iaW5hdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJhdHRlbXB0Iiwic3RhdGVtZW50VmVyaWZpZXNBc0NvbWJpbmF0b3IiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0NvbWJpbmF0b3IiLCJzZXRDb250ZXh0IiwiZGVidWciLCJ1bmlmeVN0YXRlbWVudCIsInN0YXRlZCIsInN0YXRlbWVudFVuaWZpZXMiLCJzdGF0ZW1lbnRTdHJpbmciLCJzcGVjaWZpQ29udGV4dCIsImdldENvbnRleHQiLCJnZW5lcmFsQ29udGV4dCIsImNvbWJpbmF0b3IiLCJzdGF0ZW1lbnRVbmlmaWVzV2l0aENvbWJpbmF0b3IiLCJ1bmlmeVN0YXRlbWVudFdpdGhDb21iaW5hdG9yIiwidG9KU09OIiwiY29udGV4dEpTT04iLCJzdGF0ZW1lbnRKU09OIiwic3RhdGVtZW50VG9TdGF0ZW1lbnRKU09OIiwianNvbiIsIm5hbWUiLCJmcm9tSlNPTiIsImxpdGVyYWxseSIsImluc3RhbnRpYXRlQ29tYmluYXRvciIsInN0YXRlbWVudEZyb21KU09OIiwiZXBoZW1lcmFsQ29udGV4dCIsImVwaGVtZXJhbENvbnRleHRGcm9tSlNPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZ0JBOzs7ZUFBQTs7O2dDQWR3QjswQkFFRDt5QkFDWTs2QkFDRzt3QkFDTTt1QkFDQztzQkFNdEM7TUFFUCxXQUFlQSxJQUFBQSxnQkFBTSxFQUFDLE1BQU1DLG1CQUFtQkMsdUJBQU87SUFDcEQsWUFBWUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsU0FBUyxDQUFFO1FBQzVDLEtBQUssQ0FBQ0gsU0FBU0MsUUFBUUM7UUFFdkIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO0lBQ25CO0lBRUFDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQ0QsU0FBUztJQUN2QjtJQUVBRSxvQkFBb0I7UUFDbEIsTUFBTUgsT0FBTyxJQUFJLENBQUNJLE9BQU8sSUFDbkJDLGlCQUFpQkwsTUFBTyxH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
|