occam-languages 3.0.8 → 3.0.9
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.js
CHANGED
|
@@ -51,7 +51,7 @@ class Element {
|
|
|
51
51
|
this.context = context;
|
|
52
52
|
}
|
|
53
53
|
break(context, back, forward) {
|
|
54
|
-
return context.break(this.node, this.breakPoint, (breakPoint)=>{
|
|
54
|
+
return context.break(this.node, this.breakPoint, back, (breakPoint)=>{
|
|
55
55
|
this.breakPoint = breakPoint;
|
|
56
56
|
return forward();
|
|
57
57
|
});
|
|
@@ -61,4 +61,4 @@ class Element {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgYnJlYWtQb2ludCBmcm9tIFwiLi91dGlsaXRpZXMvYnJlYWtQb2ludFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3IoY29udGV4dCwgc3RyaW5nLCBub2RlLCBicmVha1BvaW50KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICAgIHRoaXMuYnJlYWtQb2ludCA9IGJyZWFrUG9pbnQ7XG4gIH1cblxuICBnZXRDb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQ7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlO1xuICB9XG5cbiAgZ2V0QnJlYWtQb2ludCgpIHtcbiAgICByZXR1cm4gdGhpcy5icmVha1BvaW50O1xuICB9XG5cbiAgc2V0Q29udGV4dChjb250ZXh0KSB7XG4gICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgfVxuXG4gIHNldFN0cmluZyhzdHJpbmcpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgfVxuXG4gIHNldE5vZGUobm9kZSkge1xuICAgIHRoaXMubm9kZSA9IG5vZGU7XG4gIH1cblxuICBzZXRCcmVha1BvaW50KGJyZWFrUG9pbnQpIHtcbiAgICB0aGlzLmJyZWFrUG9pbnQgPSBicmVha1BvaW50O1xuICB9XG5cbiAgY29tbWl0KGNvbnRleHQpIHtcbiAgICBjb25zdCByZWN1cnNpdmUgPSB0cnVlO1xuXG4gICAgY29udGV4dCA9IGNvbnRleHQuY29tbWl0KHJlY3Vyc2l2ZSk7ICAvLy9cblxuICAgIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7XG4gIH1cblxuICBicmVhayhjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gICAgcmV0dXJuIGNvbnRleHQuYnJlYWsodGhpcy5ub2RlLCB0aGlzLmJyZWFrUG9pbnQsIGJhY2ssIChicmVha1BvaW50KSA9PiB7XG4gICAgICB0aGlzLmJyZWFrUG9pbnQgPSBicmVha1BvaW50O1xuXG4gICAgICByZXR1cm4gZm9yd2FyZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgbWF0Y2hOb2RlKG5vZGUpIHsgcmV0dXJuIHRoaXMubm9kZS5tYXRjaChub2RlKTsgfVxufVxuIl0sIm5hbWVzIjpbIkVsZW1lbnQiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsImJyZWFrUG9pbnQiLCJnZXRDb250ZXh0IiwiZ2V0U3RyaW5nIiwiZ2V0Tm9kZSIsImdldEJyZWFrUG9pbnQiLCJzZXRDb250ZXh0Iiwic2V0U3RyaW5nIiwic2V0Tm9kZSIsInNldEJyZWFrUG9pbnQiLCJjb21taXQiLCJyZWN1cnNpdmUiLCJicmVhayIsImJhY2siLCJmb3J3YXJkIiwibWF0Y2hOb2RlIiwibWF0Y2giXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBcUJBOzs7bUVBRkU7Ozs7OztBQUVSLE1BQU1BO0lBQ25CLFlBQVlDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsQ0FBRTtRQUM3QyxJQUFJLENBQUNILE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLFVBQVUsR0FBR0E7SUFDcEI7SUFFQUMsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDSixPQUFPO0lBQ3JCO0lBRUFLLFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQ0osTUFBTTtJQUNwQjtJQUVBSyxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUNKLElBQUk7SUFDbEI7SUFFQUssZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUNKLFVBQVU7SUFDeEI7SUFFQUssV0FBV1IsT0FBTyxFQUFFO1FBQ2xCLElBQUksQ0FBQ0EsT0FBTyxHQUFHQTtJQUNqQjtJQUVBUyxVQUFVUixNQUFNLEVBQUU7UUFDaEIsSUFBSSxDQUFDQSxNQUFNLEdBQUdBO0lBQ2hCO0lBRUFTLFFBQVFSLElBQUksRUFBRTtRQUNaLElBQUksQ0FBQ0EsSUFBSSxHQUFHQTtJQUNkO0lBRUFTLGNBQWNSLFVBQVUsRUFBRTtRQUN4QixJQUFJLENBQUNBLFVBQVUsR0FBR0E7SUFDcEI7SUFFQVMsT0FBT1osT0FBTyxFQUFFO1FBQ2QsTUFBTWEsWUFBWTtRQUVsQmIsVUFBVUEsUUFBUVksTUFBTSxDQUFDQyxZQUFhLEdBQUc7UUFFekMsSUFBSSxDQUFDYixPQUFPLEdBQUdBO0lBQ2pCO0lBRUFjLE1BQU1kLE9BQU8sRUFBRWUsSUFBSSxFQUFFQyxPQUFPLEVBQUU7UUFDNUIsT0FBT2hCLFFBQVFjLEtBQUssQ0FBQyxJQUFJLENBQUNaLElBQUksRUFBRSxJQUFJLENBQUNDLFVBQVUsRUFBRVksTUFBTSxDQUFDWjtZQUN0RCxJQUFJLENBQUNBLFVBQVUsR0FBR0E7WUFFbEIsT0FBT2E7UUFDVDtJQUNGO0lBRUFDLFVBQVVmLElBQUksRUFBRTtRQUFFLE9BQU8sSUFBSSxDQUFDQSxJQUFJLENBQUNnQixLQUFLLENBQUNoQjtJQUFPO0FBQ2xEIn0=
|
|
@@ -78,7 +78,7 @@ function createReleaseContext(dependency, dependentNames, dependentReleased, con
|
|
|
78
78
|
log.info(`Creating the '${dependencyName}' package context given the '${dependentName}' dependant's '${dependencyString}' dependency...`);
|
|
79
79
|
}
|
|
80
80
|
const { releaseContextFromDependency } = context;
|
|
81
|
-
releaseContextFromDependency(dependency, context, fail, (releaseContext)=>{
|
|
81
|
+
return releaseContextFromDependency(dependency, context, fail, (releaseContext)=>{
|
|
82
82
|
let releaseContextCreated = false;
|
|
83
83
|
const releatePresent = checkReleasePresent(releaseContext, dependencyName, context);
|
|
84
84
|
if (!releatePresent) {
|
|
@@ -201,4 +201,4 @@ function checkProjectDependencyOfPackage(releaseContext, dependentReleased, depe
|
|
|
201
201
|
return projectDependencyOfPackage;
|
|
202
202
|
}
|
|
203
203
|
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZXZlcnkgIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5TmFtZSwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeU5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWUobmFtZSksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzID0gW10sXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dHNDcmVhdGVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzKGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dHMoY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgYmFjayA9IGZhaWwsICAvLy9cbiAgICAgICAgZm9yd2FyZCA9IHN1Y2NlZWQ7ICAvLy9cblxuICByZXR1cm4gZXZlcnkocmVsZWFzZUNvbnRleHRzLCB2ZXJpZnlSZWxlYXNlQ29udGV4dCwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRzLFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzLFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dHNcbn07XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHJlbGVhc2VkIHx8IHZlcmlmaWVkKSB7XG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfVxuXG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWU7IC8vL1xuXG4gIGxvZy5pbmZvKGBWZXJpZnlpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC4uLmApO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dC52ZXJpZnkoYmFjaywgKCkgPT4ge1xuICAgIGxvZy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gIH1cblxuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbnROYW1lc0xlbmd0aCA9IGRlcGVuZGVudE5hbWVzLmxlbmd0aDtcblxuICBpZiAoZGVwZW5kZW50TmFtZXNMZW5ndGggPT09IDApIHtcbiAgICBsb2cuaW5mbyhgQ3JlYXRpbmcgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0Li4uYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGFudCdzICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5Li4uYCk7XG4gIH1cblxuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3kgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeShkZXBlbmRlbmN5LCBjb250ZXh0LCBmYWlsLCAocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICBsZXQgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBjb25zdCByZWxlYXRlUHJlc2VudCA9IGNoZWNrUmVsZWFzZVByZXNlbnQocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3lOYW1lLCBjb250ZXh0KTtcblxuICAgIGlmICghcmVsZWF0ZVByZXNlbnQpIHtcbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UgPSBjaGVja1Byb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbnRSZWxlYXNlZCwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlKSB7XG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSA9IGNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCk7XG5cbiAgICBpZiAoIXJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSkge1xuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIGZhaWwsIChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCkgPT4ge1xuICAgICAgaWYgKGRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkKSB7XG4gICAgICAgIHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWxlYXNlQ29udGV4dENyZWF0ZWQpIHtcbiAgICAgICAgYWRkUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICByZWxlYXNlQ29udGV4dENyZWF0ZWQgP1xuICAgICAgICBsb2cuZGVidWcoYC4uLmNyZWF0ZWQgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0LmApIDpcbiAgICAgICAgICBsb2cud2FybmluZyhgLi4udW5hYmxlIHRvIGNyZWF0ZSB0aGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQuYCk7XG5cbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlZCA9IHJlbGVhc2VDb250ZXh0LmlzUmVsZWFzZWQoKSxcbiAgICAgICAgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCksXG4gICAgICAgIGRlcGVuZGVudE5hbWUgPSBuYW1lLCAgLy8vXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gcmVsZWFzZWQ7ICAvLy9cblxuICBkZXBlbmRlbnROYW1lcyA9IFsgLi4uZGVwZW5kZW50TmFtZXMsIGRlcGVuZGVudE5hbWUgXTsgIC8vL1xuXG4gIGNvbnN0IGFycmF5ID0gZGVwZW5kZW5jaWVzLmdldEFycmF5KCk7XG5cbiAgcmV0dXJuIGV2ZXJ5KGFycmF5LCAoZGVwZW5kZW5jeSwgYmFjaywgZm9yd2FyZCkgPT4ge1xuICAgIGNvbnN0IGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50ID0gY2hlY2tDeWNsaWNEZXBlbmRlbmN5UHJlc2VudChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCk7XG5cbiAgICBpZiAoY3ljbGljRGVwZW5kZW5jeVByZXNlbnQpIHtcbiAgICAgIHJldHVybiBiYWNrKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgICAgcmV0dXJuIChyZWxlYXNlQ29udGV4dENyZWF0ZWQpID9cbiAgICAgICAgICAgICAgICBmb3J3YXJkKCkgOlxuICAgICAgICAgICAgICAgICAgYmFjaygpO1xuICAgIH0pO1xuICB9LCAoKSA9PiBzdWNjZWVkKGZhbHNlKSwgKCkgPT4gc3VjY2VlZCh0cnVlKSk7XG59XG5cbmZ1bmN0aW9uIGFkZFJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRzIH0gPSBjb250ZXh0O1xuXG4gIHJlbGVhc2VDb250ZXh0cy5wdXNoKHJlbGVhc2VDb250ZXh0KTtcbn1cblxuZnVuY3Rpb24gZmluZFJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VDb250ZXh0ID0gcmVsZWFzZUNvbnRleHRzLmZpbmQoKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVwZW5kZW5jeU5hbWVNYXRjaGVzID0gcmVsZWFzZUNvbnRleHQubWF0Y2hEZXBlbmRlbmN5TmFtZShkZXBlbmRlbmN5TmFtZSk7XG5cbiAgICAgICAgICBpZiAoZGVwZW5kZW5jeU5hbWVNYXRjaGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0O1xufVxuXG5mdW5jdGlvbiBjaGVja1JlbGVhc2VQcmVzZW50KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5TmFtZSwgY29udGV4dCkge1xuICBsZXQgcmVsZWFzZVByZXNlbnQgPSB0cnVlO1xuXG4gIGlmIChyZWxlYXNlQ29udGV4dCA9PT0gbnVsbCkge1xuICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0O1xuXG4gICAgbG9nLndhcm5pbmcoYFRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dCBjb3VsZCBub3QgYmUgY3JlYXRlZC4gUGVyaGFwcyB0aGUgJ21ldGEuanNvbicgZmlsZSBpcyBtaXNzaW5nIG9yIGludmFsaWQuYCk7XG5cbiAgICByZWxlYXNlUHJlc2VudCA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VQcmVzZW50O1xufVxuXG5mdW5jdGlvbiByZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgY29udGV4dCwgcmVsZWFzZUNvbnRleHRzID0gW10pIHtcbiAgY29uc3QgcmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0cy5pbmNsdWRlcyhyZWxlYXNlQ29udGV4dCk7XG5cbiAgaWYgKCFyZWxlYXNlQ29udGV4dHNJbmNsdWRlc1JlbGVhc2VDb250ZXh0KSB7XG4gICAgY29uc3QgZGVwZW5kZW5jaWVzID0gcmVsZWFzZUNvbnRleHQuZ2V0RGVwZW5kZW5jaWVzKCk7XG5cbiAgICBkZXBlbmRlbmNpZXMuZm9yRWFjaERlcGVuZGVuY3koKGRlcGVuZGVuY3kpID0+IHtcbiAgICAgIGNvbnN0IHJlbGVhc2VDb250ZXh0ID0gZmluZFJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGNvbnRleHQpO1xuXG4gICAgICByZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgY29udGV4dCwgcmVsZWFzZUNvbnRleHRzKTtcbiAgICB9KTtcblxuICAgIHJlbGVhc2VDb250ZXh0cy51bnNoaWZ0KHJlbGVhc2VDb250ZXh0KTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dHM7XG59XG5cbmZ1bmN0aW9uIGluaXRpYWxpc2VSZWxlYXNlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgY29udGV4dCkge1xuICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgbmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZU5hbWUgPSBuYW1lLCAvLy9cbiAgICAgICAgcmVsZWFzZUNvbnRleHRzID0gcmV0cmlldmVSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpO1xuXG4gIGxvZy5pbmZvKGBJbml0aWFsaXNpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcGFja2FnZSBjb250ZXh0Li4uYCk7XG5cbiAgY29uc3QgeyBGaWxlQ29udGV4dEZyb21GaWxlUGF0aCB9ID0gY29udGV4dDtcblxuICByZWxlYXNlQ29udGV4dC5pbml0aWFsaXNlKHJlbGVhc2VDb250ZXh0cywgRmlsZUNvbnRleHRGcm9tRmlsZVBhdGgpO1xuXG4gIGxvZy5kZWJ1ZyhgLi4uaW5pdGlhbGlzZWQgdGhlICcke3JlbGVhc2VOYW1lfScgcGFja2FnZSBjb250ZXh0LmApO1xufVxuXG5mdW5jdGlvbiBjaGVja0N5Y2xpY0RlcGVuZGVuY3lQcmVzZW50KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCA9IGZhbHNlO1xuXG4gIGNvbnN0IGRlcGVuZGVuY3lOYW1lID0gZGVwZW5kZW5jeS5nZXROYW1lKCksXG4gICAgICAgIGluZGV4ID0gZGVwZW5kZW50TmFtZXMuaW5kZXhPZihkZXBlbmRlbmN5TmFtZSk7XG5cbiAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgICBjaXJjdWxhckRlcGVuZGVudE5hbWVzID0gZGVwZW5kZW50TmFtZXMuc2xpY2UoaW5kZXgpLFxuICAgICAgICAgIGNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzID0gW1xuICAgICAgICAgICAgLi4uY2lyY3VsYXJEZXBlbmRlbnROYW1lcyxcbiAgICAgICAgICAgIGRlcGVuZGVuY3lOYW1lXG4gICAgICAgICAgXSxcbiAgICAgICAgICBjaXJjdWxhckRlcGVuZGVuY3lOYW1lc1N0cmluZyA9IGNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzLmpvaW4oU0lOR0xFX1NQQUNFKTtcblxuICAgIGxvZy53YXJuaW5nKGBUaGVyZSBpcyBhIGN5Y2xpYyBkZXBlbmRlbmN5LCAnJHtjaXJjdWxhckRlcGVuZGVuY3lOYW1lc1N0cmluZ30nLmApO1xuXG4gICAgY3ljbGljRGVwZW5kZW5jeVByZXNlbnQgPSB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50O1xufVxuXG5mdW5jdGlvbiBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpIHtcbiAgbGV0IHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSA9IHRydWU7XG5cbiAgY29uc3Qgc2hvcnRlbmVkVmVyc2lvbiA9IGRlcGVuZGVuY3kuZ2V0U2hvcnRlbmVkVmVyc2lvbigpO1xuXG4gIGlmIChzaG9ydGVuZWRWZXJzaW9uICE9PSBudWxsKSB7XG4gICAgY29uc3QgZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0Lm1hdGNoU2hvcnRlbmVkVmVyc2lvbihzaG9ydGVuZWRWZXJzaW9uKTtcblxuICAgIGlmICghZW50cmllc01hdGNoU2hvcnRlbmVkVmVyc2lvbikge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgICB2ZXJzaW9uID0gcmVsZWFzZUNvbnRleHQuZ2V0VmVyc2lvbigpLFxuICAgICAgICAgICAgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICAgIGRlcGVuZGVudE5hbWUgPSBsYXN0RGVwZW5kZW50TmFtZSwgIC8vL1xuICAgICAgICAgICAgdmVyc2lvblN0cmluZyA9IHZlcnNpb24udG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY3lTdHJpbmcgPSBkZXBlbmRlbmN5LmFzU3RyaW5nKCk7XG5cbiAgICAgIGxvZy53YXJuaW5nKGBUaGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGVudCByZXF1aXJlcyB0aGUgJyR7ZGVwZW5kZW5jeVN0cmluZ30nIGRlcGVuZGVuY3kgYnV0IGEgY29udGV4dCB3aXRoIHZlcnNpb24gJyR7dmVyc2lvblN0cmluZ30nIHdhcyBwcm92aWRlZC5gKTtcblxuICAgICAgcmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeTtcbn1cblxuZnVuY3Rpb24gY2hlY2tQcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50UmVsZWFzZWQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSA9IGZhbHNlO1xuXG4gIGlmIChkZXBlbmRlbnRSZWxlYXNlZCkge1xuICAgIGNvbnN0IHVucmVsZWFzZWQgPSByZWxlYXNlQ29udGV4dC5pc1VucmVsZWFzZWQoKTtcblxuICAgIGlmICh1bnJlbGVhc2VkKSB7XG4gICAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgICAgIG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgICAgICBsYXN0RGVwZW5kZW50TmFtZSA9IGxhc3QoZGVwZW5kZW50TmFtZXMpLFxuICAgICAgICAgICAgZGVwZW5kZW5jeU5hbWUgPSBuYW1lLC8vL1xuICAgICAgICAgICAgZGVwZW5kZW50TmFtZSA9IGxhc3REZXBlbmRlbnROYW1lOyAgLy8vXG5cbiAgICAgIGxvZy53YXJuaW5nKGBUaGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBkZXBlbmRlbmN5IGlzIGEgcHJvamVjdCB3aGlsc3QgaXRzICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRlbnQgaXMgYSBwYWNrYWdlLmApO1xuXG4gICAgICBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlO1xufVxuIl0sIm5hbWVzIjpbImNyZWF0ZVJlbGVhc2VDb250ZXh0cyIsImluaXRpYWxpc2VSZWxlYXNlQ29udGV4dHMiLCJ2ZXJpZnlSZWxlYXNlQ29udGV4dHMiLCJsYXN0IiwiYXJyYXlVdGlsaXRpZXMiLCJkZXBlbmRlbmN5TmFtZSIsImNvbnRleHQiLCJmYWlsIiwic3VjY2VlZCIsIm5hbWUiLCJkZXBlbmRlbmN5IiwiRGVwZW5kZW5jeSIsImZyb21OYW1lIiwiZGVwZW5kZW50TmFtZXMiLCJkZXBlbmRlbnRSZWxlYXNlZCIsImNyZWF0ZVJlbGVhc2VDb250ZXh0IiwicmVsZWFzZUNvbnRleHRDcmVhdGVkIiwicmVsZWFzZUNvbnRleHRzQ3JlYXRlZCIsInJlbGVhc2VDb250ZXh0cyIsImZvckVhY2giLCJyZWxlYXNlQ29udGV4dCIsImluaXRpYWxpc2VSZWxlYXNlQ29udGV4dCIsImJhY2siLCJmb3J3YXJkIiwiZXZlcnkiLCJ2ZXJpZnlSZWxlYXNlQ29udGV4dCIsInJlbGVhc2VkIiwiaXNSZWxlYXNlZCIsInZlcmlmaWVkIiwiaGFzVmVyaWZpZWQiLCJsb2ciLCJnZXROYW1lIiwicmVsZWFzZU5hbWUiLCJpbmZvIiwidmVyaWZ5IiwiZmluZFJlbGVhc2VDb250ZXh0IiwiZGVwZW5kZW50TmFtZXNMZW5ndGgiLCJsZW5ndGgiLCJsYXN0RGVwZW5kZW50TmFtZSIsImRlcGVuZGVudE5hbWUiLCJkZXBlbmRlbmN5U3RyaW5nIiwiYXNTdHJpbmciLCJyZWxlYXNlQ29udGV4dEZyb21EZXBlbmRlbmN5IiwicmVsZWF0ZVByZXNlbnQiLCJjaGVja1JlbGVhc2VQcmVzZW50IiwicHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UiLCJjaGVja1Byb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlIiwicmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5IiwiY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kiLCJjcmVhdGVEZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzIiwiZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQiLCJhZGRSZWxlYXNlQ29udGV4dCIsImRlYnVnIiwid2FybmluZyIsImRlcGVuZGVuY2llcyIsImdldERlcGVuZGVuY2llcyIsImFycmF5IiwiZ2V0QXJyYXkiLCJjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCIsImNoZWNrQ3ljbGljRGVwZW5kZW5jeVByZXNlbnQiLCJwdXNoIiwiZmluZCIsImRlcGVuZGVuY3lOYW1lTWF0Y2hlcyIsIm1hdGNoRGVwZW5kZW5jeU5hbWUiLCJyZWxlYXNlUHJlc2VudCIsInJldHJpZXZlUmVsZWFzZUNvbnRleHRzIiwicmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCIsImluY2x1ZGVzIiwiZm9yRWFjaERlcGVuZGVuY3kiLCJ1bnNoaWZ0IiwiRmlsZUNvbnRleHRGcm9tRmlsZVBhdGgiLCJpbml0aWFsaXNlIiwiaW5kZXgiLCJpbmRleE9mIiwiY2lyY3VsYXJEZXBlbmRlbnROYW1lcyIsInNsaWNlIiwiY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXMiLCJjaXJjdWxhckRlcGVuZGVuY3lOYW1lc1N0cmluZyIsImpvaW4iLCJTSU5HTEVfU1BBQ0UiLCJzaG9ydGVuZWRWZXJzaW9uIiwiZ2V0U2hvcnRlbmVkVmVyc2lvbiIsImVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24iLCJtYXRjaFNob3J0ZW5lZFZlcnNpb24iLCJ2ZXJzaW9uIiwiZ2V0VmVyc2lvbiIsInZlcnNpb25TdHJpbmciLCJ0b1N0cmluZyIsInVucmVsZWFzZWQiLCJpc1VucmVsZWFzZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVVnQkE7ZUFBQUE7O1FBaUNoQjtlQUFBOztRQWhCZ0JDO2VBQUFBOztRQVFBQztlQUFBQTs7OzRCQWpDVzsyQkFDSTs4QkFFUjsyQkFDTTtBQUU3QixNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHQyx5QkFBYztBQUV4QixTQUFTSixzQkFBc0JLLGNBQWMsRUFBRUMsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLE9BQU87SUFDMUUsTUFBTUMsT0FBT0osZ0JBQ1BLLGFBQWFDLHNCQUFVLENBQUNDLFFBQVEsQ0FBQ0gsT0FDakNJLGlCQUFpQixFQUFFLEVBQ25CQyxvQkFBb0I7SUFFMUIsT0FBT0MscUJBQXFCTCxZQUFZRyxnQkFBZ0JDLG1CQUFtQlIsU0FBU0MsTUFBTSxDQUFDUztRQUN6RixJQUFJQyx5QkFBeUI7UUFFN0IsSUFBSUQsdUJBQXVCO1lBQ3pCQyx5QkFBeUI7UUFDM0I7UUFFQSxPQUFPVCxRQUFRUztJQUNqQjtBQUNGO0FBRU8sU0FBU2hCLDBCQUEwQkssT0FBTztJQUMvQyxNQUFNLEVBQUVZ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
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZpY2F0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBEZXBlbmRlbmN5IH0gZnJvbSBcIm9jY2FtLW1vZGVsXCI7XG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IHsgZXZlcnkgIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jb250aW51YXRpb25cIjtcbmltcG9ydCB7IFNJTkdMRV9TUEFDRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgeyBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0cyhkZXBlbmRlbmN5TmFtZSwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCBuYW1lID0gZGVwZW5kZW5jeU5hbWUsICAvLy9cbiAgICAgICAgZGVwZW5kZW5jeSA9IERlcGVuZGVuY3kuZnJvbU5hbWUobmFtZSksXG4gICAgICAgIGRlcGVuZGVudE5hbWVzID0gW10sXG4gICAgICAgIGRlcGVuZGVudFJlbGVhc2VkID0gZmFsc2U7XG5cbiAgcmV0dXJuIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCkgPT4ge1xuICAgIGxldCByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gZmFsc2U7XG5cbiAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICByZWxlYXNlQ29udGV4dHNDcmVhdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dHNDcmVhdGVkKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzKGNvbnRleHQpIHtcbiAgY29uc3QgeyByZWxlYXNlQ29udGV4dHMgfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHRzLmZvckVhY2goKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgaW5pdGlhbGlzZVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlSZWxlYXNlQ29udGV4dHMoY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dCxcbiAgICAgICAgYmFjayA9IGZhaWwsICAvLy9cbiAgICAgICAgZm9yd2FyZCA9IHN1Y2NlZWQ7ICAvLy9cblxuICByZXR1cm4gZXZlcnkocmVsZWFzZUNvbnRleHRzLCB2ZXJpZnlSZWxlYXNlQ29udGV4dCwgY29udGV4dCwgYmFjaywgZm9yd2FyZCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY3JlYXRlUmVsZWFzZUNvbnRleHRzLFxuICBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzLFxuICB2ZXJpZnlSZWxlYXNlQ29udGV4dHNcbn07XG5cbmZ1bmN0aW9uIHZlcmlmeVJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0LCBiYWNrLCBmb3J3YXJkKSB7XG4gIGNvbnN0IHJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNSZWxlYXNlZCgpLFxuICAgICAgICB2ZXJpZmllZCA9IHJlbGVhc2VDb250ZXh0Lmhhc1ZlcmlmaWVkKCk7XG5cbiAgaWYgKHJlbGVhc2VkIHx8IHZlcmlmaWVkKSB7XG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfVxuXG4gIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlTmFtZSA9IG5hbWU7IC8vL1xuXG4gIGxvZy5pbmZvKGBWZXJpZnlpbmcgdGhlICcke3JlbGVhc2VOYW1lfScgcHJvamVjdC4uLmApO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dC52ZXJpZnkoYmFjaywgKCkgPT4ge1xuICAgIGxvZy5pbmZvKGAuLi52ZXJpZmllZCB0aGUgJyR7cmVsZWFzZU5hbWV9JyBwcm9qZWN0LmApO1xuXG4gICAgcmV0dXJuIGZvcndhcmQoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVJlbGVhc2VDb250ZXh0KGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnRSZWxlYXNlZCwgY29udGV4dCwgZmFpbCwgc3VjY2VlZCkge1xuICBjb25zdCB7IGxvZyB9ID0gY29udGV4dCxcbiAgICAgICAgcmVsZWFzZUNvbnRleHQgPSBmaW5kUmVsZWFzZUNvbnRleHQoZGVwZW5kZW5jeSwgY29udGV4dCk7XG5cbiAgaWYgKHJlbGVhc2VDb250ZXh0ICE9PSBudWxsKSB7XG4gICAgY29uc3QgcmVsZWFzZUNvbnRleHRDcmVhdGVkID0gdHJ1ZTtcblxuICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gIH1cblxuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBkZXBlbmRlbnROYW1lc0xlbmd0aCA9IGRlcGVuZGVudE5hbWVzLmxlbmd0aDtcblxuICBpZiAoZGVwZW5kZW50TmFtZXNMZW5ndGggPT09IDApIHtcbiAgICBsb2cuaW5mbyhgQ3JlYXRpbmcgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0Li4uYCk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgbG9nLmluZm8oYENyZWF0aW5nIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dCBnaXZlbiB0aGUgJyR7ZGVwZW5kZW50TmFtZX0nIGRlcGVuZGFudCdzICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5Li4uYCk7XG4gIH1cblxuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3kgfSA9IGNvbnRleHQ7XG5cbiAgcmV0dXJuIHJlbGVhc2VDb250ZXh0RnJvbURlcGVuZGVuY3koZGVwZW5kZW5jeSwgY29udGV4dCwgZmFpbCwgKHJlbGVhc2VDb250ZXh0KSA9PiB7XG4gICAgbGV0IHJlbGVhc2VDb250ZXh0Q3JlYXRlZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgcmVsZWF0ZVByZXNlbnQgPSBjaGVja1JlbGVhc2VQcmVzZW50KHJlbGVhc2VDb250ZXh0LCBkZXBlbmRlbmN5TmFtZSwgY29udGV4dCk7XG5cbiAgICBpZiAoIXJlbGVhdGVQcmVzZW50KSB7XG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlID0gY2hlY2tQcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW50UmVsZWFzZWQsIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KTtcblxuICAgIGlmIChwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSkge1xuICAgICAgcmV0dXJuIHN1Y2NlZWQocmVsZWFzZUNvbnRleHRDcmVhdGVkKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSBjaGVja1JlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeShyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKCFyZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kpIHtcbiAgICAgIHJldHVybiBzdWNjZWVkKHJlbGVhc2VDb250ZXh0Q3JlYXRlZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNyZWF0ZURlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0LCBmYWlsLCAoZGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0c0NyZWF0ZWQpID0+IHtcbiAgICAgIGlmIChkZXBlbmRlbmN5UmVsZWFzZUNvbnRleHRzQ3JlYXRlZCkge1xuICAgICAgICByZWxlYXNlQ29udGV4dENyZWF0ZWQgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSB7XG4gICAgICAgIGFkZFJlbGVhc2VDb250ZXh0KHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcbiAgICAgIH1cblxuICAgICAgcmVsZWFzZUNvbnRleHRDcmVhdGVkID9cbiAgICAgICAgbG9nLmRlYnVnKGAuLi5jcmVhdGVkIHRoZSAnJHtkZXBlbmRlbmN5TmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKSA6XG4gICAgICAgICAgbG9nLndhcm5pbmcoYC4uLnVuYWJsZSB0byBjcmVhdGUgdGhlICcke2RlcGVuZGVuY3lOYW1lfScgcGFja2FnZSBjb250ZXh0LmApO1xuXG4gICAgICByZXR1cm4gc3VjY2VlZChyZWxlYXNlQ29udGV4dENyZWF0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyhyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQsIGZhaWwsIHN1Y2NlZWQpIHtcbiAgY29uc3QgbmFtZSA9IHJlbGVhc2VDb250ZXh0LmdldE5hbWUoKSxcbiAgICAgICAgcmVsZWFzZWQgPSByZWxlYXNlQ29udGV4dC5pc1JlbGVhc2VkKCksXG4gICAgICAgIGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpLFxuICAgICAgICBkZXBlbmRlbnROYW1lID0gbmFtZSwgIC8vL1xuICAgICAgICBkZXBlbmRlbnRSZWxlYXNlZCA9IHJlbGVhc2VkOyAgLy8vXG5cbiAgZGVwZW5kZW50TmFtZXMgPSBbIC4uLmRlcGVuZGVudE5hbWVzLCBkZXBlbmRlbnROYW1lIF07ICAvLy9cblxuICBjb25zdCBhcnJheSA9IGRlcGVuZGVuY2llcy5nZXRBcnJheSgpO1xuXG4gIHJldHVybiBldmVyeShhcnJheSwgKGRlcGVuZGVuY3ksIGJhY2ssIGZvcndhcmQpID0+IHtcbiAgICBjb25zdCBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudCA9IGNoZWNrQ3ljbGljRGVwZW5kZW5jeVByZXNlbnQoZGVwZW5kZW5jeSwgZGVwZW5kZW50TmFtZXMsIGNvbnRleHQpO1xuXG4gICAgaWYgKGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50KSB7XG4gICAgICByZXR1cm4gYmFjaygpO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgZGVwZW5kZW50UmVsZWFzZWQsIGNvbnRleHQsIGZhaWwsIChyZWxlYXNlQ29udGV4dENyZWF0ZWQpID0+IHtcbiAgICAgIHJldHVybiAocmVsZWFzZUNvbnRleHRDcmVhdGVkKSA/XG4gICAgICAgICAgICAgICAgZm9yd2FyZCgpIDpcbiAgICAgICAgICAgICAgICAgIGJhY2soKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4gc3VjY2VlZChmYWxzZSksICgpID0+IHN1Y2NlZWQodHJ1ZSkpO1xufVxuXG5mdW5jdGlvbiBhZGRSZWxlYXNlQ29udGV4dChyZWxlYXNlQ29udGV4dCwgY29udGV4dCkge1xuICBjb25zdCB7IHJlbGVhc2VDb250ZXh0cyB9ID0gY29udGV4dDtcblxuICByZWxlYXNlQ29udGV4dHMucHVzaChyZWxlYXNlQ29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgcmVsZWFzZUNvbnRleHRzIH0gPSBjb250ZXh0LFxuICAgICAgICBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICByZWxlYXNlQ29udGV4dCA9IHJlbGVhc2VDb250ZXh0cy5maW5kKChyZWxlYXNlQ29udGV4dCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlcGVuZGVuY3lOYW1lTWF0Y2hlcyA9IHJlbGVhc2VDb250ZXh0Lm1hdGNoRGVwZW5kZW5jeU5hbWUoZGVwZW5kZW5jeU5hbWUpO1xuXG4gICAgICAgICAgaWYgKGRlcGVuZGVuY3lOYW1lTWF0Y2hlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KSB8fCBudWxsO1xuXG4gIHJldHVybiByZWxlYXNlQ29udGV4dDtcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlUHJlc2VudChyZWxlYXNlQ29udGV4dCwgZGVwZW5kZW5jeU5hbWUsIGNvbnRleHQpIHtcbiAgbGV0IHJlbGVhc2VQcmVzZW50ID0gdHJ1ZTtcblxuICBpZiAocmVsZWFzZUNvbnRleHQgPT09IG51bGwpIHtcbiAgICBjb25zdCB7IGxvZyB9ID0gY29udGV4dDtcblxuICAgIGxvZy53YXJuaW5nKGBUaGUgJyR7ZGVwZW5kZW5jeU5hbWV9JyBwYWNrYWdlIGNvbnRleHQgY291bGQgbm90IGJlIGNyZWF0ZWQuIFBlcmhhcHMgdGhlICdtZXRhLmpzb24nIGZpbGUgaXMgbWlzc2luZyBvciBpbnZhbGlkLmApO1xuXG4gICAgcmVsZWFzZVByZXNlbnQgPSBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiByZWxlYXNlUHJlc2VudDtcbn1cblxuZnVuY3Rpb24gcmV0cmlldmVSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGNvbnRleHQsIHJlbGVhc2VDb250ZXh0cyA9IFtdKSB7XG4gIGNvbnN0IHJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQgPSByZWxlYXNlQ29udGV4dHMuaW5jbHVkZXMocmVsZWFzZUNvbnRleHQpO1xuXG4gIGlmICghcmVsZWFzZUNvbnRleHRzSW5jbHVkZXNSZWxlYXNlQ29udGV4dCkge1xuICAgIGNvbnN0IGRlcGVuZGVuY2llcyA9IHJlbGVhc2VDb250ZXh0LmdldERlcGVuZGVuY2llcygpO1xuXG4gICAgZGVwZW5kZW5jaWVzLmZvckVhY2hEZXBlbmRlbmN5KChkZXBlbmRlbmN5KSA9PiB7XG4gICAgICBjb25zdCByZWxlYXNlQ29udGV4dCA9IGZpbmRSZWxlYXNlQ29udGV4dChkZXBlbmRlbmN5LCBjb250ZXh0KTtcblxuICAgICAgcmV0cmlldmVSZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHQsIGNvbnRleHQsIHJlbGVhc2VDb250ZXh0cyk7XG4gICAgfSk7XG5cbiAgICByZWxlYXNlQ29udGV4dHMudW5zaGlmdChyZWxlYXNlQ29udGV4dCk7XG4gIH1cblxuICByZXR1cm4gcmVsZWFzZUNvbnRleHRzO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQocmVsZWFzZUNvbnRleHQsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgIG5hbWUgPSByZWxlYXNlQ29udGV4dC5nZXROYW1lKCksXG4gICAgICAgIHJlbGVhc2VOYW1lID0gbmFtZSwgLy8vXG4gICAgICAgIHJlbGVhc2VDb250ZXh0cyA9IHJldHJpZXZlUmVsZWFzZUNvbnRleHRzKHJlbGVhc2VDb250ZXh0LCBjb250ZXh0KTtcblxuICBsb2cuaW5mbyhgSW5pdGlhbGlzaW5nIHRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UgY29udGV4dC4uLmApO1xuXG4gIGNvbnN0IHsgRmlsZUNvbnRleHRGcm9tRmlsZVBhdGggfSA9IGNvbnRleHQ7XG5cbiAgcmVsZWFzZUNvbnRleHQuaW5pdGlhbGlzZShyZWxlYXNlQ29udGV4dHMsIEZpbGVDb250ZXh0RnJvbUZpbGVQYXRoKTtcblxuICBsb2cuZGVidWcoYC4uLmluaXRpYWxpc2VkIHRoZSAnJHtyZWxlYXNlTmFtZX0nIHBhY2thZ2UgY29udGV4dC5gKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tDeWNsaWNEZXBlbmRlbmN5UHJlc2VudChkZXBlbmRlbmN5LCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgY3ljbGljRGVwZW5kZW5jeVByZXNlbnQgPSBmYWxzZTtcblxuICBjb25zdCBkZXBlbmRlbmN5TmFtZSA9IGRlcGVuZGVuY3kuZ2V0TmFtZSgpLFxuICAgICAgICBpbmRleCA9IGRlcGVuZGVudE5hbWVzLmluZGV4T2YoZGVwZW5kZW5jeU5hbWUpO1xuXG4gIGlmIChpbmRleCA+IC0xKSB7XG4gICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbnROYW1lcyA9IGRlcGVuZGVudE5hbWVzLnNsaWNlKGluZGV4KSxcbiAgICAgICAgICBjaXJjdWxhckRlcGVuZGVuY3lOYW1lcyA9IFtcbiAgICAgICAgICAgIC4uLmNpcmN1bGFyRGVwZW5kZW50TmFtZXMsXG4gICAgICAgICAgICBkZXBlbmRlbmN5TmFtZVxuICAgICAgICAgIF0sXG4gICAgICAgICAgY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXNTdHJpbmcgPSBjaXJjdWxhckRlcGVuZGVuY3lOYW1lcy5qb2luKFNJTkdMRV9TUEFDRSk7XG5cbiAgICBsb2cud2FybmluZyhgVGhlcmUgaXMgYSBjeWNsaWMgZGVwZW5kZW5jeSwgJyR7Y2lyY3VsYXJEZXBlbmRlbmN5TmFtZXNTdHJpbmd9Jy5gKTtcblxuICAgIGN5Y2xpY0RlcGVuZGVuY3lQcmVzZW50ID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBjeWNsaWNEZXBlbmRlbmN5UHJlc2VudDtcbn1cblxuZnVuY3Rpb24gY2hlY2tSZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVuY3ksIGRlcGVuZGVudE5hbWVzLCBjb250ZXh0KSB7XG4gIGxldCByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3kgPSB0cnVlO1xuXG4gIGNvbnN0IHNob3J0ZW5lZFZlcnNpb24gPSBkZXBlbmRlbmN5LmdldFNob3J0ZW5lZFZlcnNpb24oKTtcblxuICBpZiAoc2hvcnRlbmVkVmVyc2lvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24gPSByZWxlYXNlQ29udGV4dC5tYXRjaFNob3J0ZW5lZFZlcnNpb24oc2hvcnRlbmVkVmVyc2lvbik7XG5cbiAgICBpZiAoIWVudHJpZXNNYXRjaFNob3J0ZW5lZFZlcnNpb24pIHtcbiAgICAgIGNvbnN0IHsgbG9nIH0gPSBjb250ZXh0LFxuICAgICAgICAgICAgdmVyc2lvbiA9IHJlbGVhc2VDb250ZXh0LmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgIGxhc3REZXBlbmRlbnROYW1lID0gbGFzdChkZXBlbmRlbnROYW1lcyksXG4gICAgICAgICAgICBkZXBlbmRlbnROYW1lID0gbGFzdERlcGVuZGVudE5hbWUsICAvLy9cbiAgICAgICAgICAgIHZlcnNpb25TdHJpbmcgPSB2ZXJzaW9uLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBkZXBlbmRlbmN5U3RyaW5nID0gZGVwZW5kZW5jeS5hc1N0cmluZygpO1xuXG4gICAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVudE5hbWV9JyBkZXBlbmRlbnQgcmVxdWlyZXMgdGhlICcke2RlcGVuZGVuY3lTdHJpbmd9JyBkZXBlbmRlbmN5IGJ1dCBhIGNvbnRleHQgd2l0aCB2ZXJzaW9uICcke3ZlcnNpb25TdHJpbmd9JyB3YXMgcHJvdmlkZWQuYCk7XG5cbiAgICAgIHJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZWxlYXNlTWF0Y2hlc0RlcGVuZGVuY3k7XG59XG5cbmZ1bmN0aW9uIGNoZWNrUHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UocmVsZWFzZUNvbnRleHQsIGRlcGVuZGVudFJlbGVhc2VkLCBkZXBlbmRlbnROYW1lcywgY29udGV4dCkge1xuICBsZXQgcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UgPSBmYWxzZTtcblxuICBpZiAoZGVwZW5kZW50UmVsZWFzZWQpIHtcbiAgICBjb25zdCB1bnJlbGVhc2VkID0gcmVsZWFzZUNvbnRleHQuaXNVbnJlbGVhc2VkKCk7XG5cbiAgICBpZiAodW5yZWxlYXNlZCkge1xuICAgICAgY29uc3QgeyBsb2cgfSA9IGNvbnRleHQsXG4gICAgICAgICAgICBuYW1lID0gcmVsZWFzZUNvbnRleHQuZ2V0TmFtZSgpLFxuICAgICAgICAgICAgbGFzdERlcGVuZGVudE5hbWUgPSBsYXN0KGRlcGVuZGVudE5hbWVzKSxcbiAgICAgICAgICAgIGRlcGVuZGVuY3lOYW1lID0gbmFtZSwvLy9cbiAgICAgICAgICAgIGRlcGVuZGVudE5hbWUgPSBsYXN0RGVwZW5kZW50TmFtZTsgIC8vL1xuXG4gICAgICBsb2cud2FybmluZyhgVGhlICcke2RlcGVuZGVuY3lOYW1lfScgZGVwZW5kZW5jeSBpcyBhIHByb2plY3Qgd2hpbHN0IGl0cyAnJHtkZXBlbmRlbnROYW1lfScgZGVwZW5kZW50IGlzIGEgcGFja2FnZS5gKTtcblxuICAgICAgcHJvamVjdERlcGVuZGVuY3lPZlBhY2thZ2UgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZTtcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVSZWxlYXNlQ29udGV4dHMiLCJpbml0aWFsaXNlUmVsZWFzZUNvbnRleHRzIiwidmVyaWZ5UmVsZWFzZUNvbnRleHRzIiwibGFzdCIsImFycmF5VXRpbGl0aWVzIiwiZGVwZW5kZW5jeU5hbWUiLCJjb250ZXh0IiwiZmFpbCIsInN1Y2NlZWQiLCJuYW1lIiwiZGVwZW5kZW5jeSIsIkRlcGVuZGVuY3kiLCJmcm9tTmFtZSIsImRlcGVuZGVudE5hbWVzIiwiZGVwZW5kZW50UmVsZWFzZWQiLCJjcmVhdGVSZWxlYXNlQ29udGV4dCIsInJlbGVhc2VDb250ZXh0Q3JlYXRlZCIsInJlbGVhc2VDb250ZXh0c0NyZWF0ZWQiLCJyZWxlYXNlQ29udGV4dHMiLCJmb3JFYWNoIiwicmVsZWFzZUNvbnRleHQiLCJpbml0aWFsaXNlUmVsZWFzZUNvbnRleHQiLCJiYWNrIiwiZm9yd2FyZCIsImV2ZXJ5IiwidmVyaWZ5UmVsZWFzZUNvbnRleHQiLCJyZWxlYXNlZCIsImlzUmVsZWFzZWQiLCJ2ZXJpZmllZCIsImhhc1ZlcmlmaWVkIiwibG9nIiwiZ2V0TmFtZSIsInJlbGVhc2VOYW1lIiwiaW5mbyIsInZlcmlmeSIsImZpbmRSZWxlYXNlQ29udGV4dCIsImRlcGVuZGVudE5hbWVzTGVuZ3RoIiwibGVuZ3RoIiwibGFzdERlcGVuZGVudE5hbWUiLCJkZXBlbmRlbnROYW1lIiwiZGVwZW5kZW5jeVN0cmluZyIsImFzU3RyaW5nIiwicmVsZWFzZUNvbnRleHRGcm9tRGVwZW5kZW5jeSIsInJlbGVhdGVQcmVzZW50IiwiY2hlY2tSZWxlYXNlUHJlc2VudCIsInByb2plY3REZXBlbmRlbmN5T2ZQYWNrYWdlIiwiY2hlY2tQcm9qZWN0RGVwZW5kZW5jeU9mUGFja2FnZSIsInJlbGVhc2VNYXRjaGVzRGVwZW5kZW5jeSIsImNoZWNrUmVsZWFzZU1hdGNoZXNEZXBlbmRlbmN5IiwiY3JlYXRlRGVwZW5kZW5jeVJlbGVhc2VDb250ZXh0cyIsImRlcGVuZGVuY3lSZWxlYXNlQ29udGV4dHNDcmVhdGVkIiwiYWRkUmVsZWFzZUNvbnRleHQiLCJkZWJ1ZyIsIndhcm5pbmciLCJkZXBlbmRlbmNpZXMiLCJnZXREZXBlbmRlbmNpZXMiLCJhcnJheSIsImdldEFycmF5IiwiY3ljbGljRGVwZW5kZW5jeVByZXNlbnQiLCJjaGVja0N5Y2xpY0RlcGVuZGVuY3lQcmVzZW50IiwicHVzaCIsImZpbmQiLCJkZXBlbmRlbmN5TmFtZU1hdGNoZXMiLCJtYXRjaERlcGVuZGVuY3lOYW1lIiwicmVsZWFzZVByZXNlbnQiLCJyZXRyaWV2ZVJlbGVhc2VDb250ZXh0cyIsInJlbGVhc2VDb250ZXh0c0luY2x1ZGVzUmVsZWFzZUNvbnRleHQiLCJpbmNsdWRlcyIsImZvckVhY2hEZXBlbmRlbmN5IiwidW5zaGlmdCIsIkZpbGVDb250ZXh0RnJvbUZpbGVQYXRoIiwiaW5pdGlhbGlzZSIsImluZGV4IiwiaW5kZXhPZiIsImNpcmN1bGFyRGVwZW5kZW50TmFtZXMiLCJzbGljZSIsImNpcmN1bGFyRGVwZW5kZW5jeU5hbWVzIiwiY2lyY3VsYXJEZXBlbmRlbmN5TmFtZXNTdHJpbmciLCJqb2luIiwiU0lOR0xFX1NQQUNFIiwic2hvcnRlbmVkVmVyc2lvbiIsImdldFNob3J0ZW5lZFZlcnNpb24iLCJlbnRyaWVzTWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwibWF0Y2hTaG9ydGVuZWRWZXJzaW9uIiwidmVyc2lvbiIsImdldFZlcnNpb24iLCJ2ZXJzaW9uU3RyaW5nIiwidG9TdHJpbmciLCJ1bnJlbGVhc2VkIiwiaXNVbnJlbGVhc2VkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFVZ0JBO2VBQUFBOztRQWlDaEI7ZUFBQTs7UUFoQmdCQztlQUFBQTs7UUFRQUM7ZUFBQUE7Ozs0QkFqQ1c7MkJBQ0k7OEJBRVI7MkJBQ007QUFFN0IsTUFBTSxFQUFFQyxJQUFJLEVBQUUsR0FBR0MseUJBQWM7QUFFeEIsU0FBU0osc0JBQXNCSyxjQUFjLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFQyxPQUFPO0lBQzFFLE1BQU1DLE9BQU9KLGdCQUNQSyxhQUFhQyxzQkFBVSxDQUFDQyxRQUFRLENBQUNILE9BQ2pDSSxpQkFBaUIsRUFBRSxFQUNuQkMsb0JBQW9CO0lBRTFCLE9BQU9DLHFCQUFxQkwsWUFBWUcsZ0JBQWdCQyxtQkFBbUJSLFNBQVNDLE1BQU0sQ0FBQ1M7UUFDekYsSUFBSUMseUJBQXlCO1FBRTdCLElBQUlELHVCQUF1QjtZQUN6QkMseUJBQXlCO1FBQzNCO1FBRUEsT0FBT1QsUUFBUVM7SUFDakI7QUFDRjtBQUVPLFNBQVNoQiwwQkFBMEJLLE9BQU87SUFDL0MsTUFB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
|
package/package.json
CHANGED
package/src/element.js
CHANGED
|
@@ -51,7 +51,7 @@ export default class Element {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
break(context, back, forward) {
|
|
54
|
-
return context.break(this.node, this.breakPoint, (breakPoint) => {
|
|
54
|
+
return context.break(this.node, this.breakPoint, back, (breakPoint) => {
|
|
55
55
|
this.breakPoint = breakPoint;
|
|
56
56
|
|
|
57
57
|
return forward();
|
|
@@ -93,7 +93,7 @@ function createReleaseContext(dependency, dependentNames, dependentReleased, con
|
|
|
93
93
|
|
|
94
94
|
const { releaseContextFromDependency } = context;
|
|
95
95
|
|
|
96
|
-
releaseContextFromDependency(dependency, context, fail, (releaseContext) => {
|
|
96
|
+
return releaseContextFromDependency(dependency, context, fail, (releaseContext) => {
|
|
97
97
|
let releaseContextCreated = false;
|
|
98
98
|
|
|
99
99
|
const releatePresent = checkReleasePresent(releaseContext, dependencyName, context);
|