occam-verify-cli 0.0.1087 → 0.0.1089
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/assertion/contained.js +3 -3
- package/lib/assertion/defined.js +4 -4
- package/lib/axiom.js +33 -81
- package/lib/conjecture.js +33 -85
- package/lib/context/file.js +43 -1
- package/lib/context/local.js +38 -2
- package/lib/declaration.js +7 -41
- package/lib/frame.js +49 -26
- package/lib/judgement.js +28 -16
- package/lib/lemma.js +34 -85
- package/lib/metaLemma.js +35 -102
- package/lib/metatheorem.js +34 -60
- package/lib/mixins/statement/qualified/unify.js +21 -63
- package/lib/mixins/statement/verify.js +2 -17
- package/lib/proofStep.js +6 -6
- package/lib/reference.js +14 -4
- package/lib/statement.js +8 -8
- package/lib/term.js +8 -8
- package/lib/theorem.js +34 -85
- package/lib/topLevelAssertion.js +62 -5
- package/lib/utilities/json.js +2 -2
- package/lib/variable.js +2 -2
- package/package.json +1 -1
- package/src/assertion/contained.js +4 -4
- package/src/assertion/defined.js +4 -4
- package/src/axiom.js +10 -63
- package/src/conjecture.js +10 -72
- package/src/context/file.js +42 -0
- package/src/context/local.js +13 -2
- package/src/declaration.js +7 -55
- package/src/frame.js +58 -31
- package/src/judgement.js +40 -20
- package/src/lemma.js +12 -72
- package/src/metaLemma.js +12 -81
- package/src/metatheorem.js +10 -78
- package/src/mixins/statement/qualified/unify.js +37 -104
- package/src/mixins/statement/verify.js +0 -27
- package/src/proofStep.js +7 -5
- package/src/reference.js +25 -4
- package/src/statement.js +8 -8
- package/src/term.js +8 -8
- package/src/theorem.js +10 -71
- package/src/topLevelAssertion.js +86 -4
- package/src/utilities/json.js +1 -1
- package/src/variable.js +1 -1
package/lib/lemma.js
CHANGED
|
@@ -9,10 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
-
var
|
|
13
|
-
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
12
|
+
var _topLevelAssertion = /*#__PURE__*/ _interop_require_default(require("./topLevelAssertion"));
|
|
14
13
|
var _constants = require("./constants");
|
|
15
|
-
var _query = require("./utilities/query");
|
|
16
14
|
function _assert_this_initialized(self) {
|
|
17
15
|
if (self === void 0) {
|
|
18
16
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -42,6 +40,22 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
42
40
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
43
41
|
return Constructor;
|
|
44
42
|
}
|
|
43
|
+
function _get(target, property, receiver) {
|
|
44
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
45
|
+
_get = Reflect.get;
|
|
46
|
+
} else {
|
|
47
|
+
_get = function get(target, property, receiver) {
|
|
48
|
+
var base = _super_prop_base(target, property);
|
|
49
|
+
if (!base) return;
|
|
50
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
51
|
+
if (desc.get) {
|
|
52
|
+
return desc.get.call(receiver || target);
|
|
53
|
+
}
|
|
54
|
+
return desc.value;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return _get(target, property, receiver || target);
|
|
58
|
+
}
|
|
45
59
|
function _get_prototype_of(o) {
|
|
46
60
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
47
61
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
@@ -66,47 +80,6 @@ function _interop_require_default(obj) {
|
|
|
66
80
|
default: obj
|
|
67
81
|
};
|
|
68
82
|
}
|
|
69
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
70
|
-
if (typeof WeakMap !== "function") return null;
|
|
71
|
-
var cacheBabelInterop = new WeakMap();
|
|
72
|
-
var cacheNodeInterop = new WeakMap();
|
|
73
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
74
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
75
|
-
})(nodeInterop);
|
|
76
|
-
}
|
|
77
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
78
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
79
|
-
return obj;
|
|
80
|
-
}
|
|
81
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
82
|
-
return {
|
|
83
|
-
default: obj
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
87
|
-
if (cache && cache.has(obj)) {
|
|
88
|
-
return cache.get(obj);
|
|
89
|
-
}
|
|
90
|
-
var newObj = {
|
|
91
|
-
__proto__: null
|
|
92
|
-
};
|
|
93
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
94
|
-
for(var key in obj){
|
|
95
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
96
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
97
|
-
if (desc && (desc.get || desc.set)) {
|
|
98
|
-
Object.defineProperty(newObj, key, desc);
|
|
99
|
-
} else {
|
|
100
|
-
newObj[key] = obj[key];
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
newObj.default = obj;
|
|
105
|
-
if (cache) {
|
|
106
|
-
cache.set(obj, newObj);
|
|
107
|
-
}
|
|
108
|
-
return newObj;
|
|
109
|
-
}
|
|
110
83
|
function _possible_constructor_return(self, call) {
|
|
111
84
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
112
85
|
return call;
|
|
@@ -120,6 +93,13 @@ function _set_prototype_of(o, p) {
|
|
|
120
93
|
};
|
|
121
94
|
return _set_prototype_of(o, p);
|
|
122
95
|
}
|
|
96
|
+
function _super_prop_base(object, property) {
|
|
97
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
98
|
+
object = _get_prototype_of(object);
|
|
99
|
+
if (object === null) break;
|
|
100
|
+
}
|
|
101
|
+
return object;
|
|
102
|
+
}
|
|
123
103
|
function _type_of(obj) {
|
|
124
104
|
"@swc/helpers - typeof";
|
|
125
105
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -132,7 +112,6 @@ function _is_native_reflect_construct() {
|
|
|
132
112
|
return !!result;
|
|
133
113
|
})();
|
|
134
114
|
}
|
|
135
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/lemma/proof"), labelNodesQuery = (0, _query.nodesQuery)("/lemma/label"), consequentNodeQuery = (0, _query.nodeQuery)("/lemma/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/lemma/supposition");
|
|
136
115
|
var Lemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
137
116
|
_inherits(Lemma, TopLevelAssertion);
|
|
138
117
|
function Lemma() {
|
|
@@ -143,37 +122,14 @@ var Lemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
143
122
|
{
|
|
144
123
|
key: "verify",
|
|
145
124
|
value: function verify() {
|
|
146
|
-
var
|
|
147
|
-
var
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
var labelsVerifiedWhenDeclared = this.labels.every(function(label) {
|
|
151
|
-
var labelVVerifiedWhenDeclared = label.verifyWhenDeclared(_this.fileContext);
|
|
152
|
-
if (labelVVerifiedWhenDeclared) {
|
|
153
|
-
return true;
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
if (labelsVerifiedWhenDeclared) {
|
|
157
|
-
var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
|
|
158
|
-
var suppositionVerified = supposition.verify(localContext);
|
|
159
|
-
if (suppositionVerified) {
|
|
160
|
-
return true;
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
if (suppositionsVerified) {
|
|
164
|
-
var consequentVerified = this.consequent.verify(localContext);
|
|
165
|
-
if (consequentVerified) {
|
|
166
|
-
var Substitutions = _shim.default.Substitutions, substitutions = Substitutions.fromNothing(), proofVerified = this.proof.verify(substitutions, this.consequent, localContext);
|
|
167
|
-
if (proofVerified) {
|
|
168
|
-
var lemma = this; ///
|
|
169
|
-
this.fileContext.addLemma(lemma);
|
|
170
|
-
verified = true;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
125
|
+
var verified;
|
|
126
|
+
var fileContext = this.getFileContext(), lemmaString = this.string; ///
|
|
127
|
+
lemmaString === _constants.EMPTY_STRING ? fileContext.trace("Verifying a lemma...") : fileContext.trace("Verifying the '".concat(lemmaString, "' lemma..."));
|
|
128
|
+
verified = _get(_get_prototype_of(Lemma.prototype), "verify", this).call(this);
|
|
175
129
|
if (verified) {
|
|
176
|
-
|
|
130
|
+
var lemma = this; ///
|
|
131
|
+
fileContext.addLemma(lemma);
|
|
132
|
+
lemmaString === _constants.EMPTY_STRING ? fileContext.debug("...verified a lemma.") : fileContext.debug("...verified the '".concat(lemmaString, "' lemma."));
|
|
177
133
|
}
|
|
178
134
|
return verified;
|
|
179
135
|
}
|
|
@@ -181,15 +137,8 @@ var Lemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
181
137
|
], [
|
|
182
138
|
{
|
|
183
139
|
key: "fromLemmaNode",
|
|
184
|
-
value: function fromLemmaNode(
|
|
185
|
-
|
|
186
|
-
var label = Label.fromLabelNode(labelNode, fileContext);
|
|
187
|
-
return label;
|
|
188
|
-
}), suppositions = suppositionNodes.map(function(suppositionNode) {
|
|
189
|
-
var supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
|
|
190
|
-
return supposition;
|
|
191
|
-
}), consequent = Consequent.fromConsequentNode(consequentNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), proof = Proof.fromProofNode(proofNode, fileContext), lemma = new Lemma(fileContext, string, labels, suppositions, consequent, proof);
|
|
192
|
-
return lemma;
|
|
140
|
+
value: function fromLemmaNode(metaLemmaNode, fileContext) {
|
|
141
|
+
return _topLevelAssertion.default.fromNode(Lemma, metaLemmaNode, fileContext);
|
|
193
142
|
}
|
|
194
143
|
}
|
|
195
144
|
]);
|
|
@@ -200,4 +149,4 @@ Object.assign(_shim.default, {
|
|
|
200
149
|
});
|
|
201
150
|
var _default = Lemma;
|
|
202
151
|
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sZW1tYS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IFRvcExldmVsQXNzZXJ0aW9uIGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBMZW1tYSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gdGhpcy5nZXRGaWxlQ29udGV4dCgpLFxuICAgICAgICAgIGxlbW1hU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIChsZW1tYVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIGEgbGVtbWEuLi5gKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2xlbW1hU3RyaW5nfScgbGVtbWEuLi5gKTtcblxuICAgIHZlcmlmaWVkID0gc3VwZXIudmVyaWZ5KCk7XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGxlbW1hID0gdGhpczsgLy8vXG5cbiAgICAgIGZpbGVDb250ZXh0LmFkZExlbW1hKGxlbW1hKTtcblxuICAgICAgKGxlbW1hU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIGEgbGVtbWEuYCkgOlxuICAgICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bGVtbWFTdHJpbmd9JyBsZW1tYS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbUxlbW1hTm9kZShtZXRhTGVtbWFOb2RlLCBmaWxlQ29udGV4dCkgeyByZXR1cm4gVG9wTGV2ZWxBc3NlcnRpb24uZnJvbU5vZGUoTGVtbWEsIG1ldGFMZW1tYU5vZGUsIGZpbGVDb250ZXh0KTsgfVxufVxuXG5PYmplY3QuYXNzaWduKHNoaW0sIHtcbiAgTGVtbWFcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBMZW1tYTtcbiJdLCJuYW1lcyI6WyJMZW1tYSIsInZlcmlmeSIsInZlcmlmaWVkIiwiZmlsZUNvbnRleHQiLCJnZXRGaWxlQ29udGV4dCIsImxlbW1hU3RyaW5nIiwic3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJsZW1tYSIsImFkZExlbW1hIiwiZGVidWciLCJmcm9tTGVtbWFOb2RlIiwibWV0YUxlbW1hTm9kZSIsIlRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbU5vZGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzaGltIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkF3Q0E7OztlQUFBOzs7MkRBdENpQjt3RUFDYTt5QkFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQUEsQUFBTUEsc0JBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUM7Z0JBRUosSUFBTUMsY0FBYyxJQUFJLENBQUNDLGNBQWMsSUFDakNDLGNBQWMsSUFBSSxDQUFDQyxNQUFNLEVBQUcsR0FBRztnQkFFcENELGdCQUFnQkUsdUJBQVksR0FDM0JKLFlBQVlLLEtBQUssQ0FBRSwwQkFDakJMLFlBQVlLLEtBQUssQ0FBQyxBQUFDLGtCQUE2QixPQUFaSCxhQUFZO2dCQUVwREgsV0FBVyx1QkFYVEYsa0JBV2VDLFVBQU4sSUFBSztnQkFFaEIsSUFBSUMsVUFBVTtvQkFDWixJQUFNTyxRQUFRLElBQUksRUFBRSxHQUFHO29CQUV2Qk4sWUFBWU8sUUFBUSxDQUFDRDtvQkFFcEJKLGdCQUFnQkUsdUJBQVksR0FDM0JKLFlBQVlRLEtBQUssQ0FBRSwwQkFDakJSLFlBQVlRLEtBQUssQ0FBQyxBQUFDLG9CQUErQixPQUFaTixhQUFZO2dCQUN4RDtnQkFFQSxPQUFPSDtZQUNUOzs7O1lBRU9VLEtBQUFBO21CQUFQLFNBQU9BLGNBQWNDLGFBQWEsRUFBRVYsV0FBVztnQkFBSSxPQUFPVywwQkFBaUIsQ0FBQ0MsUUFBUSxDQTFCaEZmLE9BMEJ3RmEsZUFBZVY7WUFBYzs7O1dBMUJySEg7RUFBY2MsMEJBQWlCO0FBNkJyQ0UsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEJsQixPQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|
package/lib/metaLemma.js
CHANGED
|
@@ -9,10 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
-
var
|
|
13
|
-
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
12
|
+
var _topLevelAssertion = /*#__PURE__*/ _interop_require_default(require("./topLevelAssertion"));
|
|
14
13
|
var _constants = require("./constants");
|
|
15
|
-
var _query = require("./utilities/query");
|
|
16
14
|
function _assert_this_initialized(self) {
|
|
17
15
|
if (self === void 0) {
|
|
18
16
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -42,6 +40,22 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
42
40
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
43
41
|
return Constructor;
|
|
44
42
|
}
|
|
43
|
+
function _get(target, property, receiver) {
|
|
44
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
45
|
+
_get = Reflect.get;
|
|
46
|
+
} else {
|
|
47
|
+
_get = function get(target, property, receiver) {
|
|
48
|
+
var base = _super_prop_base(target, property);
|
|
49
|
+
if (!base) return;
|
|
50
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
51
|
+
if (desc.get) {
|
|
52
|
+
return desc.get.call(receiver || target);
|
|
53
|
+
}
|
|
54
|
+
return desc.value;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return _get(target, property, receiver || target);
|
|
58
|
+
}
|
|
45
59
|
function _get_prototype_of(o) {
|
|
46
60
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
47
61
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
@@ -66,47 +80,6 @@ function _interop_require_default(obj) {
|
|
|
66
80
|
default: obj
|
|
67
81
|
};
|
|
68
82
|
}
|
|
69
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
70
|
-
if (typeof WeakMap !== "function") return null;
|
|
71
|
-
var cacheBabelInterop = new WeakMap();
|
|
72
|
-
var cacheNodeInterop = new WeakMap();
|
|
73
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
74
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
75
|
-
})(nodeInterop);
|
|
76
|
-
}
|
|
77
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
78
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
79
|
-
return obj;
|
|
80
|
-
}
|
|
81
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
82
|
-
return {
|
|
83
|
-
default: obj
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
87
|
-
if (cache && cache.has(obj)) {
|
|
88
|
-
return cache.get(obj);
|
|
89
|
-
}
|
|
90
|
-
var newObj = {
|
|
91
|
-
__proto__: null
|
|
92
|
-
};
|
|
93
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
94
|
-
for(var key in obj){
|
|
95
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
96
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
97
|
-
if (desc && (desc.get || desc.set)) {
|
|
98
|
-
Object.defineProperty(newObj, key, desc);
|
|
99
|
-
} else {
|
|
100
|
-
newObj[key] = obj[key];
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
newObj.default = obj;
|
|
105
|
-
if (cache) {
|
|
106
|
-
cache.set(obj, newObj);
|
|
107
|
-
}
|
|
108
|
-
return newObj;
|
|
109
|
-
}
|
|
110
83
|
function _possible_constructor_return(self, call) {
|
|
111
84
|
if (call && (_type_of(call) === "object" || typeof call === "function")) {
|
|
112
85
|
return call;
|
|
@@ -120,6 +93,13 @@ function _set_prototype_of(o, p) {
|
|
|
120
93
|
};
|
|
121
94
|
return _set_prototype_of(o, p);
|
|
122
95
|
}
|
|
96
|
+
function _super_prop_base(object, property) {
|
|
97
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
98
|
+
object = _get_prototype_of(object);
|
|
99
|
+
if (object === null) break;
|
|
100
|
+
}
|
|
101
|
+
return object;
|
|
102
|
+
}
|
|
123
103
|
function _type_of(obj) {
|
|
124
104
|
"@swc/helpers - typeof";
|
|
125
105
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -132,64 +112,24 @@ function _is_native_reflect_construct() {
|
|
|
132
112
|
return !!result;
|
|
133
113
|
})();
|
|
134
114
|
}
|
|
135
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/metaLemma/proof"), labelNodesQuery = (0, _query.nodesQuery)("/metaLemma/label"), consequentNodeQuery = (0, _query.nodeQuery)("/metaLemma/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/metaLemma/supposition");
|
|
136
115
|
var MetaLemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
137
116
|
_inherits(MetaLemma, TopLevelAssertion);
|
|
138
|
-
function MetaLemma(
|
|
117
|
+
function MetaLemma() {
|
|
139
118
|
_class_call_check(this, MetaLemma);
|
|
140
|
-
|
|
141
|
-
_this = _call_super(this, MetaLemma, [
|
|
142
|
-
fileContext,
|
|
143
|
-
string,
|
|
144
|
-
labels,
|
|
145
|
-
suppositions,
|
|
146
|
-
consequent,
|
|
147
|
-
proof
|
|
148
|
-
]);
|
|
149
|
-
_this.substitutions = substitutions;
|
|
150
|
-
return _this;
|
|
119
|
+
return _call_super(this, MetaLemma, arguments);
|
|
151
120
|
}
|
|
152
121
|
_create_class(MetaLemma, [
|
|
153
|
-
{
|
|
154
|
-
key: "getSubstitutions",
|
|
155
|
-
value: function getSubstitutions() {
|
|
156
|
-
return this.substitutions;
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
122
|
{
|
|
160
123
|
key: "verify",
|
|
161
124
|
value: function verify() {
|
|
162
|
-
var
|
|
163
|
-
var
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
var labelsVerifiedWhenDeclared = this.labels.every(function(label) {
|
|
167
|
-
var labelVVerifiedWhenDeclared = label.verifyWhenDeclared(_this.fileContext);
|
|
168
|
-
if (labelVVerifiedWhenDeclared) {
|
|
169
|
-
return true;
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
if (labelsVerifiedWhenDeclared) {
|
|
173
|
-
var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
|
|
174
|
-
var suppositionVerified = supposition.verify(localContext);
|
|
175
|
-
if (suppositionVerified) {
|
|
176
|
-
return true;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
if (suppositionsVerified) {
|
|
180
|
-
var consequentVerified = this.consequent.verify(localContext);
|
|
181
|
-
if (consequentVerified) {
|
|
182
|
-
var proofVerified = this.proof.verify(this.substitutions, this.consequent, localContext);
|
|
183
|
-
if (proofVerified) {
|
|
184
|
-
var metaLemma = this; ///
|
|
185
|
-
this.fileContext.addMetaLemma(metaLemma);
|
|
186
|
-
verified = true;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
125
|
+
var verified;
|
|
126
|
+
var fileContext = this.getFileContext(), metaLemmaString = this.string; ///
|
|
127
|
+
metaLemmaString === _constants.EMPTY_STRING ? fileContext.trace("Verifying a meta-lemma...") : fileContext.trace("Verifying the '".concat(metaLemmaString, "' meta-lemma..."));
|
|
128
|
+
verified = _get(_get_prototype_of(MetaLemma.prototype), "verify", this).call(this);
|
|
191
129
|
if (verified) {
|
|
192
|
-
|
|
130
|
+
var metaLemma = this; ///
|
|
131
|
+
fileContext.addMetaLemma(metaLemma);
|
|
132
|
+
metaLemmaString === _constants.EMPTY_STRING ? fileContext.debug("...verified a meta-lemma.") : fileContext.debug("...verified the '".concat(metaLemmaString, "' meta-lemma."));
|
|
193
133
|
}
|
|
194
134
|
return verified;
|
|
195
135
|
}
|
|
@@ -198,14 +138,7 @@ var MetaLemma = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
198
138
|
{
|
|
199
139
|
key: "fromMetaLemmaNode",
|
|
200
140
|
value: function fromMetaLemmaNode(metaLemmaNode, fileContext) {
|
|
201
|
-
|
|
202
|
-
var label = Label.fromLabelNode(labelNode, fileContext);
|
|
203
|
-
return label;
|
|
204
|
-
}), suppositions = suppositionNodes.map(function(suppositionNode) {
|
|
205
|
-
var supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
|
|
206
|
-
return supposition;
|
|
207
|
-
}), consequent = Consequent.fromConsequentNode(consequentNode, fileContext), proof = Proof.fromProofNode(proofNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), substitutions = Substitutions.fromNothing(), metaLemma = new MetaLemma(fileContext, string, labels, suppositions, consequent, proof, substitutions);
|
|
208
|
-
return metaLemma;
|
|
141
|
+
return _topLevelAssertion.default.fromNode(MetaLemma, metaLemmaNode, fileContext);
|
|
209
142
|
}
|
|
210
143
|
}
|
|
211
144
|
]);
|
|
@@ -216,4 +149,4 @@ Object.assign(_shim.default, {
|
|
|
216
149
|
});
|
|
217
150
|
var _default = MetaLemma;
|
|
218
151
|
|
|
219
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhTGVtbWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBzaGltIGZyb20gXCIuL3NoaW1cIjtcbmltcG9ydCBUb3BMZXZlbEFzc2VydGlvbiBmcm9tIFwiLi90b3BMZXZlbEFzc2VydGlvblwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuY2xhc3MgTWV0YUxlbW1hIGV4dGVuZHMgVG9wTGV2ZWxBc3NlcnRpb24ge1xuICB2ZXJpZnkoKSB7XG4gICAgbGV0IHZlcmlmaWVkO1xuXG4gICAgY29uc3QgZmlsZUNvbnRleHQgPSB0aGlzLmdldEZpbGVDb250ZXh0KCksXG4gICAgICAgICAgbWV0YUxlbW1hU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIChtZXRhTGVtbWFTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyBhIG1ldGEtbGVtbWEuLi5gKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFMZW1tYVN0cmluZ30nIG1ldGEtbGVtbWEuLi5gKTtcblxuICAgIHZlcmlmaWVkID0gc3VwZXIudmVyaWZ5KCk7XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFMZW1tYSA9IHRoaXM7IC8vL1xuXG4gICAgICBmaWxlQ29udGV4dC5hZGRNZXRhTGVtbWEobWV0YUxlbW1hKTtcblxuICAgICAgKG1ldGFMZW1tYVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCBhIG1ldGEtbGVtbWEuYCkgOlxuICAgICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YUxlbW1hU3RyaW5nfScgbWV0YS1sZW1tYS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGFMZW1tYU5vZGUobWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpIHsgcmV0dXJuIFRvcExldmVsQXNzZXJ0aW9uLmZyb21Ob2RlKE1ldGFMZW1tYSwgbWV0YUxlbW1hTm9kZSwgZmlsZUNvbnRleHQpOyB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBNZXRhTGVtbWFcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBNZXRhTGVtbWE7Il0sIm5hbWVzIjpbIk1ldGFMZW1tYSIsInZlcmlmeSIsInZlcmlmaWVkIiwiZmlsZUNvbnRleHQiLCJnZXRGaWxlQ29udGV4dCIsIm1ldGFMZW1tYVN0cmluZyIsInN0cmluZyIsIkVNUFRZX1NUUklORyIsInRyYWNlIiwibWV0YUxlbW1hIiwiYWRkTWV0YUxlbW1hIiwiZGVidWciLCJmcm9tTWV0YUxlbW1hTm9kZSIsIm1ldGFMZW1tYU5vZGUiLCJUb3BMZXZlbEFzc2VydGlvbiIsImZyb21Ob2RlIiwiT2JqZWN0IiwiYXNzaWduIiwic2hpbSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBd0NBOzs7ZUFBQTs7OzJEQXRDaUI7d0VBQ2E7eUJBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUU3QixJQUFBLEFBQU1BLDBCQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtpQ0FBQUE7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDO2dCQUVKLElBQU1DLGNBQWMsSUFBSSxDQUFDQyxjQUFjLElBQ2pDQyxrQkFBa0IsSUFBSSxDQUFDQyxNQUFNLEVBQUcsR0FBRztnQkFFeENELG9CQUFvQkUsdUJBQVksR0FDL0JKLFlBQVlLLEtBQUssQ0FBRSwrQkFDakJMLFlBQVlLLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkgsaUJBQWdCO2dCQUV4REgsV0FBVyx1QkFYVEYsc0JBV2VDLFVBQU4sSUFBSztnQkFFaEIsSUFBSUMsVUFBVTtvQkFDWixJQUFNTyxZQUFZLElBQUksRUFBRSxHQUFHO29CQUUzQk4sWUFBWU8sWUFBWSxDQUFDRDtvQkFFeEJKLG9CQUFvQkUsdUJBQVksR0FDL0JKLFlBQVlRLEtBQUssQ0FBRSwrQkFDakJSLFlBQVlRLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQk4saUJBQWdCO2dCQUM1RDtnQkFFQSxPQUFPSDtZQUNUOzs7O1lBRU9VLEtBQUFBO21CQUFQLFNBQU9BLGtCQUFrQkMsYUFBYSxFQUFFVixXQUFXO2dCQUFJLE9BQU9XLDBCQUFpQixDQUFDQyxRQUFRLENBMUJwRmYsV0EwQmdHYSxlQUFlVjtZQUFjOzs7V0ExQjdISDtFQUFrQmMsMEJBQWlCO0FBNkJ6Q0UsT0FBT0MsTUFBTSxDQUFDQyxhQUFJLEVBQUU7SUFDbEJsQixXQUFBQTtBQUNGO0lBRUEsV0FBZUEifQ==
|
package/lib/metatheorem.js
CHANGED
|
@@ -9,9 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _shim = /*#__PURE__*/ _interop_require_default(require("./shim"));
|
|
12
|
-
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
13
12
|
var _topLevelAssertion = /*#__PURE__*/ _interop_require_wildcard(require("./topLevelAssertion"));
|
|
14
|
-
var _query = require("./utilities/query");
|
|
15
13
|
var _json = require("./utilities/json");
|
|
16
14
|
function _assert_this_initialized(self) {
|
|
17
15
|
if (self === void 0) {
|
|
@@ -42,6 +40,22 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
42
40
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
43
41
|
return Constructor;
|
|
44
42
|
}
|
|
43
|
+
function _get(target, property, receiver) {
|
|
44
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
45
|
+
_get = Reflect.get;
|
|
46
|
+
} else {
|
|
47
|
+
_get = function get(target, property, receiver) {
|
|
48
|
+
var base = _super_prop_base(target, property);
|
|
49
|
+
if (!base) return;
|
|
50
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
51
|
+
if (desc.get) {
|
|
52
|
+
return desc.get.call(receiver || target);
|
|
53
|
+
}
|
|
54
|
+
return desc.value;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return _get(target, property, receiver || target);
|
|
58
|
+
}
|
|
45
59
|
function _get_prototype_of(o) {
|
|
46
60
|
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
47
61
|
return o.__proto__ || Object.getPrototypeOf(o);
|
|
@@ -120,6 +134,13 @@ function _set_prototype_of(o, p) {
|
|
|
120
134
|
};
|
|
121
135
|
return _set_prototype_of(o, p);
|
|
122
136
|
}
|
|
137
|
+
function _super_prop_base(object, property) {
|
|
138
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
139
|
+
object = _get_prototype_of(object);
|
|
140
|
+
if (object === null) break;
|
|
141
|
+
}
|
|
142
|
+
return object;
|
|
143
|
+
}
|
|
123
144
|
function _type_of(obj) {
|
|
124
145
|
"@swc/helpers - typeof";
|
|
125
146
|
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
@@ -132,64 +153,24 @@ function _is_native_reflect_construct() {
|
|
|
132
153
|
return !!result;
|
|
133
154
|
})();
|
|
134
155
|
}
|
|
135
|
-
var proofNodeQuery = (0, _query.nodeQuery)("/metatheorem/proof"), labelNodesQuery = (0, _query.nodesQuery)("/metatheorem/label"), consequentNodeQuery = (0, _query.nodeQuery)("/metatheorem/consequent"), suppositionNodesQuery = (0, _query.nodesQuery)("/metatheorem/supposition");
|
|
136
156
|
var Metatheorem = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
137
157
|
_inherits(Metatheorem, TopLevelAssertion);
|
|
138
|
-
function Metatheorem(
|
|
158
|
+
function Metatheorem() {
|
|
139
159
|
_class_call_check(this, Metatheorem);
|
|
140
|
-
|
|
141
|
-
_this = _call_super(this, Metatheorem, [
|
|
142
|
-
fileContext,
|
|
143
|
-
string,
|
|
144
|
-
labels,
|
|
145
|
-
suppositions,
|
|
146
|
-
consequent,
|
|
147
|
-
proof
|
|
148
|
-
]);
|
|
149
|
-
_this.substitutions = substitutions;
|
|
150
|
-
return _this;
|
|
160
|
+
return _call_super(this, Metatheorem, arguments);
|
|
151
161
|
}
|
|
152
162
|
_create_class(Metatheorem, [
|
|
153
|
-
{
|
|
154
|
-
key: "getSubstitutions",
|
|
155
|
-
value: function getSubstitutions() {
|
|
156
|
-
return this.substitutions;
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
163
|
{
|
|
160
164
|
key: "verify",
|
|
161
165
|
value: function verify() {
|
|
162
|
-
var
|
|
163
|
-
var
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
var labelsVerifiedWhenDeclared = this.labels.every(function(label) {
|
|
167
|
-
var labelVVerifiedWhenDeclared = label.verifyWhenDeclared(_this.fileContext);
|
|
168
|
-
if (labelVVerifiedWhenDeclared) {
|
|
169
|
-
return true;
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
if (labelsVerifiedWhenDeclared) {
|
|
173
|
-
var localContext = _local.default.fromFileContext(this.fileContext), suppositionsVerified = this.suppositions.every(function(supposition) {
|
|
174
|
-
var suppositionVerified = supposition.verify(localContext);
|
|
175
|
-
if (suppositionVerified) {
|
|
176
|
-
return true;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
if (suppositionsVerified) {
|
|
180
|
-
var consequentVerified = this.consequent.verify(localContext);
|
|
181
|
-
if (consequentVerified) {
|
|
182
|
-
var proofVerified = this.proof.verify(this.substitutions, this.consequent, localContext);
|
|
183
|
-
if (proofVerified) {
|
|
184
|
-
var metatheorem = this; ///
|
|
185
|
-
this.fileContext.addMetatheorem(metatheorem);
|
|
186
|
-
verified = true;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
166
|
+
var verified;
|
|
167
|
+
var fileContext = this.getFileContext(), metatheoremString = this.string; ///
|
|
168
|
+
fileContext.trace("Verifying the '".concat(metatheoremString, "' metatheorem..."));
|
|
169
|
+
verified = _get(_get_prototype_of(Metatheorem.prototype), "verify", this).call(this);
|
|
191
170
|
if (verified) {
|
|
192
|
-
|
|
171
|
+
var metaTheorem = this; ///
|
|
172
|
+
fileContext.addMetatheorem(metaTheorem);
|
|
173
|
+
fileContext.debug("...verified the '".concat(metatheoremString, "' metatheorem."));
|
|
193
174
|
}
|
|
194
175
|
return verified;
|
|
195
176
|
}
|
|
@@ -217,14 +198,7 @@ var Metatheorem = /*#__PURE__*/ function(TopLevelAssertion) {
|
|
|
217
198
|
{
|
|
218
199
|
key: "fromMetatheoremNode",
|
|
219
200
|
value: function fromMetatheoremNode(metatheoremNode, fileContext) {
|
|
220
|
-
|
|
221
|
-
var label = Label.fromLabelNode(labelNode, fileContext);
|
|
222
|
-
return label;
|
|
223
|
-
}), suppositions = suppositionNodes.map(function(suppositionNode) {
|
|
224
|
-
var supposition = Supposition.fromSuppositionNode(suppositionNode, fileContext);
|
|
225
|
-
return supposition;
|
|
226
|
-
}), consequent = Consequent.fromConsequentNode(consequentNode, fileContext), proof = Proof.fromProofNode(proofNode, fileContext), string = (0, _topLevelAssertion.stringFromLabels)(labels), substitutions = Substitutions.fromNothing(), metatheorem = new Metatheorem(fileContext, string, labels, suppositions, consequent, proof, substitutions);
|
|
227
|
-
return metatheorem;
|
|
201
|
+
return _topLevelAssertion.default.fromNode(Metatheorem, metatheoremNode, fileContext);
|
|
228
202
|
}
|
|
229
203
|
}
|
|
230
204
|
]);
|
|
@@ -235,4 +209,4 @@ Object.assign(_shim.default, {
|
|
|
235
209
|
});
|
|
236
210
|
var _default = Metatheorem;
|
|
237
211
|
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgVG9wTGV2ZWxBc3NlcnRpb24gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBzdHJpbmdGcm9tTGFiZWxzIH0gZnJvbSBcIi4vdG9wTGV2ZWxBc3NlcnRpb25cIjtcbmltcG9ydCB7IGxhYmVsc0Zyb21KU09OLFxuICAgICAgICAgbGFiZWxzVG9MYWJlbHNKU09OLFxuICAgICAgICAgY29uc2VxdWVudEZyb21KU09OLFxuICAgICAgICAgc3VwcG9zaXRpb25zRnJvbUpTT04sXG4gICAgICAgICBzdWJzdGl0dXRpb25zRnJvbUpTT04sXG4gICAgICAgICBjb25zZXF1ZW50VG9Db25zZXF1ZW50SlNPTixcbiAgICAgICAgIHN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTixcbiAgICAgICAgIHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2pzb25cIjtcblxuY29uc3QgcHJvb2ZOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXRoZW9yZW0vcHJvb2ZcIiksXG4gICAgICBsYWJlbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGF0aGVvcmVtL2xhYmVsXCIpLFxuICAgICAgY29uc2VxdWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhdGhlb3JlbS9jb25zZXF1ZW50XCIpLFxuICAgICAgc3VwcG9zaXRpb25Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhdGhlb3JlbS9zdXBwb3NpdGlvblwiKTtcblxuY2xhc3MgTWV0YXRoZW9yZW0gZXh0ZW5kcyBUb3BMZXZlbEFzc2VydGlvbiB7XG4gIGNvbnN0cnVjdG9yKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZiwgc3Vic3RpdHV0aW9ucykge1xuICAgIHN1cGVyKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZik7XG5cbiAgICB0aGlzLnN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgZ2V0U3Vic3RpdHV0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJzdGl0dXRpb25zO1xuICB9XG5cbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgbWV0YXRoZW9yZW1TdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgdGhpcy5maWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHttZXRhdGhlb3JlbVN0cmluZ30nIG1ldGF0aGVvcmVtLi4uYCk7XG5cbiAgICBjb25zdCBsYWJlbHNWZXJpZmllZFdoZW5EZWNsYXJlZCA9IHRoaXMubGFiZWxzLmV2ZXJ5KChsYWJlbCkgPT4ge1xuICAgICAgY29uc3QgbGFiZWxWVmVyaWZpZWRXaGVuRGVjbGFyZWQgPSBsYWJlbC52ZXJpZnlXaGVuRGVjbGFyZWQodGhpcy5maWxlQ29udGV4dCk7XG5cbiAgICAgIGlmIChsYWJlbFZWZXJpZmllZFdoZW5EZWNsYXJlZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChsYWJlbHNWZXJpZmllZFdoZW5EZWNsYXJlZCkge1xuICAgICAgY29uc3QgbG9jYWxDb250ZXh0ID0gTG9jYWxDb250ZXh0LmZyb21GaWxlQ29udGV4dCh0aGlzLmZpbGVDb250ZXh0KSxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9uc1ZlcmlmaWVkID0gdGhpcy5zdXBwb3NpdGlvbnMuZXZlcnkoKHN1cHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uVmVyaWZpZWQgPSBzdXBwb3NpdGlvbi52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgICAgICAgICAgICBpZiAoc3VwcG9zaXRpb25WZXJpZmllZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKHN1cHBvc2l0aW9uc1ZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGNvbnNlcXVlbnRWZXJpZmllZCA9IHRoaXMuY29uc2VxdWVudC52ZXJpZnkobG9jYWxDb250ZXh0KTtcblxuICAgICAgICBpZiAoY29uc2VxdWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgY29uc3QgcHJvb2ZWZXJpZmllZCA9IHRoaXMucHJvb2YudmVyaWZ5KHRoaXMuc3Vic3RpdHV0aW9ucywgdGhpcy5jb25zZXF1ZW50LCBsb2NhbENvbnRleHQpO1xuXG4gICAgICAgICAgaWYgKHByb29mVmVyaWZpZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IG1ldGF0aGVvcmVtID0gdGhpczsgIC8vL1xuXG4gICAgICAgICAgICB0aGlzLmZpbGVDb250ZXh0LmFkZE1ldGF0aGVvcmVtKG1ldGF0aGVvcmVtKTtcblxuICAgICAgICAgICAgdmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2ZXJpZmllZCkge1xuICAgICAgdGhpcy5maWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcmlmaWVkO1xuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IGxhYmVsc0pTT04gPSBsYWJlbHNUb0xhYmVsc0pTT04odGhpcy5sYWJlbHMpLFxuICAgICAgICAgIGNvbnNlcXVlbnRKU09OID0gY29uc2VxdWVudFRvQ29uc2VxdWVudEpTT04odGhpcy5jb25zZXF1ZW50KSxcbiAgICAgICAgICBzdXBwb3NpdGlvbnNKU09OID0gc3VwcG9zaXRpb25zVG9TdXBwb3NpdGlvbnNKU09OKHRoaXMuc3VwcG9zaXRpb25zKSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zSlNPTiA9IHN1YnN0aXR1dGlvbnNUb1N1YnN0aXR1dGlvbnNKU09OKHRoaXMuc3Vic3RpdHV0aW9ucyksXG4gICAgICAgICAgbGFiZWxzID0gbGFiZWxzSlNPTiwgIC8vL1xuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50SlNPTiwgIC8vL1xuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0pTT04sICAvLy9cbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9uc0pTT04sICAvLy9cbiAgICAgICAgICBqc29uID0ge1xuICAgICAgICAgICAgbGFiZWxzLFxuICAgICAgICAgICAgY29uc2VxdWVudCxcbiAgICAgICAgICAgIHN1cHBvc2l0aW9ucyxcbiAgICAgICAgICAgIHN1YnN0aXR1dGlvbnNcbiAgICAgICAgICB9O1xuXG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgY29uc2VxdWVudCA9IGNvbnNlcXVlbnRGcm9tSlNPTihqc29uLCBmaWxlQ29udGV4dCksXG4gICAgICAgICAgc3VwcG9zaXRpb25zID0gc3VwcG9zaXRpb25zRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1YnN0aXR1dGlvbnMgPSBzdWJzdGl0dXRpb25zRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21MYWJlbHMobGFiZWxzKSxcbiAgICAgICAgICBwcm9vZiA9IG51bGwsXG4gICAgICAgICAgdG9wTGV2ZWxBc3NlcnRpb24gPSBuZXcgTWV0YXRoZW9yZW0oZmlsZUNvbnRleHQsIHN0cmluZywgbGFiZWxzLCBzdXBwb3NpdGlvbnMsIGNvbnNlcXVlbnQsIHByb29mLCBzdWJzdGl0dXRpb25zKTtcblxuICAgIHJldHVybiB0b3BMZXZlbEFzc2VydGlvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTWV0YXRoZW9yZW1Ob2RlKG1ldGF0aGVvcmVtTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgICBjb25zdCB7IExhYmVsLCBQcm9vZiwgQ29uc2VxdWVudCwgU3VwcG9zaXRpb24sIFN1YnN0aXR1dGlvbnMgfSA9IHNoaW0sXG4gICAgICAgICAgcHJvb2ZOb2RlID0gcHJvb2ZOb2RlUXVlcnkobWV0YXRoZW9yZW1Ob2RlKSxcbiAgICAgICAgICBsYWJlbE5vZGVzID0gbGFiZWxOb2Rlc1F1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgICAgY29uc2VxdWVudE5vZGUgPSBjb25zZXF1ZW50Tm9kZVF1ZXJ5KG1ldGF0aGVvcmVtTm9kZSksXG4gICAgICAgICAgc3VwcG9zaXRpb25Ob2RlcyA9IHN1cHBvc2l0aW9uTm9kZXNRdWVyeShtZXRhdGhlb3JlbU5vZGUpLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsTm9kZXMubWFwKChsYWJlbE5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gTGFiZWwuZnJvbUxhYmVsTm9kZShsYWJlbE5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIGxhYmVsO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uTm9kZXMubWFwKChzdXBwb3NpdGlvbk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1cHBvc2l0aW9uID0gU3VwcG9zaXRpb24uZnJvbVN1cHBvc2l0aW9uTm9kZShzdXBwb3NpdGlvbk5vZGUsIGZpbGVDb250ZXh0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHN1cHBvc2l0aW9uO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNvbnNlcXVlbnQgPSBDb25zZXF1ZW50LmZyb21Db25zZXF1ZW50Tm9kZShjb25zZXF1ZW50Tm9kZSwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHByb29mID0gUHJvb2YuZnJvbVByb29mTm9kZShwcm9vZk5vZGUsIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IFN1YnN0aXR1dGlvbnMuZnJvbU5vdGhpbmcoKSxcbiAgICAgICAgICBtZXRhdGhlb3JlbSA9IG5ldyBNZXRhdGhlb3JlbShmaWxlQ29udGV4dCwgc3RyaW5nLCBsYWJlbHMsIHN1cHBvc2l0aW9ucywgY29uc2VxdWVudCwgcHJvb2YsIHN1YnN0aXR1dGlvbnMpO1xuXG4gICAgcmV0dXJuIG1ldGF0aGVvcmVtO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oc2hpbSwge1xuICBNZXRhdGhlb3JlbVxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IE1ldGF0aGVvcmVtO1xuIl0sIm5hbWVzIjpbInByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGFiZWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsImNvbnNlcXVlbnROb2RlUXVlcnkiLCJzdXBwb3NpdGlvbk5vZGVzUXVlcnkiLCJNZXRhdGhlb3JlbSIsImZpbGVDb250ZXh0Iiwic3RyaW5nIiwibGFiZWxzIiwic3VwcG9zaXRpb25zIiwiY29uc2VxdWVudCIsInByb29mIiwic3Vic3RpdHV0aW9ucyIsImdldFN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsIm1ldGF0aGVvcmVtU3RyaW5nIiwidHJhY2UiLCJsYWJlbHNWZXJpZmllZFdoZW5EZWNsYXJlZCIsImV2ZXJ5IiwibGFiZWwiLCJsYWJlbFZWZXJpZmllZFdoZW5EZWNsYXJlZCIsInZlcmlmeVdoZW5EZWNsYXJlZCIsImxvY2FsQ29udGV4dCIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsInN1cHBvc2l0aW9uc1ZlcmlmaWVkIiwic3VwcG9zaXRpb24iLCJzdXBwb3NpdGlvblZlcmlmaWVkIiwiY29uc2VxdWVudFZlcmlmaWVkIiwicHJvb2ZWZXJpZmllZCIsIm1ldGF0aGVvcmVtIiwiYWRkTWV0YXRoZW9yZW0iLCJkZWJ1ZyIsInRvSlNPTiIsImxhYmVsc0pTT04iLCJsYWJlbHNUb0xhYmVsc0pTT04iLCJjb25zZXF1ZW50SlNPTiIsImNvbnNlcXVlbnRUb0NvbnNlcXVlbnRKU09OIiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInN1YnN0aXR1dGlvbnNKU09OIiwic3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04iLCJqc29uIiwiZnJvbUpTT04iLCJsYWJlbHNGcm9tSlNPTiIsImNvbnNlcXVlbnRGcm9tSlNPTiIsInN1cHBvc2l0aW9uc0Zyb21KU09OIiwic3Vic3RpdHV0aW9uc0Zyb21KU09OIiwic3RyaW5nRnJvbUxhYmVscyIsInRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbU1ldGF0aGVvcmVtTm9kZSIsIm1ldGF0aGVvcmVtTm9kZSIsIkxhYmVsIiwic2hpbSIsIlByb29mIiwiQ29uc2VxdWVudCIsIlN1cHBvc2l0aW9uIiwiU3Vic3RpdHV0aW9ucyIsInByb29mTm9kZSIsImxhYmVsTm9kZXMiLCJjb25zZXF1ZW50Tm9kZSIsInN1cHBvc2l0aW9uTm9kZXMiLCJtYXAiLCJsYWJlbE5vZGUiLCJmcm9tTGFiZWxOb2RlIiwic3VwcG9zaXRpb25Ob2RlIiwiZnJvbVN1cHBvc2l0aW9uTm9kZSIsImZyb21Db25zZXF1ZW50Tm9kZSIsImZyb21Qcm9vZk5vZGUiLCJmcm9tTm90aGluZyIsIlRvcExldmVsQXNzZXJ0aW9uIiwiT2Jq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
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRhdGhlb3JlbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHNoaW0gZnJvbSBcIi4vc2hpbVwiO1xuaW1wb3J0IFRvcExldmVsQXNzZXJ0aW9uIGZyb20gXCIuL3RvcExldmVsQXNzZXJ0aW9uXCI7XG5cbmltcG9ydCB7IHN0cmluZ0Zyb21MYWJlbHMgfSBmcm9tIFwiLi90b3BMZXZlbEFzc2VydGlvblwiO1xuaW1wb3J0IHsgbGFiZWxzRnJvbUpTT04sXG4gICAgICAgICBsYWJlbHNUb0xhYmVsc0pTT04sXG4gICAgICAgICBjb25zZXF1ZW50RnJvbUpTT04sXG4gICAgICAgICBzdXBwb3NpdGlvbnNGcm9tSlNPTixcbiAgICAgICAgIHN1YnN0aXR1dGlvbnNGcm9tSlNPTixcbiAgICAgICAgIGNvbnNlcXVlbnRUb0NvbnNlcXVlbnRKU09OLFxuICAgICAgICAgc3VwcG9zaXRpb25zVG9TdXBwb3NpdGlvbnNKU09OLFxuICAgICAgICAgc3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04gfSBmcm9tIFwiLi91dGlsaXRpZXMvanNvblwiO1xuXG5jbGFzcyBNZXRhdGhlb3JlbSBleHRlbmRzIFRvcExldmVsQXNzZXJ0aW9uIHtcbiAgdmVyaWZ5KCkge1xuICAgIGxldCB2ZXJpZmllZDtcblxuICAgIGNvbnN0IGZpbGVDb250ZXh0ID0gdGhpcy5nZXRGaWxlQ29udGV4dCgpLFxuICAgICAgICAgIG1ldGF0aGVvcmVtU3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGF0aGVvcmVtU3RyaW5nfScgbWV0YXRoZW9yZW0uLi5gKTtcblxuICAgIHZlcmlmaWVkID0gc3VwZXIudmVyaWZ5KCk7XG5cbiAgICBpZiAodmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFUaGVvcmVtID0gdGhpczsgLy8vXG5cbiAgICAgIGZpbGVDb250ZXh0LmFkZE1ldGF0aGVvcmVtKG1ldGFUaGVvcmVtKTtcblxuICAgICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHttZXRhdGhlb3JlbVN0cmluZ30nIG1ldGF0aGVvcmVtLmApO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJpZmllZDtcbiAgfVxuXG4gIHRvSlNPTigpIHtcbiAgICBjb25zdCBsYWJlbHNKU09OID0gbGFiZWxzVG9MYWJlbHNKU09OKHRoaXMubGFiZWxzKSxcbiAgICAgICAgICBjb25zZXF1ZW50SlNPTiA9IGNvbnNlcXVlbnRUb0NvbnNlcXVlbnRKU09OKHRoaXMuY29uc2VxdWVudCksXG4gICAgICAgICAgc3VwcG9zaXRpb25zSlNPTiA9IHN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTih0aGlzLnN1cHBvc2l0aW9ucyksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uc0pTT04gPSBzdWJzdGl0dXRpb25zVG9TdWJzdGl0dXRpb25zSlNPTih0aGlzLnN1YnN0aXR1dGlvbnMpLFxuICAgICAgICAgIGxhYmVscyA9IGxhYmVsc0pTT04sICAvLy9cbiAgICAgICAgICBjb25zZXF1ZW50ID0gY29uc2VxdWVudEpTT04sICAvLy9cbiAgICAgICAgICBzdXBwb3NpdGlvbnMgPSBzdXBwb3NpdGlvbnNKU09OLCAgLy8vXG4gICAgICAgICAgc3Vic3RpdHV0aW9ucyA9IHN1YnN0aXR1dGlvbnNKU09OLCAgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIGxhYmVscyxcbiAgICAgICAgICAgIGNvbnNlcXVlbnQsXG4gICAgICAgICAgICBzdXBwb3NpdGlvbnMsXG4gICAgICAgICAgICBzdWJzdGl0dXRpb25zXG4gICAgICAgICAgfTtcblxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSB7XG4gICAgY29uc3QgbGFiZWxzID0gbGFiZWxzRnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIGNvbnNlcXVlbnQgPSBjb25zZXF1ZW50RnJvbUpTT04oanNvbiwgZmlsZUNvbnRleHQpLFxuICAgICAgICAgIHN1cHBvc2l0aW9ucyA9IHN1cHBvc2l0aW9uc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdWJzdGl0dXRpb25zID0gc3Vic3RpdHV0aW9uc0Zyb21KU09OKGpzb24sIGZpbGVDb250ZXh0KSxcbiAgICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTGFiZWxzKGxhYmVscyksXG4gICAgICAgICAgcHJvb2YgPSBudWxsLFxuICAgICAgICAgIHRvcExldmVsQXNzZXJ0aW9uID0gbmV3IE1ldGF0aGVvcmVtKGZpbGVDb250ZXh0LCBzdHJpbmcsIGxhYmVscywgc3VwcG9zaXRpb25zLCBjb25zZXF1ZW50LCBwcm9vZiwgc3Vic3RpdHV0aW9ucyk7XG5cbiAgICByZXR1cm4gdG9wTGV2ZWxBc3NlcnRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbU1ldGF0aGVvcmVtTm9kZShtZXRhdGhlb3JlbU5vZGUsIGZpbGVDb250ZXh0KSB7IHJldHVybiBUb3BMZXZlbEFzc2VydGlvbi5mcm9tTm9kZShNZXRhdGhlb3JlbSwgbWV0YXRoZW9yZW1Ob2RlLCBmaWxlQ29udGV4dCk7IH1cbn1cblxuT2JqZWN0LmFzc2lnbihzaGltLCB7XG4gIE1ldGF0aGVvcmVtXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YXRoZW9yZW07XG4iXSwibmFtZXMiOlsiTWV0YXRoZW9yZW0iLCJ2ZXJpZnkiLCJ2ZXJpZmllZCIsImZpbGVDb250ZXh0IiwiZ2V0RmlsZUNvbnRleHQiLCJtZXRhdGhlb3JlbVN0cmluZyIsInN0cmluZyIsInRyYWNlIiwibWV0YVRoZW9yZW0iLCJhZGRNZXRhdGhlb3JlbSIsImRlYnVnIiwidG9KU09OIiwibGFiZWxzSlNPTiIsImxhYmVsc1RvTGFiZWxzSlNPTiIsImxhYmVscyIsImNvbnNlcXVlbnRKU09OIiwiY29uc2VxdWVudFRvQ29uc2VxdWVudEpTT04iLCJjb25zZXF1ZW50Iiwic3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9uc1RvU3VwcG9zaXRpb25zSlNPTiIsInN1cHBvc2l0aW9ucyIsInN1YnN0aXR1dGlvbnNKU09OIiwic3Vic3RpdHV0aW9uc1RvU3Vic3RpdHV0aW9uc0pTT04iLCJzdWJzdGl0dXRpb25zIiwianNvbiIsImZyb21KU09OIiwibGFiZWxzRnJvbUpTT04iLCJjb25zZXF1ZW50RnJvbUpTT04iLCJzdXBwb3NpdGlvbnNGcm9tSlNPTiIsInN1YnN0aXR1dGlvbnNGcm9tSlNPTiIsInN0cmluZ0Zyb21MYWJlbHMiLCJwcm9vZiIsInRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbU1ldGF0aGVvcmVtTm9kZSIsIm1ldGF0aGVvcmVtTm9kZSIsIlRvcExldmVsQXNzZXJ0aW9uIiwiZnJvbU5vZGUiLCJPYmplY3QiLCJhc3NpZ24iLCJzaGltIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEyRUE7OztlQUFBOzs7MkRBekVpQjt5RUFDYTtvQkFVbUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELElBQUEsQUFBTUEsNEJBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2lDQUFBQTs7a0JBQUFBOztZQUNKQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUM7Z0JBRUosSUFBTUMsY0FBYyxJQUFJLENBQUNDLGNBQWMsSUFDakNDLG9CQUFvQixJQUFJLENBQUNDLE1BQU0sRUFBRyxHQUFHO2dCQUUzQ0gsWUFBWUksS0FBSyxDQUFDLEFBQUMsa0JBQW1DLE9BQWxCRixtQkFBa0I7Z0JBRXRESCxXQUFXLHVCQVRURix3QkFTZUMsVUFBTixJQUFLO2dCQUVoQixJQUFJQyxVQUFVO29CQUNaLElBQU1NLGNBQWMsSUFBSSxFQUFFLEdBQUc7b0JBRTdCTCxZQUFZTSxjQUFjLENBQUNEO29CQUUzQkwsWUFBWU8sS0FBSyxDQUFDLEFBQUMsb0JBQXFDLE9BQWxCTCxtQkFBa0I7Z0JBQzFEO2dCQUVBLE9BQU9IO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYUMsSUFBQUEsd0JBQWtCLEVBQUMsSUFBSSxDQUFDQyxNQUFNLEdBQzNDQyxpQkFBaUJDLElBQUFBLGdDQUEwQixFQUFDLElBQUksQ0FBQ0MsVUFBVSxHQUMzREMsbUJBQW1CQyxJQUFBQSxvQ0FBOEIsRUFBQyxJQUFJLENBQUNDLFlBQVksR0FDbkVDLG9CQUFvQkMsSUFBQUEsc0NBQWdDLEVBQUMsSUFBSSxDQUFDQyxhQUFhLEdBQ3ZFVCxTQUFTRixZQUNUSyxhQUFhRixnQkFDYkssZUFBZUYsa0JBQ2ZLLGdCQUFnQkYsbUJBQ2hCRyxPQUFPO29CQUNMVixRQUFBQTtvQkFDQUcsWUFBQUE7b0JBQ0FHLGNBQUFBO29CQUNBRyxlQUFBQTtnQkFDRjtnQkFFTixPQUFPQztZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLFNBQVNELElBQUksRUFBRXJCLFdBQVc7Z0JBQy9CLElBQU1XLFNBQVNZLElBQUFBLG9CQUFjLEVBQUNGLE1BQU1yQixjQUM5QmMsYUFBYVUsSUFBQUEsd0JBQWtCLEVBQUNILE1BQU1yQixjQUN0Q2lCLGVBQWVRLElBQUFBLDBCQUFvQixFQUFDSixNQUFNckIsY0FDMUNvQixnQkFBZ0JNLElBQUFBLDJCQUFxQixFQUFDTCxNQUFNckIsY0FDNUNHLFNBQVN3QixJQUFBQSxtQ0FBZ0IsRUFBQ2hCLFNBQzFCaUIsUUFBUSxNQUNSQyxvQkFBb0IsSUFoRHhCaEMsWUFnRHdDRyxhQUFhRyxRQUFRUSxRQUFRTSxjQUFjSCxZQUFZYyxPQUFPUjtnQkFFeEcsT0FBT1M7WUFDVDs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLG9CQUFvQkMsZUFBZSxFQUFFL0IsV0FBVztnQkFBSSxPQUFPZ0MsMEJBQWlCLENBQUNDLFFBQVEsQ0FyRHhGcEMsYUFxRHNHa0MsaUJBQWlCL0I7WUFBYzs7O1dBckRySUg7RUFBb0JtQywwQkFBaUI7QUF3RDNDRSxPQUFPQyxNQUFNLENBQUNDLGFBQUksRUFBRTtJQUNsQnZDLGFBQUFBO0FBQ0Y7SUFFQSxXQUFlQSJ9
|